新代理政策-calculatorPolicyTarget 单个参数引用逻辑修改
This commit is contained in:
parent
95e5fffe0c
commit
c2bd8860b8
@ -105,7 +105,7 @@ public class BdTeamMemberDetailQryExe {
|
||||
}
|
||||
|
||||
// 获取所有区域的政策配置
|
||||
Map<String, TeamPolicyManager> regionPolicyMap = teamPolicyManagerService.mapRegionRelease(
|
||||
Map<String, TeamPolicyManager> regionPolicyMap = teamPolicyManagerService.mapRegionReleaseWithCountry(
|
||||
teamBillCycles.stream().map(TeamBillCycle::getRegion).collect(Collectors.toSet()));
|
||||
|
||||
List<BdIncomeDetailCO> incomeDetails = new ArrayList<>();
|
||||
@ -120,7 +120,7 @@ public class BdTeamMemberDetailQryExe {
|
||||
teamBillCycle.getTeamId(), teamBillCycle.getBillBelong());
|
||||
|
||||
BdIncomeDetailCO incomeDetail = buildIncomeDetail(
|
||||
teamBillCycle, teamMemberTargets, regionPolicyMap.get(teamBillCycle.getRegion()));
|
||||
teamBillCycle, teamMemberTargets, regionPolicyMap);
|
||||
|
||||
incomeDetails.add(incomeDetail);
|
||||
}
|
||||
@ -184,7 +184,7 @@ public class BdTeamMemberDetailQryExe {
|
||||
.flatMap(List::stream)
|
||||
.map(TeamBillCycle::getRegion)
|
||||
.collect(Collectors.toSet());
|
||||
Map<String, TeamPolicyManager> regionPolicyMap = teamPolicyManagerService.mapRegionRelease(allRegions);
|
||||
Map<String, TeamPolicyManager> regionPolicyMap = teamPolicyManagerService.mapRegionReleaseWithCountry(allRegions);
|
||||
|
||||
// 按周期构建收入明细
|
||||
List<BdIncomeDetailCO> incomeDetails = new ArrayList<>();
|
||||
@ -222,7 +222,7 @@ public class BdTeamMemberDetailQryExe {
|
||||
private BdIncomeDetailCO buildIncomeDetail(
|
||||
TeamBillCycle teamBillCycle,
|
||||
List<TeamMemberTarget> teamMemberTargets,
|
||||
TeamPolicyManager policy) {
|
||||
Map<String, TeamPolicyManager> policyManagerMap) {
|
||||
|
||||
BdIncomeDetailCO incomeDetail = new BdIncomeDetailCO();
|
||||
|
||||
@ -243,6 +243,10 @@ public class BdTeamMemberDetailQryExe {
|
||||
// 计算每个成员的政策目标数据
|
||||
List<TeamBillMemberTarget> memberTargetList = new ArrayList<>();
|
||||
for (TeamMemberTarget target : teamMemberTargets) {
|
||||
TeamPolicyManager policy = TeamBillCycleUtils.getPolicyFromMap(
|
||||
policyManagerMap,
|
||||
target.getRegion(),
|
||||
target.getCountryCode());
|
||||
TeamBillMemberTarget teamBillMemberTarget = TeamBillCycleUtils.calculatorPolicyTarget(target, policy);
|
||||
memberTargetList.add(teamBillMemberTarget);
|
||||
}
|
||||
@ -328,9 +332,12 @@ public class BdTeamMemberDetailQryExe {
|
||||
}
|
||||
|
||||
// 计算team收入
|
||||
TeamPolicyManager policy = regionPolicyMap.get(bill.getRegion());
|
||||
List<TeamBillMemberTarget> memberTargetList = new ArrayList<>();
|
||||
for (TeamMemberTarget target : teamMemberTargets) {
|
||||
TeamPolicyManager policy = TeamBillCycleUtils.getPolicyFromMap(
|
||||
regionPolicyMap,
|
||||
target.getRegion(),
|
||||
target.getCountryCode());
|
||||
TeamBillMemberTarget teamBillMemberTarget = TeamBillCycleUtils.calculatorPolicyTarget(target, policy);
|
||||
memberTargetList.add(teamBillMemberTarget);
|
||||
}
|
||||
|
||||
@ -98,7 +98,7 @@ public class TeamBillQryExe {
|
||||
}
|
||||
|
||||
// 获取所有区域的政策配置
|
||||
Map<String, TeamPolicyManager> regionPolicyMap = teamPolicyManagerService.mapRegionRelease(
|
||||
Map<String, TeamPolicyManager> regionPolicyMap = teamPolicyManagerService.mapRegionReleaseWithCountry(
|
||||
teamBillCycles.stream().map(TeamBillCycle::getRegion).collect(Collectors.toSet())
|
||||
);
|
||||
|
||||
@ -120,13 +120,14 @@ public class TeamBillQryExe {
|
||||
continue;
|
||||
}
|
||||
|
||||
// 获取该区域的政策配置
|
||||
TeamPolicyManager policy = regionPolicyMap.get(teamBillCycle.getRegion());
|
||||
|
||||
// 累计所有成员的数据
|
||||
List<TeamBillMemberTarget> memberTargetList = Lists.newArrayList();
|
||||
|
||||
for (TeamMemberTarget target : teamMemberTargets) {
|
||||
TeamPolicyManager policy = TeamBillCycleUtils.getPolicyFromMap(
|
||||
regionPolicyMap,
|
||||
target.getRegion(),
|
||||
target.getCountryCode());
|
||||
// 计算每个成员的政策目标数据
|
||||
TeamBillMemberTarget teamBillMemberTarget = TeamBillCycleUtils.calculatorPolicyTarget(target, policy);
|
||||
memberTargetList.add(teamBillMemberTarget);
|
||||
|
||||
@ -198,7 +198,7 @@ public class TeamMemberWorkQryExe {
|
||||
TeamPolicyManager policy) {
|
||||
|
||||
if (Objects.isNull(policy.getPolicyType()) || Objects.equals("MONEY", policy.getPolicyType())) {
|
||||
return TeamBillCycleUtils.calculatorPolicyTarget(target, policy);
|
||||
// return TeamBillCycleUtils.calculatorPolicyTarget(target, policy);
|
||||
}
|
||||
|
||||
BillDiamondBalance billDiamondBalance = billDiamondBalanceService.getEntityByBillBelongAndUserId(target.getSysOrigin(), target.getBillBelong(), target.getUserId());
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.red.circle.other.app.listener.team;
|
||||
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import com.alibaba.nacos.shaded.com.google.common.base.Throwables;
|
||||
import com.red.circle.common.business.core.enums.ReceiptType;
|
||||
import com.red.circle.component.mq.MessageEventProcess;
|
||||
@ -52,10 +53,7 @@ import com.red.circle.wallet.inner.model.enums.GoldOrigin;
|
||||
import com.red.circle.wallet.inner.model.enums.UserBankWaterEvent;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -154,8 +152,9 @@ public class TeamExchangeSurplusTargetListener implements MessageListener {
|
||||
return;
|
||||
}
|
||||
|
||||
TeamPolicyManager policyManager = getReleaseByRegionAndType(teamProfile);
|
||||
if (Objects.isNull(policyManager)) {
|
||||
// 获取所有区域的政策配置
|
||||
Map<String, TeamPolicyManager> regionPolicyMap = teamPolicyManagerService.mapRegionReleaseWithCountry(Set.of(teamProfile.getRegion()));
|
||||
if (MapUtil.isEmpty(regionPolicyMap)) {
|
||||
// [满足政策的团队工资实时发送]该团队没有区域政策
|
||||
return;
|
||||
}
|
||||
@ -183,9 +182,13 @@ public class TeamExchangeSurplusTargetListener implements MessageListener {
|
||||
return;
|
||||
}
|
||||
|
||||
TeamPolicyManager policyManager = TeamBillCycleUtils.getPolicyFromMap(
|
||||
regionPolicyMap,
|
||||
memberTarget.getRegion(),
|
||||
memberTarget.getCountryCode());
|
||||
|
||||
// 计算工资与等级
|
||||
TeamBillMemberTarget billTarget = TeamBillCycleUtils
|
||||
.calculatorPolicyTarget(memberTarget, policyManager);
|
||||
TeamBillMemberTarget billTarget = TeamBillCycleUtils.calculatorPolicyTarget(memberTarget, policyManager);
|
||||
if (Objects.isNull(billTarget)) {
|
||||
return;
|
||||
}
|
||||
@ -558,25 +561,6 @@ public class TeamExchangeSurplusTargetListener implements MessageListener {
|
||||
.listByBillBelong(billCycle.getTeamId(), billCycle.getBillBelong());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得区域政策.
|
||||
*/
|
||||
private TeamPolicyManager getReleaseByRegionAndType(TeamProfile teamProfile) {
|
||||
|
||||
TeamPolicyManager manager = teamPolicyManagerService.getReleaseByRegionAndType(
|
||||
teamProfile.getSysOrigin(), teamProfile.getRegion());
|
||||
|
||||
if (Objects.isNull(manager)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (CollectionUtils.isEmpty(manager.getPolicy())) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return manager;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得达标的最大一级政策.
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.red.circle.other.app.listener.team;
|
||||
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import com.google.common.base.Throwables;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.red.circle.common.business.core.enums.ReceiptType;
|
||||
@ -62,10 +63,7 @@ import com.red.circle.wallet.inner.model.dto.UserSalaryDiamondRunningWaterDTO;
|
||||
import com.red.circle.wallet.inner.model.enums.UserBankWaterEvent;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -152,12 +150,11 @@ public class TeamSalaryPaymentListener implements MessageListener {
|
||||
return;
|
||||
}
|
||||
|
||||
TeamPolicyManager policyManager = getReleaseByRegionAndType(teamProfile);
|
||||
if (Objects.isNull(policyManager)) {
|
||||
Map<String, TeamPolicyManager> regionPolicyMap = teamPolicyManagerService.mapRegionReleaseWithCountry(Set.of(teamProfile.getRegion()));
|
||||
if (MapUtil.isEmpty(regionPolicyMap)) {
|
||||
// [满足政策的团队工资实时发送]该团队没有区域政策
|
||||
return;
|
||||
}
|
||||
log.warn("policyManager:"+ policyManager);
|
||||
|
||||
List<TeamMemberTarget> teamMemberTargets = getTeamMemberTargets(billCycle);
|
||||
if (CollectionUtils.isEmpty(teamMemberTargets)) {
|
||||
@ -178,6 +175,11 @@ public class TeamSalaryPaymentListener implements MessageListener {
|
||||
return;
|
||||
}
|
||||
|
||||
TeamPolicyManager policyManager = TeamBillCycleUtils.getPolicyFromMap(
|
||||
regionPolicyMap,
|
||||
memberTarget.getRegion(),
|
||||
memberTarget.getCountryCode());
|
||||
|
||||
// 计算工资与等级
|
||||
TeamBillMemberTarget billTarget = TeamBillCycleUtils
|
||||
.calculatorPolicyTarget(memberTarget, policyManager);
|
||||
|
||||
@ -139,13 +139,17 @@ public class TeamSalaryRevokeListener implements MessageListener {
|
||||
|
||||
isUpdateState.set(Boolean.TRUE);
|
||||
|
||||
TeamPolicyManager policyManager = mapPolicy.get(details.getTeamRegionId());
|
||||
if (Objects.isNull(policyManager)) {
|
||||
TeamMemberTarget target = getTeamMemberTarget(details.getMemberTargetId());
|
||||
if (Objects.isNull(target) || CollectionUtils.isEmpty(target.getDailyTargets())) {
|
||||
return;
|
||||
}
|
||||
|
||||
TeamMemberTarget target = getTeamMemberTarget(details.getMemberTargetId());
|
||||
if (Objects.isNull(target) || CollectionUtils.isEmpty(target.getDailyTargets())) {
|
||||
TeamPolicyManager policyManager = TeamBillCycleUtils.getPolicyFromMap(
|
||||
mapPolicy,
|
||||
target.getRegion(),
|
||||
target.getCountryCode());
|
||||
|
||||
if (Objects.isNull(policyManager)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -153,8 +157,7 @@ public class TeamSalaryRevokeListener implements MessageListener {
|
||||
deductOriginalTarget(new AtomicReference<>(notSubtract ? 0 : deductTarget), target);
|
||||
|
||||
// 根据团队政策 + 团队成员账单
|
||||
TeamBillMemberTarget billMemberTarget = TeamBillCycleUtils
|
||||
.calculatorPolicyTarget(target, policyManager);
|
||||
TeamBillMemberTarget billMemberTarget = TeamBillCycleUtils.calculatorPolicyTarget(target, policyManager);
|
||||
|
||||
// 如果扣除退款目标后计算出来的等级依旧大于或等于发工资的等级,则不做处理
|
||||
if (Objects.nonNull(billMemberTarget) && Objects.nonNull(billMemberTarget.getLevel())
|
||||
|
||||
@ -125,8 +125,10 @@ public class ListMemberWorkDecay {
|
||||
}
|
||||
TeamProfile teamProfile = teamProfileMap.get(target.getTeamId());
|
||||
|
||||
TeamPolicyManager regionPolicyManager =
|
||||
Objects.nonNull(teamProfile) ? policyManagerMap.get(teamProfile.getRegion()) : null;
|
||||
TeamPolicyManager regionPolicyManager = TeamBillCycleUtils.getPolicyFromMap(
|
||||
policyManagerMap,
|
||||
target.getRegion(),
|
||||
target.getCountryCode());
|
||||
|
||||
TeamMemberWorkTargetDTO workTarget = new TeamMemberWorkTargetDTO()
|
||||
.setAcceptGiftValue(target.sumAcceptGiftValue())
|
||||
@ -244,7 +246,7 @@ public class ListMemberWorkDecay {
|
||||
}
|
||||
|
||||
private Map<String, TeamPolicyManager> getPolicyManagerMap(TeamMemberWorkQryCmd query) {
|
||||
return teamPolicyManagerService.mapRegionRelease(listSysRegionConfig(query.getSysOrigin()));
|
||||
return teamPolicyManagerService.mapRegionReleaseWithCountry(listSysRegionConfig(query.getSysOrigin()));
|
||||
}
|
||||
|
||||
private Set<String> listSysRegionConfig(String sysOrigin) {
|
||||
|
||||
@ -194,7 +194,7 @@ public class TeamBillCycleClientServiceImpl implements TeamBillCycleClientServic
|
||||
String regionName = sysRegionConfigService.getRegionName(cmd.getRegion());
|
||||
|
||||
// 获取团队区域政策
|
||||
Map<String, TeamPolicyManager> mapRegionPolicy = mapRegionPolicyManager(cmd);
|
||||
Map<String, TeamPolicyManager> mapRegionPolicy = teamPolicyManagerService.mapRegionReleaseWithCountry(Set.of(cmd.getRegion()));
|
||||
|
||||
// 团队信息
|
||||
Map<Long, TeamProfile> teamProfileMap =
|
||||
@ -302,7 +302,10 @@ public class TeamBillCycleClientServiceImpl implements TeamBillCycleClientServic
|
||||
}
|
||||
|
||||
TeamPolicyManager teamPolicyManager = Objects.isNull(billCycle.getSettleResult())
|
||||
? mapRegionPolicy.get(billCycle.getRegion())
|
||||
? TeamBillCycleUtils.getPolicyFromMap(
|
||||
mapRegionPolicy,
|
||||
target.getRegion(),
|
||||
target.getCountryCode())
|
||||
: teamInfraConvertor.toTeamPolicyManager(billCycle.getSettleResult().getPolicy());
|
||||
|
||||
if (Objects.isNull(teamPolicyManager)) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user