新增我的当天task接口

This commit is contained in:
tianfeng 2025-08-18 19:53:28 +08:00
parent a2da133ed3
commit 18c6dd5dee
6 changed files with 67 additions and 10 deletions

View File

@ -418,6 +418,15 @@ public class TeamRestController extends BaseController {
return teamService.listMemberWorkStatistics(cmd);
}
/**
* 成员当天目标
*/
@GetMapping("/member/work/statistics-now")
public AnchorWorkStatisticsCO nowMemberWorkStatistics(
@Validated DateTypeQryCmd cmd) {
return teamService.nowMemberWorkStatistics(cmd);
}
/**
* 检查主播身份.
*

View File

@ -15,6 +15,8 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import com.red.circle.tool.core.date.ZonedDateTimeAsiaRiyadhUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
@ -40,7 +42,7 @@ public class TeamHistoryWorkCountQryExe {
}
List<TeamMemberTarget> teamMemberTargets = teamMemberTargetService.listMemberTarget(
teamMember.getTeamId(), teamMember.getMemberId());
teamMember.getTeamId(), teamMember.getMemberId(), null);
if (Objects.isNull(teamMemberTargets)) {
return Lists.newArrayList();
@ -53,6 +55,36 @@ public class TeamHistoryWorkCountQryExe {
return toMonth(teamMemberTargets);
}
public AnchorWorkStatisticsCO executeNow(DateTypeQryCmd cmd) {
TeamMember teamMember = teamMemberService.getByMemberId(cmd.getMemberId());
if (Objects.isNull(teamMember)) {
return null;
}
List<TeamMemberTarget> teamMemberTargets = teamMemberTargetService.listMemberTarget(
teamMember.getTeamId(), teamMember.getMemberId(), ZonedDateTimeAsiaRiyadhUtils.nowYearMonthToInt());
if (CollectionUtils.isEmpty(teamMemberTargets)) {
return null;
}
Integer i = ZonedDateTimeAsiaRiyadhUtils.nowDateToInt();
return teamMemberTargets.get(0).getDailyTargets().stream()
.filter(Objects::nonNull)
.filter(e -> Objects.equals(e.getDateNumber(), ZonedDateTimeAsiaRiyadhUtils.nowDateToInt()))
.map(dailyTarget -> new AnchorWorkStatisticsCO()
.setId(teamMemberTargets.get(0).getTimeId())
.setOwnTime(dailyTarget.getOwnOnlineTime())
.setOtherTime(dailyTarget.getOtherOnlineTime())
.setAcceptGiftValue(dailyTarget.getAcceptGiftValue())
.setTitle(Objects.toString(dailyTarget.getDateNumber()))
.setCreateTime(dailyTarget.getCreateTime()))
.findFirst().orElse(null);
}
private List<AnchorWorkStatisticsCO> toMonth(List<TeamMemberTarget> teamMemberTargets) {
Map<String, TeamBillCycle> teamBillCycleMap = teamBillCycleService.mapByBillIds(
@ -96,7 +128,7 @@ public class TeamHistoryWorkCountQryExe {
return target.getDailyTargets().stream()
.map(dailyTarget -> new AnchorWorkStatisticsCO()
.setId(target.getTimeId())
.setOtherTime(dailyTarget.getOwnOnlineTime())
.setOwnTime(dailyTarget.getOwnOnlineTime())
.setOtherTime(dailyTarget.getOtherOnlineTime())
.setAcceptGiftValue(dailyTarget.getAcceptGiftValue())
.setTitle(Objects.toString(dailyTarget.getDateNumber()))

View File

@ -255,6 +255,11 @@ public class TeamServiceImpl implements TeamService {
return teamAppMemberWorkCountQryExe.execute(cmd);
}
@Override
public AnchorWorkStatisticsCO nowMemberWorkStatistics(DateTypeQryCmd cmd) {
return teamAppMemberWorkCountQryExe.executeNow(cmd);
}
@Override
public boolean checkAnchor(AppExtCommand cmd) {
return teamMemberExistsQryExe.execute(cmd);

View File

@ -178,7 +178,13 @@ public interface TeamService {
*/
List<AnchorWorkStatisticsCO> listMemberWorkStatistics(DateTypeQryCmd cmd);
/**
/**
* 我的当天情况统计.
*/
AnchorWorkStatisticsCO nowMemberWorkStatistics(DateTypeQryCmd cmd);
/**
* 是否是主播身份.
*
* @return true false 不是

View File

@ -88,7 +88,7 @@ public interface TeamMemberTargetService {
/**
* 获取用户账单信息.
*/
List<TeamMemberTarget> listMemberTarget(Long teamId, Long memberId);
List<TeamMemberTarget> listMemberTarget(Long teamId, Long memberId, Integer billBelong);
/**
* 获取工作情况.

View File

@ -246,12 +246,17 @@ public class TeamMemberTargetServiceImpl implements TeamMemberTargetService {
}
@Override
public List<TeamMemberTarget> listMemberTarget(Long teamId, Long memberId) {
return mongoTemplate.find(Query.query(Criteria.where("userId").is(memberId)
.and("history").is(Boolean.FALSE)
.and("teamId").is(teamId))
.with(Sort.by(Order.desc("teamBillCycleId"))),
TeamMemberTarget.class);
public List<TeamMemberTarget> listMemberTarget(Long teamId, Long memberId, Integer billBelong) {
Criteria criteria = Criteria.where("userId").is(memberId)
.and("history").is(Boolean.FALSE)
.and("teamId").is(teamId);
if (billBelong != null) {
criteria.and("billBelong").is(billBelong);
}
return mongoTemplate.find(Query.query(criteria)
.with(Sort.by(Order.desc("teamBillCycleId"))), TeamMemberTarget.class);
}
@Override