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; }