- 新京东到家订单事件中,顺序调用得到新订单信息与手机号(因为超过了1000个店后,只用订单号查手机号要出错)

- 在defsch中异步调用微信发消息
This commit is contained in:
gazebo
2019-03-20 16:30:48 +08:00
parent 02db9f0b4f
commit 4876b7664c
5 changed files with 36 additions and 185 deletions

View File

@@ -151,7 +151,7 @@ func init() {
map[int]*StatusActionConfig{
model.OrderStatusNew: &StatusActionConfig{ // 自动接单
TimerType: scheduler.TimerTypeBaseStatusTime,
Timeout: 1 * time.Second,
Timeout: 10 * time.Millisecond,
TimeoutAction: func(savedOrderInfo *WatchOrderInfo) (err error) {
order := savedOrderInfo.order
mobile := order.ConsigneeMobile
@@ -235,7 +235,9 @@ func (s *DefScheduler) OnOrderNew(order *model.GoodsOrder, isPending bool) (err
if order.Status >= model.OrderStatusNew {
s.resetTimer(savedOrderInfo, nil, isPending)
if !isPending {
weixinmsg.NotifyNewOrder(order)
utils.CallFuncAsync(func() {
weixinmsg.NotifyNewOrder(order)
})
}
}
return err
@@ -248,7 +250,9 @@ func (s *DefScheduler) OnOrderStatusChanged(status *model.OrderStatus, isPending
savedOrderInfo := s.loadSavedOrderFromMap(status, true)
// if status.Status == model.OrderStatusNew {
// if !isPending {
// weixinmsg.NotifyNewOrder(savedOrderInfo.order)
// utils.CallFuncAsync(func() {
// weixinmsg.NotifyNewOrder(savedOrderInfo.order)
// })
// }
// }
s.updateOrderByStatus(savedOrderInfo.order, status)
@@ -358,7 +362,9 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
}
if s.isBillCandidate(order, bill) && order.WaybillVendorID != order.VendorID {
if !isBillAlreadyCandidate || !s.isWaybillCourierSame(savedOrderInfo, bill) {
weixinmsg.NotifyWaybillStatus(bill, order, isBillAlreadyCandidate)
utils.CallFuncAsync(func() {
weixinmsg.NotifyWaybillStatus(bill, order, isBillAlreadyCandidate)
})
}
}
}
@@ -444,7 +450,9 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
}
}
if !isPending {
weixinmsg.NotifyWaybillStatus(bill, order, false)
utils.CallFuncAsync(func() {
weixinmsg.NotifyWaybillStatus(bill, order, false)
})
}
case model.WaybillStatusNeverSend: // 平台不配送,直接创建三方运单
s.resetTimer(savedOrderInfo, bill, isPending)