1
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user