From 30c540d35e476f9dc1c7149a4e52088c7f375f60 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期二, 07 四月 2026 08:52:59 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/RouteController.java | 23 ++++++++++++++++++++---
1 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/RouteController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/RouteController.java
index 417a8b3..a12db5e 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/RouteController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/RouteController.java
@@ -106,6 +106,7 @@
@PreAuthorize("hasAuthority('manager:route:update')")
@OperationLog("Update Route")
@PostMapping("/route/update")
+ @Transactional
public R update(@RequestBody Route route) {
Route origin = routeService.getById(route.getId());
if (origin == null) {
@@ -131,6 +132,14 @@
if (!routeService.updateById(route)) {
return R.error("Update Fail");
}
+ Code startCode = codeService.getCacheById(route.getStartCode());
+ Code endCode = codeService.getCacheById(route.getEndCode());
+ if (startCode != null && endCode != null) {
+ codeGapService.createCodeGapByCode(startCode, endCode, getLoginUserId());
+ }
+ if (!isSameCode(origin, route)) {
+ codeGapService.removeCodeGapIfUnused(origin.getStartCode(), origin.getEndCode());
+ }
List<Long> affectedCodeIds = new ArrayList<>();
if (origin.getStartCode() != null) {
affectedCodeIds.add(origin.getStartCode());
@@ -144,9 +153,6 @@
if (route.getEndCode() != null) {
affectedCodeIds.add(route.getEndCode());
}
- Code startCode = codeService.getCacheById(route.getStartCode());
- Code endCode = codeService.getCacheById(route.getEndCode());
- codeGapService.createCodeGapByCode(startCode, endCode, getLoginUserId());
codeService.refreshCornerByCodeIds(affectedCodeIds);
return R.ok("Update Success").add(route);
}
@@ -154,6 +160,7 @@
@PreAuthorize("hasAuthority('manager:route:remove')")
@OperationLog("Delete Route")
@PostMapping("/route/remove/{ids}")
+ @Transactional
public R remove(@PathVariable Long[] ids) {
List<Route> routes = routeService.listByIds(Arrays.asList(ids));
List<Long> affectedCodeIds = new ArrayList<>();
@@ -167,6 +174,9 @@
}
if (!routeService.removeByIds(Arrays.asList(ids))) {
return R.error("Delete Fail");
+ }
+ for (Route route : routes) {
+ codeGapService.removeCodeGapIfUnused(route.getStartCode(), route.getEndCode());
}
codeService.refreshCornerByCodeIds(affectedCodeIds);
return R.ok("Delete Success").add(ids);
@@ -222,4 +232,11 @@
return R.ok();
}
+ private boolean isSameCode(Route route0, Route route1) {
+ return Objects.equals(route0.getStartCode(), route1.getStartCode())
+ && Objects.equals(route0.getEndCode(), route1.getEndCode())
+ || Objects.equals(route0.getStartCode(), route1.getEndCode())
+ && Objects.equals(route0.getEndCode(), route1.getStartCode());
+ }
+
}
--
Gitblit v1.9.1