Browse Source

fix:优化持仓分析

Roc 1 year ago
parent
commit
ab4c780228

+ 5 - 4
models/data_manage/trade_position_analysis.go

@@ -168,14 +168,14 @@ func MultiUpdatePositionTop(exchange string, updates []UpdateDealValueChange) (e
 
 func DeletePositionTopByDataTime(exchange string, dataTime string, dealType int) (err error) {
 	o := orm.NewOrmUsingDB("data")
-	sql := "delete from trade_position_" + exchange + "_Top WHERE data_time=? and deal_type=?"
+	sql := "delete from trade_position_" + exchange + "_top WHERE data_time=? and deal_type=?"
 	_, err = o.Raw(sql, dataTime, dealType).Exec()
 	return
 }
 
 func GetTradePositionTopByExchangeDataTimeType(exchange string, dataTime string, dealType int) (list []TradePositionTop, err error) {
 	o := orm.NewOrmUsingDB("data")
-	sql := "select * from trade_position_" + exchange + "_Top WHERE data_time=? and deal_type=?"
+	sql := "select * from trade_position_" + exchange + "_top WHERE data_time=? and deal_type=?"
 	_, err = o.Raw(sql, dataTime, dealType).QueryRows(&list)
 	return
 }
@@ -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.NewOrmUsingDB("data")

+ 2 - 2
services/data/trade_position_analysis.go

@@ -70,12 +70,12 @@ func InitPositionTask(cont context.Context) (err error) {
 						Exchange:     v,
 						LatestDate:   classify.DataTime,
 						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"})
 					}
 				}