瀏覽代碼

特殊处理郑商所数据

xiexiaoyuan 2 年之前
父節點
當前提交
9a452163ce
共有 2 個文件被更改,包括 28 次插入2 次删除
  1. 9 0
      models/tables/trade_analysis/trade_analysis.go
  2. 19 2
      services/trade_analysis/trade_analysis.go

+ 9 - 0
models/tables/trade_analysis/trade_analysis.go

@@ -119,3 +119,12 @@ func GetTradeTopLastDataTime(exchange string, classifyName, classifyType string)
 	return
 }
 
+
+func GetZhengzhouClassifyTypeByClassifyName(classifyName string) (item *TradeClassifyName, err error) {
+	tableName := "base_from_trade_zhengzhou_index"
+	err = global.MYSQL["data"].
+		Table(tableName).
+		Select("classify_name, classify_type").
+		Where("classify_name=?", classifyName).Limit(1).Find(&item).Error
+	return
+}

+ 19 - 2
services/trade_analysis/trade_analysis.go

@@ -102,7 +102,7 @@ func GetClassifyName() (list []trade_analysis.TradeClassifyNameList, err error,
 }
 
 func getZhengzhouClassifyName(code string) (name string) {
-	if strings.HasPrefix(code,"TA") {
+	if strings.HasPrefix(code,"PTA") {
 		name = "PTA"
 		return
 	}
@@ -239,8 +239,25 @@ func GetPositionTopDetail(req trade_analysis.GetPositionTopReq) (ret trade_analy
 		return
 	}
 	dataTimeStr = dataTime.Format(utils.FormatDate)
+	classifyName := req.ClassifyName
+	classifyType := req.ClassifyType
+	if exchange == "zhengzhou" {
+		classifyName = classifyType
+		var typeItem *trade_analysis.TradeClassifyName
+		typeItem, err = trade_analysis.GetZhengzhouClassifyTypeByClassifyName(classifyName)
+		if err != nil {
+			if err == utils.ErrNoRow {
+				errMsg = "该合约不存在"
+				return
+			}
+			errMsg = "查询类型信息出错"
+			return
+		}
+		classifyType = typeItem.ClassifyType
+
+	}
 	//查询当日榜单列表
-	dataList, tmpErr := trade_analysis.GetTradePositionTop(exchange, req.ClassifyName, req.ClassifyType, dataTimeStr)
+	dataList, tmpErr := trade_analysis.GetTradePositionTop(exchange, classifyName, classifyType, dataTimeStr)
 	if tmpErr != nil {
 		errMsg = "查询榜单列表失败"
 		err = tmpErr