xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/automaticPilot/XpuVimClientFallbackFactory.java
@@ -14,7 +14,7 @@ @Override public R<String> getXpuIdByVin(String vin) { log.error("查询XPUID失败: {}", cause.getMessage()); return null; return R.fail("查询XPUID失败"); } }; } xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpChargingRecordController.java
@@ -11,6 +11,7 @@ import com.xiaopeng.maintenance.dto.XpChargingRecordStopDTO; import com.xiaopeng.maintenance.model.vo.XpChargingRecordVO; import com.xiaopeng.maintenance.service.IXpChargingRecordService; import com.xiaopeng.maintenance.service.XpTaskService; import com.xiaopeng.maintenance.vo.ChargingStatusVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -34,12 +35,15 @@ @Autowired private IXpChargingRecordService xpChargingRecordService; @Autowired private XpVehicleClient xpVehicleClient; @Autowired private XpOperationUserClient xpOperationUserClient; @Autowired private TokenService tokenService; @Autowired private XpTaskService xpTaskService; /** * 车辆运维-车辆运维-车辆开始充电 @@ -62,6 +66,8 @@ Long id = tokenService.getLoginOperationUser().getId(); xpChargingRecordService.stopCharging(dto, id); //更新任务状态 xpTaskService.updateTaskStatus(dto.getTaskId(), 2); return R.ok(); } xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleCleanController.java
@@ -11,11 +11,15 @@ import com.xiaopeng.maintenance.dto.XpVehicleCleanDTO; import com.xiaopeng.maintenance.model.vo.XpChargingRecordVO; import com.xiaopeng.maintenance.model.vo.XpVehicleCleanVO; import com.xiaopeng.maintenance.service.IXpTaskService; import com.xiaopeng.maintenance.service.IXpVehicleCleanService; import com.xiaopeng.maintenance.service.XpTaskService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.Objects; @@ -40,13 +44,21 @@ @Autowired private XpOperationUserClient xpOperationUserClient; @Autowired private XpTaskService xpTaskService; @Autowired private ThreadPoolTaskScheduler taskScheduler; /** * 车辆运维-车辆运维-车身清洁 */ @Transactional(rollbackFor = Exception.class) @ApiOperation(value = "车辆运维-车辆运维-车身清洁", tags = {"运维APP-车辆管理"}) @PostMapping("/api/v1/vehicleClean/add") public R<String> add(@RequestBody XpVehicleCleanDTO dto) { xpVehicleCleanService.save(dto); // 处理任务状态 xpTaskService.updateTaskStatus(dto.getTaskId(), 2); return R.ok(); } xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleDetectionController.java
@@ -3,20 +3,25 @@ import com.xiaopeng.api.feignClient.account.XpOperationUserClient; import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient; import com.xiaopeng.api.model.maintenance.XpTask; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.web.page.PageInfo; import com.xiaopeng.common.security.service.TokenService; import com.xiaopeng.maintenance.dto.XpVehicleDetectionDTO; import com.xiaopeng.maintenance.model.query.XpVehicleDetectionPageQuery; import com.xiaopeng.maintenance.model.vo.XpVehicleDetectionVO; import com.xiaopeng.maintenance.service.IXpTaskService; import com.xiaopeng.maintenance.service.IXpVehicleDetectionService; import com.xiaopeng.maintenance.service.XpTaskService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.time.LocalDateTime; import java.util.Objects; /** * <p> @@ -39,6 +44,8 @@ private XpVehicleClient xpVehicleClient; @Autowired private XpOperationUserClient xpOperationUserClient; @Autowired private XpTaskService xpTaskService; /** * 车辆运维-车辆运维-开始自检 @@ -56,6 +63,7 @@ /** * 车辆详情-车辆运维-车辆检测提交 */ @Transactional(rollbackFor = Exception.class) @ApiOperation(value = "车辆运维-车辆运维-车辆检测提交", tags = {"运维APP-车辆管理"}) @PostMapping("/api/v1/vehicleDetection/saveDetection") public R<String> saveDetection(@RequestBody XpVehicleDetectionDTO dto) { @@ -63,6 +71,8 @@ dto.setOperationsUserId(id); dto.setCheckTime(LocalDateTime.now()); xpVehicleDetectionService.save(dto); //更新任务状态 xpTaskService.updateTaskStatus(dto.getTaskId(), 2); return R.ok(); } xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehiclePreparationController.java
@@ -11,9 +11,11 @@ import com.xiaopeng.maintenance.dto.XpVehiclePreparationDTO; import com.xiaopeng.maintenance.model.vo.XpVehiclePreparationVO; import com.xiaopeng.maintenance.service.IXpVehiclePreparationService; import com.xiaopeng.maintenance.service.XpTaskService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @@ -39,15 +41,20 @@ private XpVehicleClient xpVehicleClient; @Autowired private XpOperationUserClient xpOperationUserClient; @Autowired private XpTaskService xpTaskService; /** * 车辆详情-车辆运维-车辆整备 */ @Transactional(rollbackFor = Exception.class) @ApiOperation(value = "车辆运维-车辆运维-车辆整备", tags = {"运维APP-车辆管理"}) @PostMapping("/api/v1/vehiclePreparation/savePreparation") public R<String> savePreparation(@RequestBody XpVehiclePreparationDTO dto) { Long id = tokenService.getLoginOperationUser().getId(); dto.setOperationsUserId(id); xpVehiclePreparationService.save(dto); //更新任务状态 xpTaskService.updateTaskStatus(dto.getTaskId(), 2); return R.ok(); } xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/dto/XpChargingRecordStopDTO.java
@@ -14,6 +14,9 @@ @ApiModelProperty(value = "充电记录id") private Long id; @ApiModelProperty(value = "任务id") private Long taskId; @ApiModelProperty(value = "结束充电图片") private String endChargingPicture; xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/model/vo/TaskRoutineDetailVO.java
@@ -5,8 +5,10 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.w3c.dom.ls.LSException; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; @@ -28,6 +30,16 @@ private Integer taskUrgencyLevel; @ApiModelProperty(value = "任务处理时限") private LocalDateTime endTime; @ApiModelProperty(value = "车辆id") private Long vehicleId; @ApiModelProperty(value = "车辆经度") private BigDecimal vehicleLon; @ApiModelProperty(value = "车辆纬度") private BigDecimal vehicleLat; @ApiModelProperty(value = "车牌号") private String plateNumber; @ApiModelProperty(value = "车辆颜色") @@ -53,4 +65,14 @@ private String taskDescription; @ApiModelProperty(value = "完成图片") private String taskImage; @ApiModelProperty(value = "处理人id") private Long handleUserId; @ApiModelProperty(value = "处理人姓名") private String handleUserName; @ApiModelProperty(value = "处理时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime handleTime; } xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/IXpTaskService.java
@@ -12,5 +12,10 @@ * @since 2026-02-03 */ public interface IXpTaskService extends IService<XpTask> { /** * 更新任务状态 * @param taskId * @param status */ void updateTaskStatus(Long taskId, Integer status); } xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/XpTaskService.java
@@ -63,4 +63,11 @@ * @param id */ void deleteTaskById(Long id); /** * 更新任务状态 * @param taskId * @param status */ void updateTaskStatus(Long taskId, Integer status); } xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
@@ -255,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()); @@ -267,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); } @@ -711,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); } } } }