common.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package models
  2. import "eta/eta_index_lib/utils"
  3. // BaseEdbInfoInterface 基础指标接口
  4. type BaseEdbInfoInterface interface {
  5. Add(params AddCalculateBatchParams) (edbInfo *EdbInfo, err error, errMsg string)
  6. Edit(params EditCalculateBatchParams) (err error, errMsg string)
  7. Refresh(params RefreshParams) (err error, errMsg string)
  8. GetSourceName() string
  9. }
  10. // AddCalculateBatchParams 添加的请求参
  11. type AddCalculateBatchParams struct {
  12. Req *EdbInfoCalculateBatchSaveReq
  13. FromEdbInfo *EdbInfo
  14. EdbCode string
  15. UniqueCode string
  16. SysUserId int
  17. SysUserRealName string
  18. }
  19. // EditCalculateBatchParams 编辑的请求参
  20. type EditCalculateBatchParams struct {
  21. Req *EdbInfoCalculateBatchEditReq
  22. EdbInfo *EdbInfo
  23. FromEdbInfo *EdbInfo
  24. }
  25. // RefreshParams 编辑的请求参
  26. type RefreshParams struct {
  27. EdbInfo *EdbInfo
  28. FromEdbInfo *EdbInfo
  29. StartDate string
  30. EndDate string
  31. }
  32. // GetBaseEdbInfoModel 获取普通指标的model
  33. func GetBaseEdbInfoModel(source int) (baseEdbInfoModel BaseEdbInfoInterface) {
  34. switch source {
  35. case utils.DATA_SOURCE_CALCULATE_LJZZJ:
  36. baseEdbInfoModel = Ljzzj{}
  37. case utils.DATA_SOURCE_CALCULATE_LJZ:
  38. baseEdbInfoModel = Ljz{}
  39. case utils.DATA_SOURCE_CALCULATE_LJZNCZJ:
  40. baseEdbInfoModel = LjzNczj{}
  41. case utils.DATA_SOURCE_CALCULATE_STANDARD_DEVIATION:
  42. baseEdbInfoModel = StandardDeviation{}
  43. case utils.DATA_SOURCE_CALCULATE_PERCENTILE:
  44. baseEdbInfoModel = Percentile{}
  45. default:
  46. }
  47. return
  48. }
  49. // BatchSaveCalculateBatchParams 编辑的请求参
  50. type BatchSaveCalculateBatchParams struct {
  51. Req EdbInfoCalculateBatchSaveReq
  52. EdbInfo *EdbInfo
  53. FromEdbInfo *EdbInfo
  54. EdbCode string
  55. UniqueCode string
  56. SysUserId int
  57. SysUserRealName string
  58. }
  59. // BasePredictEdbInfoInterface 基础指标接口
  60. type BasePredictEdbInfoInterface interface {
  61. Add(params BatchSaveCalculateBatchParams) (edbInfo *EdbInfo, latestDateStr string, latestValue float64, err error, errMsg string)
  62. Edit(params BatchSaveCalculateBatchParams) (latestDateStr string, latestValue float64, err error, errMsg string)
  63. Refresh(params RefreshParams) (latestDateStr string, latestValue float64, err error, errMsg string)
  64. GetSourceName() string
  65. }
  66. // GetBasePredictEdbInfoModel 获取预测指标的model
  67. func GetBasePredictEdbInfoModel(source int) (baseEdbInfoModel BasePredictEdbInfoInterface) {
  68. switch source {
  69. case utils.DATA_SOURCE_PREDICT_CALCULATE_LJZZJ:
  70. baseEdbInfoModel = PredictLjzzj{}
  71. case utils.DATA_SOURCE_PREDICT_CALCULATE_LJZ:
  72. baseEdbInfoModel = PredictLjz{}
  73. case utils.DATA_SOURCE_PREDICT_CALCULATE_LJZNCZJ:
  74. baseEdbInfoModel = PredictLjzNczj{}
  75. case utils.DATA_SOURCE_PREDICT_CALCULATE_STANDARD_DEVIATION:
  76. baseEdbInfoModel = PredictStandardDeviation{}
  77. case utils.DATA_SOURCE_PREDICT_CALCULATE_PERCENTILE:
  78. baseEdbInfoModel = PredictPercentile{}
  79. default:
  80. }
  81. return
  82. }