chart.go 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package models
  2. import (
  3. "encoding/json"
  4. "eta_gn/eta_index_lib/global"
  5. "eta_gn/eta_index_lib/utils"
  6. "fmt"
  7. "time"
  8. )
  9. type EdbInfoReq struct {
  10. EdbInfoId int `description:"图表id,新增时传0"`
  11. }
  12. // DeleteChartInfoDataRedis 清除图表缓存
  13. func DeleteChartInfoDataRedis(bodyByte []byte) (err error) {
  14. var req EdbInfoReq
  15. err = json.Unmarshal(bodyByte, &req)
  16. if err != nil {
  17. return
  18. }
  19. if req.EdbInfoId > 0 {
  20. list, tmpErr := GetChartEdbMappingListByEdbInfoId(req.EdbInfoId)
  21. if tmpErr != nil {
  22. err = tmpErr
  23. return
  24. }
  25. // 删除图表的id
  26. for _, v := range list {
  27. _ = utils.Rc.Delete(GetChartInfoDataKey(v.ChartInfoId))
  28. }
  29. }
  30. return
  31. }
  32. // GetChartInfoDataKey 获取图表缓存的key
  33. func GetChartInfoDataKey(chartInfoId int) string {
  34. key := fmt.Sprint(utils.CACHE_CHART_INFO_DATA, chartInfoId)
  35. return key
  36. }
  37. type ChartInfo struct {
  38. ChartInfoId int `gorm:"primaryKey;autoIncrement;column:chart_info_id"`
  39. ChartName string `gorm:"column:chart_name" description:"来源名称"`
  40. ChartNameEn string `gorm:"column:chart_name_en" description:"英文图表名称"`
  41. ChartClassifyId int `gorm:"column:chart_classify_id" description:"图表分类id"`
  42. SysUserId int `gorm:"column:sys_user_id"`
  43. SysUserRealName string `gorm:"column:sys_user_real_name"`
  44. UniqueCode string `gorm:"column:unique_code" description:"图表唯一编码"`
  45. CreateTime time.Time `gorm:"column:create_time"`
  46. ModifyTime time.Time `gorm:"column:modify_time"`
  47. DateType int `gorm:"column:date_type" description:"日期类型:1:00年至今,2:10年至今,3:15年至今,4:年初至今,5:自定义时间"`
  48. StartDate string `gorm:"column:start_date" description:"自定义开始日期"`
  49. EndDate string `gorm:"column:end_date" description:"自定义结束日期"`
  50. IsSetName int `gorm:"column:is_set_name" description:"设置名称"`
  51. EdbInfoIds string `gorm:"column:edb_info_ids" description:"指标id"`
  52. ChartType int `gorm:"column:chart_type" description:"生成样式:1:曲线图,2:季节性图,3:面积图,4:柱状图,5:散点图,6:组合图,7:柱方图,8:商品价格曲线图,9:相关性图"`
  53. Calendar string `gorm:"column:calendar" description:"公历/农历"`
  54. SeasonStartDate string `gorm:"column:season_start_date" description:"季节性图开始日期"`
  55. SeasonEndDate string `gorm:"column:season_end_date" description:"季节性图开始日期(注意:这里可能是个错误,应该是结束日期)"`
  56. ChartImage string `gorm:"column:chart_image" description:"图表图片"`
  57. Sort int `gorm:"column:sort" description:"排序字段,数字越小越排前面"`
  58. LeftMin string `gorm:"column:left_min" description:"图表左侧最小值"`
  59. LeftMax string `gorm:"column:left_max" description:"图表左侧最大值"`
  60. RightMin string `gorm:"column:right_min" description:"图表右侧最小值"`
  61. RightMax string `gorm:"column:right_max" description:"图表右侧最大值"`
  62. Disabled int `gorm:"column:disabled" description:"是否禁用,0:启用,1:禁用,默认:0"`
  63. BarConfig string `gorm:"column:bar_config" description:"柱方图的配置,json数据"`
  64. Source int `gorm:"column:source" description:"1:ETA图库;2:商品价格曲线"`
  65. ExtraConfig string `gorm:"column:extra_config" description:"图表额外配置,json数据"`
  66. }
  67. // GetChartInfoById 通过id获取图表信息
  68. func GetChartInfoById(chartInfoId int) (item *ChartInfo, err error) {
  69. sql := ` SELECT * FROM chart_info WHERE chart_info_id=? `
  70. err = global.DEFAULT_DmSQL.Raw(sql, chartInfoId).First(&item).Error
  71. return
  72. }