From ea343888f4ab527f9f912f29642a655a465769db Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Wed, 27 Dec 2023 11:23:40 +0800 Subject: [PATCH] 富文本框输入版本变化 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java | 92 +++++++++++++++++++++++----------------------- 1 files changed, 46 insertions(+), 46 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java index 4480c31..466ce26 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java @@ -338,66 +338,66 @@ @Override public FebsResponse wxCodePay(ApiWxCodePayDto wxCodePayDto) { Long orderId = wxCodePayDto.getOrderId(); - String wxPayCode = wxCodePayDto.getWxPayCode(); - /** - * auth_code 扫码支付付款码 微信付款码规则:18位纯数字,前缀以10、11、12、13、14、15开头 - */ - String regex = "^(10|11|12|13|14|15)\\d{16}$"; - boolean flag = wxPayCode.matches(regex); - if(!flag){ - throw new FebsException("请打开微信付款码!"); - } MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(orderId); if(OrderStatusEnum.FINISH.getValue() == (mallOrderInfo.getStatus())){ throw new FebsException("已支付"); } - mallOrderInfo.setTakeCode(wxPayCode); - List<ApiGetOrderOrderItemVo> appOrderItemByOrderId = mallOrderItemMapper.getAppOrderItemByOrderId(orderId); - if(CollUtil.isEmpty(appOrderItemByOrderId)){ - mallOrderInfo.setName("商品"); - }else{ - mallOrderInfo.setName(appOrderItemByOrderId.get(0).getGoodsName()); - } -// mallOrderInfo.setPayResult(2); - mallOrderInfoMapper.updateById(mallOrderInfo); + BigDecimal amount = mallOrderInfo.getAmount(); + BigDecimal carriage = mallOrderInfo.getCarriage(); //减少用户积分和余额 if(ObjectUtil.isNotEmpty(mallOrderInfo.getMemberId())){ - MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(mallOrderInfo.getMemberId()); - BigDecimal totalCarriage = mallOrderInfo.getCarriage(); - BigDecimal score = mallMemberWallet.getScore(); - BigDecimal balance = mallMemberWallet.getBalance(); - BigDecimal memberAmount = score.add(balance); - BigDecimal avaAmount = totalCarriage;//剩余需要折扣的金额 - if(avaAmount.compareTo(memberAmount) >= 0){ - //清零用户的积分和余额 - mallMemberWallet.setBalance(BigDecimal.ZERO); - mallMemberWallet.setScore(BigDecimal.ZERO); - mallMemberWalletMapper.updateBalanceScoreWithId(mallMemberWallet); - }else{ - /** - * 先扣积分,再扣余额 - */ - if(avaAmount.compareTo(score) >= 0){ + BigDecimal avaAmount = carriage;//剩余需要折扣的金额 + if(avaAmount.compareTo(BigDecimal.ZERO) > 0){ + MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(mallOrderInfo.getMemberId()); + BigDecimal score = mallMemberWallet.getScore(); + BigDecimal balance = mallMemberWallet.getBalance(); + BigDecimal memberAmount = score.add(balance); + if(avaAmount.compareTo(memberAmount) >= 0){ + //清零用户的积分和余额 + mallMemberWallet.setBalance(BigDecimal.ZERO); mallMemberWallet.setScore(BigDecimal.ZERO); - avaAmount = avaAmount.subtract(score); + mallMemberWalletMapper.updateBalanceScoreWithId(mallMemberWallet); }else{ - mallMemberWallet.setScore(score.subtract(avaAmount)); - avaAmount = BigDecimal.ZERO; + /** + * 先扣积分,再扣余额 + */ + if(avaAmount.compareTo(score) >= 0){ + mallMemberWallet.setScore(BigDecimal.ZERO); + avaAmount = avaAmount.subtract(score); + }else{ + mallMemberWallet.setScore(score.subtract(avaAmount)); + avaAmount = BigDecimal.ZERO; + } + //积分不够 + if(avaAmount.compareTo(BigDecimal.ZERO) > 0){ + mallMemberWallet.setBalance(balance.subtract(avaAmount)); + }else{ + mallMemberWallet.setBalance(balance); + } + mallMemberWalletMapper.updateBalanceScoreWithId(mallMemberWallet); } - //积分不够 - if(avaAmount.compareTo(BigDecimal.ZERO) > 0){ - mallMemberWallet.setBalance(balance.subtract(avaAmount)); - }else{ - mallMemberWallet.setBalance(balance); - } - mallMemberWalletMapper.updateBalanceScoreWithId(mallMemberWallet); } } // 发起付款码支付请求 - BigDecimal amount = mallOrderInfo.getAmount(); - BigDecimal carriage = mallOrderInfo.getCarriage(); String payResult = "支付成功"; if(amount.subtract(carriage).compareTo(BigDecimal.ZERO) > 0){ + String wxPayCode = wxCodePayDto.getWxPayCode(); + /** + * auth_code 扫码支付付款码 微信付款码规则:18位纯数字,前缀以10、11、12、13、14、15开头 + */ + String regex = "^(10|11|12|13|14|15)\\d{16}$"; + boolean flag = wxPayCode.matches(regex); + if(!flag){ + throw new FebsException("请打开微信付款码!"); + } + mallOrderInfo.setTakeCode(wxPayCode); + List<ApiGetOrderOrderItemVo> appOrderItemByOrderId = mallOrderItemMapper.getAppOrderItemByOrderId(orderId); + if(CollUtil.isEmpty(appOrderItemByOrderId)){ + mallOrderInfo.setName("商品"); + }else{ + mallOrderInfo.setName(appOrderItemByOrderId.get(0).getGoodsName()); + } + mallOrderInfoMapper.updateById(mallOrderInfo); payResult = xcxCodePayService.pay(mallOrderInfo); } return new FebsResponse().success().message(payResult); -- Gitblit v1.9.1