- send weixin msg more accurately.
This commit is contained in:
@@ -7,7 +7,6 @@ import (
|
|||||||
"git.rosy.net.cn/baseapi"
|
"git.rosy.net.cn/baseapi"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg"
|
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/scheduler"
|
"git.rosy.net.cn/jx-callback/business/scheduler"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
@@ -60,7 +59,6 @@ func (c *OrderController) OnOrderNew(order *model.GoodsOrder, msgVendorStatus st
|
|||||||
if err == nil && !isDuplicated {
|
if err == nil && !isDuplicated {
|
||||||
if isDuplicated, err = c.saveOrder(order, false, db); err == nil && !isDuplicated {
|
if isDuplicated, err = c.saveOrder(order, false, db); err == nil && !isDuplicated {
|
||||||
err = scheduler.CurrentScheduler.OnOrderNew(order, false)
|
err = scheduler.CurrentScheduler.OnOrderNew(order, false)
|
||||||
weixinmsg.NotifyNewOrder(order)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
@@ -96,7 +94,6 @@ func (c *OrderController) OnOrderAdjust(order *model.GoodsOrder, msgVendorStatus
|
|||||||
// 因为订单调度器需要的是真实状态,所以用order的状态
|
// 因为订单调度器需要的是真实状态,所以用order的状态
|
||||||
err = scheduler.CurrentScheduler.OnOrderNew(order, false)
|
err = scheduler.CurrentScheduler.OnOrderNew(order, false)
|
||||||
err = scheduler.CurrentScheduler.OnOrderStatusChanged(model.Order2Status(order), false)
|
err = scheduler.CurrentScheduler.OnOrderStatusChanged(model.Order2Status(order), false)
|
||||||
weixinmsg.NotifyNewOrder(order)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg"
|
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/scheduler"
|
"git.rosy.net.cn/jx-callback/business/scheduler"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
@@ -90,11 +89,6 @@ func (w *WaybillController) OnWaybillStatusChanged(bill *model.Waybill) (err err
|
|||||||
}
|
}
|
||||||
if err == nil && !isDuplicated {
|
if err == nil && !isDuplicated {
|
||||||
scheduler.CurrentScheduler.OnWaybillStatusChanged(bill, false)
|
scheduler.CurrentScheduler.OnWaybillStatusChanged(bill, false)
|
||||||
if bill.Status == model.WaybillStatusAccepted || bill.Status == model.WaybillStatusDelivered {
|
|
||||||
if order, err2 := OrderManager.LoadOrder(bill.VendorOrderID, bill.OrderVendorID); err2 == nil {
|
|
||||||
weixinmsg.NotifyWaybillStatus(bill, order)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if globals.GenerateLegacyJxOrder {
|
if globals.GenerateLegacyJxOrder {
|
||||||
w.legacyWaybillStatusChanged(bill, db)
|
w.legacyWaybillStatusChanged(bill, db)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,6 +99,10 @@ func SendMsgToStore(storeID int, templateID, downloadURL string, data interface{
|
|||||||
|
|
||||||
func NotifyNewOrder(order *model.GoodsOrder) (err error) {
|
func NotifyNewOrder(order *model.GoodsOrder) (err error) {
|
||||||
globals.SugarLogger.Debugf("NotifyNewOrder orderID:%s", order.VendorOrderID)
|
globals.SugarLogger.Debugf("NotifyNewOrder orderID:%s", order.VendorOrderID)
|
||||||
|
if !model.IsOrderSolid(order) {
|
||||||
|
globals.SugarLogger.Infof("NotifyNewOrder orderID:%s is not solid", order.VendorOrderID)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
sb := new(strings.Builder)
|
sb := new(strings.Builder)
|
||||||
sb.WriteString("老板,")
|
sb.WriteString("老板,")
|
||||||
sb.WriteString(order.ConsigneeName)
|
sb.WriteString(order.ConsigneeName)
|
||||||
@@ -142,9 +146,13 @@ func NotifyNewOrder(order *model.GoodsOrder) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func NotifyWaybillStatus(bill *model.Waybill, order *model.GoodsOrder) error {
|
func NotifyWaybillStatus(bill *model.Waybill, order *model.GoodsOrder) error {
|
||||||
globals.SugarLogger.Debugf("NotifyWaybillStatus bill:%v", bill)
|
globals.SugarLogger.Debugf("NotifyWaybillStatus orderID:%s bill:%v", order.VendorOrderID, bill)
|
||||||
|
if !model.IsOrderSolid(order) {
|
||||||
|
globals.SugarLogger.Infof("NotifyWaybillStatus orderID:%s is not solid", order.VendorOrderID)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
var title string
|
var title string
|
||||||
var templateID string
|
templateID := ""
|
||||||
remark := ""
|
remark := ""
|
||||||
titleColor := ""
|
titleColor := ""
|
||||||
switch bill.Status {
|
switch bill.Status {
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import (
|
|||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||||
|
"git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg"
|
||||||
"git.rosy.net.cn/jx-callback/business/legacymodel"
|
"git.rosy.net.cn/jx-callback/business/legacymodel"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/scheduler"
|
"git.rosy.net.cn/jx-callback/business/scheduler"
|
||||||
@@ -205,6 +206,9 @@ func (s *DefScheduler) OnOrderNew(order *model.GoodsOrder, isPending bool) (err
|
|||||||
savedOrderInfo.SetOrder(order) // 调整单或消息错序都可能进到这里来
|
savedOrderInfo.SetOrder(order) // 调整单或消息错序都可能进到这里来
|
||||||
}
|
}
|
||||||
s.resetTimer(savedOrderInfo, nil, isPending)
|
s.resetTimer(savedOrderInfo, nil, isPending)
|
||||||
|
if !isPending {
|
||||||
|
weixinmsg.NotifyNewOrder(order)
|
||||||
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -285,6 +289,9 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
s.swtich2SelfDeliverWithRetry(savedOrderInfo, bill, 2, 10*time.Second)
|
s.swtich2SelfDeliverWithRetry(savedOrderInfo, bill, 2, 10*time.Second)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if !isPending {
|
||||||
|
weixinmsg.NotifyWaybillStatus(bill, order)
|
||||||
|
}
|
||||||
} else if !s.isBillCandidate(order, bill) && bill.WaybillVendorID != order.VendorID {
|
} else if !s.isBillCandidate(order, bill) && bill.WaybillVendorID != order.VendorID {
|
||||||
// 发生这种情况的原因就是两个接单事件几乎同时到达(来不及取消),也算正常
|
// 发生这种情况的原因就是两个接单事件几乎同时到达(来不及取消),也算正常
|
||||||
s.CancelWaybill(bill)
|
s.CancelWaybill(bill)
|
||||||
@@ -364,6 +371,9 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
s.updateOrderByBill(order, bill, false)
|
s.updateOrderByBill(order, bill, false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if !isPending {
|
||||||
|
weixinmsg.NotifyWaybillStatus(bill, order)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user