Merge branch 'prod' into test

This commit is contained in:
2025-12-20 16:35:11 +08:00

View File

@@ -303,9 +303,9 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
log.warn("会员配置不存在, 店铺id: {}", shopUser.getMainShopId()); log.warn("会员配置不存在, 店铺id: {}", shopUser.getMainShopId());
return false; return false;
} }
ShopUser upShopUser = new ShopUser();
if (shopUser.getExperience() == null) { if (shopUser.getExperience() == null) {
shopUser.setExperience(0L); upShopUser.setExperience(0L);
} }
MemberLevelVO levelVO = levelConfigService.detail(shopUser.getMemberLevelId()); MemberLevelVO levelVO = levelConfigService.detail(shopUser.getMemberLevelId());
@@ -362,14 +362,14 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
expFlow.setSourceId(sourceId); expFlow.setSourceId(sourceId);
memberExpFlowService.save(expFlow); memberExpFlowService.save(expFlow);
shopUser.setExperience(shopUser.getExperience() + exp); upShopUser.setExperience(shopUser.getExperience() + exp);
// 修改会员等级 // 修改会员等级
MemberLevelConfig nextConfig = levelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopUser.getMainShopId()) MemberLevelConfig nextConfig = levelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopUser.getMainShopId())
.gt(MemberLevelConfig::getExperienceValue, levelVO.getExperienceValue()).orderBy(MemberLevelConfig::getExperienceValue, true).limit(1)); .gt(MemberLevelConfig::getExperienceValue, levelVO.getExperienceValue()).orderBy(MemberLevelConfig::getExperienceValue, true).limit(1));
if (nextConfig != null && shopUser.getExperience() >= nextConfig.getExperienceValue()) { if (nextConfig != null && shopUser.getExperience() >= nextConfig.getExperienceValue()) {
shopUser.setMemberLevelId(nextConfig.getId()); upShopUser.setMemberLevelId(nextConfig.getId());
} }
shopUserService.updateInfo(shopUser); shopUserService.updateInfo(upShopUser);
} }
log.info("用户id: {}, 增加经验值: {}, 当前经验值: {}, 当前等级: {}", shopUser.getUserId(), exp, shopUser.getExperience(), shopUser.getMemberLevelId()); log.info("用户id: {}, 增加经验值: {}, 当前经验值: {}, 当前等级: {}", shopUser.getUserId(), exp, shopUser.getExperience(), shopUser.getMemberLevelId());
@@ -382,10 +382,17 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean joinMemberByCondition(Long shopId, Long userId, ShopUser shopUser) { public boolean joinMemberByCondition(Long shopId, Long userId, ShopUser shopUser) {
MemberConfigVO memberConfigVO = detail(shopId); MemberConfigVO memberConfigVO = detail(shopId);
if (!memberConfigVO.getIsOpen().equals(1L)) {
log.info("超级会员未开启, 店铺id: {}", shopId);
return false;
}
if (shopUser == null) { if (shopUser == null) {
log.warn("用户不存在, 店铺id: {}, 用户id: {}", shopId, userId); log.warn("用户不存在, 店铺id: {}, 用户id: {}", shopId, userId);
return false; return false;
} }
if (shopUser.getStartTime() != null && shopUser.getEndTime() != null && DateUtil.isIn(DateUtil.date(), DateUtil.date(shopUser.getStartTime()), DateUtil.date(shopUser.getEndTime()))) {
return false;
}
MemberLevelConfig levelConfig = levelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopId).orderBy(MemberLevelConfig::getExperienceValue, true).limit(1)); MemberLevelConfig levelConfig = levelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopId).orderBy(MemberLevelConfig::getExperienceValue, true).limit(1));
if (levelConfig == null) { if (levelConfig == null) {
log.info("会员等级配置不存在, 店铺id: {}", shopId); log.info("会员等级配置不存在, 店铺id: {}", shopId);
@@ -395,7 +402,7 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
return false; return false;
} }
if (memberConfigVO.getConditionList() == null || memberConfigVO.getConditionList().isEmpty()) { if (CollUtil.isEmpty(memberConfigVO.getConditionList())) {
log.info("会员开通条件不存在, 店铺id: {}", shopId); log.info("会员开通条件不存在, 店铺id: {}", shopId);
return false; return false;
} }
@@ -421,19 +428,15 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
return false; return false;
} }
} }
ShopUser upShopUser = new ShopUser();
upShopUser.setId(shopUser.getId());
upShopUser.setMemberLevelId(levelConfig.getId());
upShopUser.setStartTime(DateUtil.date().toLocalDateTime());
if (shopUser.getStartTime() != null && shopUser.getEndTime() != null && DateUtil.isIn(DateUtil.date(), DateUtil.date(shopUser.getStartTime()), DateUtil.date(shopUser.getEndTime()))) { upShopUser.setEndTime(shopUser.getStartTime().plusDays(20000));
log.info("用户id: {}, 您已经是会员", userId); upShopUser.setIsVip(1);
return false; upShopUser.setOpenType("CONDITION");
} return shopUserService.updateById(upShopUser);
shopUser.setMemberLevelId(levelConfig.getId());
shopUser.setStartTime(DateUtil.date().toLocalDateTime());
shopUser.setEndTime(shopUser.getStartTime().plusDays(20000));
shopUser.setIsVip(1);
shopUser.setOpenType("CONDITION");
return shopUserService.updateById(shopUser);
} }
@Override @Override