diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/team/TeamBillSettleListener.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/team/TeamBillSettleListener.java index c805ddb1..77d0c241 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/team/TeamBillSettleListener.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/team/TeamBillSettleListener.java @@ -149,24 +149,8 @@ public class TeamBillSettleListener implements MessageListener { return; } - Integer billBelong = teamBillCycle.getBillBelong(); - Integer batchNumber = TeamBillCycleUtils.extractBatch(billBelong); - List teamMemberTargets; - - if (batchNumber != null && batchNumber == 2) { - teamMemberTargets = teamMemberTargetService.listByMonthlyBillBelong( - teamBillCycle.getTeamId(), - TeamBillCycleUtils.extractMonth(billBelong) - ); - } else { - // 上半月结算:直接查询当前批次数据 - teamMemberTargets = teamMemberTargetService.listByBillBelong( - teamBillCycle.getTeamId(), - billBelong - ); - } - - log.warn("团队账单结算teamMemberTargets."+teamMemberTargets); + List teamMemberTargets = getTeamMemberTargets(teamBillCycle); + log.warn("团队账单结算teamMemberTargets."+teamMemberTargets); // 获得区域配置细信息 SysRegionConfig regionConfig = sysRegionConfigService.getById(teamProfile.getRegion()); @@ -228,7 +212,27 @@ public class TeamBillSettleListener implements MessageListener { } } - private List calculatorTarget(List teamMemberTargets, + private List getTeamMemberTargets(TeamBillCycle teamBillCycle) { + Integer billBelong = teamBillCycle.getBillBelong(); + Integer batchNumber = TeamBillCycleUtils.extractBatch(billBelong); + List teamMemberTargets; + + if (batchNumber != null && batchNumber == 2) { + teamMemberTargets = teamMemberTargetService.listByMonthlyBillBelong( + teamBillCycle.getTeamId(), + TeamBillCycleUtils.extractMonth(billBelong) + ); + } else { + // 上半月结算:直接查询当前批次数据 + teamMemberTargets = teamMemberTargetService.listByBillBelong( + teamBillCycle.getTeamId(), + billBelong + ); + } + return teamMemberTargets; + } + + private List calculatorTarget(List teamMemberTargets, TeamPolicyManager regionPolicyManager) { //2fun新增钻石政策 if (Objects.isNull(regionPolicyManager.getPolicyType()) || Objects.equals("MONEY", regionPolicyManager.getPolicyType())) { diff --git a/rc-service/rc-service-other/other-start/src/test/java/TeamMonthBillTest.java b/rc-service/rc-service-other/other-start/src/test/java/TeamMonthBillTest.java index 4a35a4e8..501a3b93 100644 --- a/rc-service/rc-service-other/other-start/src/test/java/TeamMonthBillTest.java +++ b/rc-service/rc-service-other/other-start/src/test/java/TeamMonthBillTest.java @@ -103,9 +103,7 @@ public class TeamMonthBillTest { teamBillCycle.getSysOrigin(), teamBillCycle.getRegion() ); - List teamMemberTargets = teamMemberTargetService.listByBillBelong( - teamBillCycle.getTeamId(), - teamBillCycle.getBillBelong()); + List teamMemberTargets = getTeamMemberTargets(teamBillCycle); List teamBillMemberTargets = TeamBillCycleUtils.calculatorPolicyTarget(teamMemberTargets, regionPolicyManager); @@ -127,8 +125,31 @@ public class TeamMonthBillTest { System.out.printf("拥有者工资: %s%n", settleResult.getOwnSalary()); System.out.printf("工资合计: %s%n", settleResult.getTotalSalary()); System.out.println("======================================="); + + + } + private List getTeamMemberTargets(TeamBillCycle teamBillCycle) { + Integer billBelong = teamBillCycle.getBillBelong(); + Integer batchNumber = TeamBillCycleUtils.extractBatch(billBelong); + List teamMemberTargets; + + if (batchNumber != null && batchNumber == 2) { + teamMemberTargets = teamMemberTargetService.listByMonthlyBillBelong( + teamBillCycle.getTeamId(), + TeamBillCycleUtils.extractMonth(billBelong) + ); + } else { + // 上半月结算:直接查询当前批次数据 + teamMemberTargets = teamMemberTargetService.listByBillBelong( + teamBillCycle.getTeamId(), + billBelong + ); + } + return teamMemberTargets; + } + private int countWorkMembers(List teamMemberTargets) { return CollectionUtils.isNotEmpty(teamMemberTargets) ? teamMemberTargets.size() : 0; }