Browse Source

fix: 大商所TOP20

hsun 4 months ago
parent
commit
26f46d15c0

+ 9 - 8
models/data_manage/trade_analysis/trade_analysis.go

@@ -210,14 +210,15 @@ func GetTradeDataByClassifyAndCompany(exchange, classifyName string, contracts,
 		condSold += fmt.Sprintf(` AND sold_short_name IN (%s)`, utils.GetOrmInReplace(len(condCompanies)))
 		parsSold = append(parsSold, condCompanies)
 	} else {
+		// 这里rank=0或者999是因为大商所的数据并不只有999
 		if len(condCompanies) > 0 {
-			condBuy += fmt.Sprintf(` AND (rank = 999 OR buy_short_name IN (%s))`, utils.GetOrmInReplace(len(condCompanies)))
-			condSold += fmt.Sprintf(` AND (rank = 999 OR sold_short_name IN (%s))`, utils.GetOrmInReplace(len(condCompanies)))
+			condBuy += fmt.Sprintf(` AND (rank = 999 OR rank = 0 OR buy_short_name IN (%s))`, utils.GetOrmInReplace(len(condCompanies)))
+			condSold += fmt.Sprintf(` AND (rank = 999 OR rank = 0 OR sold_short_name IN (%s))`, utils.GetOrmInReplace(len(condCompanies)))
 			parsBuy = append(parsBuy, condCompanies)
 			parsSold = append(parsSold, condCompanies)
 		} else {
-			condBuy += ` AND rank = 999`
-			condSold += ` AND rank = 999`
+			condBuy += ` AND (rank = 999 OR rank = 0)`
+			condSold += ` AND (rank = 999 OR rank = 0)`
 		}
 	}
 
@@ -361,10 +362,10 @@ const (
 	WarehouseDefaultFrequency = "日度"
 
 	GuangZhouTopCompanyAliasName = "日成交持仓排名" // 广期所TOP20对应的公司名称
-	GuangZhouSeatNameBuy         = "持买单量"       // 广期所指标名称中的多单名称
-	GuangZhouSeatNameSold        = "持卖单量"       // 广期所指标名称中的空单名称
-	GuangZhouTopSeatNameBuy      = "持买单量总计"   // 广期所指标名称中的TOP20多单名称
-	GuangZhouTopSeatNameSold     = "持卖单量总计"   // 广期所指标名称中的TOP20空单名称
+	GuangZhouSeatNameBuy         = "持买单量"    // 广期所指标名称中的多单名称
+	GuangZhouSeatNameSold        = "持卖单量"    // 广期所指标名称中的空单名称
+	GuangZhouTopSeatNameBuy      = "持买单量总计"  // 广期所指标名称中的TOP20多单名称
+	GuangZhouTopSeatNameSold     = "持卖单量总计"  // 广期所指标名称中的TOP20空单名称
 )
 
 const (

+ 2 - 2
services/data/trade_analysis/trade_analysis_data.go

@@ -217,9 +217,9 @@ func GetOriginTradeData(exchange, classifyName string, contracts, companies []st
 	keyDateData := make(map[string]*tradeAnalysisModel.ContractCompanyTradeDataList)
 	keyDateDataExist := make(map[string]bool)
 	for _, v := range originList {
-		// Rank999-对应的是TOP20
+		// Rank999和0对应的是TOP20
 		companyName := v.CompanyName
-		if v.Rank == 999 {
+		if v.Rank == 999 || v.Rank == 0 {
 			companyName = tradeAnalysisModel.TradeFuturesCompanyTop20
 		}