From 642a3ec9b15d7cd853845590c2a044f4970b9358 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Tue, 15 Aug 2023 18:08:14 +0800 Subject: [PATCH] 赠送积分更新状态 --- src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java | 73 +++++++++++++++++++----------------- 1 files changed, 39 insertions(+), 34 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 88883a8..1129921 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 @@ -57,6 +57,7 @@ private final IMallMoneyFlowService mallMoneyFlowService; private final MallMemberClassMapper mallMemberClassMapper; private final MallMemberHouseMapper mallMemberHouseMapper; + private final MallMoneyFlowMapper mallMoneyFlowMapper; @Override @Transactional(rollbackFor = Exception.class) @@ -370,25 +371,29 @@ String referrerId = mallMember.getReferrerId(); MallMember mallMemberParent = memberMapper.selectInfoByInviteId(referrerId); Long id = mallMemberParent.getId(); - DataDictionaryCustom returnPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - DataDictionaryEnum.MEMBER_RETURN_PERCENT.getType(), - DataDictionaryEnum.MEMBER_RETURN_PERCENT.getCode() - ); - String returnPercentStr = StrUtil.isNotEmpty(returnPercentDic.getValue()) ? "1" : returnPercentDic.getValue(); - BigDecimal returnPercent = new BigDecimal(returnPercentStr).divide(new BigDecimal(100), 2, BigDecimal.ROUND_DOWN); - BigDecimal amountActual = amountBigDecimal.multiply(returnPercent).setScale(2, BigDecimal.ROUND_DOWN); - mallMoneyFlowService.addMoneyFlow( - mallMember.getId(), - amountActual, - MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(), - mallOrderInfo.getOrderNo(), - "直推奖", - "直推奖", - id, - 1, - FlowTypeEnum.BALANCE.getValue(), - 2); + MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOneByOrderNoAndMemberIdAndRtMemberId(mallOrderInfo.getOrderNo(), memberId, id); + if(ObjectUtil.isEmpty(mallMoneyFlow)){ + DataDictionaryCustom returnPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.MEMBER_RETURN_PERCENT.getType(), + DataDictionaryEnum.MEMBER_RETURN_PERCENT.getCode() + ); + String returnPercentStr = StrUtil.isNotEmpty(returnPercentDic.getValue()) ? "1" : returnPercentDic.getValue(); + BigDecimal returnPercent = new BigDecimal(returnPercentStr).divide(new BigDecimal(100), 2, BigDecimal.ROUND_DOWN); + BigDecimal amountActual = amountBigDecimal.multiply(returnPercent).setScale(2, BigDecimal.ROUND_DOWN); + + mallMoneyFlowService.addMoneyFlow( + mallMember.getId(), + amountActual, + MoneyFlowTypeEnum.DYNAMIC_ACHIEVE.getValue(), + mallOrderInfo.getOrderNo(), + "直推奖", + "直推奖", + id, + 1, + FlowTypeEnum.BALANCE.getValue(), + 2); + } } } for(MallOrderItem mallOrderItem : mallOrderItemList){ @@ -400,23 +405,23 @@ if(ObjectUtil.isNotEmpty(mallGoods.getIsUnreal()) && 1 == mallGoods.getIsUnreal()){ mallOrderInfo.setStatus(OrderStatusEnum.FINISH.getValue()); mallOrderInfoMapper.updateById(mallOrderInfo); - } - //是否送券 1:是 2:否 - BigDecimal levelTwoPrice = mallGoods.getLevelTwoPrice(); - if(BigDecimal.ONE.compareTo(levelTwoPrice) == 0){ - MallRollPerk mallRollPerk = new MallRollPerk(); - mallRollPerk.setMemberId(memberId); - mallRollPerk.setState(1); - mallRollPerk.setRollId(mallGoods.getLevelThreePrice().longValue()); - mallRollPerkMapper.insert(mallRollPerk); - } - //赠送积分 - BigDecimal levelOnePrice = mallGoods.getLevelOnePrice(); - if(BigDecimal.ZERO.compareTo(levelOnePrice) <= 0){ - memberWalletService.add(levelOnePrice, memberId, "score"); + //是否送券 1:是 2:否 + BigDecimal levelTwoPrice = mallGoods.getLevelTwoPrice(); + if(BigDecimal.ONE.compareTo(levelTwoPrice) == 0){ + MallRollPerk mallRollPerk = new MallRollPerk(); + mallRollPerk.setMemberId(memberId); + mallRollPerk.setState(1); + mallRollPerk.setRollId(mallGoods.getLevelThreePrice().longValue()); + mallRollPerkMapper.insert(mallRollPerk); + } + //赠送积分 + BigDecimal levelOnePrice = mallGoods.getLevelOnePrice(); + if(BigDecimal.ZERO.compareTo(levelOnePrice) <= 0){ + memberWalletService.add(levelOnePrice, memberId, "score"); - mallMoneyFlowService.addMoneyFlow(memberId, levelOnePrice, MoneyFlowTypeEnum.STATIC_BONUS.getValue(), - mallOrderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue(),"赠送积分",2); + mallMoneyFlowService.addMoneyFlow(memberId, levelOnePrice, MoneyFlowTypeEnum.STATIC_BONUS.getValue(), + mallOrderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue(),"赠送积分",2); + } } } } -- Gitblit v1.9.1