src/main/java/cc/mrbird/febs/mall/dto/TeamPerkDto.java
@@ -14,6 +14,8 @@ public class TeamPerkDto { //直推人数 private Integer directCnt; //直推人数 private Integer teamCnt; //团队收益比例 private String PerkPercent; //平级比例 src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -1377,6 +1377,7 @@ //上级 String referrerId = mallMember.getReferrerId(); MallMember mallMemberRef = memberMapper.selectInfoByInviteId(referrerId); List<MallMember> mallMembersAll = memberMapper.selectAllChildAgentListByInviteId(referrerId); List<MallMember> mallMembers = memberMapper.selectByRefererId(referrerId); Set<Long> mallMembersSet = mallMembers.stream().map(MallMember::getId).collect(Collectors.toSet()); @@ -1390,6 +1391,7 @@ /** * 从会员等级最低到最高,比较intersection与会员设置的直推人数directCntLevel比较 * directCntLevel >= intersection.size(),则满足升级会员等级条件,跳出循环 * teamCnt >= mallMembersAll.size(),则满足升级会员等级条件,跳出循环 * 达到最高级别后,升级会员等级,跳出循环 */ String level = MemberLevelNewEnum.ZERO_LEVEL.getType(); @@ -1400,7 +1402,9 @@ ); TeamPerkDto teamPerkDto = JSONObject.parseObject(levelDic.getValue(), TeamPerkDto.class); Integer directCntLevel = teamPerkDto.getDirectCnt(); if(directCntLevel >= intersection.size()){ Integer teamCnt = teamPerkDto.getTeamCnt(); if(directCntLevel >= intersection.size() && teamCnt >= mallMembersAll.size()){ mallMemberRef.setLevel(level); memberMapper.updateById(mallMemberRef); flag = true; src/main/resources/templates/febs/views/modules/system/profitSetting.html
@@ -47,6 +47,7 @@ ,cols: [[ //表头 {field: 'description', title: '名称'} ,{field: 'directCnt', title: '直推(个)', edit:'text'} ,{field: 'teamCnt', title: '团队(个)', edit:'text'} ,{field: 'PerkPercent', title: '团队补贴', edit:'text'} ,{field: 'equalsPerkPercent', title: '平级补贴', edit:'text'} ,{field: 'type', title: '比例', edit:'text', hide:'true'} @@ -63,6 +64,7 @@ if (agentBonusArr[i].code === data.code) { let valueData = {}; valueData.directCnt = data.directCnt; valueData.teamCnt = data.teamCnt; valueData.PerkPercent = data.PerkPercent; valueData.equalsPerkPercent = data.equalsPerkPercent; agentBonusArr[i].value = JSON.stringify(valueData); @@ -77,6 +79,7 @@ let data = r.data; for (let i = 0; i < data.length; i++) { data[i].directCnt = JSON.parse(data[i].value).directCnt; data[i].teamCnt = JSON.parse(data[i].value).teamCnt; data[i].PerkPercent = JSON.parse(data[i].value).PerkPercent; data[i].equalsPerkPercent = JSON.parse(data[i].value).equalsPerkPercent; data[i].description = data[i].description;