From 5c4c9ab092248e957c6f0d7337ae75f3f264331d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 6 Jul 2023 14:52:46 +0800 Subject: [PATCH] 1 --- .../purchase/tao_vegetable/order_afs.go | 38 ++++++++++--------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/business/partner/purchase/tao_vegetable/order_afs.go b/business/partner/purchase/tao_vegetable/order_afs.go index fbacfef48..bb952728c 100644 --- a/business/partner/purchase/tao_vegetable/order_afs.go +++ b/business/partner/purchase/tao_vegetable/order_afs.go @@ -254,28 +254,30 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal ifAfsTypeFullRefund := false var refundFee int64 = 0 for _, v := range *orderDetail.SubOrderResponseList { - // 子订单被取消 - if *v.OrderStatus == tao_vegetable.OrderStatusRefundClose { - orderSku := &model.OrderSkuFinancial{ - Count: utils.Float64TwoInt(*v.BuySaleQuantity), - VendorSkuID: *v.SkuCode, - SkuID: utils.Str2Int(*v.SkuCode), - Name: *v.SkuName, - UserMoney: *v.OriginalFee, - PmSkuSubsidyMoney: *v.DiscountPlatformFee, // 平台补贴商品 - VendorOrderID: orderStatus.VendorOrderID, - VendorSubOrderID: *v.OutSubOrderId, + for _, v2 := range onSaleMsg.PartCancelRequest.SubOrders { + if *v.BizSubOrderId == v2.BizSubOrderId { + orderSku := &model.OrderSkuFinancial{ + Count: utils.Float64TwoInt(*v.BuySaleQuantity), + VendorSkuID: *v.SkuCode, + SkuID: utils.Str2Int(*v.SkuCode), + Name: *v.SkuName, + UserMoney: *v.OriginalFee, + PmSkuSubsidyMoney: *v.DiscountPlatformFee, // 平台补贴商品 + VendorOrderID: orderStatus.VendorOrderID, + VendorSubOrderID: *v.OutSubOrderId, + } + afsOrder.PmSkuSubsidyMoney += orderSku.PmSkuSubsidyMoney + afsOrder.Skus = append(afsOrder.Skus, orderSku) + refundFee += *v.OriginalFee } - afsOrder.PmSkuSubsidyMoney += orderSku.PmSkuSubsidyMoney - afsOrder.Skus = append(afsOrder.Skus, orderSku) - refundFee += *v.OriginalFee - } else { - ifAfsTypeFullRefund = true } } + if len(onSaleMsg.PartCancelRequest.SubOrders) == len(*orderDetail.SubOrderResponseList) { + ifAfsTypeFullRefund = true + } afsOrder.SkuUserMoney += refundFee - if !ifAfsTypeFullRefund { // 全退 + if ifAfsTypeFullRefund { // 全退 afsOrder.RefundType = model.AfsTypeFullRefund afsOrder.SkuUserMoney += *orderDetail.PostFee afsOrder.Skus[len(afsOrder.Skus)-1].UserMoney += *orderDetail.PostFee @@ -288,6 +290,8 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal if orderStatus.Status == model.AfsOrderStatusFinished { afsOrder.AfsFinishedAt = afsOrder.AfsCreatedAt } + globals.SugarLogger.Debugf("==============onsaleRefund afsOrd: = %s", utils.Format4Output(afsOrder, false)) + globals.SugarLogger.Debugf("==============onsaleRefund orderStatus: = %s", utils.Format4Output(orderStatus, false)) err = partner.CurOrderManager.OnAfsOrderNew(afsOrder, orderStatus) } }