Browse Source

fix:钢联有色的数据源中也记录最新值

Roc 1 năm trước cách đây
mục cha
commit
829f8adf99
3 tập tin đã thay đổi với 40 bổ sung5 xóa
  1. 16 2
      models/base_from_mysteel_chemical.go
  2. 16 3
      models/base_from_smm.go
  3. 8 0
      models/edb_info.go

+ 16 - 2
models/base_from_mysteel_chemical.go

@@ -503,13 +503,27 @@ func (d *BaseFromMysteelChemicalData) GetMysteelIndexInfoMaxAndMinInfo(indexCode
 	o := orm.NewOrm()
 	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date,MIN(value) AS min_value,MAX(value) AS max_value FROM base_from_mysteel_chemical_data WHERE index_code=? `
 	err = o.Raw(sql, indexCode).QueryRow(&item)
+
+	if err != nil {
+		return
+	}
+
+	// 获取最新值
+	var latest_value float64
+	sql = ` SELECT value AS latest_value FROM base_from_mysteel_chemical_data WHERE index_code=? ORDER BY data_time DESC LIMIT 1 `
+	err = o.Raw(sql, indexCode).QueryRow(&latest_value)
+	if err != nil {
+		return
+	}
+	item.LatestValue = latest_value
+
 	return
 }
 
 func (d *BaseFromMysteelChemicalData) ModifyMysteelIndexMaxAndMinInfo(indexCode string, item *EdbInfoMaxAndMinInfo) (err error) {
 	o := orm.NewOrm()
-	sql := ` UPDATE base_from_mysteel_chemical_index SET start_date=?,end_date=?,modify_time=NOW() WHERE index_code=? `
-	_, err = o.Raw(sql, item.MinDate, item.MaxDate, indexCode).Exec()
+	sql := ` UPDATE base_from_mysteel_chemical_index SET start_date=?,end_date=?,end_value=?,modify_time=NOW() WHERE index_code=? `
+	_, err = o.Raw(sql, item.MinDate, item.MaxDate, item.LatestValue, indexCode).Exec()
 	return
 }
 

+ 16 - 3
models/base_from_smm.go

@@ -247,13 +247,26 @@ func GetSmmIndexInfoMaxAndMinInfo(indexCode string) (item *EdbInfoMaxAndMinInfo,
 	o := orm.NewOrm()
 	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date,MIN(value) AS min_value,MAX(value) AS max_value FROM base_from_smm_data WHERE index_code=? `
 	err = o.Raw(sql, indexCode).QueryRow(&item)
+	if err != nil {
+		return
+	}
+
+	// 获取最新值
+	var latest_value float64
+	sql = ` SELECT value AS latest_value FROM base_from_smm_data WHERE index_code=? ORDER BY data_time DESC LIMIT 1 `
+	err = o.Raw(sql, indexCode).QueryRow(&latest_value)
+	if err != nil {
+		return
+	}
+	item.LatestValue = latest_value
+
 	return
 }
 
 func ModifySmmIndexMaxAndMinInfo(indexCode string, item *EdbInfoMaxAndMinInfo) (err error) {
 	o := orm.NewOrm()
-	sql := ` UPDATE base_from_smm_index SET start_date=?,end_date=?,modify_time=NOW() WHERE index_code=? `
-	_, err = o.Raw(sql, item.MinDate, item.MaxDate, indexCode).Exec()
+	sql := ` UPDATE base_from_smm_index SET start_date=?,end_date=?,end_value=?,modify_time=NOW() WHERE index_code=? `
+	_, err = o.Raw(sql, item.MinDate, item.MaxDate, item.LatestValue, indexCode).Exec()
 	return
 }
 
@@ -410,7 +423,7 @@ func AddBaseFromSmmIndex(list []*BaseFromSmmIndex) (lastId int64, err error) {
 // BridgeZhongJiIndexLatestDataParams 桥接服务-获取中基更新指标数据入参
 type BridgeZhongJiIndexLatestDataParams struct {
 	EdbCode  string `json:"edb_code" form:"edb_code" description:"指标编码"`
-	LastTime int64 `json:"last_time" form:"last_time" description:"上次更新时间戳(秒)"`
+	LastTime int64  `json:"last_time" form:"last_time" description:"上次更新时间戳(秒)"`
 }
 
 func GetBaseFromSmmIndex() (list []*BaseFromSmmIndex, err error) {

+ 8 - 0
models/edb_info.go

@@ -106,6 +106,14 @@ type EdbInfoList struct {
 	PredictDataList []*EdbData             `description:"预测指标数据"`
 	Button          EdbClassifyItemsButton `description:"操作权限"`
 	IsEnEdb         bool                   `description:"是否展示英文标识"`
+	DataDateType    string                 `description:"数据日期类型,枚举值:交易日、自然日"`
+	EmptyType       int                    `description:"空值处理类型(0查找前后35天,1不计算,2前值填充,3后值填充,4等于0)"`
+	MaxEmptyType    int                    `description:"MAX、MIN公式空值处理类型(1、等于0;2、跳过空值)"`
+	SubSource       int                    `description:"子数据来源:0:经济数据库,1:日期序列"`
+	SubSourceName   string                 `description:"子数据来源名称"`
+	IndicatorCode   string                 `description:"指标代码"`
+	StockCode       string                 `description:"证券代码"`
+	NoUpdate        int8                   `description:"是否停止更新,0:继续更新;1:停止更新"`
 }
 
 // EdbClassifyItemsButton 操作按钮