主播代理工资查询修改

This commit is contained in:
tianfeng 2025-11-14 14:30:00 +08:00
parent 5ce1a14341
commit 64e7858f1a
4 changed files with 23 additions and 14 deletions

View File

@ -91,8 +91,7 @@ public class TeamBillQryExe {
*/
public List<TeamBillCO> executeAgent(AppIdLongCmd cmd) {
List<TeamBillCycle> teamBillCycles = teamBillCycleService.listLatestBill(cmd.getId(),
PageConstant.MAX_LIMIT_SIZE);
List<TeamBillCycle> teamBillCycles = teamBillCycleService.listLatestBill(cmd.getId(), 2);
if (CollectionUtils.isEmpty(teamBillCycles)) {
return Lists.newArrayList();

View File

@ -10,12 +10,11 @@ import com.red.circle.other.infra.database.mongo.entity.team.team.TeamMemberTarg
import com.red.circle.other.infra.database.mongo.service.team.team.TeamBillCycleService;
import com.red.circle.other.infra.database.mongo.service.team.team.TeamMemberService;
import com.red.circle.other.infra.database.mongo.service.team.team.TeamMemberTargetService;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
import com.red.circle.other.inner.enums.team.TeamMemberTargetIndex;
import com.red.circle.tool.core.date.ZonedDateTimeAsiaRiyadhUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
@ -65,17 +64,22 @@ public class TeamHistoryWorkCountQryExe {
return null;
}
List<TeamMemberTarget> teamMemberTargets = teamMemberTargetService.listMemberTarget(
List<TeamMemberTarget> teamMemberTargets = teamMemberTargetService.listMemberMonthlyTarget(
teamMember.getTeamId(), teamMember.getMemberId(), ZonedDateTimeAsiaRiyadhUtils.nowYearMonthToInt());
if (CollectionUtils.isEmpty(teamMemberTargets)) {
return null;
}
Integer i = ZonedDateTimeAsiaRiyadhUtils.nowDateToInt();
return teamMemberTargets.get(0).getDailyTargets().stream()
List<TeamMemberTargetIndex> dailyTargets = Lists.newArrayList();
teamMemberTargets.forEach(teamMemberTarget -> {
dailyTargets.addAll(teamMemberTarget.getDailyTargets());
});
return dailyTargets.stream()
.filter(Objects::nonNull)
.filter(e -> Objects.equals(e.getDateNumber(), ZonedDateTimeAsiaRiyadhUtils.nowDateToInt()))
.sorted(Comparator.comparing(TeamMemberTargetIndex::getUpdateTime).reversed())
.map(dailyTarget -> new AnchorWorkStatisticsCO()
.setId(teamMemberTargets.get(0).getTimeId())
.setOwnTime(dailyTarget.getOwnOnlineTime())

View File

@ -84,7 +84,7 @@ public class TeamMemberWorkQryExe {
LocalDateTimeUtils.convert(teamMember.getCreateTime().getTime()), "yyyyMM"));
List<TeamBillCycle> teamBillCycles = teamBillCycleService.listByGeBillBelong(
teamMember.getTeamId(), billBelong, PageConstant.MAX_LIMIT_SIZE);
teamMember.getTeamId(), billBelong, 2);
if (CollectionUtils.isEmpty(teamBillCycles)) {
return new TeamMemberWorkCO()

View File

@ -661,11 +661,13 @@ public class TeamMemberTargetServiceImpl implements TeamMemberTargetService {
@Override
public List<TeamMemberTarget> listByMonthlyBillBelong(Long teamId, Integer monthlyBillBelong) {
// 构造查询条件billBelong 前6位匹配月度账期
// 例如monthlyBillBelong = 202511匹配 20251101 20251116
long prefix = monthlyBillBelong.longValue();
long min = prefix * 100L + 1; // 202511 20251101
long max = (prefix + 1) * 100L - 1; // 202511 20251199
Criteria criteria = Criteria.where("teamId").is(teamId)
.and("history").is(Boolean.FALSE)
.and("billBelong").regex("^" + monthlyBillBelong);
.and("billBelong").gte(min).lte(max);
return mongoTemplate.find(Query.query(criteria)
.with(Sort.by(Order.asc("billBelong"))),
@ -674,11 +676,15 @@ public class TeamMemberTargetServiceImpl implements TeamMemberTargetService {
@Override
public List<TeamMemberTarget> listMemberMonthlyTarget(Long teamId, Long userId, Integer monthlyBillBelong) {
long prefix = monthlyBillBelong.longValue();
long min = prefix * 100L + 1; // 202511 20251101
long max = (prefix + 1) * 100L - 1; // 202511 20251199
// 查询指定用户在指定月份的所有目标记录
Criteria criteria = Criteria.where("teamId").is(teamId)
.and("userId").is(userId)
.and("history").is(Boolean.FALSE)
.and("billBelong").regex("^" + monthlyBillBelong);
.and("billBelong").gte(min).lte(max);
return mongoTemplate.find(Query.query(criteria)
.with(Sort.by(Order.asc("billBelong"))),