From 869ea72afdca9ad0f83a6f09659e4a4478012606 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 04 Apr 2023 10:59:41 +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