base_from_eia_steo.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package data
  2. import (
  3. "eta/eta_api/models/data_manage"
  4. "eta/eta_api/utils"
  5. "fmt"
  6. )
  7. func GetClassifyALLById(classifyId int) (items []*data_manage.BaseFromEiaSteoClassify, err error) {
  8. classify, err := data_manage.GetEiaSteoClassifyById(classifyId)
  9. if err != nil {
  10. return
  11. }
  12. if classify.Level == 1 {
  13. childClassify, er := data_manage.GetChildEiaSteoClassifyById(classifyId)
  14. if er != nil {
  15. err = er
  16. return
  17. }
  18. items = append(items, childClassify...)
  19. } else {
  20. items = append(items, classify)
  21. }
  22. return
  23. }
  24. type EiaSteoIndexSource2EdbReq struct {
  25. EdbCode string
  26. EdbName string
  27. Frequency string
  28. Unit string
  29. ClassifyId int
  30. AdminId int
  31. AdminRealName string
  32. }
  33. // EiaSteoIndexSource2Edb 新增eiaSteo数据源到指标库
  34. func EiaSteoIndexSource2Edb(req EiaSteoIndexSource2EdbReq, lang string) (edb *data_manage.EdbInfo, err error, errMsg string, skip bool) {
  35. if req.EdbCode == "" {
  36. err = fmt.Errorf("指标ID为空")
  37. return
  38. }
  39. defer func() {
  40. if err != nil {
  41. tips := fmt.Sprintf("EiaSteoIndexSource2Edb新增失败, Err: %s", err.Error())
  42. fmt.Println(tips)
  43. utils.FileLog.Info(tips)
  44. }
  45. }()
  46. source := utils.DATA_SOURCE_EIA_STEO
  47. // 是否新增过指标
  48. exist, e := data_manage.GetEdbInfoByEdbCode(source, req.EdbCode)
  49. if e != nil && e.Error() != utils.ErrNoRow() {
  50. err = fmt.Errorf("获取指标是否存在失败, err: %s", e.Error())
  51. return
  52. }
  53. if exist != nil {
  54. skip = true
  55. return
  56. }
  57. // 开始结束时间
  58. var startDate, endDate string
  59. // 新增指标库
  60. edbInfo, e, msg, _ := EdbInfoAdd(source, utils.DATA_SUB_SOURCE_EDB, req.ClassifyId, req.EdbCode, req.EdbName, req.Frequency, req.Unit, startDate, endDate, req.AdminId, req.AdminRealName, lang)
  61. if e != nil {
  62. errMsg = msg
  63. err = fmt.Errorf("EdbInfo: 新增指标失败, err: %s", e.Error())
  64. return
  65. }
  66. edb = edbInfo
  67. return
  68. }