From 1092d9bb9d4aab2fbbf7edc3be75969fef92dbe0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Tue, 26 Dec 2023 09:17:09 +0800 Subject: [PATCH] 1 --- business/partner/purchase/ebai/order_afs.go | 66 ++++++++++----------- 1 file changed, 31 insertions(+), 35 deletions(-) diff --git a/business/partner/purchase/ebai/order_afs.go b/business/partner/purchase/ebai/order_afs.go index 732550279..e15065e3b 100644 --- a/business/partner/purchase/ebai/order_afs.go +++ b/business/partner/purchase/ebai/order_afs.go @@ -248,50 +248,46 @@ 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 { + param := &ebaiapi.RefundOrderExamine{ + OrderId: order.VendorOrderID, + IdempotentId: utils.Int64ToStr(time.Now().UnixNano()), + ActionType: ebaiapi.RefundTypeRefuse, + ReasonCode: "7001", + ReasonRemarks: reason, + } + refundProductList := make([]*ebaiapi.RefundProductList, 0, 0) + date, _, _ := api.EbaiAPI.GetReverseOrder(order.VendorOrderID) + for _, v := range date { + v2 := v.(map[string]interface{}) + refundProduct := &ebaiapi.RefundProductList{ + SubBizOrderId: v2["sub_biz_order_id"].(string), + PlatformSkuId: utils.Int64ToStr(utils.Interface2Int64WithDefault(v2["platform_sku_id"], 0)), + } + if order.AfsOrderID == order.VendorOrderID { + param.ReverseOrderId = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_order_id"])) + } + switch utils.MustInterface2Int64(v2["fund_calculate_type"]) { + case 0: + refundProduct.Number = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_quantity"])) + case 1: + refundProduct.RefundAmount = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_user_amount"])) + } + refundProductList = append(refundProductList, refundProduct) + } + if approveType == partner.AfsApproveTypeRefused { if reason == "" { return fmt.Errorf("拒绝退单时请填写原因") } - param := &ebaiapi.RefundOrderExamine{ - ReverseOrderId: order.AfsOrderID, - OrderId: order.VendorOrderID, - IdempotentId: utils.Int64ToStr(time.Now().UnixNano()), - ActionType: ebaiapi.RefundTypeRefuse, - ReasonCode: "7001", - ReasonRemarks: reason, - } - refundProductList := make([]*ebaiapi.RefundProductList, 0, 0) - date, _, _ := api.EbaiAPI.GetReverseOrder(order.VendorOrderID) - for _, v := range date { - v2 := v.(map[string]interface{}) - refundProduct := &ebaiapi.RefundProductList{ - SubBizOrderId: v2["sub_biz_order_id"].(string), - PlatformSkuId: utils.Int64ToStr(utils.Interface2Int64WithDefault(v2["platform_sku_id"], 0)), - } - if order.AfsOrderID == order.VendorOrderID { - param.ReverseOrderId = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_order_id"])) - } - switch utils.MustInterface2Int64(v2["fund_calculate_type"]) { - case 0: - refundProduct.Number = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_quantity"])) - case 1: - refundProduct.RefundAmount = utils.Int64ToStr(utils.MustInterface2Int64(v2["refund_user_amount"])) - } - refundProductList = append(refundProductList, refundProduct) - } param.RefundProductList = refundProductList - err = api.EbaiAPI.OrderDisagreeReturnGoods(param) } else if approveType == partner.AfsApproveTypeRefusedToRefundMoney { return errors.New("此平台暂时不支持,退货转退款") } else { - param := &ebaiapi.RefundOrderExamine{ - ReverseOrderId: order.AfsOrderID, - OrderId: order.VendorOrderID, - IdempotentId: utils.Int64ToStr(time.Now().UnixNano()), - ActionType: ebaiapi.RefundTypeAgree, - ReasonCode: "", - ReasonRemarks: reason, + param = &ebaiapi.RefundOrderExamine{ + ActionType: ebaiapi.RefundTypeAgree, + ReasonCode: "", + ReasonRemarks: reason, } err = api.EbaiAPI.OrderAgreeReturnGoods(param) }