From 82c96bddc4a2f3070d8bf61e7ca1ce3b57711f85 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 18 Mar 2024 16:09:50 +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