- IPurchasePlatformHandler中添加

AgreeOrRefuseRefund
CancelOrder
AdjustOrder
This commit is contained in:
gazebo
2019-04-13 18:35:58 +08:00
parent 16725bf8f8
commit caabbb4a66
7 changed files with 151 additions and 5 deletions

View File

@@ -347,3 +347,35 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
mobile, err = api.EbaiAPI.GetRealMobile4Order(order.VendorOrderID)
return mobile, err
}
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) {
if globals.EnableEbaiStoreWrite {
if isAgree {
err = api.EbaiAPI.OrderAgreeRefund(order.VendorOrderID)
} else {
err = api.EbaiAPI.OrderDisagreeRefund(order.VendorOrderID, reason)
}
}
return err
}
func (c *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) {
if globals.EnableEbaiStoreWrite {
err = api.EbaiAPI.OrderCancel(order.VendorOrderID, ebaiapi.CancelTypeCustom, reason)
}
return err
}
func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.GoodsOrder, removedSkuList []*model.OrderSku, reason string) (err error) {
var skuList []*ebaiapi.RefundSku
for _, sku := range removedSkuList {
skuList = append(skuList, &ebaiapi.RefundSku{
CustomeSkuID: utils.Int2Str(jxutils.GetSkuIDFromOrderSku(sku)),
Number: utils.Int2Str(sku.Count),
})
}
if globals.EnableEbaiStoreWrite {
err = api.EbaiAPI.OrderPartRefund(order.VendorOrderID, skuList)
}
return err
}

View File

@@ -331,3 +331,15 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
err = errors.New("饿了么还未实现GetOrderRealMobile")
return mobile, err
}
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) {
return err
}
func (c *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) {
return err
}
func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.GoodsOrder, removedSkuList []*model.OrderSku, reason string) (err error) {
return err
}

View File

@@ -1,6 +1,7 @@
package jd
import (
"errors"
"strings"
"time"
@@ -297,3 +298,44 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
mobile, err = api.JdAPI.GetRealMobile4Order(order.VendorOrderID, order.VendorStoreID)
return mobile, err
}
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) {
if globals.EnableStoreWrite {
err = api.JdAPI.OrderCancelOperate(order.VendorOrderID, isAgree, ctx.GetUserName(), reason)
}
return err
}
func (c *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) {
err = errors.New("京东到家不支持主动取消订单,请联系用户取消")
return err
}
func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.GoodsOrder, removedSkuList []*model.OrderSku, reason string) (err error) {
removedSkuMap := make(map[int]*model.OrderSku)
for _, sku := range removedSkuList {
removedSkuMap[jxutils.GetSkuIDFromOrderSku(sku)] = sku
}
var oaosAdjustDTOList []*jdapi.OAOSAdjustDTO
for _, sku := range order.Skus {
skuID := jxutils.GetSkuIDFromOrderSku(sku)
tmp := &jdapi.OAOSAdjustDTO{
OutSkuID: utils.Int2Str(skuID),
SkuCount: sku.Count,
}
if removedSkuMap[skuID] != nil {
if removedSkuMap[skuID].Count >= sku.Count {
tmp = nil
} else {
tmp.SkuCount -= removedSkuMap[skuID].Count
}
}
if tmp != nil {
oaosAdjustDTOList = append(oaosAdjustDTOList, tmp)
}
}
if globals.EnableStoreWrite {
err = api.JdAPI.AdjustOrder(order.VendorOrderID, ctx.GetUserName(), reason, oaosAdjustDTOList)
}
return err
}

View File

@@ -241,7 +241,7 @@ func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI
}
} else {
if globals.EnableMtwmStoreWrite {
err = api.MtwmAPI.OrderCancel(utils.Str2Int64(order.VendorOrderID))
err = api.MtwmAPI.OrderCancel(utils.Str2Int64(order.VendorOrderID), "bu", mtwmapi.CancelReasonOther)
}
}
return err
@@ -314,3 +314,37 @@ func (c *PurchaseHandler) GetStatusActionTimeout(order *model.GoodsOrder, status
}
return params
}
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) {
if globals.EnableMtwmStoreWrite {
if isAgree {
err = api.MtwmAPI.OrderRefundAgree(utils.Str2Int64(order.VendorOrderID), reason)
} else {
err = api.MtwmAPI.OrderRefundReject(utils.Str2Int64(order.VendorOrderID), reason)
}
}
return err
}
func (c *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) {
if globals.EnableMtwmStoreWrite {
err = api.MtwmAPI.OrderCancel(utils.Str2Int64(order.VendorOrderID), reason, mtwmapi.CancelReasonOther)
}
return err
}
func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.GoodsOrder, removedSkuList []*model.OrderSku, reason string) (err error) {
var skuList []*mtwmapi.RefundSku
for _, sku := range removedSkuList {
skuID := utils.Int2Str(jxutils.GetSkuIDFromOrderSku(sku))
skuList = append(skuList, &mtwmapi.RefundSku{
AppFoodCode: skuID,
SkuID: skuID,
Count: sku.Count,
})
}
if globals.EnableMtwmStoreWrite {
err = api.MtwmAPI.OrderApplyPartRefund(utils.Str2Int64(order.VendorOrderID), reason, skuList)
}
return err
}

View File

@@ -341,3 +341,15 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
err = errors.New("微盟微商城还未实现GetOrderRealMobile")
return mobile, err
}
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) {
return err
}
func (c *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) {
return err
}
func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.GoodsOrder, removedSkuList []*model.OrderSku, reason string) (err error) {
return err
}