Jelajahi Sumber

Merge branch 'bzq1/shanghai_bug_custom' of eta_server/eta_index_lib into debug

鲍自强 6 bulan lalu
induk
melakukan
239acda456
2 mengubah file dengan 37 tambahan dan 0 penghapusan
  1. 24 0
      controllers/shanghai_smm.go
  2. 13 0
      models/base_from_smm.go

+ 24 - 0
controllers/shanghai_smm.go

@@ -121,6 +121,30 @@ func (this *ShanghaiSmmController) RefreshData() {
 				item.ModifyTime = time.Now()
 				item.DataTimestamp = time.Now().UnixMilli()
 				addDateList = append(addDateList, item)
+			} else {
+				smmData, err := models.GetBaseFromSmmDataByCodeAndDate(indexInfo.IndexCode, v.RenewDate)
+				if err != nil {
+					fmt.Println("刷新数据失败,Err:", err.Error())
+					utils.FileLog.Info("刷新数据失败,Err:", err.Error())
+					continue
+				}
+				var smmDataValue string
+				if v.Value == "highs" {
+					smmDataValue = strconv.FormatFloat(v.Highs, 'f', -1, 64)
+				} else if v.Value == "low" {
+					smmDataValue = strconv.FormatFloat(v.Low, 'f', -1, 64)
+				} else {
+					smmDataValue = strconv.FormatFloat(v.Average, 'f', -1, 64)
+				}
+				if smmDataValue != "" && smmData.Value != smmDataValue {
+					smmData.Value = smmDataValue
+					smmData.ModifyTime = time.Now()
+					err = smmData.Update([]string{"Value", "ModifyTime"})
+					if err != nil {
+						utils.FileLog.Info("indexCode: %s,更新指标数据失败,Err:%s", v.IndexCode, err.Error())
+					}
+				}
+
 			}
 		}
 	}

+ 13 - 0
models/base_from_smm.go

@@ -21,6 +21,12 @@ type BaseFromSmmData struct {
 	DataTimestamp      int64
 }
 
+func (s *BaseFromSmmData) Update(cols []string) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Update(s, cols...)
+	return
+}
+
 func AddBaseFromSmmData(item []*BaseFromSmmData) (err error) {
 	o := orm.NewOrm()
 	_, err = o.InsertMulti(500, item)
@@ -64,6 +70,13 @@ func GetBaseFromSmmDataByIds(smmDataIds []int) (list []*BaseFromSmmData, err err
 	return
 }
 
+func GetBaseFromSmmDataByCodeAndDate(indexCode string, dataTime string) (item *BaseFromSmmData, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_smm_data WHERE 1=1 AND index_code=? AND data_time=? `
+	err = o.Raw(sql, indexCode, dataTime).QueryRow(&item)
+	return
+}
+
 // 新增有色指标数据
 func AddEdbDataFromSmm(edbCode string, smmBaseDataAll []*BaseFromSmmData) (err error) {
 	o := orm.NewOrm()