xuhy
2026-03-13 f410fc462df754edb65e11f700d2842926844bf3
运维修改
5个文件已修改
42 ■■■■■ 已修改文件
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/maintenance/XpChargingRecord.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/model/vo/OperationRecordsVO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpChargingRecordServiceImpl.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpVehicleRepairServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/resources/mapper/maintenance/XpChargingRecordMapper.xml 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/maintenance/XpChargingRecord.java
@@ -41,6 +41,8 @@
    @ApiModelProperty(value = "开始剩余电量")
    private Integer startRemainingBattery;
    @ApiModelProperty(value = "开始剩余续航")
    private Float startMileageRange;
    @ApiModelProperty(value = "开始充电图片")
    private String startChargingPicture;
@@ -51,7 +53,8 @@
    @ApiModelProperty(value = "结束剩余电量")
    private Integer endRemainingBattery;
    @ApiModelProperty(value = "结束剩余续航")
    private Float endMileageRange;
    @ApiModelProperty(value = "结束充电图片")
    private String endChargingPicture;
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/model/vo/OperationRecordsVO.java
@@ -42,4 +42,10 @@
    @ApiModelProperty(value = "结束剩余电量")
    private Integer endRemainingBattery;
    @ApiModelProperty(value = "开始剩余续航")
    private Float startMileageRange;
    @ApiModelProperty(value = "结束剩余续航")
    private Float endMileageRange;
}
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpChargingRecordServiceImpl.java
@@ -8,6 +8,7 @@
import com.xiaopeng.api.model.maintenance.XpChargingRecord;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
import com.xiaopeng.maintenance.model.query.XpChargingRecordPageQuery;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.web.page.PageInfo;
@@ -20,6 +21,9 @@
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -42,6 +46,8 @@
    private XpVehicleClient xpVehicleClient;
    @Autowired
    private XpOperationUserClient xpOperationUserClient;
    @Autowired
    private MongoTemplate mongoTemplate;
    @Override
    public void startCharging(XpChargingRecordStartDTO dto, Long id) {
        // 创建车辆充电记录
@@ -51,6 +57,17 @@
        xpChargingRecord.setVehicleId(dto.getVehicleId());
        xpChargingRecord.setStartTime(LocalDateTime.now());
        xpChargingRecord.setStartOperationsUserId(id);
        // 查询车辆信息
        XpVehicle xpVehicle = xpVehicleClient.queryById(dto.getVehicleId()).getData();
        if(Objects.nonNull(xpVehicle)){
            // 查询车辆的续航里程
            VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), VehiclePosition.class);
            if(Objects.nonNull(vehiclePosition)){
                xpChargingRecord.setStartMileageRange(vehiclePosition.getMileageRange());
            }else {
                xpChargingRecord.setStartMileageRange(0F);
            }
        }
        this.save(xpChargingRecord);
    }
@@ -58,11 +75,22 @@
    public void stopCharging(XpChargingRecordStopDTO dto, Long id) {
        // 查询车辆充电记录  进行修改
        XpChargingRecord xpChargingRecord = this.getById(dto.getId());
        // 查询车辆信息
        XpVehicle xpVehicle = xpVehicleClient.queryById(xpChargingRecord.getVehicleId()).getData();
        xpChargingRecord.setVehicleId(null);
        xpChargingRecord.setEndChargingPicture(dto.getEndChargingPicture());
        xpChargingRecord.setEndRemainingBattery(dto.getEndRemainingBattery());
        xpChargingRecord.setEndTime(LocalDateTime.now());
        xpChargingRecord.setEndOperationsUserId(id);
        if(Objects.nonNull(xpVehicle)){
            // 查询车辆的续航里程
            VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), VehiclePosition.class);
            if(Objects.nonNull(vehiclePosition)){
                xpChargingRecord.setStartMileageRange(vehiclePosition.getMileageRange());
            }else {
                xpChargingRecord.setStartMileageRange(0F);
            }
        }
        this.updateById(xpChargingRecord);
    }
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpVehicleRepairServiceImpl.java
@@ -68,7 +68,7 @@
        }
        XpOperationsUser operationsUserEnd = xpOperationUserClient.queryById(xpVehicleRepairVO.getReturnUserId()).getData();
        if (Objects.nonNull(operationsUserEnd)) {
            xpVehicleRepairVO.setOperatorStartName(operationsUserEnd.getNickName());
            xpVehicleRepairVO.setOperatorEndName(operationsUserEnd.getNickName());
        }
        return xpVehicleRepairVO;
    }
xp-robotaxi-maintenance-boot/src/main/resources/mapper/maintenance/XpChargingRecordMapper.xml
@@ -11,6 +11,7 @@
    <select id="operationRecords" resultType="com.xiaopeng.maintenance.model.vo.OperationRecordsVO">
        SELECT xcr.id, xcr.vehicle_id, xcr.start_remaining_battery,xcr.end_remaining_battery,
               xcr.start_mileage_range,xcr.end_mileage_range,
               xcr.start_operations_user_id AS operationsUserId,xcr.start_time AS operationTime
        FROM xp_charging_record xcr
        WHERE xcr.is_deleted = 0