无关风月
1 天以前 581a4811fb62fcfef4e6a19cc67e095a167f139d
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTaskCleanServiceImpl.java
@@ -106,16 +106,50 @@
    @Override
    public PageInfo<TaskUserListVO> pageListUser(TaskUserListQuery query) {
        PageInfo<TaskUserListVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TaskUserListVO> list = this.baseMapper.pageListUser(query,pageInfo);
        List<TaskUserListVO> list = this.baseMapper.pageListUser(query);
        List<TTaskDetail> taskDetails = taskDetailMapper.selectList(Wrappers.lambdaQuery(TTaskDetail.class)
                .eq(TTaskDetail::getHandleType,1)
                .orderByDesc(TTaskDetail::getCreateTime));
        taskDetails = new ArrayList<>(taskDetails.stream()
                .collect(Collectors.groupingBy(
                        TTaskDetail::getTaskId,
                        Collectors.collectingAndThen(
                                Collectors.toList(),
                                listAll -> listAll.get(0)
                        )
                ))
                .values());
        for (TaskUserListVO taskUserListVO : list) {
            TTaskDetail tTaskDetail = taskDetails.stream().filter(e -> e.getTaskId().equals(taskUserListVO.getId()))
                    .findFirst().orElse(null);
            if (tTaskDetail!=null){
                if (tTaskDetail.getClearStatus()==1){
                    taskUserListVO.setStatus(5);
                }else{
                    taskUserListVO.setStatus(4);
                }
            }
            if (taskUserListVO.getDistance()!=null){
                taskUserListVO.setDistance(taskUserListVO.getDistance().divide(new BigDecimal("1000"),2, RoundingMode.HALF_DOWN));
            }else{
                taskUserListVO.setDistance(new BigDecimal("0"));
            }
        }
        pageInfo.setRecords(list);
        List<TaskUserListVO> res = new ArrayList<>();
        if (query.getClearStatus()!=null){
            for (TaskUserListVO taskUserListVO : list) {
                if (taskUserListVO.getClearStatus().equals(query.getClearStatus())){
                    res.add(taskUserListVO);
                }
            }
            pageInfo.setRecords(res);
            pageInfo.setTotal(res.size());
        }else{
            pageInfo.setRecords(list);
            pageInfo.setTotal(list.size());
        }
        return pageInfo;
    }
@@ -204,5 +238,10 @@
        return this.baseMapper.indexTask(dto);
    }
    @Override
    public List<TTask> getTaskByIds(List<String> collect1,String lon,String lat) {
        return this.baseMapper.getTaskByIds(collect1,lon,lat);
    }
}