对接售后

This commit is contained in:
richboo111
2022-08-05 16:43:18 +08:00
parent 3359685f08
commit 51c30afacd
2 changed files with 20 additions and 9 deletions

View File

@@ -641,7 +641,12 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) {
if globals.EnableEbaiStoreWrite {
if isAgree {
err = api.EbaiAPI.OrderAgreeRefund(order.VendorOrderID)
//售后同意多次取消
if order.Status > model.OrderStatusEndBegin {
err = api.EbaiAPI.OrderAgreePartRefund(order.VendorOrderID)
} else {
err = api.EbaiAPI.OrderAgreeRefund(order.VendorOrderID)
}
} else {
err = api.EbaiAPI.OrderDisagreeRefund(order.VendorOrderID, reason)
}

View File

@@ -224,9 +224,9 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msg *ebaiapi.CallbackMsg) (order
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) {
if globals.EnableEbaiStoreWrite {
if approveType == partner.AfsApproveTypeRefused {
err = api.EbaiAPI.OrderDisagreeRefund(order.VendorOrderID, reason)
err = api.EbaiAPI.OrderDisagreeReturnGoods(order.VendorOrderID, reason)
} else {
err = api.EbaiAPI.OrderAgreeRefund(order.VendorOrderID)
err = api.EbaiAPI.OrderAgreeReturnGoods(order.VendorOrderID)
}
}
return err
@@ -239,17 +239,23 @@ func (c *PurchaseHandler) ConfirmReceivedReturnGoods(ctx *jxcontext.Context, ord
}
// 发起全款退款
func (c *PurchaseHandler) RefundOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) {
return c.PartRefundOrder(ctx, order, order.Skus, reason)
func (c *PurchaseHandler) RefundOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string, isAgree bool) (err error) {
return c.PartRefundOrder(ctx, order, order.Skus, reason, isAgree)
}
// 发起部分退款
func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.GoodsOrder, refundSkuList []*model.OrderSku, reason string) (err error) {
// 发起部分退款 售后/售中
func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.GoodsOrder, refundSkuList []*model.OrderSku, reason string, isAgree bool) (err error) {
if globals.EnableEbaiStoreWrite {
//售后部分多次退款
if order.Status > model.OrderStatusEndBegin {
return fmt.Errorf("饿百暂不支持售后退款!")
if err := api.EbaiAPI.OrderAgreePartRefund(order.VendorOrderID, orderSkus2AfsSkus(refundSkuList)); err != nil {
return err
}
} else {
if err := api.EbaiAPI.OrderPartRefund(order.VendorOrderID, orderSkus2AfsSkus(refundSkuList)); err != nil {
return err
}
}
err = api.EbaiAPI.OrderPartRefund(order.VendorOrderID, orderSkus2AfsSkus(refundSkuList))
}
return err
}