diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/team/query/TeamMemberWorkQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/team/query/TeamMemberWorkQryExe.java index 4ee7d048..ed554d69 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/team/query/TeamMemberWorkQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/team/query/TeamMemberWorkQryExe.java @@ -108,10 +108,6 @@ public class TeamMemberWorkQryExe { unpaidBillCycles.stream().map(TeamBillCycle::getRegion).collect(Collectors.toSet()) ); - - Map monthDiamondMap = salaryDiamondRunningWaterClient.getDiamondData(teamMember.getMemberId(), true).getBody(); - Map dayDiamondMap = salaryDiamondRunningWaterClient.getDiamondData(teamMember.getMemberId(), false).getBody(); - TeamMemberWorkCO teamMemberWorkCO = new TeamMemberWorkCO() .setMemberProfile(userProfile) .setTargets(teamBillCycles.stream() @@ -131,7 +127,6 @@ public class TeamMemberWorkQryExe { .setId(target.getTimeId()) .setAcceptGiftValue(target.sumAcceptGiftValue()) .setAcceptGiftValueFormat(NumUtils.formatLong(target.sumAcceptGiftValue())) - .setAcceptDiamondValue(monthDiamondMap.get(target.getBillBelong())) .setOnlineTime(target.sumAllTargetTime()) .setEffectiveDay(target.sumEffectiveDay()) .setDailyTargets(target.getDailyTargets().stream() @@ -140,7 +135,6 @@ public class TeamMemberWorkQryExe { .map(dailyTarget -> new TeamMemberWorkDailyTargetCO() .setOnlineTime(dailyTarget.allOnlineTime()) .setAcceptGiftValue(dailyTarget.getAcceptGiftValue()) - .setAcceptDiamondValue(dayDiamondMap.get(dailyTarget.getDateNumber())) .setDateNumber(dailyTarget.getDateNumber()) .setCreateTime(dailyTarget.getCreateTime()) ) @@ -168,55 +162,6 @@ public class TeamMemberWorkQryExe { return co; }).collect(Collectors.toList()) ); - - if (Objects.isNull(teamBillCycles.get(0).getRegion())) { - return teamMemberWorkCO; - } - // 经产品和运营确认,如果是钻石政策并且是日结区域,我的工作列表修改显示日账单列表 - TeamPolicyManager policy = regionPolicy.get(teamBillCycles.get(0).getRegion()); - if (policy != null) { - SysRegionConfig regionConfig = sysRegionConfigService.getById(policy.getRegion()); - Map metadata = getMetadata(regionConfig); - boolean isOpenDailyAutoSalary = isOpenDailyAutoSalary(metadata); - if (Objects.equals(TeamPolicyTypeEnum.SALARY_DIAMOND.name(), policy.getPolicyType()) - && Boolean.TRUE.equals(isOpenDailyAutoSalary)) { - - List targets = new ArrayList<>(); - for(TeamMemberWorkBillCO billCO : teamMemberWorkCO.getTargets()) { - if (Objects.isNull(billCO.getTarget())) { - continue; - } - for (TeamMemberWorkDailyTargetCO dailyTarget : billCO.getTarget().getDailyTargets()) { - TeamMemberWorkBillCO billInfo = teamAppConvertor.toTeamMemberWorkBillCO(billCO); - billInfo.setMemberTargetStatus(TeamMemberTargetStatus.AUTO.name()); - billInfo.setBillDayTitle(dailyTarget.getDateNumber() + ""); - if (dailyTarget.getDateNumber().equals(ZonedDateTimeAsiaRiyadhUtils.nowDateToInt())) { - billInfo.setGoldStatus(Boolean.TRUE); - billInfo.setStatus(TeamBillCycleStatus.UNPAID.name()); - } else { - billInfo.setGoldStatus(Boolean.FALSE); - billInfo.setStatus(TeamBillCycleStatus.PAY_OUT.name()); - } - TeamMemberWorkTargetCO memberWorkTarget = new TeamMemberWorkTargetCO(); - memberWorkTarget.setOnlineTime(dailyTarget.getOnlineTime()); - memberWorkTarget.setAcceptGiftValue(dailyTarget.getAcceptGiftValue()); - memberWorkTarget.setAcceptGiftValueFormat(NumUtils.formatLong(dailyTarget.getAcceptGiftValue())); - memberWorkTarget.setDailyTargets(billCO.getTarget().getDailyTargets().stream().filter(item -> item.getDateNumber().equals(dailyTarget.getDateNumber())).toList()); - - TeamMemberTarget memberTarget = teamAppConvertor.toTeamMemberTarget(teamMemberTargetMap.get(billCO.getBillBelong())); - List targetIndices = filter(memberTarget.getDailyTargets(), dailyTarget.getDateNumber()); - memberTarget.setDailyTargets(targetIndices); - TeamBillMemberTarget teamBillMemberTarget = calculatorDiamondTarget(memberTarget, policy, dailyTarget.getDateNumber()); - memberWorkTarget.setSettlementResult( - teamAppConvertor.toTeamMemberTargetSettlementResultCO(teamBillMemberTarget) - ); - billInfo.setTarget(memberWorkTarget); - targets.add(billInfo); - } - } - teamMemberWorkCO.setTargets(targets); - } - } return teamMemberWorkCO; } diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/gift/strategy/GiftAnchorCountStrategy.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/gift/strategy/GiftAnchorCountStrategy.java index a889e84d..d082b0b6 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/gift/strategy/GiftAnchorCountStrategy.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/gift/strategy/GiftAnchorCountStrategy.java @@ -173,10 +173,10 @@ public class GiftAnchorCountStrategy implements GiftStrategy { } giftGiveRunningWaterService.addLog(runningWater.getId(), "结束:主播统计相关"); - CompletableFuture.runAsync(() -> { - log.warn("异步同步钻石情况{}", teamIds); +// CompletableFuture.runAsync(() -> { +// log.warn("异步同步钻石情况{}", teamIds); // initProfilesDiamond(teamIds, giftAcceptUsers); - }); +// }); } /** diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/team/TeamSalaryCountListener.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/team/TeamSalaryCountListener.java index 3fb35989..716b84a6 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/team/TeamSalaryCountListener.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/listener/team/TeamSalaryCountListener.java @@ -29,6 +29,7 @@ import com.red.circle.other.infra.database.rds.entity.team.BillDiamondBalanceDet import com.red.circle.other.infra.database.rds.service.team.BillDiamondBalanceDetailsService; import com.red.circle.other.infra.database.rds.service.team.BillDiamondBalanceService; import com.red.circle.other.inner.enums.team.TeamPolicyTypeEnum; +import com.red.circle.other.inner.model.cmd.team.TeamBillCmd; import com.red.circle.tool.core.collection.CollectionUtils; import java.math.BigDecimal; import java.math.RoundingMode; @@ -93,6 +94,13 @@ public class TeamSalaryCountListener implements MessageListener { return; } + teamBillCycleService.createIfAbsent(new TeamBillCmd() + .setSysOrigin(teamProfile.getSysOrigin()) + .setTeamId(teamProfile.getId()) + .setRegion(teamProfile.getRegion()) + .setOperationTime(TimestampUtils.now()) + .setOperationBackUser(teamProfile.getCreateUser())); + TeamBillCycle teamBillCycle = getTeamUnpaidBill(teamProfile.getId()); if (Objects.isNull(teamBillCycle)) { log.warn("[团队工资实时统计消息]该团队没有未出账账单数据,团队ID:{}", teamProfile.getId()); @@ -127,30 +135,6 @@ public class TeamSalaryCountListener implements MessageListener { .setTotalSalary(ownTotalSalary(teamBillMemberTargets)) ) ); - - // 实时更新修改用户账单钻石余额 - /*if (Objects.equals(TeamPolicyTypeEnum.SALARY_DIAMOND.name(), regionPolicyManager.getPolicyType())) { - SysRegionConfig regionConfig = sysRegionConfigService.getById(teamBillCycle.getRegion()); - Map metadata = getMetadata(regionConfig); - boolean isOpenDailyAutoSalary = isOpenDailyAutoSalary(metadata); - log.warn("实时更新钻石账单周期:" + teamBillCycle.getBillBelong() + ",数据:" + teamBillMemberTargets + "\n" + - "实时更新钻石账单政策类型:" + regionPolicyManager.getPolicyType() + "\n" + - "区域账单配置" + regionConfig); - - if (Boolean.TRUE.equals(isOpenDailyAutoSalary)) { - // 钻石日结,暂时这样写 - List teamBillMemberDayTargets = calculatorDayTarget(teamMemberTargets, - regionPolicyManager); - CompletableFuture.runAsync(() -> { - addDayBillDiamondBalance(teamBillMemberDayTargets, teamProfile, teamBillCycle); - }); - } else { - CompletableFuture.runAsync(() -> { - addBillDiamondBalance(teamBillMemberTargets, teamProfile, teamBillCycle); - }); - } - }*/ - } catch (Exception ex) { log.error("[团队工资实时统计消息]计算账单错误,团队ID:{}", teamProfile.getId()); }