|
|
@@ -207,17 +207,20 @@ func QueryHistoryDatas(c *gin.Context) {
|
|
|
}
|
|
|
} else {
|
|
|
// 判断最后周期是否已经存在盘面周期
|
|
|
- hd := rst[len(rst)-1]
|
|
|
-
|
|
|
+ a, b := rst[0], rst[len(rst)-1]
|
|
|
logger.GetLogger().Debugf("[checkTiks] firstTik TimeStamp[%v] lastTik TimeStamp[%v] IsAsc[%v]",
|
|
|
- rst[0].TimeStamp, hd.TimeStamp, req.IsAsc)
|
|
|
-
|
|
|
+ a.TimeStamp, b.TimeStamp, req.IsAsc)
|
|
|
+ hd := a
|
|
|
+ if a.TimeStamp.Before(b.TimeStamp) {
|
|
|
+ // 取最大日期 b在a之后,取b进行比较
|
|
|
+ hd = b
|
|
|
+ }
|
|
|
logger.GetLogger().Debugf("[checkTiks] compare hd.TimeStamp[%v] > firstDate[%v]? ",
|
|
|
hd.TimeStamp, fisrtDate)
|
|
|
if hd.TimeStamp.Before(fisrtDate) {
|
|
|
// #3424 当日未开市显示了K线
|
|
|
// 修改:这里增加判断盘面是否有开盘价
|
|
|
- if v.Opened > 0 {
|
|
|
+ if v.Opened > 0 && v.Last > 0 {
|
|
|
historyData := HistoryData{
|
|
|
Opened: utils.IntToFloat64(int(v.Opened), dcplace),
|
|
|
Highest: utils.IntToFloat64(int(v.Highest), dcplace),
|
|
|
@@ -232,11 +235,11 @@ func QueryHistoryDatas(c *gin.Context) {
|
|
|
logger.GetLogger().Debugf("[checkTiks] 补K线:\n%v", historyData)
|
|
|
|
|
|
if req.IsAsc {
|
|
|
+ //升序 尾部插入
|
|
|
rst = append(rst, historyData)
|
|
|
} else {
|
|
|
- // 插入第一条
|
|
|
- rear := append([]HistoryData{}, rst[0:]...)
|
|
|
- rst = append(append(rst[:0], historyData), rear...)
|
|
|
+ //降序 头部插入
|
|
|
+ rst = append([]HistoryData{historyData}, rst...)
|
|
|
}
|
|
|
}
|
|
|
}
|