edb_data_base.go 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491
  1. package data_manage
  2. import (
  3. "eta/eta_api/global"
  4. "eta/eta_api/models/mgo"
  5. "eta/eta_api/utils"
  6. "fmt"
  7. "strconv"
  8. "time"
  9. "go.mongodb.org/mongo-driver/bson"
  10. "gorm.io/gorm"
  11. )
  12. // GetEdbDataTableName 指标数据->存储表
  13. func GetEdbDataTableName(source, subSource int) (tableName string) {
  14. switch source {
  15. case utils.DATA_SOURCE_THS:
  16. switch subSource {
  17. case utils.DATA_SUB_SOURCE_DATE:
  18. tableName = "edb_data_ths_ds"
  19. case utils.DATA_SUB_SOURCE_HIGH_FREQUENCY:
  20. tableName = "edb_data_ths_hf"
  21. default:
  22. tableName = "edb_data_ths"
  23. }
  24. case utils.DATA_SOURCE_WIND:
  25. if subSource == utils.DATA_SUB_SOURCE_DATE {
  26. tableName = "edb_data_wind_wsd"
  27. } else {
  28. tableName = "edb_data_wind"
  29. }
  30. case utils.DATA_SOURCE_PB, utils.DATA_SOURCE_PB_FINANCE: //彭博经济数据、彭博财务数据
  31. tableName = "edb_data_pb"
  32. case utils.DATA_SOURCE_CALCULATE:
  33. tableName = "edb_data_calculate"
  34. case utils.DATA_SOURCE_CALCULATE_LJZZY:
  35. tableName = "edb_data_calculate_ljzzy"
  36. case utils.DATA_SOURCE_CALCULATE_TBZ:
  37. tableName = "edb_data_calculate_tbz"
  38. case utils.DATA_SOURCE_CALCULATE_TCZ:
  39. tableName = "edb_data_calculate_tcz"
  40. case utils.DATA_SOURCE_CALCULATE_NSZYDPJJS:
  41. tableName = "edb_data_calculate_nszydpjjs"
  42. case utils.DATA_SOURCE_MANUAL:
  43. tableName = "edb_data_manual"
  44. case utils.DATA_SOURCE_LZ:
  45. tableName = "edb_data_lz"
  46. case utils.DATA_SOURCE_YS:
  47. tableName = "edb_data_ys"
  48. case utils.DATA_SOURCE_CALCULATE_HBZ:
  49. tableName = "edb_data_calculate_hbz"
  50. case utils.DATA_SOURCE_CALCULATE_HCZ:
  51. tableName = "edb_data_calculate_hcz"
  52. case utils.DATA_SOURCE_CALCULATE_BP:
  53. tableName = "edb_data_calculate_bp"
  54. case utils.DATA_SOURCE_GL:
  55. tableName = "edb_data_gl"
  56. case utils.DATA_SOURCE_ZZ:
  57. tableName = "edb_data_zz"
  58. case utils.DATA_SOURCE_DL:
  59. tableName = "edb_data_dl"
  60. case utils.DATA_SOURCE_SH:
  61. tableName = "edb_data_sh"
  62. case utils.DATA_SOURCE_CFFEX:
  63. tableName = "edb_data_cffex"
  64. case utils.DATA_SOURCE_SHFE:
  65. tableName = "edb_data_ine"
  66. case utils.DATA_SOURCE_GIE:
  67. tableName = "edb_data_gie"
  68. case utils.DATA_SOURCE_CALCULATE_ZJPJ:
  69. tableName = "edb_data_calculate_zjpj"
  70. case utils.DATA_SOURCE_CALCULATE_TIME_SHIFT:
  71. tableName = "edb_data_calculate_time_shift"
  72. case utils.DATA_SOURCE_CALCULATE_LJZTBPJ:
  73. tableName = "edb_data_calculate_ljztbpj"
  74. case utils.DATA_SOURCE_LT:
  75. tableName = "edb_data_lt"
  76. case utils.DATA_SOURCE_COAL:
  77. tableName = "edb_data_coal"
  78. case utils.DATA_SOURCE_PYTHON:
  79. tableName = "edb_data_python"
  80. case utils.DATA_SOURCE_GOOGLE_TRAVEL:
  81. tableName = "edb_data_google_travel"
  82. case utils.DATA_SOURCE_PREDICT_CALCULATE:
  83. tableName = "edb_data_predict_calculate"
  84. case utils.DATA_SOURCE_PREDICT_CALCULATE_TBZ:
  85. tableName = "edb_data_predict_calculate_tbz"
  86. case utils.DATA_SOURCE_PREDICT_CALCULATE_TCZ:
  87. tableName = "edb_data_predict_calculate_tcz"
  88. case utils.DATA_SOURCE_MYSTEEL_CHEMICAL:
  89. tableName = "edb_data_mysteel_chemical"
  90. case utils.DATA_SOURCE_CALCULATE_CJJX:
  91. tableName = "edb_data_calculate_cjjx"
  92. case utils.DATA_SOURCE_EIA_STEO:
  93. tableName = "edb_data_eia_steo"
  94. case utils.DATA_SOURCE_CALCULATE_NHCC:
  95. tableName = "edb_data_calculate_nhcc"
  96. case utils.DATA_SOURCE_COM_TRADE:
  97. tableName = "edb_data_com_trade"
  98. case utils.DATA_SOURCE_PREDICT_CALCULATE_NSZYDPJJS:
  99. tableName = "edb_data_predict_calculate_nszydpjjs"
  100. case utils.DATA_SOURCE_CALCULATE_ADJUST:
  101. tableName = "edb_data_calculate_adjust"
  102. case utils.DATA_SOURCE_SCI:
  103. tableName = "edb_data_sci"
  104. case utils.DATA_SOURCE_PREDICT_CALCULATE_LJZZY:
  105. tableName = "edb_data_predict_calculate_ljzzy"
  106. case utils.DATA_SOURCE_PREDICT_CALCULATE_TIME_SHIFT:
  107. tableName = "edb_data_predict_calculate_time_shift"
  108. case utils.DATA_SOURCE_PREDICT_CALCULATE_ZJPJ:
  109. tableName = "edb_data_predict_calculate_zjpj"
  110. case utils.DATA_SOURCE_PREDICT_CALCULATE_LJZTBPJ:
  111. tableName = "edb_data_predict_calculate_ljztbpj"
  112. case utils.DATA_SOURCE_PREDICT_CALCULATE_NHCC:
  113. tableName = "edb_data_predict_calculate_nhcc"
  114. case utils.DATA_SOURCE_PREDICT_CALCULATE_CJJX:
  115. tableName = "edb_data_predict_calculate_cjjx"
  116. case utils.DATA_SOURCE_PREDICT_CALCULATE_HBZ:
  117. tableName = "edb_data_predict_calculate_hbz"
  118. case utils.DATA_SOURCE_PREDICT_CALCULATE_HCZ:
  119. tableName = "edb_data_predict_calculate_hcz"
  120. case utils.DATA_SOURCE_PREDICT_CALCULATE_BP:
  121. tableName = "edb_data_predict_calculate_bp"
  122. case utils.DATA_SOURCE_CALCULATE_JP:
  123. tableName = "edb_data_calculate_jp"
  124. case utils.DATA_SOURCE_CALCULATE_NH:
  125. tableName = "edb_data_calculate_nh"
  126. case utils.DATA_SOURCE_CALCULATE_KSZS:
  127. tableName = "edb_data_calculate_kszs"
  128. case utils.DATA_SOURCE_PREDICT_CALCULATE_JP:
  129. tableName = "edb_data_predict_calculate_jp"
  130. case utils.DATA_SOURCE_PREDICT_CALCULATE_NH:
  131. tableName = "edb_data_predict_calculate_nh"
  132. case utils.DATA_SOURCE_PREDICT_CALCULATE_KSZS:
  133. tableName = "edb_data_predict_calculate_kszs"
  134. case utils.DATA_SOURCE_BAIINFO:
  135. tableName = "edb_data_baiinfo"
  136. case utils.DATA_SOURCE_STOCK_PLANT:
  137. tableName = "edb_data_stock_plant"
  138. case utils.DATA_SOURCE_CALCULATE_CORRELATION:
  139. tableName = "edb_data_calculate_correlation"
  140. case utils.DATA_SOURCE_NATIONAL_STATISTICS:
  141. tableName = "edb_data_national_statistics"
  142. case utils.DATA_SOURCE_CALCULATE_LJZZJ: //累计值转季 -> 61
  143. tableName = "edb_data_calculate_ljzzj"
  144. case utils.DATA_SOURCE_CALCULATE_LJZ: //累计值 -> 62
  145. tableName = "edb_data_calculate_ljz"
  146. case utils.DATA_SOURCE_CALCULATE_LJZNCZJ: //累计值(年初至今) -> 63
  147. tableName = "edb_data_calculate_ljznczj"
  148. case utils.DATA_SOURCE_PREDICT_CALCULATE_LJZZJ: // 预测指标 - 累计值 -> 65
  149. tableName = "edb_data_predict_calculate_ljzzj"
  150. case utils.DATA_SOURCE_PREDICT_CALCULATE_LJZ: //预测指标 - 累计值转季->64
  151. tableName = "edb_data_predict_calculate_ljz"
  152. case utils.DATA_SOURCE_PREDICT_CALCULATE_LJZNCZJ: //预测指标 - 累计值(年初至今) -> 66
  153. tableName = "edb_data_predict_calculate_ljznczj"
  154. case utils.DATA_SOURCE_CALCULATE_STANDARD_DEVIATION: //标准差->67
  155. tableName = "edb_data_calculate_standard_deviation"
  156. case utils.DATA_SOURCE_CALCULATE_PERCENTILE: //百分位->68
  157. tableName = "edb_data_calculate_percentile"
  158. case utils.DATA_SOURCE_PREDICT_CALCULATE_STANDARD_DEVIATION: //预测标准差->69
  159. tableName = "edb_data_predict_ccalculate_standard_deviation"
  160. case utils.DATA_SOURCE_PREDICT_CALCULATE_PERCENTILE: //预测百分位->70
  161. tableName = "edb_data_predict_ccalculate_percentile"
  162. case utils.DATA_SOURCE_FUBAO: //富宝-71
  163. tableName = "edb_data_fubao"
  164. case utils.DATA_SOURCE_CALCULATE_ZSXY:
  165. tableName = "edb_data_calculate_zsxy" // 指数修匀->72
  166. case utils.DATA_SOURCE_PREDICT_CALCULATE_ZSXY:
  167. tableName = "edb_data_predict_calculate_zsxy" // 预测指数修匀->73
  168. case utils.DATA_SOURCE_CALCULATE_ZDYFX:
  169. tableName = "edb_data_calculate_zdyfx" // 自定义分析->74
  170. case utils.DATA_SOURCE_CALCULATE_RJZ: //日均值->75
  171. tableName = "edb_data_calculate_rjz"
  172. case utils.DATA_SOURCE_GFEX: //广州期货交易所->78
  173. tableName = "edb_data_gz"
  174. case utils.DATA_SOURCE_ICPI: //ICPI消费价格指数->79
  175. tableName = "edb_data_icpi"
  176. case utils.DATA_SOURCE_SCI99: //ICPI消费价格指数->85
  177. tableName = "edb_data_sci99"
  178. case utils.DATA_SOURCE_SCI_HQ:
  179. tableName = "edb_data_sci_hq"
  180. case utils.DATA_SOURCE_PREDICT: // 基础预测指标->30
  181. tableName = "edb_data_predict_base"
  182. case utils.DATA_SOURCE_LY: // 粮油商务网->86
  183. tableName = "edb_data_ly"
  184. case utils.DATA_SOURCE_TRADE_ANALYSIS: // 持仓分析->92
  185. tableName = "edb_data_trade_analysis"
  186. case utils.DATA_SOURCE_CALCULATE_STL:
  187. tableName = "edb_data_calculate_stl"
  188. default:
  189. edbSource := EdbSourceIdMap[source]
  190. if edbSource != nil {
  191. tableName = edbSource.TableName
  192. }
  193. }
  194. return
  195. }
  196. //计算指标->关联的基础指标表
  197. //func GetEdbInfoCalculateTableName(source int) (tableName string) {
  198. // switch source {
  199. // case utils.DATA_SOURCE_CALCULATE:
  200. // tableName = "edb_info_calculate"
  201. // case utils.DATA_SOURCE_CALCULATE_LJZZY:
  202. // tableName = "edb_info_calculate_ljzzy"
  203. // case utils.DATA_SOURCE_CALCULATE_TBZ:
  204. // tableName = "edb_info_calculate_tbz"
  205. // case utils.DATA_SOURCE_CALCULATE_TCZ:
  206. // tableName = "edb_info_calculate_tcz"
  207. // case utils.DATA_SOURCE_CALCULATE_NSZYDPJJS:
  208. // tableName = "edb_info_calculate_nszydpjjs"
  209. // case utils.DATA_SOURCE_CALCULATE_HBZ:
  210. // tableName = "edb_info_calculate_hbz"
  211. // case utils.DATA_SOURCE_CALCULATE_HCZ:
  212. // tableName = "edb_info_calculate_hcz"
  213. // case utils.DATA_SOURCE_CALCULATE_BP:
  214. // tableName = "edb_info_calculate_bp"
  215. // default:
  216. // tableName = ""
  217. // }
  218. // return
  219. //}
  220. type EdbDataBase struct {
  221. //EdbDataId int `orm:"column(edb_data_id);pk"`
  222. EdbDataId int `gorm:"column:edb_data_id;primaryKey"`
  223. EdbInfoId int
  224. EdbCode string
  225. DataTime string
  226. Value string
  227. Status int
  228. CreateTime time.Time
  229. ModifyTime time.Time
  230. DataTimestamp int64
  231. }
  232. func (e *EdbDataBase) AfterFind(tx *gorm.DB) (err error) {
  233. e.DataTime = utils.GormDateStrToDateStr(e.DataTime)
  234. return
  235. }
  236. func GetEdbDataAllByEdbCode(edbCode string, source, subSource, limit int) (items []*EdbInfoSearchData, err error) {
  237. // 自有数据需要额外处理(从mongo获取)
  238. if source == utils.DATA_SOURCE_BUSINESS && utils.UseMongo {
  239. return GetEdbDataAllByEdbCodeByMongo(edbCode, source, subSource, limit)
  240. }
  241. if source == utils.DATA_SOURCE_THS && subSource == utils.DATA_SUB_SOURCE_HIGH_FREQUENCY && utils.UseMongo {
  242. return GetThsHfEdbDataAllByEdbCodeByMongo(edbCode, source, subSource, limit)
  243. }
  244. return GetEdbDataAllByEdbCodeByMysql(edbCode, source, subSource, limit)
  245. }
  246. func GetEdbDataAllByEdbCodeByMysql(edbCode string, source, subSource, limit int) (items []*EdbInfoSearchData, err error) {
  247. var pars []interface{}
  248. pars = append(pars, edbCode)
  249. //o := orm.NewOrmUsingDB("data")
  250. tableName := GetEdbDataTableName(source, subSource)
  251. sql := ` SELECT * FROM %s WHERE edb_code=? ORDER BY data_time DESC`
  252. if limit > 0 {
  253. sql += ` LIMIT ? `
  254. pars = append(pars, limit)
  255. }
  256. sql = fmt.Sprintf(sql, tableName)
  257. //_, err = o.Raw(sql, pars...).QueryRows(&items)
  258. err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
  259. return
  260. }
  261. func GetEdbDataBaseByEdbInfoId(edbInfoId int, source, subSource int) (items []*EdbDataBase, err error) {
  262. //o := orm.NewOrmUsingDB("data")
  263. tableName := GetEdbDataTableName(source, subSource)
  264. if source == utils.DATA_SOURCE_PREDICT {
  265. tableName = "edb_data_predict_base"
  266. }
  267. sql := ` SELECT * FROM %s WHERE edb_info_id=? ORDER BY data_time DESC`
  268. sql = fmt.Sprintf(sql, tableName)
  269. //_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
  270. err = global.DbMap[utils.DbNameIndex].Raw(sql, edbInfoId).Find(&items).Error
  271. return
  272. }
  273. func GetEdbDataBaseMongoByEdbInfoId(edbInfoId int, source, subSource int) (list []*EdbDataBase, err error) {
  274. list = make([]*EdbDataBase, 0)
  275. mogDataObj := mgo.EdbDataBusiness{}
  276. // 构建查询条件
  277. queryConditions := bson.M{
  278. "edb_info_id": edbInfoId,
  279. }
  280. // 获取列表数据
  281. tmpDataList, tmpErr := mogDataObj.GetAllDataList(queryConditions, []string{"data_time"})
  282. if tmpErr != nil {
  283. err = tmpErr
  284. return
  285. }
  286. for k, v := range tmpDataList {
  287. list = append(list, &EdbDataBase{
  288. EdbDataId: k + 1,
  289. EdbInfoId: v.EdbInfoId,
  290. EdbCode: v.EdbCode,
  291. DataTime: v.DataTime.Format(utils.FormatDate),
  292. DataTimestamp: v.DataTimestamp,
  293. Value: strconv.FormatFloat(v.Value, 'f', -1, 64),
  294. })
  295. }
  296. return
  297. }
  298. func GetEdbDataAllByEdbCodeByMongo(edbCode string, source, subSource, limit int) (list []*EdbInfoSearchData, err error) {
  299. list = make([]*EdbInfoSearchData, 0)
  300. mogDataObj := mgo.EdbDataBusiness{}
  301. // 构建查询条件
  302. queryConditions := bson.M{
  303. "edb_code": edbCode,
  304. }
  305. var tmpDataList []*mgo.EdbDataBusiness
  306. // 获取列表数据
  307. if limit > 0 {
  308. tmpDataList, err = mogDataObj.GetLimitDataList(queryConditions, int64(limit), []string{"-data_time"})
  309. } else {
  310. tmpDataList, err = mogDataObj.GetLimitDataList(queryConditions, int64(limit), []string{"-data_time"})
  311. }
  312. if err != nil {
  313. return
  314. }
  315. for _, v := range tmpDataList {
  316. list = append(list, &EdbInfoSearchData{
  317. DataTime: v.DataTime.Format(utils.FormatDate),
  318. Value: v.Value,
  319. })
  320. }
  321. return
  322. }
  323. func GetBaseIndexInfoByEdbCode(edbCode string, source int) (item *BaseIndexInfo, err error) {
  324. var pars []interface{}
  325. pars = append(pars, edbCode)
  326. //o := orm.NewOrmUsingDB("data")
  327. tableName := GetBaseIndexTableName(source)
  328. if tableName == "" {
  329. err = fmt.Errorf("未找到对应的表")
  330. return
  331. }
  332. sql := ` SELECT * FROM %s WHERE index_code=? `
  333. sql = fmt.Sprintf(sql, tableName)
  334. //err = o.Raw(sql, pars).QueryRow(&item)
  335. err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&item).Error
  336. return
  337. }
  338. func GetBaseIndexTableName(source int) (tableName string) {
  339. edbSource := EdbSourceIdMap[source]
  340. if edbSource != nil {
  341. tableName = edbSource.IndexTableName
  342. }
  343. return
  344. }
  345. func GetEdbDataAllByEdbCodeAndSubSource(edbCode string, source, subSource, limit int) (items []*EdbInfoSearchData, err error) {
  346. var pars []interface{}
  347. pars = append(pars, edbCode)
  348. //o := orm.NewOrmUsingDB("data")
  349. tableName := GetEdbDataTableNameAndSubSource(source, subSource)
  350. sql := ` SELECT * FROM %s WHERE edb_code=? ORDER BY data_time DESC`
  351. if limit > 0 {
  352. sql += ` LIMIT ? `
  353. pars = append(pars, limit)
  354. }
  355. sql = fmt.Sprintf(sql, tableName)
  356. //_, err = o.Raw(sql, pars).QueryRows(&items)
  357. err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
  358. return
  359. }
  360. // GetEdbDataTableNameAndSubSource 指标数据->存储表
  361. func GetEdbDataTableNameAndSubSource(source, subSource int) (tableName string) {
  362. switch source {
  363. case utils.DATA_SOURCE_WIND:
  364. if subSource == utils.DATA_SUB_SOURCE_EDB {
  365. tableName = "edb_data_wind"
  366. } else {
  367. tableName = "edb_data_wind_wsd"
  368. }
  369. case utils.DATA_SOURCE_THS:
  370. if subSource == utils.DATA_SUB_SOURCE_EDB {
  371. tableName = "edb_data_ths"
  372. } else {
  373. tableName = "edb_data_ths_ds"
  374. }
  375. case utils.DATA_SOURCE_YS:
  376. tableName = "edb_data_ys"
  377. default:
  378. edbSource := EdbSourceIdMap[source]
  379. if edbSource != nil {
  380. tableName = edbSource.TableName
  381. }
  382. }
  383. return
  384. }
  385. func GetEdbDataAllByEdbCodes(edbCodes []string, limit int) (items []*EdbInfoSearchData, err error) {
  386. var pars []interface{}
  387. pars = append(pars, edbCodes)
  388. //o := orm.NewOrmUsingDB("data")
  389. //sql := ` SELECT * FROM edb_data_ys WHERE edb_code IN (` + utils.GetOrmInReplace(len(edbCodes)) + `) ORDER BY data_time DESC`
  390. sql := ` SELECT * FROM edb_data_ys WHERE edb_code IN ? ORDER BY data_time DESC`
  391. if limit > 0 {
  392. sql += ` LIMIT ? `
  393. pars = append(pars, limit)
  394. }
  395. //_, err = o.Raw(sql, pars).QueryRows(&items)
  396. err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&items).Error
  397. return
  398. }
  399. func GetAddSql(edbInfoId, edbCode, dataTime, timestampStr string, value string) (addSql string) {
  400. nowStr := time.Now().Format(utils.FormatDateTime)
  401. addSql += "("
  402. addSql += edbInfoId + "," + "'" + edbCode + "'" + "," + "'" + dataTime + "'" + "," + value + "," + "'" + nowStr + "'" +
  403. "," + "'" + nowStr + "'" + "," + "1"
  404. addSql += "," + "'" + timestampStr + "'"
  405. addSql += "),"
  406. return
  407. }
  408. func GetThsHfEdbDataAllByEdbCodeByMongo(edbCode string, source, subSource, limit int) (list []*EdbInfoSearchData, err error) {
  409. list = make([]*EdbInfoSearchData, 0)
  410. mogDataObj := mgo.EdbDataThsHf{}
  411. // 构建查询条件
  412. queryConditions := bson.M{
  413. "edb_code": edbCode,
  414. }
  415. var tmpDataList []*mgo.EdbDataThsHf
  416. // 获取列表数据
  417. if limit > 0 {
  418. tmpDataList, err = mogDataObj.GetLimitDataList(queryConditions, int64(limit), []string{"-data_time"})
  419. } else {
  420. tmpDataList, err = mogDataObj.GetLimitDataList(queryConditions, int64(limit), []string{"-data_time"})
  421. }
  422. if err != nil {
  423. return
  424. }
  425. for _, v := range tmpDataList {
  426. list = append(list, &EdbInfoSearchData{
  427. DataTime: v.DataTime.Format(utils.FormatDate),
  428. Value: v.Value,
  429. })
  430. }
  431. return
  432. }
  433. func GetThsHfEdbDataBaseMongoByEdbInfoId(edbInfoId int, source, subSource int) (list []*EdbDataBase, err error) {
  434. list = make([]*EdbDataBase, 0)
  435. mogDataObj := mgo.EdbDataThsHf{}
  436. // 构建查询条件
  437. queryConditions := bson.M{
  438. "edb_info_id": edbInfoId,
  439. }
  440. // 获取列表数据
  441. tmpDataList, tmpErr := mogDataObj.GetAllDataList(queryConditions, []string{"data_time"})
  442. if tmpErr != nil {
  443. err = tmpErr
  444. return
  445. }
  446. for k, v := range tmpDataList {
  447. list = append(list, &EdbDataBase{
  448. EdbDataId: k + 1,
  449. EdbInfoId: v.EdbInfoId,
  450. EdbCode: v.EdbCode,
  451. DataTime: v.DataTime.Format(utils.FormatDate),
  452. DataTimestamp: v.DataTimestamp,
  453. Value: strconv.FormatFloat(v.Value, 'f', -1, 64),
  454. })
  455. }
  456. return
  457. }