From 1ba7e105ab813015b0ce1d08d955abf8ee52e871 Mon Sep 17 00:00:00 2001 From: liulin <lin.liu@88.com> Date: 星期五, 04 七月 2025 14:37:03 +0800 Subject: [PATCH] 修改支付接口 --- src/main/java/com/lunhan/water/service/PaymentServices.java | 28 ++++++++++++++++++++-------- 1 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/lunhan/water/service/PaymentServices.java b/src/main/java/com/lunhan/water/service/PaymentServices.java index 11b0c75..fff10f8 100644 --- a/src/main/java/com/lunhan/water/service/PaymentServices.java +++ b/src/main/java/com/lunhan/water/service/PaymentServices.java @@ -75,12 +75,12 @@ @Transactional(rollbackFor = Exception.class) public ExecutedResult<Map<String, Object>> weiXinPay(LoginUserDTO loginUser, ReqCreatePay request) { //判断token是否存在,如果不存在,说明重复提交订单 - String redisToken = redisTemplate.opsForValue().get(request.getPayToken()).toString(); - if (StringUtil.isNullOrEmpty(redisToken)) { - throw new RuntimeException("请勿重复提交充值订单!"); - } - //删除token - redisTemplate.delete(request.getPayToken()); +// String redisToken = redisTemplate.opsForValue().get(request.getPayToken()).toString(); +// if (StringUtil.isNullOrEmpty(redisToken)) { +// throw new RuntimeException("请勿重复提交充值订单!"); +// } +// //删除token +// redisTemplate.delete(request.getPayToken()); EBusinessType type = EBusinessType.getByValue(request.getBusinessType()); if (Objects.isNull(type)) { @@ -112,6 +112,18 @@ request.setBusinessComment("用户充值"); //添加充值记录 RechargeRecordsPO item = new RechargeRecordsPO(); + item.setUserId(user.getId()); + //将充值金额转换为水量 + List<SysDictDataPO> feesAmount = sysDictDataMapper.getListByType("fees_amount"); + if(ListUtil.isNotNullOrEmpty(feesAmount)){ + SysDictDataPO sysDictDataPO = feesAmount.get(0); + BigDecimal bigDecimal = request.getTradeAmount().multiply(new BigDecimal(sysDictDataPO.getDictValue())).setScale(2, BigDecimal.ROUND_DOWN); + item.setRechargeWater(bigDecimal); + }else { + //默认单价 + BigDecimal bigDecimal =request.getTradeAmount().multiply(new BigDecimal(3)).setScale(2, BigDecimal.ROUND_DOWN); + item.setRechargeWater(bigDecimal); + } item.setRechargeOrder(request.getBusinessNo()); item.setRechargeType(ERechargeType.MOBILE.getDesc()); item.setPaymentMethod(EPayType.WX_PAY.getDesc()); @@ -389,11 +401,11 @@ if(ListUtil.isNotNullOrEmpty(feesAmount)){ SysDictDataPO sysDictDataPO = feesAmount.get(0); BigDecimal bigDecimal = trade.getTradeAmount().multiply(new BigDecimal(sysDictDataPO.getDictValue())).setScale(2, BigDecimal.ROUND_DOWN); - userLoginPO.setBalance(bigDecimal); + userLoginPO.setBalance(userLoginPO.getBalance().add(bigDecimal)); }else { //默认单价 BigDecimal bigDecimal = trade.getTradeAmount().multiply(new BigDecimal(3)).setScale(2, BigDecimal.ROUND_DOWN); - userLoginPO.setBalance(bigDecimal); + userLoginPO.setBalance(userLoginPO.getBalance().add(bigDecimal)); } int modify = userLoginMapper.updateById(userLoginPO); //添加资金明细记录 -- Gitblit v1.9.3