From 2fbb521119c611817830142f298bbabf499d8be4 Mon Sep 17 00:00:00 2001
From: yyy <1083599556@qq.com>
Date: 星期四, 23 四月 2026 13:50:42 +0800
Subject: [PATCH] 1.添加通过围栏查询场站的接口 2.围栏详情新增 点位、场站数量统计 3.班次实体类增加 字段
---
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java | 72 ++++++++++++++++++++++++++++++++----
1 files changed, 64 insertions(+), 8 deletions(-)
diff --git a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java
index 4cfffde..f8e4103 100644
--- a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java
+++ b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java
@@ -7,21 +7,17 @@
import com.xiaopeng.api.dto.operation.ElectronicFenceAreaUpdateStatusDto;
import com.xiaopeng.api.dto.operation.ElectronicFenceOperationStrategyValidateDto;
import com.xiaopeng.api.dto.operation.ElectronicFenceUpdateDto;
-import com.xiaopeng.api.model.operation.XpElectronicFence;
-import com.xiaopeng.api.model.operation.XpElectronicFenceArea;
-import com.xiaopeng.api.model.operation.XpPoint;
-import com.xiaopeng.api.model.operation.XpRegion;
+import com.xiaopeng.api.model.operation.*;
import com.xiaopeng.api.query.operation.ElectronicPageListQuery;
+import com.xiaopeng.api.query.operation.PointListQuery;
+import com.xiaopeng.api.query.operation.XpStationQuery;
import com.xiaopeng.api.vo.operation.ElectronicFenceDetailVo;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.exception.ServiceException;
import com.xiaopeng.common.core.utils.bean.BeanUtils;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.map.constant.I18nKeyConstant;
-import com.xiaopeng.map.service.XpElectronicFenceAreaService;
-import com.xiaopeng.map.service.XpElectronicFenceService;
-import com.xiaopeng.map.service.XpPointService;
-import com.xiaopeng.map.service.XpRegionService;
+import com.xiaopeng.map.service.*;
import com.xiaopeng.map.utils.OperationStrategyIndex;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -75,6 +71,9 @@
@Autowired
private XpPointService xpPointService;
+ @Resource
+ private XpStationService xpStationService;
+
/**
* 查询省市管理
*/
@@ -157,6 +156,63 @@
List<XpElectronicFenceArea> electronicFenceAreaList = xpElectronicFenceAreaService.lambdaQuery().eq(XpElectronicFenceArea::getElectronicId, id)
.list();
res.setElectronicFenceAreas(electronicFenceAreaList);
+
+ //点位的总数
+ if(!electronicFenceAreaList.isEmpty()){
+ PointListQuery query1 = new PointListQuery();
+ query1.setElectronicAreaIds(electronicFenceAreaList.stream().map(XpElectronicFenceArea::getId).collect(Collectors.toList()));
+ List<XpPoint> pointList = xpPointService.findList(query1);
+
+ ElectronicFenceDetailVo.Numbers pointsNumbers = new ElectronicFenceDetailVo.Numbers();
+ if(CollUtil.isNotEmpty(pointList)){
+ for (XpPoint xpPoint : pointList) {
+ if (xpPoint.getOperationStatus() == 1) {
+ pointsNumbers.setPendingLaunch(pointsNumbers.getPendingLaunch() + 1);
+ } else if (xpPoint.getOperationStatus() == 2) {
+ pointsNumbers.setStartingUp(pointsNumbers.getStartingUp() + 1);
+ }
+ else if (xpPoint.getOperationStatus() == 3) {
+ pointsNumbers.setExpired(pointsNumbers.getExpired() + 1);
+ }
+ else if (xpPoint.getOperationStatus() == 4) {
+ pointsNumbers.setDisabled(pointsNumbers.getDisabled() + 1);
+ }
+ }
+ pointsNumbers.setTotalNum(pointList.size());
+ }
+ res.setPointsNumbers(pointsNumbers);
+ }
+
+ //场站总数
+ XpStationQuery query2 = new XpStationQuery();
+ query2.setElectronicId(id);
+ List<XpStation> stationList = xpStationService.findList(query2);
+
+ ElectronicFenceDetailVo.Numbers stationNumbers = new ElectronicFenceDetailVo.Numbers();
+ if(CollUtil.isNotEmpty(stationList)){
+ //status 场站状态 0=草稿 1=待启用 2=启用中 3=已停用 4=失效
+ for (XpStation xpStation : stationList) {
+ switch (xpStation.getStatus()) {
+ case 0:
+ stationNumbers.setDraft(stationNumbers.getDraft() + 1);
+ break;
+ case 1:
+ stationNumbers.setPendingLaunch(stationNumbers.getPendingLaunch() + 1);
+ break;
+ case 2:
+ stationNumbers.setStartingUp(stationNumbers.getStartingUp() + 1);
+ break;
+ case 3:
+ stationNumbers.setDisabled(stationNumbers.getDisabled() + 1);
+ break;
+ case 4:
+ stationNumbers.setExpired(stationNumbers.getExpired() + 1);
+ break;
+ }
+ }
+ stationNumbers.setTotalNum(stationList.size());
+ }
+ res.setStationNumbers(stationNumbers);
return R.ok(res);
}
--
Gitblit v1.7.1