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/XpPointManagementController.java | 98 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 98 insertions(+), 0 deletions(-)
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPointManagementController.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPointManagementController.java
index 3ca5d23..e189c27 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPointManagementController.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpPointManagementController.java
@@ -43,6 +43,104 @@
@Resource
private XpPointService xpPointService;
+ @Resource
+ private IXpElectronicFenceAreaService xpElectronicFenceAreaService;
+ @Resource
+ private IXpElectronicFenceService xpElectronicFenceService;
+
+
+ @ApiOperation(value = "获取所有运营中的区域", response = XpElectronicFenceArea.class)
+ @PostMapping("/listElectronicFenceArea")
+ public R<List<XpElectronicFenceArea>> listElectronicFenceArea() {
+ // 获取所有启用的电子围栏
+ List<XpElectronicFence> electronicFences = xpElectronicFenceService.lambdaQuery().eq(XpElectronicFence::getStatus, 2).list();
+ List<Long> electronicFenceIds = electronicFences.stream().map(XpElectronicFence::getId).collect(Collectors.toList());
+ if (electronicFenceIds.isEmpty()){
+ return R.ok(new ArrayList<XpElectronicFenceArea>());
+ }
+ // 获取电子围栏下启用的运营区域
+ List<XpElectronicFenceArea> electronicFenceAreaList = xpElectronicFenceAreaService.lambdaQuery().in(XpElectronicFenceArea::getElectronicId, electronicFenceIds)
+ .eq(XpElectronicFenceArea::getAreaStatus, 1).list();
+ return R.ok(electronicFenceAreaList);
+ }
+ @ApiOperation(value = "点位管理列表", response = XpPoint.class)
+ @PostMapping("/listPoint")
+ public R<List<XpPoint>> list(@RequestBody PointListQuery query) {
+ List<XpPoint> pageList = xpPointService.listAll(query);
+ return R.ok(pageList);
+ }
+ @ApiOperation(value = "点位管理分页列表", response = XpPoint.class)
+ @PostMapping("/pageList")
+ public R<PageInfo<XpPoint>> pageList(@RequestBody PointPageListListQuery query) {
+ PageInfo<XpPoint> pageList = xpPointService.pageList(query);
+ return R.ok(pageList);
+ }
+ @PostMapping("/getByIds")
+ public R<List<XpPoint>> getByIds(@RequestBody XpPointExportExcelQuery query){
+ List<XpPoint> list = xpPointService.lambdaQuery().in(XpPoint::getId, query.getPointIds()).list();
+ return R.ok(list);
+ }
+ /**
+ * 新增点位
+ */
+ @PostMapping("/addPoint")
+ @ResponseBody
+ @ApiOperation(value = "新增点位")
+// @Transactional
+// @ShardingSphereTransactionType(TransactionType.BASE)
+ public R add(@Validated @RequestBody PointAddDto pointAddDto) {
+ XpPoint xpPoint = new XpPoint();
+ BeanUtils.copyProperties(pointAddDto, xpPoint);
+ xpPointService.save(xpPoint);
+ return R.ok();
+ }
+ /**
+ * 批量删除点位
+ */
+ @GetMapping("/deletePoint")
+ @ResponseBody
+ @ApiOperation(value = "删除点位")
+// @Transactional
+// @ShardingSphereTransactionType(TransactionType.BASE)
+ public R deletePoint(@RequestParam("ids") String ids) {
+ xpPointService.removeBatchByIds(Arrays.stream(ids.split(",")).map(Long::parseLong).collect(Collectors.toList()));
+ return R.ok();
+ }
+ /**
+ * 编辑点位
+ */
+ @PostMapping("/editPoint")
+ @ApiOperation(value = "编辑点位")
+// @Transactional
+// @ShardingSphereTransactionType(TransactionType.BASE)
+ public R edit(@Validated@RequestBody PointUpdateDto pointAddDto) {
+ XpPoint xpPoint = new XpPoint();
+ BeanUtils.copyProperties(pointAddDto, xpPoint);
+ xpPointService.updateById(xpPoint);
+ return R.ok();
+ }
+ /**
+ * 点位详情
+ */
+ @GetMapping("/queryPointById")
+ @ApiOperation(value = "点位详情")
+ public R<XpPoint> queryById(@RequestParam Long id) {
+ return R.ok(xpPointService.getById(id));
+ }
+ /**
+ * 启用/禁用
+ */
+ @PostMapping("/enableDisablePoint")
+ @ApiOperation(value = "启用/禁用")
+// @Transactional
+// @ShardingSphereTransactionType(TransactionType.BASE)
+ public R enableDisable(@RequestBody XpPointEnableDisableDto dto) {
+ XpPoint xpPoint = xpPointService.getById(dto.getId());
+ xpPoint.setOperationStatus(dto.getOperationStatus());
+ xpPoint.setElectronicAreaId(null);
+ xpPointService.updateById(xpPoint);
+ return R.ok();
+ }
/**
--
Gitblit v1.7.1