1
This commit is contained in:
@@ -3,6 +3,7 @@ package ebai
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@@ -163,6 +164,16 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaia
|
|||||||
err = partner.CurOrderManager.OnAfsOrderStatusChanged(orderStatus)
|
err = partner.CurOrderManager.OnAfsOrderStatusChanged(orderStatus)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 只有有售后订单就更新此订单的结算信息
|
||||||
|
if utils.Str2Int(orderStatus.VendorStatus) == ebaiapi.OrderPartRefundSuccess {
|
||||||
|
orderData, err2 := api.EbaiAPI.OrderPartRefundGet(orderStatus.RefVendorOrderID)
|
||||||
|
if err2 == nil && utils.MustInterface2Int64(orderData["shop_fee"]) != model.NO {
|
||||||
|
goodsOrder, _ := partner.CurOrderManager.LoadOrder(orderStatus.RefVendorOrderID, model.VendorIDEBAI)
|
||||||
|
goodsOrder.TotalShopMoney = utils.MustInterface2Int64(orderData["shop_fee"])
|
||||||
|
dao.UpdateEntity(dao.GetDB(), goodsOrder, "TotalShopMoney")
|
||||||
|
}
|
||||||
|
}
|
||||||
retVal = api.EbaiAPI.Err2CallbackResponse(msg.Cmd, err, nil)
|
retVal = api.EbaiAPI.Err2CallbackResponse(msg.Cmd, err, nil)
|
||||||
}
|
}
|
||||||
return retVal
|
return retVal
|
||||||
|
|||||||
@@ -151,16 +151,32 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *mtwmapi.CallbackMsg) (retVal *mtwma
|
|||||||
} else {
|
} else {
|
||||||
// msg-status 1-已申请 10-初审已同意 11-初审已驳回 16-初审已申诉 17-初审申诉已同意 18-初审申诉已驳回 20-终审已发起(用户已发货) 21-终审已同意 22-终审已驳回 26-终审已申诉 27-终审申诉已同意 28-终审申诉已驳回 30-已取消
|
// msg-status 1-已申请 10-初审已同意 11-初审已驳回 16-初审已申诉 17-初审申诉已同意 18-初审申诉已驳回 20-终审已发起(用户已发货) 21-终审已同意 22-终审已驳回 26-终审已申诉 27-终审申诉已同意 28-终审申诉已驳回 30-已取消
|
||||||
if err := partner.CurOrderManager.OnAfsOrderStatusChanged(orderStatus); err == nil {
|
if err := partner.CurOrderManager.OnAfsOrderStatusChanged(orderStatus); err == nil {
|
||||||
|
order, _ := partner.CurOrderManager.LoadOrder(orderStatus.RefVendorOrderID, model.VendorIDMTWM)
|
||||||
// 订单回调全额退款接口时,将订单状态修改为取消
|
// 订单回调全额退款接口时,将订单状态修改为取消
|
||||||
refundData := msg.Data.(*mtwmapi.CallbackRefundInfo)
|
refundData := msg.Data.(*mtwmapi.CallbackRefundInfo)
|
||||||
if (refundData.NotifyType == mtwmapi.MsgTypeOrderAgree && msg.Cmd == mtwmapi.MsgTypeOrderRefund) || refundData.Status == "21" {
|
if refundData.NotifyType == mtwmapi.MsgTypeOrderAgree && msg.Cmd == mtwmapi.MsgTypeOrderRefund {
|
||||||
order, _ := partner.CurOrderManager.LoadOrder(orderStatus.RefVendorOrderID, model.VendorIDMTWM)
|
order.Status = model.OrderStatusCanceled
|
||||||
|
dao.UpdateEntity(dao.GetDB(), order, "Status")
|
||||||
|
} else if refundData.Status == "21" {
|
||||||
|
skuList, _ := dao.GetSimpleOrderSkus(dao.GetDB(), orderStatus.RefVendorOrderID, nil)
|
||||||
|
totalSkuCount := 0
|
||||||
|
for _, v := range skuList {
|
||||||
|
totalSkuCount += v.Count
|
||||||
|
}
|
||||||
|
|
||||||
|
financialSku, _ := dao.GetOrderRefundSkuList(dao.GetDB(), []string{orderStatus.RefVendorOrderID})
|
||||||
|
refundSkuCount := 0
|
||||||
|
for _, v := range financialSku {
|
||||||
|
refundSkuCount += v.Count
|
||||||
|
}
|
||||||
|
if totalSkuCount == refundSkuCount {
|
||||||
order.Status = model.OrderStatusCanceled
|
order.Status = model.OrderStatusCanceled
|
||||||
dao.UpdateEntity(dao.GetDB(), order, "Status")
|
dao.UpdateEntity(dao.GetDB(), order, "Status")
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 新订单平台自动同意退单,某一些情况下产生的运单没退!这个处理一下!
|
// 新订单平台自动同意退单,某一些情况下产生的运单没退!这个处理一下!
|
||||||
if (refundData.NotifyType == mtwmapi.MsgTypeOrderAgree && (msg.Cmd == mtwmapi.MsgTypeOrderRefund || msg.Cmd == mtwmapi.MsgTypeOrderAgree)) || refundData.Status == "21" {
|
if refundData.NotifyType == mtwmapi.MsgTypeOrderAgree && (msg.Cmd == mtwmapi.MsgTypeOrderRefund || msg.Cmd == mtwmapi.MsgTypeOrderAgree) {
|
||||||
wayBill, _ := dao.GetWaybills(dao.GetDB(), orderStatus.RefVendorOrderID, nil)
|
wayBill, _ := dao.GetWaybills(dao.GetDB(), orderStatus.RefVendorOrderID, nil)
|
||||||
for _, v := range wayBill {
|
for _, v := range wayBill {
|
||||||
handlerInfo := partner.GetDeliveryPlatformFromVendorID(v.WaybillVendorID)
|
handlerInfo := partner.GetDeliveryPlatformFromVendorID(v.WaybillVendorID)
|
||||||
|
|||||||
Reference in New Issue
Block a user