结算h5账单显示问题修复

This commit is contained in:
tianfeng 2025-10-17 11:31:00 +08:00
parent 5b61b43b4f
commit 03131de124
3 changed files with 11 additions and 82 deletions

View File

@ -108,10 +108,6 @@ public class TeamMemberWorkQryExe {
unpaidBillCycles.stream().map(TeamBillCycle::getRegion).collect(Collectors.toSet())
);
Map<Integer, Long> monthDiamondMap = salaryDiamondRunningWaterClient.getDiamondData(teamMember.getMemberId(), true).getBody();
Map<Integer, Long> 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<String, String> metadata = getMetadata(regionConfig);
boolean isOpenDailyAutoSalary = isOpenDailyAutoSalary(metadata);
if (Objects.equals(TeamPolicyTypeEnum.SALARY_DIAMOND.name(), policy.getPolicyType())
&& Boolean.TRUE.equals(isOpenDailyAutoSalary)) {
List<TeamMemberWorkBillCO> 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<TeamMemberTargetIndex> 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;
}

View File

@ -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);
});
// });
}
/**

View File

@ -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<String, String> metadata = getMetadata(regionConfig);
boolean isOpenDailyAutoSalary = isOpenDailyAutoSalary(metadata);
log.warn("实时更新钻石账单周期:" + teamBillCycle.getBillBelong() + ",数据:" + teamBillMemberTargets + "\n" +
"实时更新钻石账单政策类型:" + regionPolicyManager.getPolicyType() + "\n" +
"区域账单配置" + regionConfig);
if (Boolean.TRUE.equals(isOpenDailyAutoSalary)) {
// 钻石日结暂时这样写
List<TeamBillMemberTarget> 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());
}