query.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package my_chart
  2. import (
  3. "hongze/hongze_yb/global"
  4. "time"
  5. )
  6. type MyChartList struct {
  7. MyChartId int `description:"我的图表主键"`
  8. ChartInfoId int
  9. ChartName string `description:"来源名称"`
  10. ChartClassifyId int `description:"图表分类id"`
  11. SysUserId int
  12. SysUserRealName string
  13. UniqueCode string `description:"图表唯一编码"`
  14. CreateTime time.Time
  15. ModifyTime time.Time
  16. DateType int `description:"日期类型:1:00年至今,2:10年至今,3:15年至今,4:年初至今,5:自定义时间"`
  17. StartDate string `description:"自定义开始日期"`
  18. EndDate string `description:"自定义结束日期"`
  19. IsSetName int `description:"设置名称"`
  20. EdbInfoIds string `description:"指标id"`
  21. ChartType int `description:"生成样式:1:曲线图,2:季节性图"`
  22. Calendar string `description:"公历/农历"`
  23. SeasonStartDate string `description:"季节性图开始日期"`
  24. SeasonEndDate string `description:"季节性图开始日期"`
  25. ChartImage string `description:"图表图片"`
  26. Sort int `description:"排序字段,数字越小越排前面"`
  27. IsAdd bool `description:"true:已加入我的图库,false:未加入我的图库"`
  28. MyChartClassifyName string `description:"分类名称,多个用英文逗号分割"`
  29. MyChartClassifyId string `description:"分类id,多个用英文逗号分割"`
  30. EdbEndDate string `description:"指标最新更新日期"`
  31. }
  32. // GetMyChartListByCondition 条件获取图库列表
  33. func GetMyChartListByCondition(condition string, pars []interface{}, page, limit int) (list []*MyChartList, err error) {
  34. sql := ` SELECT a.my_chart_id,c.sort,b.* FROM my_chart AS a
  35. INNER JOIN chart_info AS b ON a.chart_info_id=b.chart_info_id
  36. INNER JOIN my_chart_classify_mapping AS c ON a.my_chart_id=c.my_chart_id
  37. INNER JOIN my_chart_classify AS d ON c.my_chart_classify_id=d.my_chart_classify_id
  38. WHERE 1=1 `
  39. if condition != "" {
  40. sql += condition
  41. }
  42. sql += " GROUP BY a.chart_info_id ORDER BY c.sort ASC LIMIT ?,? "
  43. offset := (page - 1) * limit
  44. pars = append(pars, offset, limit)
  45. err = global.MYSQL["data"].Raw(sql, pars).Scan(&list).Error
  46. return
  47. }