- only return new order count in GetMsg
This commit is contained in:
@@ -112,6 +112,11 @@ func getPendingOrderList(storeID int, lastOrderTime time.Time, lastOrderSeqID in
|
||||
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)
|
||||
if err == nil {
|
||||
msg = &ServerMsg{
|
||||
Type: ServerMsgNewOrder,
|
||||
StoreID: storeID,
|
||||
MsgData: 0,
|
||||
}
|
||||
if len(orderList) == 0 {
|
||||
chan2Listen := make(chan *ServerMsg, 1)
|
||||
registerChan(storeID, chan2Listen)
|
||||
@@ -129,18 +134,14 @@ func GetMsg(ctx *jxcontext.Context, storeID int, lastOrderTime time.Time, lastOr
|
||||
case msg2, ok := <-chan2Listen:
|
||||
timer.Stop()
|
||||
if ok {
|
||||
msg = msg2
|
||||
msg.MsgData = msg2.MsgData
|
||||
}
|
||||
case <-timer.C:
|
||||
unregisterChan(storeID, chan2Listen)
|
||||
}
|
||||
close(chan2Listen)
|
||||
} else {
|
||||
msg = &ServerMsg{
|
||||
Type: ServerMsgNewOrder,
|
||||
StoreID: storeID,
|
||||
MsgData: orderList,
|
||||
}
|
||||
msg.MsgData = len(orderList)
|
||||
}
|
||||
}
|
||||
return msg, err
|
||||
@@ -152,11 +153,12 @@ func OnNewOrder(order *model.GoodsOrder) {
|
||||
msgChan <- &ServerMsg{
|
||||
Type: ServerMsgNewOrder,
|
||||
StoreID: jxutils.GetSaleStoreIDFromOrder(order),
|
||||
MsgData: []*model.GoodsOrderExt{
|
||||
&model.GoodsOrderExt{
|
||||
GoodsOrder: *order,
|
||||
},
|
||||
},
|
||||
MsgData: 1,
|
||||
// MsgData: []*model.GoodsOrderExt{
|
||||
// &model.GoodsOrderExt{
|
||||
// GoodsOrder: *order,
|
||||
// },
|
||||
// },
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user