From 296a4e53a387bbc6b70183e02787972934adc1b6 Mon Sep 17 00:00:00 2001 From: Hentua <wangdoubleone@gmail.com> Date: Mon, 24 Apr 2023 20:44:09 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java index 5dc6e1f..c755ee4 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java @@ -58,6 +58,7 @@ * @param orderId */ @Override + @Transactional(rollbackFor = Exception.class) public void directProfit(Long orderId) { log.info("######直推奖励, 订单ID:{}######", orderId); MallOrderInfo orderInfo = mallOrderInfoMapper.selectById(orderId); @@ -72,6 +73,10 @@ // 父级会员 MallMember parentMember = mallMemberMapper.selectInfoByInviteId(member.getReferrerId()); + if (parentMember == null) { + return; + } + if (parentMember.getAccountLevel() == 0 || MemberLevelEnum.ZERO_LEVEL.getType().equals(parentMember.getLevel())) { log.info("上级:{}未购买会员套餐,无返利", parentMember.getInviteId()); return; @@ -117,7 +122,7 @@ isSameLevel = 1; // 非代理推代理/非股东推股东 } else { - profitPer = BigDecimal.valueOf(0.1); + profitPer = BigDecimal.valueOf(10); isSameLevel = 2; } } @@ -139,6 +144,10 @@ // 非代理推代理 if (isSameLevel == 2) { + if (StrUtil.isBlank(parentMember.getReferrerIds())) { + continue; + } + List<MallMember> mallMembers = mallMemberMapper.selectParentMemberList(StrUtil.split(parentMember.getReferrerIds(), ','), parentMember.getReferrerId(), 2); if (CollUtil.isEmpty(mallMembers)) { continue; -- Gitblit v1.9.1