Roc 4 weeks ago
parent
commit
f73ddc6573

+ 1 - 1
controllers/data_manage/edb_info.go

@@ -2303,7 +2303,7 @@ func (this *EdbInfoController) EdbInfoList() {
 			br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
 			return
 		}
-		if edbDataInsertConfig != nil {
+		if edbDataInsertConfig != nil && edbDataInsertConfig.EdbInfoId > 0 {
 			edbInfoItem.DataInsertConfig.Date = edbDataInsertConfig.Date.Format(utils.FormatDate)
 			edbInfoItem.DataInsertConfig.RealDate = edbDataInsertConfig.RealDate.Format(utils.FormatDate)
 			edbInfoItem.DataInsertConfig.Value = edbDataInsertConfig.Value

+ 5 - 5
models/data_manage/edb_data_insert_config.go

@@ -16,7 +16,7 @@ import (
 // EdbDataInsertConfig 指标数据插入配置表
 type EdbDataInsertConfig struct {
 	//EdbInfoId  int       `orm:"column(edb_info_id);pk" description:"指标id"`
-	EdbInfoId  int       `gorm:"column:edb_info_id;primaryKey" description:"指标id"`
+	EdbInfoId  int       `gorm:"primaryKey;autoIncrement:false;column:edb_info_id" description:"指标id"`
 	Date       time.Time `description:"插入的日期"`
 	Value      string    `description:"插入的值"`
 	RealDate   time.Time `description:"实际数据的值日期"`
@@ -97,7 +97,7 @@ func CreateEdbDataInsertConfigAndData(edbInfo *EdbInfo, date time.Time, value st
 		err = nil
 
 		// 如果是没有配置,那么就需要添加配置
-		if item == nil {
+		if item == nil || item.EdbInfoId <= 0 {
 			var currLatestDate time.Time
 			currLatestDateStr := edbInfo.LatestDate // 实际日期
 			if currLatestDateStr != `` && currLatestDateStr != `0000-00-00` {
@@ -201,7 +201,7 @@ func updateInsertConfigValueByMysql(to *gorm.DB, edbInfo *EdbInfo, oldConfigDate
 			sql := `SELECT edb_data_id,edb_info_id,data_time,value,data_timestamp FROM %s WHERE edb_info_id=? AND data_time = ?`
 			sql = fmt.Sprintf(sql, tableName)
 			sql = utils.ReplaceDriverKeywords("", sql)
-			err = to.Raw(sql, tableName, edbInfo.EdbInfoId, oldConfigDate.Format(utils.FormatDate)).First(&edbDateData).Error
+			err = to.Raw(sql, edbInfo.EdbInfoId, oldConfigDate.Format(utils.FormatDate)).First(&edbDateData).Error
 			//err = to.Raw(sql, edbInfo.EdbInfoId, oldConfigDate.Format(utils.FormatDate)).QueryRow(&edbDateData)
 			if err != nil && !utils.IsErrNoRow(err) {
 				return
@@ -211,7 +211,7 @@ func updateInsertConfigValueByMysql(to *gorm.DB, edbInfo *EdbInfo, oldConfigDate
 
 		// 如果是没有历史数据,那么就需要增加数据
 		if edbDateData == nil {
-			addSql := ` INSERT INTO %s (edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) VALUES ( %d, "%s", "%s", "%s", now(), now(), %s) `
+			addSql := ` INSERT INTO %s (edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) VALUES ( %d, '%s', '%s', '%s', now(), now(), %s) `
 			addSql = fmt.Sprintf(addSql, tableName, edbInfo.EdbInfoId, edbInfo.EdbCode, dateStr, saveValue, timeStr)
 			addSql = utils.ReplaceDriverKeywords("", addSql)
 			err = to.Exec(addSql).Error
@@ -233,7 +233,7 @@ func updateInsertConfigValueByMysql(to *gorm.DB, edbInfo *EdbInfo, oldConfigDate
 			//_, err = to.Raw(deleteSql).Exec()
 			err = to.Exec(deleteSql).Error
 		} else {
-			updateSql := `UPDATE %s SET data_time = "%s", value = "%s", modify_time= now(), data_timestamp= %s WHERE edb_data_id = %d;`
+			updateSql := `UPDATE %s SET data_time = '%s', value = '%s', modify_time= now(), data_timestamp= %s WHERE edb_data_id = %d;`
 			updateSql = utils.ReplaceDriverKeywords("", updateSql)
 			updateSql = fmt.Sprintf(updateSql, tableName, dateStr, saveValue, timeStr, edbDateData.EdbDataId)
 			//_, err = to.Raw(updateSql).Exec()

+ 7 - 0
models/data_manage/edb_info.go

@@ -181,6 +181,13 @@ type EdbInfoSearchData struct {
 	Value    float64 `description:"数据"`
 }
 
+// AfterFind 在该模型上设置钩子函数,把日期转成正确的string,所以查询函数只能用Find函数,First或者Scan是不会触发该函数的来获取数据
+func (m *EdbInfoSearchData) AfterFind(db *gorm.DB) (err error) {
+	m.DataTime = utils.GormDateStrToDateStr(m.DataTime)
+
+	return
+}
+
 type BaseIndexInfo struct {
 	IndexName string `description:"数据日期"`
 	Unit      string `description:"单位"`

+ 1 - 1
models/report_chapter.go

@@ -289,7 +289,7 @@ func GetReportChapterVideoList(reportId int) (list []*ReportChapterVideoList, er
 			FROM
 				report_chapter
 			WHERE
-				report_id = ? AND publish_state = 2 AND video_url != ""
+				report_id = ? AND publish_state = 2 AND video_url != ''
 			ORDER BY
 				report_chapter_id ASC `
 	err = o.Raw(sql, reportId).Find(&list).Error

+ 2 - 2
models/wechat_send_msg.go

@@ -15,7 +15,7 @@ func GetOpenIdArr() (items []string, err error) {
           INNER JOIN company AS c ON c.company_id = wu.company_id 
           INNER JOIN company_product AS d ON c.company_id=d.company_id
 		INNER JOIN user_record  AS ur ON wu.user_id=ur.user_id
-          WHERE ur.open_id != "" AND ur.subscribe=1 AND ur.create_platform=1 AND  d.status IN('正式','试用','永续')
+          WHERE ur.open_id != '' AND ur.subscribe=1 AND ur.create_platform=1 AND  d.status IN('正式','试用','永续')
          ORDER BY FIELD(c.company_id, 16) desc, ur.user_record_id asc`
 	o := global.DbMap[utils.DbNameWeekly]
 	err = o.Raw(sql).Find(&items).Error
@@ -30,7 +30,7 @@ func GetOpenIdArrByClassifyId(classifyId int) (items []string, err error) {
 			INNER JOIN company_report_permission AS e ON d.company_id=e.company_id
 			INNER JOIN chart_permission AS f ON e.chart_permission_id=f.chart_permission_id
 			INNER JOIN chart_permission_search_key_word_mapping AS g ON f.chart_permission_id=g.chart_permission_id
-			WHERE ur.open_id != "" AND ur.subscribe=1 AND ur.create_platform=1 AND  d.status IN('正式','试用','永续') AND  e.status IN('正式','试用','永续') 
+			WHERE ur.open_id != '' AND ur.subscribe=1 AND ur.create_platform=1 AND  d.status IN('正式','试用','永续') AND  e.status IN('正式','试用','永续') 
 			AND g.from='rddp'
 			AND g.classify_id=?
 			ORDER BY FIELD(c.company_id, 16) DESC, ur.user_record_id ASC  `