From c5aeffce02ad53eb88192e4d3ef26549d9961406 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期四, 15 一月 2026 13:45:14 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java
index 423b127..15614f4 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java
@@ -7,7 +7,6 @@
 import com.zy.acs.manager.core.domain.DirectionDto;
 import com.zy.acs.manager.core.domain.SortCodeDto;
 import com.zy.acs.manager.core.domain.UnlockPathTask;
-import com.zy.acs.manager.core.domain.type.CodeDirectionType;
 import com.zy.acs.manager.core.service.astart.*;
 import com.zy.acs.manager.core.service.astart.domain.AStarNavigateNode;
 import com.zy.acs.manager.core.service.astart.domain.DynamicNode;
@@ -427,16 +426,23 @@
     }
 
     public static void main(String[] args) {
+        CodeSpinType codeSpinType = calcSpinDirection(null, 260.0, 10.0);
         List<DirectionDto> directionDtoList = DirectionDto.initCodeDirections();
         System.out.println(JSON.toJSONString(directionDtoList));
+        System.out.println(codeSpinType.toString());
     }
 
-    public CodeSpinType calcSpinDirection(Code code, Double currDir, Double nextDir) {
+    public static CodeSpinType calcSpinDirection(Code code, Double currDir, Double nextDir) {
         if (Cools.isEmpty(code, currDir, nextDir)) {
             return CodeSpinType.NA;
         }
         List<Double> disableAngleList = new ArrayList<>();
-        List<DirectionDto> directionDtoList = DirectionDto.initCodeDirections();
+        List<DirectionDto> directionDtoList;
+        if (!Cools.isEmpty(code.getDirRule())) {
+            directionDtoList = JSON.parseArray(code.getDirRule(), DirectionDto.class);
+        } else {
+            directionDtoList = DirectionDto.initCodeDirections();
+        }
         for (DirectionDto dto : directionDtoList) {
             if (null != dto.getEnabled() && !dto.getEnabled()) {
                 disableAngleList.add(dto.getAngle());
@@ -455,8 +461,8 @@
             return CodeSpinType.NA;
         }
 
-        double cwDelta = cwDelta(curr, next);     // (0, 360)
-        double ccwDelta = 360.0 - cwDelta;  // (0, 360)
+        double cwDelta = cwDelta(curr, next);
+        double ccwDelta = 360.0 - cwDelta;
 
         boolean cwBlocked = false;
         boolean ccwBlocked = false;

--
Gitblit v1.9.1