This commit is contained in:
邹宗楠
2023-08-28 17:52:32 +08:00
parent ddad83cd06
commit ca532fda8e

View File

@@ -665,43 +665,38 @@ func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *mod
}
afsOrderInfo = CurPurchaseHandler.AfsOrderDetail2Financial(result)
param := &ebaiapi.RefundOrderExamine{
ReverseOrderId: afsOrderInfo.AfsOrderID,
OrderId: order.VendorOrderID,
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
ActionType: ebaiapi.RefundTypeRefuse,
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)),
}
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
if isAcceptIt {
err = api.EbaiAPI.OrderAgreeRefund(&ebaiapi.RefundOrderExamine{
ReverseOrderId: afsOrderInfo.AfsOrderID,
OrderId: order.VendorOrderID,
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
ActionType: ebaiapi.RefundTypeAgree,
ReasonRemarks: reason,
})
err = api.EbaiAPI.OrderAgreeRefund(param)
} else {
if reason == "" {
return fmt.Errorf("拒绝退单时,请填写拒单原因")
}
param := &ebaiapi.RefundOrderExamine{
ReverseOrderId: afsOrderInfo.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)),
}
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
param.ReasonCode = "7001"
err = api.EbaiAPI.OrderDisagreeRefund(param)
}
}