diff --git a/business/partner/purchase/tao_vegetable/order_afs.go b/business/partner/purchase/tao_vegetable/order_afs.go index 2f5f94a0a..bf0226c66 100644 --- a/business/partner/purchase/tao_vegetable/order_afs.go +++ b/business/partner/purchase/tao_vegetable/order_afs.go @@ -131,11 +131,11 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal return tao_vegetable.CallBackResultInfo(err) } - var refundSkuCount int64 = 0 - var orderSkuCount int64 = 0 - for _, refundSku := range refundData.SubRefundOrders { + var refundSkuCount int64 = 0 // 子订单申请退款的商品数 + var orderSkuCount int64 = 0 // 子订单购买的商品数 + for _, refundSku := range refundData.SubRefundOrders { // 本次退款订单 refundSkuCount += refundSku.RefundAmount - for _, sku := range *skuList.SubOrderResponseList { + for _, sku := range *skuList.SubOrderResponseList { // 总订单 if refundSku.OutSubOrderId == *sku.OutSubOrderId { orderSku := &model.OrderSkuFinancial{ Count: utils.Float64TwoInt(*sku.BuySaleQuantity), @@ -149,17 +149,17 @@ func (c *PurchaseHandler) onAfsOrderMsg(status string, msg interface{}) (retVal } afsOrder.PmSkuSubsidyMoney += orderSku.PmSkuSubsidyMoney - afsOrder.SkuUserMoney += orderSku.UserMoney afsOrder.Skus = append(afsOrder.Skus, orderSku) orderSkuCount += utils.Float64TwoInt64(*sku.BuySaleQuantity) } } } - if refundSkuCount == orderSkuCount { + if refundSkuCount == orderSkuCount && refundData.RefundFee == *skuList.PayFee { // 全退 afsOrder.RefundType = model.AfsTypeFullRefund } else { afsOrder.RefundType = model.AfsTypePartRefund } + afsOrder.SkuUserMoney += refundData.RefundFee if afsOrder != nil { //直接就来一个新的售后单,并且还是售后完成的 @@ -309,26 +309,26 @@ func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *mod OrderFrom: utils.Int64ToPointer(utils.Str2Int64(tao_vegetable.TaoVegetableChannelCode)), } // 加载购买商品 - sku, _ := dao.GetSimpleOrderSkus(db, order.VendorOrderID, nil) - skuCount := 0 - for _, v := range sku { - skuCount += v.Count - } + //sku, _ := dao.GetSimpleOrderSkus(db, order.VendorOrderID, nil) + //skuCount := 0 + //for _, v := range sku { + // skuCount += v.Count + //} - refundSkuCount := 0 + //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 + //refundSkuCount += v.Count } // 全退退运费 - if skuCount == refundSkuCount { - - } + //if skuCount == refundSkuCount { + // subRefundList[len(subRefundList)-1].RefundFee = utils.Int64ToPointer(*subRefundList[len(subRefundList)-1].RefundFee + orderDetail.BaseFreightMoney) + //} param.SubRefundList = &subRefundList param.AuditMemo = utils.String2Pointer(fmt.Sprintf("商户同意退款"))