京东售后单消息全处理(可能有重复)
This commit is contained in:
@@ -46,6 +46,13 @@ var (
|
|||||||
}
|
}
|
||||||
|
|
||||||
selfTakeCodeReg = regexp.MustCompile(`等待用户凭提货码(\d+)于`)
|
selfTakeCodeReg = regexp.MustCompile(`等待用户凭提货码(\d+)于`)
|
||||||
|
|
||||||
|
afsMsgMap = map[string]bool{
|
||||||
|
jdapi.CallbackMsgNewApplyAfterSaleBill: true,
|
||||||
|
jdapi.CallbackMsgUpdateApplyAfterSaleBill: true,
|
||||||
|
jdapi.CallbackMsgNewAfterSaleBill: true,
|
||||||
|
jdapi.CallbackMsgAfterSaleBillStatus: true,
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
func (c *PurchaseHandler) OnOrderMsg(vendorOrgCode string, msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
|
func (c *PurchaseHandler) OnOrderMsg(vendorOrgCode string, msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
|
||||||
@@ -72,32 +79,34 @@ func (c *PurchaseHandler) updateOrderFinancialInfo(a *jdapi.API, orderID string)
|
|||||||
|
|
||||||
func (c *PurchaseHandler) onOrderMsg(vendorOrgCode string, msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
|
func (c *PurchaseHandler) onOrderMsg(vendorOrgCode string, msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
|
||||||
a := getAPI(vendorOrgCode)
|
a := getAPI(vendorOrgCode)
|
||||||
status := c.callbackMsg2Status(msg)
|
if afsMsgMap[msg.MsgURL] {
|
||||||
if jdapi.StatusIDNewOrder == msg.StatusID {
|
|
||||||
status.Status = model.OrderStatusNew // 因为京东将事件32000与状态32000混用,事件32000可能是新订单,也可能是已接单,统一当成新订单处理
|
|
||||||
}
|
|
||||||
if partner.CurOrderManager.GetStatusDuplicatedCount(status) > 0 {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
if msg.MsgURL == jdapi.CallbackMsgOrderAccounting {
|
|
||||||
retVal = c.OnFinancialMsg(msg)
|
|
||||||
retVal = jdapi.Err2CallbackResponse(c.updateOrderFinancialInfo(a, msg.BillID), status.VendorStatus)
|
|
||||||
} else if msg.MsgURL == jdapi.CallbackMsgAfterSaleBillStatus {
|
|
||||||
retVal = c.OnAfsOrderMsg(a, msg)
|
retVal = c.OnAfsOrderMsg(a, msg)
|
||||||
} else {
|
} else {
|
||||||
// 新订单事件,与订单状态有点冲突
|
status := c.callbackMsg2Status(msg)
|
||||||
if jdapi.StatusIDNewOrder == msg.StatusID {
|
if jdapi.StatusIDNewOrder == msg.StatusID {
|
||||||
retVal = c.onOrderNew(a, msg, status)
|
status.Status = model.OrderStatusNew // 因为京东将事件32000与状态32000混用,事件32000可能是新订单,也可能是已接单,统一当成新订单处理
|
||||||
} else if jdapi.OrderStatusAdjust == msg.StatusID {
|
}
|
||||||
retVal = c.onOrderAdjust(a, msg, status)
|
if partner.CurOrderManager.GetStatusDuplicatedCount(status) > 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if msg.MsgURL == jdapi.CallbackMsgOrderAccounting {
|
||||||
|
retVal = c.OnFinancialMsg(msg)
|
||||||
|
retVal = jdapi.Err2CallbackResponse(c.updateOrderFinancialInfo(a, msg.BillID), status.VendorStatus)
|
||||||
} else {
|
} else {
|
||||||
if msg.StatusID == jdapi.OrderStatusAddComment || msg.StatusID == jdapi.OrderStatusModifyComment {
|
// 新订单事件,与订单状态有点冲突
|
||||||
utils.CallFuncAsync(func() {
|
if jdapi.StatusIDNewOrder == msg.StatusID {
|
||||||
c.onOrderComment2(a, msg)
|
retVal = c.onOrderNew(a, msg, status)
|
||||||
})
|
} else if jdapi.OrderStatusAdjust == msg.StatusID {
|
||||||
|
retVal = c.onOrderAdjust(a, msg, status)
|
||||||
|
} else {
|
||||||
|
if msg.StatusID == jdapi.OrderStatusAddComment || msg.StatusID == jdapi.OrderStatusModifyComment {
|
||||||
|
utils.CallFuncAsync(func() {
|
||||||
|
c.onOrderComment2(a, msg)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
err := partner.CurOrderManager.OnOrderStatusChanged(vendorOrgCode, status)
|
||||||
|
retVal = jdapi.Err2CallbackResponse(err, status.VendorStatus)
|
||||||
}
|
}
|
||||||
err := partner.CurOrderManager.OnOrderStatusChanged(vendorOrgCode, status)
|
|
||||||
retVal = jdapi.Err2CallbackResponse(err, status.VendorStatus)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return retVal
|
return retVal
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ var (
|
|||||||
AfsVendorStatus2StatusMap = map[string]int{
|
AfsVendorStatus2StatusMap = map[string]int{
|
||||||
jdapi.AfsServiceStateWaiting4Audit: model.AfsOrderStatusWait4Approve, // 需要审核
|
jdapi.AfsServiceStateWaiting4Audit: model.AfsOrderStatusWait4Approve, // 需要审核
|
||||||
|
|
||||||
|
jdapi.AfsServiceStateWaiting4CSFeedback: model.AfsOrderStatusNew,
|
||||||
jdapi.AfsServiceStateRefundProcessing: model.AfsOrderStatusNew,
|
jdapi.AfsServiceStateRefundProcessing: model.AfsOrderStatusNew,
|
||||||
jdapi.AfsServiceStateWaiting4DirectCompensate: model.AfsOrderStatusNew,
|
jdapi.AfsServiceStateWaiting4DirectCompensate: model.AfsOrderStatusNew,
|
||||||
jdapi.AfsServiceStateWaiting4ReturnGoods: model.AfsOrderStatusNew,
|
jdapi.AfsServiceStateWaiting4ReturnGoods: model.AfsOrderStatusNew,
|
||||||
|
|||||||
@@ -180,15 +180,15 @@ func (c *DjswController) DeliveryCarrierModify() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *DjswController) NewApplyAfterSaleBill() {
|
func (c *DjswController) NewApplyAfterSaleBill() {
|
||||||
c.nullOperation()
|
c.orderStatus()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *DjswController) UpdateApplyAfterSaleBill() {
|
func (c *DjswController) UpdateApplyAfterSaleBill() {
|
||||||
c.nullOperation()
|
c.orderStatus()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *DjswController) NewAfterSaleBill() {
|
func (c *DjswController) NewAfterSaleBill() {
|
||||||
c.nullOperation()
|
c.orderStatus()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *DjswController) AfterSaleBillStatus() {
|
func (c *DjswController) AfterSaleBillStatus() {
|
||||||
|
|||||||
Reference in New Issue
Block a user