puzhibing
2026-02-21 f16e100a7a605c2b1fc670acbf7a1939490bba4e
更新代码
2个文件已添加
11个文件已修改
158 ■■■■■ 已修改文件
.gitignore 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/xp-robotaxi-account-boot.iml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/automaticPilot/XpuVimClientFallbackFactory.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/xp-robotaxi-api.iml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpChargingRecordController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleCleanController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleDetectionController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehiclePreparationController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/dto/XpChargingRecordStopDTO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/model/vo/TaskRoutineDetailVO.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/IXpTaskService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/XpTaskService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -1,20 +1,21 @@
/*/target/*
/**/target/*
.idea/*
/sql/nacos_config_export_20260212142234/DEFAULT_GROUP/application-dev.yml
/sql/nacos_config_export_20260212142234/DEFAULT_GROUP/seata-server.properties
/sql/nacos_config_export_20260212142234/DEFAULT_GROUP/xp-account-dev.yml
/sql/nacos_config_export_20260212142234/DEFAULT_GROUP/xp-automaticPilot-dev.yml
/sql/nacos_config_export_20260212142234/DEFAULT_GROUP/xp-gateway-dev.yml
/sql/nacos_config_export_20260212142234/DEFAULT_GROUP/xp-itinerary-dev.yml
/sql/nacos_config_export_20260212142234/DEFAULT_GROUP/xp-maintenance-dev.yml
/sql/nacos_config_export_20260212142234/DEFAULT_GROUP/xp-map-dev.yml
/sql/nacos_config_export_20260212142234/DEFAULT_GROUP/xp-operation-dev.yml
/sql/nacos_config_export_20260212142234/DEFAULT_GROUP/xp-order-dev.yml
/sql/nacos_config_export_20260212142234/DEFAULT_GROUP/xp-payment-dev.yml
/sql/nacos_config_export_20260212142234/DEFAULT_GROUP/xp-pushMessage-dev.yml
/sql/nacos_config_export_20260212142234/DEFAULT_GROUP/xp-remoteDriving-dev.yml
/sql/nacos_config_export_20260212142234/DEFAULT_GROUP/xp-vehicleConvoy-dev.yml
/sql/nacos_config_export_20260212142234/.metadata.yml
.kiro
docs
*.class
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.ear
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
generator
.idea
target
*.yaml
*.yml
*.log.DS_Store
**/.DS_Store
xp-robotaxi-account-boot/xp-robotaxi-account-boot.iml
New file
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
  <component name="AdditionalModuleElements">
    <content url="file://$MODULE_DIR$" dumb="true">
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
    </content>
  </component>
</module>
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-api/xp-robotaxi-api.iml
New file
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
  <component name="AdditionalModuleElements">
    <content url="file://$MODULE_DIR$" dumb="true">
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
    </content>
  </component>
</module>
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);
            }
        }
    }
}