From 6263f4e9ab1d6e9a9811a7d403b687584c2a2bb8 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Wed, 23 Jul 2025 14:08:46 +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 | 81 ++++++++++--------- 1 file changed, 42 insertions(+), 39 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 7d6a3de8..6af4c408 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; @@ -130,47 +131,49 @@ public class PayController { } onlinePayment.setExtParam(param.getExtParam()); - // 业务金额 - BigDecimal businessMoney = null; - // 实际支付金额(随机立减之后) - BigDecimal amount = null; + if(ObjectUtil.isEmpty(onlinePayment.getPkId())) { + // 业务金额 + BigDecimal businessMoney = null; + // 实际支付金额(随机立减之后) + BigDecimal amount = null; - // 部分业务金额随机立减 - switch (payBusinessType) { - case MEMBER_ORDER: - // 会员订单 - R orderResult = iSaOrderServiceApi.getRetailPayOrder(userId, param.getBusinessCode()); - if (orderResult.isSuccess()) { - businessMoney = orderResult.getData().setScale(2, BigDecimal.ROUND_HALF_UP); - } else { - return AjaxResult.error(orderResult.getMsg()); - } - break; - case RECHARGE: - // 充值 - R rechargeResult = iMemberTradeServiceApi.selectMemberRechargeByCodeAndPkMember(param.getBusinessCode(), userId); - if (rechargeResult.isSuccess()) { - businessMoney = rechargeResult.getData().getRechargeAmount().setScale(2, BigDecimal.ROUND_HALF_UP); - } else { - return AjaxResult.error(rechargeResult.getMsg()); - } - break; - case TICKET: - // 购票 - R ticketResult = iTicketServiceApi.getTicketPayOrder(userId, param.getBusinessCode()); - if (ticketResult.isSuccess()) { - businessMoney = ticketResult.getData(); - } else { - return AjaxResult.error(ticketResult.getMsg()); - } - break; - default: + // 部分业务金额随机立减 + switch (payBusinessType) { + case MEMBER_ORDER: + // 会员订单 + R orderResult = iSaOrderServiceApi.getRetailPayOrder(userId, param.getBusinessCode()); + if (orderResult.isSuccess()) { + businessMoney = orderResult.getData().setScale(2, BigDecimal.ROUND_HALF_UP); + } else { + return AjaxResult.error(orderResult.getMsg()); + } + break; + case RECHARGE: + // 充值 + R rechargeResult = iMemberTradeServiceApi.selectMemberRechargeByCodeAndPkMember(param.getBusinessCode(), userId); + if (rechargeResult.isSuccess()) { + businessMoney = rechargeResult.getData().getRechargeAmount().setScale(2, BigDecimal.ROUND_HALF_UP); + } else { + return AjaxResult.error(rechargeResult.getMsg()); + } + break; + case TICKET: + // 购票 + R ticketResult = iTicketServiceApi.getTicketPayOrder(userId, param.getBusinessCode()); + if (ticketResult.isSuccess()) { + businessMoney = ticketResult.getData(); + } else { + return AjaxResult.error(ticketResult.getMsg()); + } + break; + default: + } + // 更新业务金额 + onlinePayment.setBusinessMoney(businessMoney); + amount = PayUtil.handleAmountRandom(businessMoney); + // 暂存于实际支付金额(部分业务进行随机立减) + onlinePayment.setPayMoney(amount); } - // 更新业务金额 - onlinePayment.setBusinessMoney(businessMoney); - amount = PayUtil.handleAmountRandom(businessMoney); - // 暂存于实际支付金额(部分业务进行随机立减) - onlinePayment.setPayMoney(amount); // 结果实体 R payResult = null;