From cb7be09dc82cdc3deed507a7ae3685e81f46e814 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 28 二月 2026 20:43:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpElectronicFenceController.java | 126 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 126 insertions(+), 0 deletions(-)
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpElectronicFenceController.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpElectronicFenceController.java
index 054581a..1a6c63a 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpElectronicFenceController.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpElectronicFenceController.java
@@ -44,10 +44,136 @@
@RequestMapping("/api/v1/electronicFence")
public class XpElectronicFenceController {
+
+
@Resource
private IXpElectronicFenceService xpElectronicFenceService;
+ @Resource
+ private IXpElectronicFenceAreaService xpElectronicFenceAreaService;
+ @Resource
+ private XpRegionService regionService;
+ /**
+ * 查询省市管理
+ */
+ @ApiOperation(value = "查询省市区",response = XpRegion.class)
+ @GetMapping(value = "/getRegion")
+ public R<List<List<XpRegion>>> geXpRegion() {
+ return R.ok(regionService.getXpRegion());
+ }
+ @ApiOperation(value = "电子围栏管理列表", response = XpElectronicFence.class)
+ @PostMapping("/pageList")
+ public R<PageInfo<XpElectronicFence>> pageList(@RequestBody ElectronicPageListQuery query) {
+ PageInfo<XpElectronicFence> pageList = xpElectronicFenceService.pageList(query);
+ return R.ok(pageList);
+ }
+ /**
+ * 电子围栏列表接口
+ *
+ * @return 电子围栏列表
+ */
+ @ApiOperation(value = "电子围栏列表接口", tags = {"运维APP-车辆管理"})
+ @GetMapping("/api/v1/electronicFence/list")
+ public R<List<XpElectronicFence>> vehicleMap() {
+ List<XpElectronicFence> list = xpElectronicFenceService.list();
+ return R.ok(list);
+ }
+ /**
+ * 新增电子围栏
+ */
+ @PostMapping("/add")
+ @ApiOperation(value = "新增电子围栏")
+// @Transactional
+// @ShardingSphereTransactionType(TransactionType.BASE)
+ public R add(@Validated @RequestBody ElectronicFenceAddDto dto) {
+ return xpElectronicFenceService.addElectronic(dto);
+ }
+
+
+
+ /**
+ * 修改状态
+ */
+ @PostMapping("/updateStatus")
+ @ResponseBody
+ @ApiOperation(value = "修改状态")
+// @Transactional
+// @ShardingSphereTransactionType(TransactionType.BASE)
+ public R updateStatus(@RequestBody ElectronicFenceAreaUpdateStatusDto dto) {
+ XpElectronicFenceArea electronicFenceArea = xpElectronicFenceAreaService.getById(dto.getId());
+ if (electronicFenceArea == null) {
+ throw new ServiceException(
+ "围栏构成不存在,请刷新重试",
+ I18nKeyConstant.FENCE_STRUCTURE_NOT_EXIST
+ );
+ }
+ xpElectronicFenceAreaService.updateById(electronicFenceArea);
+ return R.ok();
+ }
+
+ /**
+ * 电子围栏详情
+ */
+ @PostMapping("/queryById")
+ @ApiOperation(value = "电子围栏详情")
+ public R<ElectronicFenceDetailVo> queryById(@RequestParam("id")Long id) {
+ ElectronicFenceDetailVo res = new ElectronicFenceDetailVo();
+ XpElectronicFence electronicFence = xpElectronicFenceService.getById(id);
+ if (electronicFence == null) {
+ throw new ServiceException(
+ "电子围栏不存在,请刷新重试",
+ I18nKeyConstant.FENCE_NOT_EXIST
+ );
+ }
+ BeanUtils.copyProperties(electronicFence, res);
+ List<XpElectronicFenceArea> electronicFenceAreaList = xpElectronicFenceAreaService.lambdaQuery().eq(XpElectronicFenceArea::getElectronicId, id)
+ .list();
+ res.setElectronicFenceAreas(electronicFenceAreaList);
+ return R.ok(res);
+ }
+
+ /**
+ * 编辑电子围栏
+ */
+ @PostMapping("/edit")
+ @ApiOperation(value = "编辑电子围栏")
+// @Transactional
+// @ShardingSphereTransactionType(TransactionType.BASE)
+ public R edit(@Validated @RequestBody ElectronicFenceUpdateDto dto) {
+ return xpElectronicFenceService.editElectronic(dto);
+ }
+
+ /**
+ * 复制电子围栏
+ */
+ @PostMapping("/copy")
+ @ApiOperation(value = "复制电子围栏")
+// @Transactional
+// @ShardingSphereTransactionType(TransactionType.BASE)
+ public R<Long> copy(@RequestParam("id") Integer id) {
+ XpElectronicFence electronicFence = xpElectronicFenceService.getById(id);
+ if (electronicFence.getStatus()==2){
+ throw new ServiceException(
+ "当前电子围栏状态为启用中,不可复制",
+ I18nKeyConstant.FENCE_STATUS_CANNOT_COPIED
+ );
+ }
+ electronicFence.setElectronicName("副本_"+electronicFence.getElectronicName());
+ electronicFence.setId(null);
+ electronicFence.setStatus(0);
+ xpElectronicFenceService.save(electronicFence);
+ List<XpElectronicFenceArea> electronicFenceAreaList = xpElectronicFenceAreaService.lambdaQuery().eq(XpElectronicFenceArea::getElectronicId, id)
+ .list();
+ for (XpElectronicFenceArea area : electronicFenceAreaList) {
+ area.setId(null);
+ area.setElectronicId(electronicFence.getId());
+ area.setAreaStatus(2);
+ area.setAreaName("副本_"+area.getAreaName());
+ }
+ xpElectronicFenceAreaService.saveBatch(electronicFenceAreaList);
+ return R.ok(electronicFence.getId());
+ }
/**
* 根据ID列表批量查询电子围栏
--
Gitblit v1.7.1