| | |
| | | mallMemberWalletService.add(mineScore,memberId , "prizeScore"); |
| | | |
| | | // 记录会员购买获得的经验 |
| | | BigDecimal multiply = amount.multiply(minePercent); |
| | | BigDecimal multiply = amount.multiply(minePercent).setScale(2, RoundingMode.HALF_DOWN); |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | memberId, |
| | | multiply, |
| | |
| | | ); |
| | | // 更新会员钱包中的分数 |
| | | mallMemberWalletService.add(multiply, memberId, "score"); |
| | | // 发送会员等级升级消息 |
| | | agentProducer.sendVipLevelUp(memberId); |
| | | } |
| | | // 计算推荐人获得的积分 |
| | | if(StrUtil.isNotEmpty(member.getReferrerId())){ |
| | |
| | | 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, |
| | |
| | | ); |
| | | // 更新会员钱包中的分数 |
| | | mallMemberWalletService.add(multiply, refMember.getId(), "score"); |
| | | // 发送会员等级升级消息 |
| | | agentProducer.sendVipLevelUp(refMember.getId()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 发送会员等级升级消息 |
| | | agentProducer.sendVipLevelUp(orderId); |
| | | // 发送分销等级升级消息 |
| | | agentProducer.sendSaleLevelUp(orderId); |
| | | } |
| | |
| | | @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("会员不存在"); |
| | |
| | | Integer code = happyMemberLevel.getCode(); |
| | | // 如果当前会员等级与会员的导演等级相同,则直接返回 |
| | | if(member.getDirector() == code){ |
| | | return; |
| | | } |
| | | if(member.getDirector() > code){ |
| | | return; |
| | | } |
| | | |
| | |
| | | .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") |
| | | ); |
| | | // 如果没有找到符合条件的团长,则记录日志并返回 |