From dcc2fc4faf3150480c83c1c818d6a945eb6ed007 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期二, 17 三月 2026 14:13:01 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/RouteServiceImpl.java |   34 ++++++++++++++++++++++++++++++++--
 1 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/RouteServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/RouteServiceImpl.java
index 048ff7a..43c8ff6 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/RouteServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/RouteServiceImpl.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zy.acs.common.utils.GsonUtils;
+import com.zy.acs.common.utils.Utils;
 import com.zy.acs.framework.exception.CoolException;
 import com.zy.acs.manager.manager.entity.Code;
 import com.zy.acs.manager.manager.entity.Route;
@@ -13,6 +14,7 @@
 import org.springframework.stereotype.Service;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 @Service("routeService")
 public class RouteServiceImpl extends ServiceImpl<RouteMapper, Route> implements RouteService {
@@ -31,6 +33,7 @@
             return null;
         }
         Route route = this.findByCodeOfBoth(startCode.getId(), endCode.getId());
+        boolean created = false;
         direction = Optional.ofNullable(direction).orElse(0);
         if (null == route) {
             Date now = new Date();
@@ -47,6 +50,12 @@
             if (!this.save(route)) {
                 throw new CoolException(route.getCodeArr()+" save fail![Route]");
             }
+            created = true;
+        }
+        if (created) {
+            List<Long> codes = Utils.singletonList(startCode.getId());
+            codes.add(endCode.getId());
+            codeService.refreshCornerByCodeIds(codes);
         }
         return route;
     }
@@ -56,10 +65,10 @@
         List<String> neighborCodeList = new ArrayList<>();
 
         for (Route route : this.list(new LambdaQueryWrapper<Route>().eq(Route::getStartCode, code))) {
-            neighborCodeList.add(codeService.getById(route.getEndCode()).getData());
+            neighborCodeList.add(codeService.getCacheById(route.getEndCode()).getData());
         }
         for (Route route : this.list(new LambdaQueryWrapper<Route>().eq(Route::getEndCode, code))) {
-            neighborCodeList.add(codeService.getById(route.getStartCode()).getData());
+            neighborCodeList.add(codeService.getCacheById(route.getStartCode()).getData());
         }
 
         return neighborCodeList;
@@ -74,4 +83,25 @@
         return route;
     }
 
+    @Override
+    public List<Long> getAdjacencyNode(Long codeId) {
+
+        List<Long> result = new ArrayList<>();
+
+        result.addAll(this.list(new LambdaQueryWrapper<Route>()
+                .eq(Route::getStartCode, codeId)
+                .in(Route::getDirection, 0, 1)
+                .eq(Route::getStatus, 1)
+        ).stream().map(Route::getEndCode).distinct().collect(Collectors.toList()));
+
+        result.addAll(this.list(new LambdaQueryWrapper<Route>()
+                .eq(Route::getEndCode, codeId)
+                .in(Route::getDirection, 0, 2)
+                .eq(Route::getStatus, 1)
+        ).stream().map(Route::getStartCode).distinct().collect(Collectors.toList()));
+
+
+        return result.stream().distinct().collect(Collectors.toList());
+    }
+
 }

--
Gitblit v1.9.1