xuhy
2026-02-18 359bfc2d1e95b1d64fbdef27ab25cfdd1adee34b
维修,充电状态返回
2个文件已添加
6个文件已修改
153 ■■■■■ 已修改文件
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpChargingRecordController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleRepairController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/IXpChargingRecordService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/IXpVehicleRepairService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpChargingRecordServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpVehicleRepairServiceImpl.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/vo/ChargingStatusVO.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/vo/RepairStatusVO.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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.vo.ChargingStatusVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -65,6 +66,18 @@
    }
    /**
     * 车辆运维-车辆运维-车辆充电查询当前状态
     */
    @ApiOperation(value = "车辆运维-车辆运维-车辆充电查询当前状态", tags = {"运维APP-车辆管理"})
    @GetMapping("/api/v1/chargingRecord/queryChargingStatus")
    public R<ChargingStatusVO> queryChargingStatus(@RequestParam Long vehicleId) {
        Long id = tokenService.getLoginOperationUser().getId();
        ChargingStatusVO chargingStatusVO = xpChargingRecordService.queryChargingStatus(vehicleId);
        return R.ok(chargingStatusVO);
    }
    /**
     * 车辆运维-车辆运维-充电记录详情
     */
    @ApiOperation(value = "车辆运维-运维记录-充电记录详情", tags = {"运维APP-车辆管理"})
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleRepairController.java
@@ -10,6 +10,7 @@
import com.xiaopeng.maintenance.model.query.XpVehicleRepairPageQuery;
import com.xiaopeng.maintenance.model.vo.XpVehicleRepairVO;
import com.xiaopeng.maintenance.service.IXpVehicleRepairService;
import com.xiaopeng.maintenance.vo.RepairStatusVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -76,6 +77,17 @@
    }
    /**
     * 车辆详情-车辆运维-查询车辆维修状态
     */
    @ApiOperation(value = "车辆运维-车辆运维-查询车辆维修状态", tags = {"运维APP-车辆管理"})
    @GetMapping("/api/v1/vehicleRepair/queryRepairStatus")
    public R<RepairStatusVO> queryRepairStatus(@RequestParam Long vehicleId) {
        Long id = tokenService.getLoginOperationUser().getId();
        RepairStatusVO repairStatusVO = xpVehicleRepairService.queryRepairStatus(vehicleId);
        return R.ok(repairStatusVO);
    }
    /**
     * 车辆运维-车辆运维-维修记录详情
     */
    @ApiOperation(value = "车辆运维-运维记录-维修记录详情", tags = {"运维APP-车辆管理"})
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/IXpChargingRecordService.java
@@ -7,6 +7,7 @@
import com.xiaopeng.maintenance.dto.XpChargingRecordStartDTO;
import com.xiaopeng.maintenance.dto.XpChargingRecordStopDTO;
import com.xiaopeng.maintenance.model.vo.XpChargingRecordVO;
import com.xiaopeng.maintenance.vo.ChargingStatusVO;
/**
 * <p>
@@ -55,4 +56,11 @@
     * @param id
     */
    void deleteRecordById(Long id);
    /**
     * 查询充电状态
     * @param vehicleId
     * @return
     */
    ChargingStatusVO queryChargingStatus(Long vehicleId);
}
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/IXpVehicleRepairService.java
@@ -5,6 +5,7 @@
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.maintenance.model.query.XpVehicleRepairPageQuery;
import com.xiaopeng.maintenance.model.vo.XpVehicleRepairVO;
import com.xiaopeng.maintenance.vo.RepairStatusVO;
import javax.validation.Valid;
@@ -32,4 +33,12 @@
     * @return
     */
    PageInfo<XpVehicleRepairVO> queryDetectionByVehicleId(@Valid XpVehicleRepairPageQuery query);
    /**
     * 获取车辆维修状态
     *
     * @param vehicleId
     * @return
     */
    RepairStatusVO queryRepairStatus(Long vehicleId);
}
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpChargingRecordServiceImpl.java
@@ -16,6 +16,7 @@
import com.xiaopeng.maintenance.mapper.XpChargingRecordMapper;
import com.xiaopeng.maintenance.model.vo.XpChargingRecordVO;
import com.xiaopeng.maintenance.service.IXpChargingRecordService;
import com.xiaopeng.maintenance.vo.ChargingStatusVO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -191,4 +192,34 @@
    public void deleteRecordById(Long id) {
        removeById(id);
    }
    @Override
    public ChargingStatusVO queryChargingStatus(Long vehicleId) {
        ChargingStatusVO chargingStatusVO = new ChargingStatusVO();
        // 查询车辆当前充电信息
        XpChargingRecord xpChargingRecord = this.getOne(new LambdaQueryWrapper<XpChargingRecord>()
                .eq(XpChargingRecord::getVehicleId, vehicleId)
                .isNull(XpChargingRecord::getEndRemainingBattery)
                .isNull(XpChargingRecord::getTaskId)
                .orderByDesc(XpChargingRecord::getCreateTime)
                .last("LIMIT 1"));
        if(Objects.nonNull(xpChargingRecord)){
            chargingStatusVO.setStatus(2);
            // 查询开始充电操作人名称
            XpOperationsUser operationsUser = xpOperationUserClient.queryById(xpChargingRecord.getStartOperationsUserId()).getData();
            if(Objects.nonNull(operationsUser)){
                chargingStatusVO.setOperatorStartName(operationsUser.getNickName());
            }
        }else{
            chargingStatusVO.setStatus(1);
        }
        // 设置充电信息
        chargingStatusVO.setXpChargingRecord(xpChargingRecord);
        return chargingStatusVO;
    }
}
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpVehicleRepairServiceImpl.java
@@ -6,6 +6,7 @@
import com.xiaopeng.api.feignClient.account.XpOperationUserClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.model.account.XpOperationsUser;
import com.xiaopeng.api.model.maintenance.XpChargingRecord;
import com.xiaopeng.api.model.maintenance.XpVehicleRepair;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
import com.xiaopeng.common.core.domain.R;
@@ -14,6 +15,8 @@
import com.xiaopeng.maintenance.model.query.XpVehicleRepairPageQuery;
import com.xiaopeng.maintenance.model.vo.XpVehicleRepairVO;
import com.xiaopeng.maintenance.service.IXpVehicleRepairService;
import com.xiaopeng.maintenance.vo.ChargingStatusVO;
import com.xiaopeng.maintenance.vo.RepairStatusVO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -165,4 +168,34 @@
        return pageInfo;
    }
    @Override
    public RepairStatusVO queryRepairStatus(Long vehicleId) {
        RepairStatusVO repairStatusVO = new RepairStatusVO();
        // 查询车辆当前维修信息
        XpVehicleRepair xpVehicleRepair = this.getOne(new LambdaQueryWrapper<XpVehicleRepair>()
                .eq(XpVehicleRepair::getVehicleId, vehicleId)
                .isNull(XpVehicleRepair::getReturnTime)
                .isNull(XpVehicleRepair::getTaskId)
                .orderByDesc(XpVehicleRepair::getCreateTime)
                .last("LIMIT 1"));
        if(Objects.nonNull(xpVehicleRepair)){
            repairStatusVO.setStatus(2);
            // 查询开始充电操作人名称
            XpOperationsUser operationsUser = xpOperationUserClient.queryById(xpVehicleRepair.getSendUserId()).getData();
            if(Objects.nonNull(operationsUser)){
                repairStatusVO.setSendUserName(operationsUser.getNickName());
            }
        }else{
            repairStatusVO.setStatus(1);
        }
        // 设置维修信息
        repairStatusVO.setXpVehicleRepair(xpVehicleRepair);
        return repairStatusVO;
    }
}
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/vo/ChargingStatusVO.java
New file
@@ -0,0 +1,23 @@
package com.xiaopeng.maintenance.vo;
import com.xiaopeng.api.model.maintenance.XpChargingRecord;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel(value = "运维APP-车辆充电状态VO")
public class ChargingStatusVO implements Serializable {
    @ApiModelProperty(value = "车辆充电状态 1=未开始 2=已开始")
    private Integer status;
    @ApiModelProperty(value = "车辆充电信息")
    private XpChargingRecord xpChargingRecord;
    @ApiModelProperty(value = "开始操作人")
    private String operatorStartName;
}
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/vo/RepairStatusVO.java
New file
@@ -0,0 +1,24 @@
package com.xiaopeng.maintenance.vo;
import com.xiaopeng.api.model.maintenance.XpChargingRecord;
import com.xiaopeng.api.model.maintenance.XpVehicleRepair;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel(value = "运维APP-车辆维修状态VO")
public class RepairStatusVO implements Serializable {
    @ApiModelProperty(value = "车辆维修状态 1=未开始 2=已送出")
    private Integer status;
    @ApiModelProperty(value = "车辆维修信息")
    private XpVehicleRepair xpVehicleRepair;
    @ApiModelProperty(value = "开始操作人")
    private String sendUserName;
}