浏览代码

```优化图表信息查询和更新

- 重构 GetChartInfoEdbEndDate 函数,返回特定结构体而不是通用 ChartInfo
-简化 SQL 查询语句,提高代码可读性和性能
- 更新 ModifyChartInfoEdbEndDate 和 GetChartInfoByChartInfoIds函数
- 重命名 SetChartEdbEndDate 函数以符合 Go 命名惯例
```
Roc 4 月之前
父节点
当前提交
be8c7ecefd
共有 2 个文件被更改,包括 12 次插入16 次删除
  1. 11 15
      models/data_manage/chart_info.go
  2. 1 1
      services/data/chart_info.go

+ 11 - 15
models/data_manage/chart_info.go

@@ -32,44 +32,40 @@ type ChartInfo struct {
 }
 
 func GetAllChartInfo() (list []*ChartInfo, err error) {
-	//o := orm.NewOrm()
 	sql := ` SELECT * FROM chart_info  `
-	//_, err = o.Raw(sql).QueryRows(&list)
 
 	err = global.DEFAULT_DmSQL.Raw(sql).Find(&list).Error
 	return
 }
 
-func GetChartInfoEdbEndDate() (list []*ChartInfo, err error) {
-	//o := orm.NewOrm()
-	//sql := ` SELECT a.*,max(c.end_date) AS edb_end_date FROM  chart_info  AS a
-	//		INNER JOIN chart_edb_mapping AS b ON a.chart_info_id=b.chart_info_id
-	//		INNER JOIN edb_info AS c ON b.edb_info_id=c.edb_info_id
-	//		GROUP BY a.chart_info_id  `
+// ChartInfoEdbEndDate
+// @Description: 图表指标最后更新日期
+type ChartInfoEdbEndDate struct {
+	ChartInfoId int    `orm:"column(chart_info_id);pk"`
+	EdbEndDate  string `description:"指标最后更新日期"`
+}
 
-	sql := `SELECT a.chart_info_id, a.chart_name, a.unique_code, a.chart_classify_id, a.sys_user_id, a.sys_user_real_name, a.create_time, a.modify_time, a.date_type, a.start_date, a.end_date, a.is_set_name, a.edb_info_ids, a.chart_type, a.calendar, a.season_start_date, a.season_end_date, a.chart_image, a.sort, a.edb_end_date, a.x_min, a.x_max, a.left_min, a.left_max, a.right_min, a.right_max, a.right2_min, a.right2_max, a.min_max_save, a.chart_name_en, a.disabled, a.bar_config, a.source, a.extra_config, a.season_extra_config, a.start_year, a.chart_theme_id, a.sources_from, a.instructions, a.markers_lines, a.markers_areas, a.unit, a.unit_en, a.is_join_permission, a.forum_chart_info_id, a.chart_alias, a.date_type_num,max(c.end_date) AS edb_end_date FROM  chart_info  AS a
+func GetChartInfoEdbEndDate() (list []*ChartInfoEdbEndDate, err error) {
+	sql := `SELECT a.chart_info_id, a.date_type_num,max(c.end_date) AS edb_end_date FROM  chart_info  AS a
 			INNER JOIN chart_edb_mapping AS b ON a.chart_info_id=b.chart_info_id
 			INNER JOIN edb_info AS c ON b.edb_info_id=c.edb_info_id
-			GROUP BY a.chart_info_id, a.chart_name, a.unique_code, a.chart_classify_id, a.sys_user_id, a.sys_user_real_name, a.create_time, a.modify_time, a.date_type, a.start_date, a.end_date, a.is_set_name, a.edb_info_ids, a.chart_type, a.calendar, a.season_start_date, a.season_end_date, a.chart_image, a.sort, a.edb_end_date, a.x_min, a.x_max, a.left_min, a.left_max, a.right_min, a.right_max, a.right2_min, a.right2_max, a.min_max_save, a.chart_name_en, a.disabled, a.bar_config, a.source, a.extra_config, a.season_extra_config, a.start_year, a.chart_theme_id, a.sources_from, a.instructions, a.markers_lines, a.markers_areas, a.unit, a.unit_en, a.is_join_permission, a.forum_chart_info_id, a.chart_alias, a.date_type_num `
-	//_, err = o.Raw(sql).QueryRows(&list)
+			GROUP BY a.chart_info_id`
 
 	err = global.DEFAULT_DmSQL.Raw(sql).Find(&list).Error
 	return
 }
 
 func ModifyChartInfoEdbEndDate(chartInfoId int, edbEndDate string) (err error) {
-	//o := orm.NewOrm()
 	sql := ` UPDATE chart_info SET edb_end_date=? WHERE chart_info_id=? `
-	//_, err = o.Raw(sql, edbEndDate, chartInfoId).Exec()
 	err = global.DEFAULT_DmSQL.Exec(sql, edbEndDate, chartInfoId).Error
+
 	return
 }
 
 // 根据chart_info_id数组获取图表信息
 func GetChartInfoByChartInfoIds(chartInfoIds []int) (list []*ChartInfo, err error) {
-	//o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM chart_info  WHERE chart_info_id IN (` + utils.GetOrmInReplace(len(chartInfoIds)) + `) `
-	//_, err = o.Raw(sql, chartInfoIds).QueryRows(&list)
 	err = global.DmSQL["data"].Raw(sql, chartInfoIds).Find(&list).Error
+
 	return
 }

+ 1 - 1
services/data/chart_info.go

@@ -5,7 +5,7 @@ import (
 	"fmt"
 )
 
-//设置图表中,指标的最新日期
+// SetChartEdbEndDate 设置图表中,指标的最新日期
 func SetChartEdbEndDate() {
 	var err error
 	defer func() {