diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/service/team/TeamBillCycleUtils.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/service/team/TeamBillCycleUtils.java index 993a3ea5..28198850 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/service/team/TeamBillCycleUtils.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/mongo/service/team/TeamBillCycleUtils.java @@ -218,14 +218,21 @@ public final class TeamBillCycleUtils { continue; } - resultTarget.setMemberSalary(teamPolicy.getMemberSalary()); - resultTarget.setOwnSalary(teamPolicy.getOwnSalary()); - resultTarget.setTotalSalary(teamPolicy.getTotalSalary()); + Integer policyEffectiveDay = NumUtils.isNullDefaultZero(teamPolicy.getEffectiveDay()); + if (targetTimeHours >= policyOnlineTimeHours && effectiveDay >= policyEffectiveDay) { + resultTarget.setMemberSalary(teamPolicy.getMemberSalary()); + resultTarget.setOwnSalary(teamPolicy.getOwnSalary()); + resultTarget.setTotalSalary(teamPolicy.getTotalSalary()); + return resultTarget; + } else { + resultTarget.setMemberSalary(teamPolicy.getMemberSalary().multiply(new BigDecimal("0.9")).setScale(2, RoundingMode.DOWN)); + resultTarget.setTotalSalary(teamPolicy.getMemberSalary().multiply(new BigDecimal("0.9")).setScale(2, RoundingMode.DOWN)); + } - resultTarget.setLevel(teamPolicy.getLevel()); - resultTarget.setSatisfyLevel(Boolean.TRUE); - resultTarget.setPropsRewards(teamPolicy.getPropsRewards()); - return resultTarget; + resultTarget.setLevel(teamPolicy.getLevel()); + resultTarget.setSatisfyLevel(Boolean.TRUE); + resultTarget.setPropsRewards(teamPolicy.getPropsRewards()); + return resultTarget; } return resultTarget; }).filter(Objects::nonNull).collect(Collectors.toList());