xuhy
2026-02-18 359bfc2d1e95b1d64fbdef27ab25cfdd1adee34b
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;
    }
}