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