无关风月
2026-02-24 32063e565deaf03a0cc8abf1fafd146cc4e4d421
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;
    }
}