- only return new order count in GetMsg

This commit is contained in:
gazebo
2019-03-06 16:48:15 +08:00
parent d1237af716
commit d608b4dd63

View File

@@ -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,
// },
// },
}
})
}