From f4297e7b0fbe68c528a4a16ecff3edcdb0cb8ba3 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 22 May 2025 10:10:12 +0800
Subject: [PATCH] feat(mall): 添加小程序首页头部背景功能
---
src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java | 29 +++++++++++------------------
1 files changed, 11 insertions(+), 18 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java b/src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java
index e403f53..ffd0c68 100644
--- a/src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java
@@ -127,7 +127,7 @@
mallMemberWalletService.add(mineScore,memberId , "prizeScore");
// 记录会员购买获得的经验
- BigDecimal multiply = amount.multiply(minePercent);
+ BigDecimal multiply = amount.multiply(minePercent).setScale(2, RoundingMode.HALF_DOWN);
mallMoneyFlowService.addMoneyFlow(
memberId,
multiply,
@@ -139,6 +139,8 @@
);
// 更新会员钱包中的分数
mallMemberWalletService.add(multiply, memberId, "score");
+ // 发送会员等级升级消息
+ agentProducer.sendVipLevelUp(memberId);
}
// 计算推荐人获得的积分
if(StrUtil.isNotEmpty(member.getReferrerId())){
@@ -158,7 +160,7 @@
mallMemberWalletService.add(otherScore,refMember.getId() , "prizeScore");
// 记录会员购买获得的经验
- BigDecimal multiply = amount.multiply(otherPercent);
+ BigDecimal multiply = amount.multiply(otherPercent).setScale(2, RoundingMode.HALF_DOWN);
mallMoneyFlowService.addMoneyFlow(
refMember.getId(),
multiply,
@@ -170,12 +172,12 @@
);
// 更新会员钱包中的分数
mallMemberWalletService.add(multiply, refMember.getId(), "score");
+ // 发送会员等级升级消息
+ agentProducer.sendVipLevelUp(refMember.getId());
}
}
}
- // 发送会员等级升级消息
- agentProducer.sendVipLevelUp(orderId);
// 发送分销等级升级消息
agentProducer.sendSaleLevelUp(orderId);
}
@@ -190,20 +192,8 @@
@Override
@Transactional(rollbackFor = Exception.class)
public void levelUp(Long orderId) {
- // 根据订单ID获取订单详细信息
- MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectOrderDetailsById(orderId);
- // 如果订单信息为空,则直接返回
- if (mallOrderInfo == null) {
- return;
- }
- // 如果订单状态不是完成状态,则直接返回
- if (mallOrderInfo.getStatus() != OrderStatusEnum.FINISH.getValue()) {
- // 订单不是完成状态
- return;
- }
-
// 根据订单中的会员ID获取会员信息
- MallMember member = mallMemberMapper.selectById(mallOrderInfo.getMemberId());
+ MallMember member = mallMemberMapper.selectById(orderId);
// 如果会员信息为空,则记录日志并返回
if (member == null) {
log.info("会员不存在");
@@ -236,6 +226,9 @@
Integer code = happyMemberLevel.getCode();
// 如果当前会员等级与会员的导演等级相同,则直接返回
if(member.getDirector() == code){
+ return;
+ }
+ if(member.getDirector() > code){
return;
}
@@ -286,7 +279,7 @@
.eq(MallMember::getAccountStatus, MallMember.ACCOUNT_STATUS_ENABLE)
.eq(MallMember::getAccountType, MallMember.ACCOUNT_TYPE_NORMAL)
.ne(MallMember::getStoreMaster, 0)
- .orderByAsc(MallMember::getStoreMaster)
+ .orderByDesc(MallMember::getId)
.last("limit 1")
);
// 如果没有找到符合条件的团长,则记录日志并返回
--
Gitblit v1.9.1