|
@@ -405,60 +405,214 @@ func GetEdbBeforeAndAfterDateData(targetDate string, dataList []*data_manage.Edb
|
|
|
|
|
|
|
|
|
|
|
|
-func GetPageData(edbInfoId, source, subSource, startSize, pageSize int) (dataCount int, dataList []*data_manage.EdbData, err error) {
|
|
|
+func GetPageData(edbInfoId, source, subSource int, endDataTime string, startSize, pageSize int) (dataCount int, dataList []*data_manage.EdbData, err error) {
|
|
|
dataList = make([]*data_manage.EdbData, 0)
|
|
|
|
|
|
|
|
|
if source == utils.DATA_SOURCE_BUSINESS {
|
|
|
- mogDataObj := mgo.EdbDataBusiness{}
|
|
|
-
|
|
|
- queryConditions := bson.M{
|
|
|
- "edb_info_id": edbInfoId,
|
|
|
- }
|
|
|
+ return getPageDataByMongo(edbInfoId, source, subSource, endDataTime, startSize, pageSize)
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
- tmpCount, tmpErr := mogDataObj.GetCountDataList(queryConditions)
|
|
|
- if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
|
|
|
- err = tmpErr
|
|
|
- return
|
|
|
- }
|
|
|
- dataCount = int(tmpCount)
|
|
|
+
|
|
|
+ return getPageDataByMysql(edbInfoId, source, subSource, endDataTime, startSize, pageSize)
|
|
|
+}
|
|
|
|
|
|
-
|
|
|
- tmpDataList, tmpErr := mogDataObj.GetPageDataList(queryConditions, int64(startSize), int64(pageSize), []string{"-data_time"})
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func getPageDataByMysql(edbInfoId, source, subSource int, endDataTime string, startSize, pageSize int) (dataCount int, dataList []*data_manage.EdbData, err error) {
|
|
|
+ dataList = make([]*data_manage.EdbData, 0)
|
|
|
+ var dataCondition string
|
|
|
+ var dataPars []interface{}
|
|
|
+
|
|
|
+ dataCondition += ` AND edb_info_id=? `
|
|
|
+ dataPars = append(dataPars, edbInfoId)
|
|
|
+
|
|
|
+
|
|
|
+ if endDataTime != "" {
|
|
|
+ dataCondition += ` AND data_time <= ? `
|
|
|
+ dataPars = append(dataPars, endDataTime)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ dataCount, err = data_manage.GetEdbDataCountByCondition(dataCondition, dataPars, source, subSource)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ dataList, err = data_manage.GetEdbDataListByCondition(dataCondition, dataPars, source, subSource, pageSize, startSize)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func getPageDataByMongo(edbInfoId, source, subSource int, endDataTime string, startSize, pageSize int) (dataCount int, dataList []*data_manage.EdbData, err error) {
|
|
|
+ dataList = make([]*data_manage.EdbData, 0)
|
|
|
+
|
|
|
+ mogDataObj := mgo.EdbDataBusiness{}
|
|
|
+
|
|
|
+ queryConditions := bson.M{
|
|
|
+ "edb_info_id": edbInfoId,
|
|
|
+ }
|
|
|
+
|
|
|
+ if endDataTime != "" {
|
|
|
+ endDateTime, tmpErr := time.ParseInLocation(utils.FormatDate, endDataTime, time.Local)
|
|
|
if tmpErr != nil {
|
|
|
err = tmpErr
|
|
|
return
|
|
|
}
|
|
|
- for k, v := range tmpDataList {
|
|
|
- dataList = append(dataList, &data_manage.EdbData{
|
|
|
- EdbDataId: k + 1,
|
|
|
- EdbInfoId: v.EdbInfoId,
|
|
|
- DataTime: v.DataTime.Format(utils.FormatDate),
|
|
|
- Value: v.Value,
|
|
|
- })
|
|
|
- }
|
|
|
+ queryConditions["data_time"] = bson.M{"$lte": endDateTime}
|
|
|
+ }
|
|
|
|
|
|
+
|
|
|
+ tmpCount, tmpErr := mogDataObj.GetCountDataList(queryConditions)
|
|
|
+ if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
|
|
|
+ err = tmpErr
|
|
|
return
|
|
|
}
|
|
|
+ dataCount = int(tmpCount)
|
|
|
|
|
|
+
|
|
|
+ tmpDataList, tmpErr := mogDataObj.GetPageDataList(queryConditions, int64(startSize), int64(pageSize), []string{"-data_time"})
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for k, v := range tmpDataList {
|
|
|
+ dataList = append(dataList, &data_manage.EdbData{
|
|
|
+ EdbDataId: k + 1,
|
|
|
+ EdbInfoId: v.EdbInfoId,
|
|
|
+ DataTime: v.DataTime.Format(utils.FormatDate),
|
|
|
+ Value: v.Value,
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func GetAllData(edbInfoId, source, subSource int, startDataTime string) (dataList []*data_manage.EdbData, err error) {
|
|
|
+ dataList = make([]*data_manage.EdbData, 0)
|
|
|
+
|
|
|
+
|
|
|
+ if source == utils.DATA_SOURCE_BUSINESS {
|
|
|
+ return getAllDataByMongo(edbInfoId, source, subSource, startDataTime)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ return getAllDataByMysql(edbInfoId, source, subSource, startDataTime)
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func getAllDataByMysql(edbInfoId, source, subSource int, startDataTime string) (dataList []*data_manage.EdbData, err error) {
|
|
|
+ dataList = make([]*data_manage.EdbData, 0)
|
|
|
var dataCondition string
|
|
|
var dataPars []interface{}
|
|
|
|
|
|
dataCondition += ` AND edb_info_id=? `
|
|
|
dataPars = append(dataPars, edbInfoId)
|
|
|
|
|
|
-
|
|
|
- dataCount, err = data_manage.GetEdbDataCountByCondition(dataCondition, dataPars, source, subSource)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- return
|
|
|
+
|
|
|
+ if startDataTime != "" {
|
|
|
+ dataCondition += ` AND data_time > ? `
|
|
|
+ dataPars = append(dataPars, startDataTime)
|
|
|
}
|
|
|
|
|
|
|
|
|
- dataList, err = data_manage.GetEdbDataListByCondition(dataCondition, dataPars, source, subSource, pageSize, startSize)
|
|
|
+ dataList, err = data_manage.GetAllEdbDataListByCondition(dataCondition, dataPars, source, subSource)
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func getAllDataByMongo(edbInfoId, source, subSource int, startDataTime string) (dataList []*data_manage.EdbData, err error) {
|
|
|
+ dataList = make([]*data_manage.EdbData, 0)
|
|
|
+
|
|
|
+ mogDataObj := mgo.EdbDataBusiness{}
|
|
|
+
|
|
|
+ queryConditions := bson.M{
|
|
|
+ "edb_info_id": edbInfoId,
|
|
|
+ }
|
|
|
+
|
|
|
+ if startDataTime != "" {
|
|
|
+ startDateTime, tmpErr := time.ParseInLocation(utils.FormatDate, startDataTime, time.Local)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ queryConditions["data_time"] = bson.M{"$gt": startDateTime}
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ tmpDataList, tmpErr := mogDataObj.GetAllDataList(queryConditions, []string{"-data_time"})
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for k, v := range tmpDataList {
|
|
|
+ dataList = append(dataList, &data_manage.EdbData{
|
|
|
+ EdbDataId: k + 1,
|
|
|
+ EdbInfoId: v.EdbInfoId,
|
|
|
+ DataTime: v.DataTime.Format(utils.FormatDate),
|
|
|
+ Value: v.Value,
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|