## Opt - 重复下单,保持上次金额不随机减
This commit is contained in:
parent
b59a82092d
commit
f8c062fb92
|
@ -1,5 +1,6 @@
|
||||||
package com.hzs.third.pay.controller.api;
|
package com.hzs.third.pay.controller.api;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.hzs.activity.base.IActivityServiceApi;
|
import com.hzs.activity.base.IActivityServiceApi;
|
||||||
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
||||||
|
@ -130,47 +131,49 @@ public class PayController {
|
||||||
}
|
}
|
||||||
onlinePayment.setExtParam(param.getExtParam());
|
onlinePayment.setExtParam(param.getExtParam());
|
||||||
|
|
||||||
// 业务金额
|
if(ObjectUtil.isEmpty(onlinePayment.getPkId())) {
|
||||||
BigDecimal businessMoney = null;
|
// 业务金额
|
||||||
// 实际支付金额(随机立减之后)
|
BigDecimal businessMoney = null;
|
||||||
BigDecimal amount = null;
|
// 实际支付金额(随机立减之后)
|
||||||
|
BigDecimal amount = null;
|
||||||
|
|
||||||
// 部分业务金额随机立减
|
// 部分业务金额随机立减
|
||||||
switch (payBusinessType) {
|
switch (payBusinessType) {
|
||||||
case MEMBER_ORDER:
|
case MEMBER_ORDER:
|
||||||
// 会员订单
|
// 会员订单
|
||||||
R<BigDecimal> orderResult = iSaOrderServiceApi.getRetailPayOrder(userId, param.getBusinessCode());
|
R<BigDecimal> orderResult = iSaOrderServiceApi.getRetailPayOrder(userId, param.getBusinessCode());
|
||||||
if (orderResult.isSuccess()) {
|
if (orderResult.isSuccess()) {
|
||||||
businessMoney = orderResult.getData().setScale(2, BigDecimal.ROUND_HALF_UP);
|
businessMoney = orderResult.getData().setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
} else {
|
} else {
|
||||||
return AjaxResult.error(orderResult.getMsg());
|
return AjaxResult.error(orderResult.getMsg());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case RECHARGE:
|
case RECHARGE:
|
||||||
// 充值
|
// 充值
|
||||||
R<CuMemberRecharge> rechargeResult = iMemberTradeServiceApi.selectMemberRechargeByCodeAndPkMember(param.getBusinessCode(), userId);
|
R<CuMemberRecharge> rechargeResult = iMemberTradeServiceApi.selectMemberRechargeByCodeAndPkMember(param.getBusinessCode(), userId);
|
||||||
if (rechargeResult.isSuccess()) {
|
if (rechargeResult.isSuccess()) {
|
||||||
businessMoney = rechargeResult.getData().getRechargeAmount().setScale(2, BigDecimal.ROUND_HALF_UP);
|
businessMoney = rechargeResult.getData().getRechargeAmount().setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
} else {
|
} else {
|
||||||
return AjaxResult.error(rechargeResult.getMsg());
|
return AjaxResult.error(rechargeResult.getMsg());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TICKET:
|
case TICKET:
|
||||||
// 购票
|
// 购票
|
||||||
R<BigDecimal> ticketResult = iTicketServiceApi.getTicketPayOrder(userId, param.getBusinessCode());
|
R<BigDecimal> ticketResult = iTicketServiceApi.getTicketPayOrder(userId, param.getBusinessCode());
|
||||||
if (ticketResult.isSuccess()) {
|
if (ticketResult.isSuccess()) {
|
||||||
businessMoney = ticketResult.getData();
|
businessMoney = ticketResult.getData();
|
||||||
} else {
|
} else {
|
||||||
return AjaxResult.error(ticketResult.getMsg());
|
return AjaxResult.error(ticketResult.getMsg());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
}
|
||||||
|
// 更新业务金额
|
||||||
|
onlinePayment.setBusinessMoney(businessMoney);
|
||||||
|
amount = PayUtil.handleAmountRandom(businessMoney);
|
||||||
|
// 暂存于实际支付金额(部分业务进行随机立减)
|
||||||
|
onlinePayment.setPayMoney(amount);
|
||||||
}
|
}
|
||||||
// 更新业务金额
|
|
||||||
onlinePayment.setBusinessMoney(businessMoney);
|
|
||||||
amount = PayUtil.handleAmountRandom(businessMoney);
|
|
||||||
// 暂存于实际支付金额(部分业务进行随机立减)
|
|
||||||
onlinePayment.setPayMoney(amount);
|
|
||||||
|
|
||||||
// 结果实体
|
// 结果实体
|
||||||
R payResult = null;
|
R payResult = null;
|
||||||
|
|
Loading…
Reference in New Issue