From e6667c792be898c41cda7d850dda02a403ef79c2 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 06 Apr 2023 10:35:20 +0800 Subject: [PATCH] 关于积分凭证 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 66 ++++++++++++++++++++++++--------- 1 files changed, 48 insertions(+), 18 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java index 0659ef7..c87ca01 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java @@ -448,6 +448,7 @@ * 所有合伙人补贴至消费礼包的三倍额度需要复购一次。 */ BigDecimal scoreSum = BigDecimal.ZERO; + BigDecimal achieveSum = BigDecimal.ZERO; List<MallOrderItem> orderItems = this.baseMapper.getMallOrderItemByOrderId(orderInfo.getId()); if (CollUtil.isNotEmpty(orderItems)) { for (MallOrderItem orderItem : orderItems) { @@ -467,7 +468,30 @@ // .multiply(new BigDecimal(orderItem.getCnt())) // .abs() // .setScale(2,BigDecimal.ROUND_DOWN)); + String goodsName = mallGoods.getGoodsName(); + /** + * 1-2档投资级别,2.5倍 + * 3-4档投资级别,2.8倍 + * 5-6档投资级别,3倍 + * 目前紧急修改成按照商品名称 + */ + BigDecimal basePercent = new BigDecimal("3"); + if(goodsName.equals("礼包一") || goodsName.equals("礼包二")){ + basePercent = new BigDecimal("2.5"); + } + if(goodsName.equals("礼包三") || goodsName.equals("礼包四")){ + basePercent = new BigDecimal("2.8"); + } + if(goodsName.equals("礼包五") || goodsName.equals("礼包六")){ + basePercent = new BigDecimal("3"); + } scoreSum = scoreSum.add( + new BigDecimal(mallGoods.getPresentPrice()) + .multiply(new BigDecimal(orderItem.getCnt())) + .multiply(basePercent) + .abs() + .setScale(2,BigDecimal.ROUND_DOWN)); + achieveSum = achieveSum.add( new BigDecimal(mallGoods.getPresentPrice()) .multiply(new BigDecimal(orderItem.getCnt())) .abs() @@ -529,23 +553,27 @@ * 增加补贴额度 */ if (scoreSum.compareTo(BigDecimal.ZERO) > 0) { - MallMember mallMember = memberMapper.selectById(memberId); - if(MemberLevelEnum.SECOND_LEVEL.getLevelCode(mallMember.getLevel()) >= 5){ - scoreSum = scoreSum.multiply(new BigDecimal(3)); - } - if(MemberLevelEnum.SECOND_LEVEL.getLevelCode(mallMember.getLevel()) >= 3 - &&MemberLevelEnum.SECOND_LEVEL.getLevelCode(mallMember.getLevel()) < 5){ - scoreSum = scoreSum.multiply(new BigDecimal(2.8)); - } - if(MemberLevelEnum.SECOND_LEVEL.getLevelCode(mallMember.getLevel()) < 3){ - scoreSum = scoreSum.multiply(new BigDecimal(2.5)); - } +// MallMember mallMember = memberMapper.selectById(memberId); +// if(MemberLevelEnum.SECOND_LEVEL.getLevelCode(mallMember.getLevel()) >= 5){ +// scoreSum = scoreSum.multiply(new BigDecimal(3)); +// } +// if(MemberLevelEnum.SECOND_LEVEL.getLevelCode(mallMember.getLevel()) >= 3 +// &&MemberLevelEnum.SECOND_LEVEL.getLevelCode(mallMember.getLevel()) < 5){ +// scoreSum = scoreSum.multiply(new BigDecimal(2.8)); +// } +// if(MemberLevelEnum.SECOND_LEVEL.getLevelCode(mallMember.getLevel()) < 3){ +// scoreSum = scoreSum.multiply(new BigDecimal(2.5)); +// } memberWalletService.add(scoreSum, memberId, "totalScore"); mallMoneyFlowService.addMoneyFlow( memberId, scoreSum, MoneyFlowTypeEnum.TOTAL_SCORE.getValue(), orderInfo.getOrderNo(), + "", + scoreSum.toString(), + memberId, + 1, FlowTypeEnum.TOTAL_SCORE.getValue(), 2); } @@ -586,13 +614,15 @@ /** * 产生一条业绩记录 */ - MallAchieveRecord mallAchieveRecord = new MallAchieveRecord(); - mallAchieveRecord.setMemberId(memberId); - mallAchieveRecord.setAchieveTime(new Date()); - mallAchieveRecord.setAmount(orderInfo.getAmount().subtract(orderInfo.getScoreAmount())); - mallAchieveRecord.setOrderId(orderId); - mallAchieveRecord.setPayTime(orderInfo.getPayTime()); - mallAchieveRecordMapper.insert(mallAchieveRecord); + if(achieveSum.compareTo(BigDecimal.ZERO) > 0){ + MallAchieveRecord mallAchieveRecord = new MallAchieveRecord(); + mallAchieveRecord.setMemberId(memberId); + mallAchieveRecord.setAchieveTime(new Date()); + mallAchieveRecord.setAmount(achieveSum.subtract(orderInfo.getScoreAmount())); + mallAchieveRecord.setOrderId(orderId); + mallAchieveRecord.setPayTime(orderInfo.getPayTime()); + mallAchieveRecordMapper.insert(mallAchieveRecord); + } } public static void main(String[] args) { -- Gitblit v1.9.1