- 关键售后单状态发微信通知消息
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package defsch
|
package defsch
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"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/msghub"
|
"git.rosy.net.cn/jx-callback/business/msghub"
|
||||||
)
|
)
|
||||||
@@ -9,6 +10,7 @@ func (s *DefScheduler) OnAfsOrderNew(order *model.AfsOrder, isPending bool) (err
|
|||||||
if order.Status == model.AfsOrderStatusWait4Approve {
|
if order.Status == model.AfsOrderStatusWait4Approve {
|
||||||
if !isPending {
|
if !isPending {
|
||||||
msghub.OnNewWait4ApproveAfsOrder(order)
|
msghub.OnNewWait4ApproveAfsOrder(order)
|
||||||
|
weixinmsg.NotifyAfsOrderStatus(order)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
@@ -18,6 +20,7 @@ func (s *DefScheduler) OnAfsOrderStatusChanged(order *model.AfsOrder, status *mo
|
|||||||
if status.Status == model.AfsOrderStatusWait4ReceiveGoods {
|
if status.Status == model.AfsOrderStatusWait4ReceiveGoods {
|
||||||
if !isPending {
|
if !isPending {
|
||||||
msghub.OnKeyAfsOrderStatusChanged(order)
|
msghub.OnKeyAfsOrderStatusChanged(order)
|
||||||
|
weixinmsg.NotifyAfsOrderStatus(order)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"git.rosy.net.cn/jx-callback/business/partner"
|
||||||
|
|
||||||
"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/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
@@ -49,7 +51,10 @@ const (
|
|||||||
WX_NORMAL_STORE_MSG_TEMPLATE_ID = "7ngcTFYiUFw66BMzIYntM1tpy-xZkJwlcCT5pVtXwtw"
|
WX_NORMAL_STORE_MSG_TEMPLATE_ID = "7ngcTFYiUFw66BMzIYntM1tpy-xZkJwlcCT5pVtXwtw"
|
||||||
WX_CHANGE_APPROVED_TEMPLATE_ID = "gIG2olBZtQbjXmp6doNB_dESu60By5xuXYOGxksLv3Y"
|
WX_CHANGE_APPROVED_TEMPLATE_ID = "gIG2olBZtQbjXmp6doNB_dESu60By5xuXYOGxksLv3Y"
|
||||||
WX_CHANGE_REJECTED_TEMPLATE_ID = "tn2QXWi4HtSIwaztmtN6Bb2uzNL-jBxWltCZTDNJuYE"
|
WX_CHANGE_REJECTED_TEMPLATE_ID = "tn2QXWi4HtSIwaztmtN6Bb2uzNL-jBxWltCZTDNJuYE"
|
||||||
WS_ORDER_CANCLED_TEMPLATE_ID = "iFozwiCsQdMs7VTiPXoBne45jKIQkoyxdGHSeAExP9U"
|
WX_ORDER_CANCLED_TEMPLATE_ID = "iFozwiCsQdMs7VTiPXoBne45jKIQkoyxdGHSeAExP9U"
|
||||||
|
|
||||||
|
WX_AFS_ORDER_WAIT4APPROVE_TEMPLATE_ID = "X29udtANvhX6x1Lyh-T40NGNjRXBbUj5oSBTfDhZAqU"
|
||||||
|
WX_AFS_ORDER_STATUS_CHANGED_TEMPLATE_ID = "99T33rrXX0VboO1hljs4x8dDoLiSj3QX_rOikPHIXkg"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -305,7 +310,7 @@ func NotifyUserApplyCancel(order *model.GoodsOrder, cancelReason string) (err er
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
storeID := jxutils.GetSaleStoreIDFromOrder(order)
|
storeID := jxutils.GetSaleStoreIDFromOrder(order)
|
||||||
return SendMsgToStore(storeID, WS_ORDER_CANCLED_TEMPLATE_ID, "", "", data)
|
return SendMsgToStore(storeID, WX_ORDER_CANCLED_TEMPLATE_ID, "", "", data)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -449,6 +454,54 @@ func NotifyStoreMessage(storeID, msgID, msgStatusID int, title, content string)
|
|||||||
return SendMsgToStore(storeID, templateID, fileURL, fmt.Sprintf(WX_MINI_TO_SHOW_MSG, msgID, msgStatusID), data)
|
return SendMsgToStore(storeID, templateID, fileURL, fmt.Sprintf(WX_MINI_TO_SHOW_MSG, msgID, msgStatusID), data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NotifyAfsOrderStatus(afsOrder *model.AfsOrder) (err error) {
|
||||||
|
globals.SugarLogger.Debugf("NotifyAfsOrderStatus orderID:%s", afsOrder.VendorOrderID)
|
||||||
|
if afsOrder.VendorID == model.VendorIDELM {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
var templateID, comment string
|
||||||
|
if afsOrder.Status == model.AfsOrderStatusWait4Approve {
|
||||||
|
templateID = WX_AFS_ORDER_WAIT4APPROVE_TEMPLATE_ID
|
||||||
|
comment = "您有新售后单,请尽快处理"
|
||||||
|
} else if afsOrder.Status == model.AfsOrderStatusWait4ReceiveGoods {
|
||||||
|
templateID = WX_AFS_ORDER_STATUS_CHANGED_TEMPLATE_ID
|
||||||
|
comment = "商家您好!如顾客商品已成功退回,请点击确认收货"
|
||||||
|
} else {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
order, err := partner.CurOrderManager.LoadOrder(afsOrder.VendorOrderID, afsOrder.VendorID)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
data := map[string]interface{}{
|
||||||
|
"first": map[string]interface{}{
|
||||||
|
"value": fmt.Sprintf("%s 第%d号订单,订单编号:%s", model.VendorChineseNames[afsOrder.VendorID], order.OrderSeq, afsOrder.VendorOrderID),
|
||||||
|
"color": WX_HIGHLEVEL_TEMPLATE_COLOR2,
|
||||||
|
},
|
||||||
|
"keyword1": map[string]interface{}{
|
||||||
|
"value": afsOrder.AfsOrderID,
|
||||||
|
"color": WX_TEMPLATE_VENDERCOLOR_JDDJ,
|
||||||
|
},
|
||||||
|
"keyword2": map[string]interface{}{
|
||||||
|
"value": model.OrderStatusName[afsOrder.Status],
|
||||||
|
"color": WX_HIGHLEVEL_TEMPLATE_COLOR,
|
||||||
|
},
|
||||||
|
"keyword3": map[string]interface{}{
|
||||||
|
"value": utils.Time2Str(afsOrder.CreatedAt),
|
||||||
|
"color": venderColors[order.VendorID],
|
||||||
|
},
|
||||||
|
"remark": map[string]interface{}{
|
||||||
|
"value": comment,
|
||||||
|
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
storeID := jxutils.GetSaleStoreIDFromAfsOrder(afsOrder)
|
||||||
|
err = SendMsgToStore(storeID, templateID, globals.WxBackstageHost+fmt.Sprintf("%s%d", WX_TO_ORDER_PAGE_URL, storeID), WX_MINI_TO_ORDER_PAGE_URL, data)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
func FormatDeliveryTime(order *model.GoodsOrder) string {
|
func FormatDeliveryTime(order *model.GoodsOrder) string {
|
||||||
var tmpTime time.Time
|
var tmpTime time.Time
|
||||||
if order.ExpectedDeliveredTime == utils.DefaultTimeValue {
|
if order.ExpectedDeliveredTime == utils.DefaultTimeValue {
|
||||||
|
|||||||
Reference in New Issue
Block a user