Browse Source

考试任务新增字段:参与未通过人数,未参与人数

master
luogw 3 months ago
parent
commit
dc8f382ab2
  1. 10
      src/main/java/com/project/task/domain/dto/TaskDTO.java
  2. 17
      src/main/java/com/project/task/domain/service/impl/SearchTaskDomainServiceImpl.java

10
src/main/java/com/project/task/domain/dto/TaskDTO.java

@ -90,6 +90,16 @@ public class TaskDTO extends BaseDTO {
private String classicCategoryParentName;
/**
* 参与未通过人数
*/
private Integer notPassNum;
/**
* 未参与人数
*/
private Integer notParticipatedNum;
// =============== V1.1 新增字段 结束 ============
}

17
src/main/java/com/project/task/domain/service/impl/SearchTaskDomainServiceImpl.java

@ -27,6 +27,7 @@ import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
@Service
@ -90,17 +91,31 @@ public class SearchTaskDomainServiceImpl implements SearchTaskDomainService {
} else {
dto.setStatusText(TaskStatusEnum.Cut_Off.getValue());
}
//统计已通过人数、参与未通过、未参与人数
AtomicInteger passedNum = new AtomicInteger();
AtomicInteger notPassedNum = new AtomicInteger();
AtomicInteger notParticipatedNum = new AtomicInteger();
// 构造参与用户
List<UserDTO> participantUserDTOList = taskUserBaseService.lambdaQuery()
.eq(TaskUserEntity::getTaskId , dto.getId())
.select(TaskUserEntity::getUserId, TaskUserEntity::getUserName)
.select(TaskUserEntity::getUserId, TaskUserEntity::getUserName, TaskUserEntity::getStatus)
.list().stream().map(taskUserEntity -> {
UserDTO userDTO = new UserDTO();
userDTO.setId(taskUserEntity.getUserId());
userDTO.setName(taskUserEntity.getUserName());
switch (taskUserEntity.getStatus()) {
case 0 -> notParticipatedNum.getAndIncrement();
case 1 -> notPassedNum.getAndIncrement();
case 2 -> passedNum.getAndIncrement();
}
return userDTO;
}).toList();
dto.setPassNum(passedNum.get());
dto.setNotPassNum(notPassedNum.get());
dto.setNotParticipatedNum(notParticipatedNum.get());
//获取子产品线名称
String subLineName = productLineApplicationService.searchLineNameById(dto.getSubLineId());
dto.setSubLineName(subLineName);

Loading…
Cancel
Save