1
This commit is contained in:
@@ -659,9 +659,27 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
|
||||
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAcceptIt bool, reason string) (err error) {
|
||||
if globals.EnableEbaiStoreWrite {
|
||||
if isAcceptIt {
|
||||
err = api.EbaiAPI.OrderAgreeRefund(order.VendorOrderID)
|
||||
err = api.EbaiAPI.OrderAgreeRefund(&ebaiapi.RefundOrderExamine{
|
||||
ReverseOrderId: "",
|
||||
OrderId: order.VendorOrderID,
|
||||
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||
ActionType: ebaiapi.RefundTypeAgree,
|
||||
ReasonRemarks: reason,
|
||||
})
|
||||
} else {
|
||||
err = api.EbaiAPI.OrderDisagreeRefund(order.VendorOrderID, reason)
|
||||
if reason == "" {
|
||||
return fmt.Errorf("拒绝退单时,请填写拒单原因")
|
||||
}
|
||||
|
||||
err = api.EbaiAPI.OrderDisagreeRefund(&ebaiapi.RefundOrderExamine{
|
||||
ReverseOrderId: "",
|
||||
OrderId: order.VendorOrderID,
|
||||
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||
ActionType: ebaiapi.RefundTypeAgree,
|
||||
ReasonCode: "7001",
|
||||
ReasonRemarks: reason,
|
||||
RefundProductList: "",
|
||||
})
|
||||
}
|
||||
}
|
||||
return err
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
@@ -225,11 +226,32 @@ 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.OrderDisagreeReturnGoods(order.VendorOrderID, order.AfsOrderID, reason)
|
||||
if reason == "" {
|
||||
return fmt.Errorf("拒绝退单时请填写原因")
|
||||
}
|
||||
param := &ebaiapi.RefundOrderExamine{
|
||||
ReverseOrderId: order.AfsOrderID,
|
||||
OrderId: order.VendorOrderID,
|
||||
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||
ActionType: ebaiapi.RefundTypeRefuseGoods,
|
||||
ReasonCode: "7001",
|
||||
ReasonRemarks: reason,
|
||||
RefundProductList: "",
|
||||
}
|
||||
err = api.EbaiAPI.OrderDisagreeReturnGoods(param)
|
||||
} else if approveType == partner.AfsApproveTypeRefusedToRefundMoney {
|
||||
return errors.New("此平台暂时不支持")
|
||||
} else {
|
||||
err = api.EbaiAPI.OrderAgreeReturnGoods(order.VendorOrderID, order.AfsOrderID)
|
||||
param := &ebaiapi.RefundOrderExamine{
|
||||
ReverseOrderId: order.AfsOrderID,
|
||||
OrderId: order.VendorOrderID,
|
||||
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||
ActionType: ebaiapi.RefundTypeAgreeGoods,
|
||||
ReasonCode: "",
|
||||
ReasonRemarks: reason,
|
||||
RefundProductList: "",
|
||||
}
|
||||
err = api.EbaiAPI.OrderAgreeReturnGoods(param)
|
||||
}
|
||||
}
|
||||
return err
|
||||
@@ -250,19 +272,41 @@ func (c *PurchaseHandler) RefundOrder(ctx *jxcontext.Context, order *model.Goods
|
||||
// 发起部分退款 售后/售中
|
||||
func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.GoodsOrder, refundSkuList []*model.OrderSku, reason string) (err error) {
|
||||
if globals.EnableEbaiStoreWrite {
|
||||
//获取afsOrder
|
||||
var afsOrderInfo *model.AfsOrder
|
||||
result, err := api.EbaiAPI.OrderPartRefundGet(order.VendorOrderID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
afsOrderInfo = CurPurchaseHandler.AfsOrderDetail2Financial(result)
|
||||
|
||||
//售后部分多次退款
|
||||
if order.Status > model.OrderStatusEndBegin {
|
||||
//获取afsOrder
|
||||
var afsOrderInfo *model.AfsOrder
|
||||
result, err := api.EbaiAPI.OrderPartRefundGet(order.VendorOrderID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
afsOrderInfo = CurPurchaseHandler.AfsOrderDetail2Financial(result)
|
||||
if err := api.EbaiAPI.OrderAgreePartRefund(afsOrderInfo.VendorOrderID, orderSkus2AfsSkus(refundSkuList), afsOrderInfo.AfsOrderID); err != nil {
|
||||
return err
|
||||
param := &ebaiapi.RefundOrderExamine{
|
||||
ReverseOrderId: afsOrderInfo.AfsOrderID,
|
||||
OrderId: afsOrderInfo.VendorOrderID,
|
||||
IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||
ActionType: ebaiapi.RefundTypeAgree,
|
||||
ReasonCode: "",
|
||||
ReasonRemarks: reason,
|
||||
RefundProductList: "",
|
||||
}
|
||||
err = api.EbaiAPI.OrderAgreePartRefund(param)
|
||||
} else {
|
||||
if reason == "" {
|
||||
return fmt.Errorf("拒绝退单时,请填写拒单原因")
|
||||
}
|
||||
|
||||
//param := &ebaiapi.RefundOrderExamine{
|
||||
// ReverseOrderId: afsOrderInfo.AfsOrderID,
|
||||
// OrderId: afsOrderInfo.VendorOrderID,
|
||||
// IdempotentId: utils.Int64ToStr(time.Now().UnixNano()),
|
||||
// ActionType: ebaiapi.RefundTypeRefuse,
|
||||
// ReasonCode: "7001",
|
||||
// ReasonRemarks: reason,
|
||||
// RefundProductList: "",
|
||||
//}
|
||||
//err = api.EbaiAPI.OrderPartRefund(param)
|
||||
if err := api.EbaiAPI.OrderPartRefund(order.VendorOrderID, orderSkus2AfsSkus(refundSkuList)); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user