Selaa lähdekoodia

fix:持仓数据同步最大日期

Roc 1 vuosi sitten
vanhempi
commit
adc30288d7

+ 3 - 2
models/data_manage/trade_position_analysis.go

@@ -246,16 +246,17 @@ type TradeClassifyName struct {
 	ClassifyName string    //分类名称
 	ClassifyType string    //分类名称下的类型
 	DataTime     time.Time //数据最近的日期
+	ModifyTime   time.Time //数据最近修改的日期
 }
 
 // GetExchangeClassify 获取交易所分类列表
 func GetExchangeClassify(exchange string) (list []TradeClassifyName, err error) {
-	tableName := "base_from_trade_" + exchange + "_index"
+	tableName := "trade_position_" + exchange + "_top"
 	orderStr := "classify_name DESC, classify_type asc"
 	if exchange == "zhengzhou" {
 		orderStr = "classify_name asc"
 	}
-	sql := `SELECT classify_name, classify_type,MAX(data_time) data_time FROM ` + tableName + ` WHERE rank <=20 and rank > 0 GROUP BY classify_name, classify_type  `
+	sql := `SELECT classify_name, classify_type,MAX(data_time) as data_time,MAX(modify_time) as modify_time FROM ` + tableName + ` GROUP BY classify_name, classify_type  `
 	sql += ` ORDER BY ` + orderStr
 
 	o := orm.NewOrm()

+ 16 - 0
models/db.go

@@ -27,6 +27,9 @@ func init() {
 
 	// 注册商品期货 相关数据表
 	initFutureGoodEdbDataTable()
+
+	//注册持仓分析 数据表
+	initTradePositionTop()
 }
 
 // initEdbDataTable 注册Edb指标 数据表
@@ -65,3 +68,16 @@ func initFutureGoodEdbDataTable() {
 		new(future_good.FutureGoodEdbInfo),
 	)
 }
+
+// initTradePositionTop 注册持仓分析 数据表
+func initTradePositionTop() {
+	//注册对象
+	orm.RegisterModel(
+		new(data_manage.TradePositionDalianTop),
+		new(data_manage.TradePositionZhengzhouTop),
+		new(data_manage.TradePositionShanghaiTop),
+		new(data_manage.TradePositionIneTop),
+		new(data_manage.TradePositionCffexTop),
+		new(data_manage.BaseFromTradeClassify), // 交易所分类
+	)
+}

+ 2 - 2
services/data/trade_position_analysis.go

@@ -69,12 +69,12 @@ func InitPositionTask(cont context.Context) (err error) {
 						ClassifyType: classify.ClassifyType,
 						Exchange:     v,
 						CreateTime:   time.Now(),
-						ModifyTime:   time.Now(),
+						ModifyTime:   classify.ModifyTime,
 					})
 				} else {
 					if tradeClassify.LatestDate.Before(classify.DataTime) {
 						tradeClassify.LatestDate = classify.DataTime
-						tradeClassify.ModifyTime = time.Now()
+						tradeClassify.ModifyTime = classify.ModifyTime
 						tradeClassify.Update([]string{"LatestDate", "ModifyTime"})
 					}
 				}