From 359bfc2d1e95b1d64fbdef27ab25cfdd1adee34b Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 18 二月 2026 20:49:44 +0800
Subject: [PATCH] 维修,充电状态返回
---
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpChargingRecordController.java | 13 ++++
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/IXpChargingRecordService.java | 8 ++
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpVehicleRepairServiceImpl.java | 33 +++++++++++
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/vo/RepairStatusVO.java | 24 ++++++++
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/vo/ChargingStatusVO.java | 23 +++++++
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpChargingRecordServiceImpl.java | 31 ++++++++++
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/IXpVehicleRepairService.java | 9 +++
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleRepairController.java | 12 ++++
8 files changed, 153 insertions(+), 0 deletions(-)
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpChargingRecordController.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpChargingRecordController.java
index 6414b2a..4ed3e8e 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpChargingRecordController.java
+++ b/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-车辆管理"})
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleRepairController.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleRepairController.java
index 99a4e3b..2141394 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleRepairController.java
+++ b/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-车辆管理"})
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/IXpChargingRecordService.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/IXpChargingRecordService.java
index 502d9b9..1309bdc 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/IXpChargingRecordService.java
+++ b/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);
}
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/IXpVehicleRepairService.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/IXpVehicleRepairService.java
index bdb41ec..fb35859 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/IXpVehicleRepairService.java
+++ b/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);
}
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpChargingRecordServiceImpl.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpChargingRecordServiceImpl.java
index 011d083..3f0ffc8 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpChargingRecordServiceImpl.java
+++ b/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;
+ }
}
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpVehicleRepairServiceImpl.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpVehicleRepairServiceImpl.java
index c4a2444..19dfbfc 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpVehicleRepairServiceImpl.java
+++ b/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;
+ }
}
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/vo/ChargingStatusVO.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/vo/ChargingStatusVO.java
new file mode 100644
index 0000000..fb3eac2
--- /dev/null
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/vo/ChargingStatusVO.java
@@ -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;
+
+}
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/vo/RepairStatusVO.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/vo/RepairStatusVO.java
new file mode 100644
index 0000000..8600bdb
--- /dev/null
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/vo/RepairStatusVO.java
@@ -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;
+
+}
--
Gitblit v1.7.1