|
|
@@ -250,14 +250,32 @@ type QueryTSDataReq struct {
|
|
|
|
|
|
// QueryTSDataRsp 分时图数据查询返回模型
|
|
|
type QueryTSDataRsp struct {
|
|
|
- GoodsCode string `json:"goodsCode"` // 商品代码
|
|
|
- OutGoodsCode string `json:"outGoodsCode"` // 外部商品代码
|
|
|
- DecimalPlace int `json:"decimalPlace"` // 小数位
|
|
|
- TradeDate string `json:"tradeDate"` // 交易日
|
|
|
- StartTime time.Time `json:"startTime"` // 开始时间
|
|
|
- EndTime time.Time `json:"endTime"` // 结束时间
|
|
|
- PreSettle float64 `json:"preSettle"` // 昨结价
|
|
|
- HistoryDatas []HistoryData `json:"historyDatas"` // 历史数据
|
|
|
+ GoodsCode string `json:"goodsCode"` // 商品代码
|
|
|
+ OutGoodsCode string `json:"outGoodsCode"` // 外部商品代码
|
|
|
+ DecimalPlace int `json:"decimalPlace"` // 小数位
|
|
|
+ TradeDate string `json:"tradeDate"` // 交易日
|
|
|
+ StartTime time.Time `json:"startTime"` // 开始时间
|
|
|
+ EndTime time.Time `json:"endTime"` // 结束时间
|
|
|
+ PreSettle float64 `json:"preSettle"` // 昨结价
|
|
|
+ RemoveCount int `json:"removeCount"` // 交易日中休市时周期点数
|
|
|
+ HistoryDatas []HistoryData `json:"historyDatas"` // 历史数据
|
|
|
+ RunSteps []TSDataRunStep `json:"runSteps"` // 交易日开休市计划
|
|
|
+}
|
|
|
+
|
|
|
+// TSDataRunStep 分时图交易日开休市计划
|
|
|
+type TSDataRunStep struct {
|
|
|
+ Groupid int32 `json:"groupid"` // 分组ID
|
|
|
+ Tradeweekday int32 `json:"tradeweekday"` // 交易日归属 - 0:星期天、1:星期一、2:星期二、3:星期三、4:星期四、5:星期五、6:星期六
|
|
|
+ Sectionid int32 `json:"sectionid"` // 从 1 开始 往下编 [0为系统清盘、结算时间] SectionId = 0时,开始时间=清盘时间 开始周几= 清盘周几, 结束时间=结算时间 结束周几=结算周几
|
|
|
+ Runstep int32 `json:"runstep"` // 运行阶段 - 2:连续交易
|
|
|
+ Startweekday int32 `json:"startweekday"` // 起始周几
|
|
|
+ Starttime string `json:"starttime"` // 起始时间(HH:mm)
|
|
|
+ Endweekday int32 `json:"endweekday"` // 结束周几
|
|
|
+ Endtime string `json:"endtime"` // 结束时间(HH:mm)
|
|
|
+ Startflag int32 `json:"startflag"` // 开始日标识 - (-1:上日 0:当日 1:次日 )
|
|
|
+ Endflag int32 `json:"endflag"` // 结束日标识 - (-1:上日 0:当日 1:次日 )
|
|
|
+ Start time.Time `json:"start"` // 真实开始时间
|
|
|
+ End time.Time `json:"end"` // 真实结束时间
|
|
|
}
|
|
|
|
|
|
// QueryTSData 分时图数据查询
|
|
|
@@ -600,6 +618,7 @@ func QueryTSData(c *gin.Context) {
|
|
|
|
|
|
// 补数据第四步:清除掉开市计划外的数据
|
|
|
// 先计算出每条计划明细的真正开始与结束时间
|
|
|
+ queryTSDataRsp.RunSteps = make([]TSDataRunStep, 0)
|
|
|
for _, v := range curWeekRunSteps {
|
|
|
// 开始时间
|
|
|
startInterval := getTradeDay(int(v["tradeweekday"].(float64)), int(v["startweekday"].(float64)))
|
|
|
@@ -615,6 +634,17 @@ func QueryTSData(c *gin.Context) {
|
|
|
duration, _ := time.ParseDuration(fmt.Sprintf("%dh", endInterval*24))
|
|
|
v["end"] = v["end"].(time.Time).Add(duration)
|
|
|
}
|
|
|
+
|
|
|
+ // map -> struct
|
|
|
+ var tsDataRunStep TSDataRunStep
|
|
|
+ jsonbody, err := json.Marshal(v)
|
|
|
+ if err != nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ if err := json.Unmarshal(jsonbody, &tsDataRunStep); err != nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ queryTSDataRsp.RunSteps = append(queryTSDataRsp.RunSteps, tsDataRunStep)
|
|
|
}
|
|
|
// 最终返回的历史数据
|
|
|
historyDatas := make([]HistoryData, 0)
|
|
|
@@ -644,6 +674,9 @@ func QueryTSData(c *gin.Context) {
|
|
|
}
|
|
|
queryTSDataRsp.HistoryDatas = historyDatas
|
|
|
|
|
|
+ // 交易日中休市时周期点数,主要用于iOS
|
|
|
+ queryTSDataRsp.RemoveCount = len(cycleDatas) - len(historyDatas)
|
|
|
+
|
|
|
// 查询成功
|
|
|
logger.GetLogger().Debugln("QueryTSData successed: %v", queryTSDataRsp)
|
|
|
appG.Response(http.StatusOK, e.SUCCESS, queryTSDataRsp)
|