From 9b93e015970c3257f3e7ae866bc6832a14246040 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 25 Aug 2023 13:02:34 +0800
Subject: [PATCH] 后台修改
---
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 96 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 96 insertions(+), 0 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
index 2daa010..0ec6d3e 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -2952,6 +2952,102 @@
BigDecimal amountMagic = amount;
List<MallAchieveRecord> mallAchieveRecords = mallAchieveRecordMapper.selectListByMemberId(memberId);
if(CollUtil.isEmpty(mallAchieveRecords)){
+
+ BigDecimal localTotalAchieve = amount;
+ /**
+ * 用户减少赠送积分
+ */
+ DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
+ DappWalletMineEntity dappWalletMineEntity = dappWalletMineDao.selectByMemberId(memberId);
+ BigDecimal totalScore = dappWalletMineEntity.getTotalAmount();
+ BigDecimal availableScore = dappWalletMineEntity.getAvailableAmount();
+
+ if(localTotalAchieve.compareTo(totalScore) >= 0){
+ localTotalAchieve = totalScore;
+ //当实际获取大于用户的赠送积分,将用户更新为未激活
+ dappMemberEntity.setActiveStatus(2);
+ dappMemberDao.updateById(dappMemberEntity);
+ }
+
+ DappAccountMoneyChangeEntity reduceScoreAMC = new DappAccountMoneyChangeEntity(
+ memberId,
+ totalScore,
+ amountMagic.negate(),
+ localTotalAchieve.negate(),
+ AccountFlowEnum.SCORE.getCode(),
+ null);
+ dappAccountMoneyChangeDao.insert(reduceScoreAMC);
+
+ //插入积分流水
+ DappFundFlowEntity scoreFlow = new DappFundFlowEntity(
+ AccountFlowEnum.SCORE.getCode(),
+ memberId,
+ localTotalAchieve.negate(),
+ FundFlowEnum.REDUCE_SCORE_REAL.getCode(),
+ DappFundFlowEntity.WITHDRAW_STATUS_AGREE,
+ BigDecimal.ZERO);
+ dappFundFlowDao.insert(scoreFlow);
+
+ BigDecimal totalScoreRelease = totalScore.subtract(localTotalAchieve);
+ BigDecimal availableScoreRelease = availableScore.subtract(localTotalAchieve);
+ //更新积分账户
+ dappWalletMineEntity.setTotalAmount(totalScoreRelease);
+ dappWalletMineEntity.setAvailableAmount(availableScoreRelease);
+ dappWalletMineDao.updateById(dappWalletMineEntity);
+
+
+ //用户增加余额
+ DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
+ BigDecimal totalAmount = dappWalletCoinEntity.getTotalAmount();
+ BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
+
+ DappAccountMoneyChangeEntity addAmountAMC = new DappAccountMoneyChangeEntity(
+ memberId,
+ totalAmount,
+ amountMagic,
+ localTotalAchieve,
+ AccountFlowEnum.AMOUNT.getCode(),
+ null);
+ dappAccountMoneyChangeDao.insert(addAmountAMC);
+ //插入余额流水
+ DappFundFlowEntity amountFlow = new DappFundFlowEntity(
+ AccountFlowEnum.AMOUNT.getCode(),
+ memberId,
+ localTotalAchieve,
+ FundFlowEnum.ADD_AMOUNT_REAL.getCode(),
+ DappFundFlowEntity.WITHDRAW_STATUS_AGREE,
+ BigDecimal.ZERO);
+ dappFundFlowDao.insert(amountFlow);
+
+ BigDecimal totalAmountRelease = totalAmount.add(localTotalAchieve);
+ BigDecimal availableAmountRelease = availableAmount.add(localTotalAchieve);
+ //更新余额账户
+ dappWalletCoinEntity.setTotalAmount(totalAmountRelease);
+ dappWalletCoinEntity.setAvailableAmount(availableAmountRelease);
+ dappWalletCoinDao.updateById(dappWalletCoinEntity);
+
+ StringBuffer content = new StringBuffer();
+ if(amountMagic.compareTo(localTotalAchieve) > 0){
+ content.append("今日可加速"+amountMagic.setScale(2,BigDecimal.ROUND_DOWN)+",实际加速"+localTotalAchieve.setScale(2,BigDecimal.ROUND_DOWN)+"" +
+ "烧伤"+amountMagic.subtract(localTotalAchieve).setScale(2,BigDecimal.ROUND_DOWN)+",原因消费金额1%加速上" +
+ "限,增加消费金额可获得更多收益");
+ }else{
+ content.append("今日可加速"+amountMagic.setScale(2,BigDecimal.ROUND_DOWN)+",实际加速"+localTotalAchieve.setScale(2,BigDecimal.ROUND_DOWN)+"" +
+ "烧伤"+amountMagic.subtract(localTotalAchieve).setScale(2,BigDecimal.ROUND_DOWN));
+ }
+ DappAccountMoneyChangeEntity record = new DappAccountMoneyChangeEntity(
+ memberId,
+ totalAmount,
+ amountMagic,
+ localTotalAchieve,
+ AccountFlowEnum.AMOUNT_RECORD.getCode(),
+ content.toString());
+ dappAccountMoneyChangeDao.insert(record);
+
+ //实时更新用户等级
+ chainProducer.sendAutoLevelUpTeamMsg(memberId);
+
+ set.add(dappMemberEntity);
continue;
}
//实际获取总收益
--
Gitblit v1.9.1