主播代理工资查询修改

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

View File

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

View File

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