From e970047c7a4537810b17db3ee3c5d0a7ab4a87df Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Mon, 24 Apr 2023 10:50:19 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 36 +++++++++++++++++-------------------
1 files changed, 17 insertions(+), 19 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 9290189..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
@@ -1,28 +1,14 @@
package cc.mrbird.febs.mall.service.impl;
import cc.mrbird.febs.common.enumerates.*;
-import cc.mrbird.febs.common.utils.AppContants;
-import cc.mrbird.febs.common.utils.MallUtils;
import cc.mrbird.febs.common.utils.RedisUtils;
-import cc.mrbird.febs.mall.dto.ScorePoorDto;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.*;
-import cc.mrbird.febs.mall.vo.AdminTeamEqualsPerkVo;
import cc.mrbird.febs.rabbit.producter.AgentProducer;
import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.date.DateField;
-import cn.hutool.core.date.DateTime;
-import cn.hutool.core.date.DateUnit;
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
-import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import io.swagger.models.auth.In;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -31,7 +17,6 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
-import java.util.stream.Collectors;
/**
* @author wzy
@@ -73,6 +58,7 @@
* @param orderId
*/
@Override
+ @Transactional(rollbackFor = Exception.class)
public void directProfit(Long orderId) {
log.info("######直推奖励, 订单ID:{}######", orderId);
MallOrderInfo orderInfo = mallOrderInfoMapper.selectById(orderId);
@@ -80,16 +66,24 @@
log.info("积分订单无返利");
return;
}
- BigDecimal indirectPer = BigDecimal.valueOf(0.2);
+ BigDecimal indirectPer = BigDecimal.valueOf(0.25);
BigDecimal indirectPer2 = BigDecimal.valueOf(0.15);
MallMember member = mallMemberMapper.selectById(orderInfo.getMemberId());
// 父级会员
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;
+ }
// 父级会员直推人数
- Integer directCnt = mallMemberMapper.selectOwnCntByInviteId(parentMember.getInviteId());
+ Integer directCnt = mallMemberMapper.selectOwnCntByInviteIdAndAccountLevel(parentMember.getInviteId(), parentMember.getAccountLevel());
List<DataDictionaryCustom> dataDices = dataDictionaryCustomMapper.selectDicByType(DataDictionaryEnum.DIRECT_BONUS_SETTING.getType());
directCnt = directCnt == null ? 0 : directCnt;
@@ -128,7 +122,7 @@
isSameLevel = 1;
// 非代理推代理/非股东推股东
} else {
- profitPer = BigDecimal.valueOf(0.1);
+ profitPer = BigDecimal.valueOf(10);
isSameLevel = 2;
}
}
@@ -150,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;
@@ -358,7 +356,7 @@
// 全网分红
BigDecimal waitToBonus = systemSetting.getAllBonus().multiply(new BigDecimal(dic.getValue()).divide(hundred, 2, RoundingMode.HALF_UP));
- List<MallMember> mallMembers = mallMemberMapper.selectMemberAfterLevelList(MemberLevelEnums.FIRST_LEVEL_Y.getCode());
+ List<MallMember> mallMembers = mallMemberMapper.selectMemberAfterLevelList(MemberLevelEnum.FIRST_LEVEL.getType());
if (CollUtil.isEmpty(mallMembers) || waitToBonus.compareTo(BigDecimal.ZERO) < 1) {
log.info("待分红金额不足或会员不足");
return;
--
Gitblit v1.9.1