From 3785fcd8bab3c3e0aee184edbad37e83337779c1 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Wed, 27 Dec 2023 11:13:19 +0800 Subject: [PATCH] 富文本框输入版本变化 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java | 91 ++++++++++++++++++++++++++++++++------------- 1 files changed, 64 insertions(+), 27 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 ff9b305..4480c31 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 @@ -169,32 +169,31 @@ totalCarriage = total; } //减少用户积分和余额 - - 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){ - 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); - } +// 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){ +// 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); +// } } orderInfo.setCarriage(totalCarriage); } @@ -361,8 +360,46 @@ } // mallOrderInfo.setPayResult(2); mallOrderInfoMapper.updateById(mallOrderInfo); + //减少用户积分和余额 + 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){ + 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); + } + } // 发起付款码支付请求 - String payResult = xcxCodePayService.pay(mallOrderInfo); + BigDecimal amount = mallOrderInfo.getAmount(); + BigDecimal carriage = mallOrderInfo.getCarriage(); + String payResult = "支付成功"; + if(amount.subtract(carriage).compareTo(BigDecimal.ZERO) > 0){ + payResult = xcxCodePayService.pay(mallOrderInfo); + } return new FebsResponse().success().message(payResult); } -- Gitblit v1.9.1