无关风月
2026-02-24 32063e565deaf03a0cc8abf1fafd146cc4e4d421
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
@@ -82,6 +82,8 @@
    @Autowired
    private XpVehicleClient xpVehicleClient;
    @Autowired
    private XpTaskRuleMapper xpTaskRuleMapper;
    @Override
    public PageInfo<WorkBenchVO> workbench(WorkBenchQuery query) {
        PageInfo<WorkBenchVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
@@ -123,6 +125,12 @@
        }
        PageInfo<TaskPageListVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TaskPageListVO> list = this.baseMapper.pageList(pageInfo, query);
        XpTaskRule xpTaskRule = xpTaskRuleMapper.selectOne(new LambdaQueryWrapper<XpTaskRule>().last("limit 1"));
        if (Objects.nonNull(xpTaskRule)) {
            list.stream().filter(item -> item.getTaskCategory().equals(2)).forEach(item->{
                item.setCanArriveRange(xpTaskRule.getCanArriveRange());
            });
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
@@ -177,6 +185,8 @@
        res.setTaskCode(task.getTaskCode());
        res.setTaskCategory(task.getTaskCategory());
        res.setTaskTypeId(task.getTaskTypeId());
        res.setVehicleLon(task.getVehicleLon());
        res.setVehicleLat(task.getVehicleLat());
        Map<Long, List<XpErrorType>> errorType = errorTypeMapper.selectList(new LambdaQueryWrapper<XpErrorType>()
                        .in(XpErrorType::getId, Arrays.asList(task.getTaskTypeId().split(","))))
                .stream().collect(Collectors.groupingBy(XpErrorType::getParentId));
@@ -188,6 +198,10 @@
        res.setStatus(task.getStatus());
        res.setTaskDescription(task.getTaskDescription());
        res.setTaskImage(task.getTaskImage());
        XpTaskRule xpTaskRule = xpTaskRuleMapper.selectOne(new LambdaQueryWrapper<XpTaskRule>().last("limit 1"));
        if (Objects.nonNull(xpTaskRule)) {
            res.setCanArriveRange(xpTaskRule.getCanArriveRange());
        }
        return R.ok(res);
    }
@@ -241,6 +255,9 @@
        res.setId(id);
        res.setTaskUrgencyLevel(task.getTaskUrgencyLevel());
        res.setEndTime(task.getEndTime());
        res.setVehicleId(task.getVehicleId());
        res.setVehicleLat(task.getVehicleLat());
        res.setVehicleLon(task.getVehicleLon());
        res.setPlateNumber(vehicle.getPlateNumber());
        res.setVehicleColor(vehicle.getVehicleColor());
        res.setVehicleCode(vehicle.getVehicleCode());
@@ -253,6 +270,14 @@
        res.setStatus(task.getStatus());
        res.setTaskDescription(task.getTaskDescription());
        res.setTaskImage(task.getTaskImage());
        res.setHandleUserId(task.getHandleUserId());
        res.setHandleTime(task.getHandleTime());
        if (Objects.nonNull(task.getHandleUserId())) {
            XpOperationsUser data = xpOperationUserClient.queryById(task.getHandleUserId()).getData();
            if (Objects.nonNull(data)) {
                res.setHandleUserName(data.getNickName());
            }
        }
        return R.ok(res);
    }
@@ -697,4 +722,16 @@
    public void deleteTaskById(Long id) {
        removeById(id);
    }
    @Override
    public void updateTaskStatus(Long taskId, Integer status) {
        if (Objects.nonNull(taskId)) {
            XpTask task = this.getById(taskId);
            if (Objects.nonNull(task)) {
                task.setStatus(status);
                this.updateById(task);
            }
        }
    }
}