From f85c5d2c3f5f5c59bb9b0362ea44ca0d6b06ec5a Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Wed, 20 Mar 2024 15:19:35 +0800 Subject: [PATCH] 抽奖 --- src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java | 17 +++++++++++++---- 1 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java index e9db01c..1ad6a24 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java @@ -909,6 +909,19 @@ mallProductBuy.setTotalPerk(totalPerk.subtract(profit).setScale(2,BigDecimal.ROUND_DOWN)); mallProductBuyMapper.updateById(mallProductBuy); } + + MallMemberAmount mallMemberAmountPerk = mallMemberAmountMapper.selectByMemberId(mallProductBuy.getMemberId()); + if(BigDecimal.ZERO.compareTo(mallMemberAmountPerk.getTotalPerk()) >= 0){ + continue; + } + if(mallMemberAmountPerk.getTotalPerk().compareTo(profit) <= 0){ + profit = mallMemberAmountPerk.getTotalPerk(); + mallMemberAmountPerk.setTotalPerk(BigDecimal.ZERO); + mallMemberAmountMapper.updateTotalPerkById(mallMemberAmountPerk); + }else{ + mallMemberAmountPerk.setTotalPerk(mallMemberAmountPerk.getTotalPerk().subtract(profit).setScale(2,BigDecimal.ROUND_DOWN)); + mallMemberAmountMapper.updateTotalPerkById(mallMemberAmountPerk); + } // insertSell(mallProductBuy.getMemberId(),profit,profit,BigDecimal.ZERO,BigDecimal.ZERO); String orderNoSY = MallUtils.getOrderNum("SYNFT"); mallMoneyFlowService.addMoneyFlow( @@ -924,10 +937,6 @@ MallMemberAmount mallMemberAmountMine = mallMemberAmountMapper.selectByMemberId(mallProductBuy.getMemberId()); mallMemberAmountMine.setTrendsNft(mallMemberAmountMine.getTrendsNft().add(profit)); mallMemberAmountMapper.updateTrendsNftById(mallMemberAmountMine); - - MallMemberAmount mallMemberAmountPerk = mallMemberAmountMapper.selectByMemberId(mallProductBuy.getMemberId()); - mallMemberAmountPerk.setTotalPerk(mallMemberAmountPerk.getTotalPerk().subtract(profit)); - mallMemberAmountMapper.updateTotalPerkById(mallMemberAmountPerk); BigDecimal remainderDirect = bigDecimal.divide(new BigDecimal(String.valueOf(cycle)),0,BigDecimal.ROUND_DOWN);//取余 -- Gitblit v1.9.1