|
|
|
@ -47,16 +47,16 @@ public class SearchTaskDomainServiceImpl implements SearchTaskDomainService { |
|
|
|
public Result<PageResult<TaskDTO>> search(TaskParam param) throws Exception { |
|
|
|
LambdaQueryWrapper<TaskEntity> queryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
if (param.getName() != null && StrUtil.isNotBlank(param.getName().trim())) { |
|
|
|
queryWrapper.like(TaskEntity::getName , param.getName().trim()); |
|
|
|
queryWrapper.like(TaskEntity::getName, param.getName().trim()); |
|
|
|
} |
|
|
|
if (Objects.nonNull(param.getLineId())) { |
|
|
|
queryWrapper.eq(TaskEntity::getLineId , param.getLineId()); |
|
|
|
queryWrapper.eq(TaskEntity::getLineId, param.getLineId()); |
|
|
|
} |
|
|
|
if (Objects.nonNull(param.getSubLineId())) { |
|
|
|
queryWrapper.eq(TaskEntity::getSubLineId , param.getSubLineId()); |
|
|
|
queryWrapper.eq(TaskEntity::getSubLineId, param.getSubLineId()); |
|
|
|
} |
|
|
|
if (Objects.nonNull(param.getBusinessId())) { |
|
|
|
queryWrapper.eq(TaskEntity::getBusinessId , param.getBusinessId()); |
|
|
|
queryWrapper.eq(TaskEntity::getBusinessId, param.getBusinessId()); |
|
|
|
} |
|
|
|
if (StrUtil.isNotBlank(param.getSubLineName())) { |
|
|
|
List<Long> productLineEntityList = productLineBaseService.lambdaQuery().select(ProductLineEntity::getId) |
|
|
|
@ -64,11 +64,27 @@ public class SearchTaskDomainServiceImpl implements SearchTaskDomainService { |
|
|
|
.eq(ProductLineEntity::getLeaf, Boolean.TRUE).list() |
|
|
|
.stream().map(ProductLineEntity::getId).toList(); |
|
|
|
if (CollUtil.isEmpty(productLineEntityList)) { |
|
|
|
queryWrapper.in(TaskEntity::getSubLineId , List.of(-1L)); |
|
|
|
queryWrapper.in(TaskEntity::getSubLineId, List.of(-1L)); |
|
|
|
} else { |
|
|
|
queryWrapper.in(TaskEntity::getSubLineId , productLineEntityList); |
|
|
|
queryWrapper.in(TaskEntity::getSubLineId, productLineEntityList); |
|
|
|
} |
|
|
|
} |
|
|
|
// 考试状态过滤
|
|
|
|
Date endOfToday = DateUtil.endOfDay(new Date()); |
|
|
|
Date beginOfToday = DateUtil.beginOfDay(new Date()); |
|
|
|
// 待开考:开始时间大于当前
|
|
|
|
if (StrUtil.equals(param.getTaskStatus(), TaskStatusEnum.Not_Start.name())) { |
|
|
|
queryWrapper.gt(TaskEntity::getStartTime, endOfToday); |
|
|
|
} |
|
|
|
// 已截止:结束时间小于当前
|
|
|
|
if (StrUtil.equals(param.getTaskStatus(), TaskStatusEnum.Cut_Off.name())) { |
|
|
|
queryWrapper.lt(TaskEntity::getEndTime, beginOfToday); |
|
|
|
} |
|
|
|
// 已开考
|
|
|
|
if (StrUtil.equals(param.getTaskStatus(), TaskStatusEnum.In_Progress.name())) { |
|
|
|
queryWrapper.le(TaskEntity::getStartTime, endOfToday); |
|
|
|
queryWrapper.ge(TaskEntity::getEndTime, beginOfToday); |
|
|
|
} |
|
|
|
queryWrapper.orderByDesc(TaskEntity::getId); |
|
|
|
IPage<TaskEntity> taskEntityPage = taskMapper.selectPage( |
|
|
|
PageConverter.toMpPage(param), |
|
|
|
|