This commit is contained in:
邹宗楠
2023-07-05 09:51:58 +08:00
parent 47ea44bd5c
commit 9b8548e195
2 changed files with 22 additions and 8 deletions

View File

@@ -4,6 +4,7 @@ import (
"errors"
"fmt"
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable"
domain3156 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability3156/domain"
request3156 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability3156/request"
domain591 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability591/domain"
request591 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability591/request"
@@ -64,6 +65,8 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal
if needCallNew {
refundData := msg.(*tao_vegetable.UserApplyRefundCallBack)
var afsOrder *model.AfsOrder
var api = getAPI("", 0, refundData.StoreId)
afsOrder = &model.AfsOrder{
VendorID: model.VendorIDTaoVegetable,
AfsOrderID: orderStatus.VendorOrderID,
@@ -79,7 +82,7 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal
ReasonDesc: refundData.RefundReason,
ReasonImgList: utils.LimitUTF8StringLen(refundData.RefundPictures, 1024),
RefundType: model.AfsTypeFullRefund,
VendorOrgCode: refundData.MerchantCode,
VendorOrgCode: api.GetVendorOrgCode(),
}
refundIds := make([]int64, 0, 0)
@@ -123,7 +126,7 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal
return tao_vegetable.CallBackResultInfo(errors.New("订单号异常"))
}
queryOrderDetailParam.OrderGetRequest.BizOrderId = utils.Int64ToPointer(utils.Str2Int64(order.VendorOrderID))
skuList, err := getAPI("", 0, refundData.StoreId).QueryOrderDetail(queryOrderDetailParam)
skuList, err := api.QueryOrderDetail(queryOrderDetailParam)
if err != nil {
return tao_vegetable.CallBackResultInfo(err)
}
@@ -212,14 +215,14 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(status string, msg interface{})
orderStatus.Status = c.GetAfsStatusFromVendorStatus(tao_vegetable.OrderStatusApplyAfs)
orderStatus.StatusTime = time.Now()
orderStatus.Remark = refundData.Remarks
orderStatus.VendorOrderID = refundData.BizRefundId
orderStatus.VendorOrderID = refundData.RefundId
case tao_vegetable.OrderStatusCancelAfs: // 用户取消售后
refundData := msg.(*tao_vegetable.UserCancelRefundApply)
orderStatus.RefVendorOrderID = refundData.OutOrderId
orderStatus.VendorStatus = fmt.Sprintf("%s:%s", tao_vegetable.OrderStatusCancelAfs, "用户取消售后申请")
orderStatus.Status = c.GetAfsStatusFromVendorStatus(tao_vegetable.OrderStatusCancelAfs)
orderStatus.StatusTime = time.Now()
orderStatus.VendorOrderID = refundData.BizRefundId
orderStatus.VendorOrderID = refundData.RefundId
//case tao_vegetable.OrderStatusOnSaleCancel:
// refundData := msg.(*tao_vegetable.OnSaleCancel)
// orderStatus.RefVendorOrderID = utils.Int64ToStr(refundData.BizOrderId)
@@ -233,7 +236,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(status string, msg interface{})
orderStatus.VendorStatus = fmt.Sprintf("%s:%s", tao_vegetable.OrderStatusRefundSuccess, "用户售后退款成功")
orderStatus.Status = c.GetAfsStatusFromVendorStatus(tao_vegetable.OrderStatusRefundSuccess)
orderStatus.StatusTime = time.Now()
orderStatus.VendorOrderID = refundData.BizSubRefundId
orderStatus.VendorOrderID = refundData.OutMainRefundId
}
order, _ := partner.CurOrderManager.LoadOrder2(orderStatus.RefVendorOrderID, model.VendorIDTaoVegetable)
if order != nil {
@@ -256,11 +259,24 @@ func (c *PurchaseHandler) GetAfsStatusFromVendorStatus(notifyType string) int {
// 审核售后单申请
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) {
if approveType == partner.AfsApproveTypeRefused {
// 加载子订单号
orderDetail, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, model.VendorIDTaoVegetable)
// 加载退款商品
afsSkuOrder, _ := dao.GetOrderRefundSkuList(dao.GetDB(), []string{order.VendorOrderID})
param := &request3156.AlibabaTclsAelophyRefundAgreeRequest{
StoreId: utils.String2Pointer(order.VendorStoreID),
OutOrderId: utils.String2Pointer(order.VendorOrderID),
OutOrderId: utils.String2Pointer(orderDetail.VendorOrderID2),
RefundId: utils.String2Pointer(order.AfsOrderID),
OrderFrom: utils.Int64ToPointer(utils.Str2Int64(tao_vegetable.TaoVegetableChannelCode)),
}
subRefundList := make([]domain3156.AlibabaTclsAelophyRefundAgreeSubrefundlist, 0, len(afsSkuOrder))
for _, v := range afsSkuOrder {
subRefundList = append(subRefundList, domain3156.AlibabaTclsAelophyRefundAgreeSubrefundlist{
OutSubOrderId: utils.String2Pointer(v.VendorSubOrderID),
RefundFee: utils.Int64ToPointer(v.UserMoney),
})
}
param.SubRefundList = &subRefundList
param.AuditMemo = utils.String2Pointer(fmt.Sprintf("商户同意退款"))
if reason != "" {
param.AuditMemo = utils.String2Pointer(*param.AuditMemo + fmt.Sprintf(",%s", reason))