From 40e81e5b4ea28163257d0ee4433859ac5add06ce Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Wed, 23 Jul 2025 13:59:02 +0800 Subject: [PATCH] =?UTF-8?q?##=20Opt=20-=20=E9=87=8D=E5=A4=8D=E4=B8=8B?= =?UTF-8?q?=E5=8D=95,=E4=BF=9D=E6=8C=81=E4=B8=8A=E6=AC=A1=E9=87=91?= =?UTF-8?q?=E9=A2=9D=E4=B8=8D=E9=9A=8F=E6=9C=BA=E5=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/controller/api/PayController.java | 89 ++++++++++--------- 1 file changed, 46 insertions(+), 43 deletions(-) diff --git a/bd-third/src/main/java/com/hzs/third/pay/controller/api/PayController.java b/bd-third/src/main/java/com/hzs/third/pay/controller/api/PayController.java index 3d429121..83d96db6 100644 --- a/bd-third/src/main/java/com/hzs/third/pay/controller/api/PayController.java +++ b/bd-third/src/main/java/com/hzs/third/pay/controller/api/PayController.java @@ -1,5 +1,6 @@ package com.hzs.third.pay.controller.api; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.hzs.activity.base.IActivityServiceApi; import com.hzs.common.core.annotation.RepeatSubmitSimple; @@ -126,51 +127,53 @@ public class PayController { } onlinePayment.setExtParam(payParam.getExtParam()); - // 业务金额 - BigDecimal businessMoney = null; - // 实际支付金额(随机立减之后) - BigDecimal amount = null; + if(ObjectUtil.isEmpty(onlinePayment.getPkId())){ + // 业务金额 + BigDecimal businessMoney = null; + // 实际支付金额(随机立减之后) + BigDecimal amount = null; - // 部分业务金额随机立减 - switch (payBusinessType) { - case DIRECT_SELLING: - // 直销订单 - R orderResult = iSaOrderServiceApi.querySaOrderByOrderCode(userId, payParam.getBusinessCode()); - if (orderResult.isSuccess()) { - businessMoney = orderResult.getData(); - businessMoney = businessMoney.setScale(2, BigDecimal.ROUND_HALF_UP); - // 订单支付金额最后2角处理 - amount = PayUtil.handleAmountRandom(businessMoney); - } else { - return AjaxResult.error(orderResult.getMsg()); - } - break; - case RECHARGE: - // 充值 - R rechargeResult = iMemberTradeServiceApi.selectMemberRechargeByCodeAndPkMember(payParam.getBusinessCode(), userId); - if (rechargeResult.isSuccess()) { - businessMoney = rechargeResult.getData().getRechargeAmount(); - amount = PayUtil.handleAmountRandom(businessMoney); - } else { - return AjaxResult.error(rechargeResult.getMsg()); - } - break; - case LUCK: - // 抽奖 - R luckResult = iActivityServiceApi.queryDrawRewardPayNumMoney(userId, payParam.getBusinessCode()); - if (luckResult.isSuccess()) { - businessMoney = luckResult.getData(); - amount = businessMoney; - } else { - return AjaxResult.error(luckResult.getMsg()); - } - break; - default: + // 部分业务金额随机立减 + switch (payBusinessType) { + case DIRECT_SELLING: + // 直销订单 + R orderResult = iSaOrderServiceApi.querySaOrderByOrderCode(userId, payParam.getBusinessCode()); + if (orderResult.isSuccess()) { + businessMoney = orderResult.getData(); + businessMoney = businessMoney.setScale(2, BigDecimal.ROUND_HALF_UP); + // 订单支付金额最后2角处理 + amount = PayUtil.handleAmountRandom(businessMoney); + } else { + return AjaxResult.error(orderResult.getMsg()); + } + break; + case RECHARGE: + // 充值 + R rechargeResult = iMemberTradeServiceApi.selectMemberRechargeByCodeAndPkMember(payParam.getBusinessCode(), userId); + if (rechargeResult.isSuccess()) { + businessMoney = rechargeResult.getData().getRechargeAmount(); + amount = PayUtil.handleAmountRandom(businessMoney); + } else { + return AjaxResult.error(rechargeResult.getMsg()); + } + break; + case LUCK: + // 抽奖 + R luckResult = iActivityServiceApi.queryDrawRewardPayNumMoney(userId, payParam.getBusinessCode()); + if (luckResult.isSuccess()) { + businessMoney = luckResult.getData(); + amount = businessMoney; + } else { + return AjaxResult.error(luckResult.getMsg()); + } + break; + default: + } + // 更新业务金额 + onlinePayment.setBusinessMoney(businessMoney); + // 暂存于实际支付金额(部分业务进行随机立减) + onlinePayment.setPayMoney(amount); } - // 更新业务金额 - onlinePayment.setBusinessMoney(businessMoney); - // 暂存于实际支付金额(部分业务进行随机立减) - onlinePayment.setPayMoney(amount); // 结果实体 R payResult = null;