1
This commit is contained in:
@@ -578,32 +578,62 @@ func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *mode
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) {
|
||||
|
||||
db := dao.GetDB()
|
||||
afsOrder, err := partner.CurOrderManager.LoadAfsOrder(order.VendorOrderID, order.VendorID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if isAgree {
|
||||
// 加载子订单号
|
||||
orderDetail, _ := partner.CurOrderManager.LoadOrder(order.VendorOrderID, model.VendorIDTaoVegetable)
|
||||
// 加载退款商品
|
||||
afsSkuOrder, _ := dao.GetOrderRefundSkuList(db, []string{order.VendorOrderID})
|
||||
param := &request3156.AlibabaTclsAelophyRefundAgreeRequest{
|
||||
StoreId: utils.String2Pointer(order.VendorStoreID),
|
||||
OutOrderId: utils.String2Pointer(order.VendorOrderID),
|
||||
OutOrderId: utils.String2Pointer(orderDetail.VendorOrderID2),
|
||||
RefundId: utils.String2Pointer(afsOrder.AfsOrderID),
|
||||
OrderFrom: utils.Int64ToPointer(utils.Str2Int64(tao_vegetable.TaoVegetableChannelCode)),
|
||||
}
|
||||
// 加载购买商品
|
||||
sku, _ := dao.GetSimpleOrderSkus(db, order.VendorOrderID, nil)
|
||||
skuCount := 0
|
||||
for _, v := range sku {
|
||||
skuCount += v.Count
|
||||
}
|
||||
|
||||
refundSkuCount := 0
|
||||
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),
|
||||
})
|
||||
refundSkuCount += v.Count
|
||||
}
|
||||
|
||||
// 全退退运费
|
||||
if skuCount == refundSkuCount {
|
||||
|
||||
}
|
||||
|
||||
param.SubRefundList = &subRefundList
|
||||
param.AuditMemo = utils.String2Pointer(fmt.Sprintf("商户同意退款"))
|
||||
if reason != "" {
|
||||
param.AuditMemo = utils.String2Pointer(*param.AuditMemo + fmt.Sprintf(",%s", reason))
|
||||
}
|
||||
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").AgreeUserCancel(param)
|
||||
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(afsOrder), order.VendorStoreID).AgreeUserCancel(param)
|
||||
} else {
|
||||
afsOrder, err := partner.CurOrderManager.LoadAfsOrder(order.VendorOrderID, order.VendorID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
param := &request3156.AlibabaTclsAelophyRefundDisagreeRequest{
|
||||
RefundId: utils.String2Pointer(afsOrder.AfsOrderID),
|
||||
RejectReason: utils.String2Pointer(reason),
|
||||
OrderFrom: utils.Int64ToPointer(utils.Str2Int64(tao_vegetable.TaoVegetableChannelCode)),
|
||||
}
|
||||
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").DisAgreeUserCancel(param)
|
||||
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromAfsOrder(afsOrder), order.VendorStoreID).DisAgreeUserCancel(param)
|
||||
if err != nil {
|
||||
afsOrder.Status = model.AfsOrderStatusFailed
|
||||
afsOrder.VendorStatus = "老板拒绝"
|
||||
afsOrder.ReasonDesc += reason + ","
|
||||
afsOrder.ReasonDesc += "," + reason
|
||||
dao.UpdateEntity(dao.GetDB(), afsOrder, "Status", "ReasonDesc", "VendorStatus")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user