GetStoreOrderAfterTime排除内部单
This commit is contained in:
@@ -107,23 +107,26 @@ func unregisterChan(storeID int, chan2Listen chan<- *ServerMsg) {
|
||||
<-chan2Close
|
||||
}
|
||||
|
||||
func getPendingOrderList(storeID int, lastOrderTime time.Time, lastOrderSeqID int64) (orderList []*model.GoodsOrderExt, err error) {
|
||||
func getPendingOrderList(storeID int, lastOrderTime time.Time, lastOrderSeqID int64) (vendorOrderIDs []string, err error) {
|
||||
if utils.IsTimeZero(lastOrderTime) || time.Now().Sub(lastOrderTime) > maxGetOrderTimeDuration {
|
||||
lastOrderTime = time.Now().Add(-maxGetOrderTimeDuration)
|
||||
}
|
||||
orderList, err = dao.GetStoreOrderAfterTime(dao.GetDB(), storeID, lastOrderTime, lastOrderSeqID)
|
||||
return orderList, err
|
||||
orderList, err := dao.GetStoreOrderAfterTime(dao.GetDB(), storeID, lastOrderTime, lastOrderSeqID)
|
||||
for _, v := range orderList {
|
||||
vendorOrderIDs = append(vendorOrderIDs, v.VendorOrderID)
|
||||
}
|
||||
return vendorOrderIDs, err
|
||||
}
|
||||
|
||||
func GetMsg(ctx *jxcontext.Context, storeID int, lastOrderTime time.Time, lastOrderSeqID int64, msgTypeList []string, waitingSecond int) (msg *ServerMsg, err error) {
|
||||
orderList, err := getPendingOrderList(storeID, lastOrderTime, lastOrderSeqID)
|
||||
vendorOrderIDs, err := getPendingOrderList(storeID, lastOrderTime, lastOrderSeqID)
|
||||
if err == nil {
|
||||
msg = &ServerMsg{
|
||||
Type: ServerMsgNewOrder,
|
||||
StoreID: storeID,
|
||||
MsgData: 0,
|
||||
}
|
||||
if len(orderList) == 0 {
|
||||
if len(vendorOrderIDs) == 0 {
|
||||
chan2Listen := make(chan *ServerMsg, 1)
|
||||
registerChan(storeID, chan2Listen)
|
||||
pollingDuration := defPollingDuration
|
||||
@@ -149,7 +152,8 @@ func GetMsg(ctx *jxcontext.Context, storeID int, lastOrderTime time.Time, lastOr
|
||||
}
|
||||
close(chan2Listen)
|
||||
} else {
|
||||
msg.MsgData = len(orderList)
|
||||
globals.SugarLogger.Debugf("GetMsg vendorOrderIDs:%s", utils.Format4Output(vendorOrderIDs, true))
|
||||
msg.MsgData = len(vendorOrderIDs)
|
||||
}
|
||||
}
|
||||
return msg, err
|
||||
|
||||
Reference in New Issue
Block a user