|
|
|
@ -1,5 +1,6 @@ |
|
|
|
package com.project.task.domain.service.impl; |
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
|
import cn.hutool.core.util.StrUtil; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
@ -7,7 +8,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.project.base.domain.exception.MissingParameterException; |
|
|
|
import com.project.base.domain.result.PageResult; |
|
|
|
import com.project.base.domain.result.Result; |
|
|
|
import com.project.base.domain.result.ResultCodeEnum; |
|
|
|
import com.project.base.domain.utils.PageConverter; |
|
|
|
import com.project.ding.domain.dto.UserDTO; |
|
|
|
import com.project.information.application.ProductLineApplicationService; |
|
|
|
@ -39,6 +39,9 @@ public class SearchTaskDomainServiceImpl implements SearchTaskDomainService { |
|
|
|
@Autowired |
|
|
|
private ProductLineApplicationService productLineApplicationService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private ProductLineBaseService productLineBaseService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public Result<PageResult<TaskDTO>> search(TaskParam param) throws Exception { |
|
|
|
LambdaQueryWrapper<TaskEntity> queryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
@ -54,6 +57,17 @@ public class SearchTaskDomainServiceImpl implements SearchTaskDomainService { |
|
|
|
if (Objects.nonNull(param.getBusinessId())) { |
|
|
|
queryWrapper.eq(TaskEntity::getBusinessId , param.getBusinessId()); |
|
|
|
} |
|
|
|
if (StrUtil.isNotBlank(param.getSubLineName())) { |
|
|
|
List<Long> productLineEntityList = productLineBaseService.lambdaQuery().select(ProductLineEntity::getId) |
|
|
|
.like(ProductLineEntity::getName, param.getSubLineName()) |
|
|
|
.eq(ProductLineEntity::getLeaf, Boolean.TRUE).list() |
|
|
|
.stream().map(ProductLineEntity::getId).toList(); |
|
|
|
if (CollUtil.isEmpty(productLineEntityList)) { |
|
|
|
queryWrapper.in(TaskEntity::getSubLineId , List.of(-1L)); |
|
|
|
} else { |
|
|
|
queryWrapper.in(TaskEntity::getSubLineId , productLineEntityList); |
|
|
|
} |
|
|
|
} |
|
|
|
queryWrapper.orderByDesc(TaskEntity::getId); |
|
|
|
IPage<TaskEntity> taskEntityPage = taskMapper.selectPage( |
|
|
|
PageConverter.toMpPage(param), |
|
|
|
|