From d3d3857cda8b4307d8f03bf15ec9fb2c98c34b64 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 17 十二月 2024 09:58:39 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/MapDataDispatcher.java | 34 +++++++++++++++++++++++-----------
1 files changed, 23 insertions(+), 11 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/MapDataDispatcher.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/MapDataDispatcher.java
index ca395b0..1f21be5 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/MapDataDispatcher.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/MapDataDispatcher.java
@@ -2,10 +2,11 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zy.acs.framework.common.Cools;
-import com.zy.acs.framework.exception.CoolException;
import com.zy.acs.common.constant.RedisConstant;
import com.zy.acs.common.utils.RedisSupport;
+import com.zy.acs.framework.common.Cools;
+import com.zy.acs.framework.exception.CoolException;
+import com.zy.acs.manager.core.domain.SortCodeDto;
import com.zy.acs.manager.core.service.astart.domain.DynamicNode;
import com.zy.acs.manager.manager.entity.Code;
import com.zy.acs.manager.manager.service.CodeService;
@@ -13,8 +14,10 @@
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
+import java.util.Comparator;
import java.util.List;
import java.util.Optional;
+import java.util.stream.Collectors;
/**
* Created by vincent on 6/6/2024
@@ -26,7 +29,7 @@
private final RedisSupport redis = RedisSupport.defaultRedisSupport;
- public static final Boolean CACHE_CODE_MATRIX = Boolean.FALSE;
+ public static final Boolean CACHE_CODE_MATRIX = Boolean.TRUE;
private String[][] codeMatrix;
@@ -34,11 +37,11 @@
private int[][] mapMatrix;
- public static final Boolean CACHE_TURN_MATRIX = Boolean.FALSE;
+ public static final Boolean CACHE_TURN_MATRIX = Boolean.TRUE;
private int[][] turnMatrix;
- public static final Boolean CACHE_CDA_MATRIX = Boolean.FALSE;
+ public static final Boolean CACHE_CDA_MATRIX = Boolean.TRUE;
private String[][] cdaMatrix;
@@ -228,6 +231,7 @@
}
public String[][] initWaveMatrix(Integer lev) {
+ log.info("There is initializing Wave Matrix......");
lev = Optional.ofNullable(lev).orElse(MAP_DEFAULT_LEV);
String[][] codeMatrix = getCodeMatrix(lev);
@@ -247,6 +251,7 @@
}
public synchronized DynamicNode[][] initDynamicMatrix(Integer lev) {
+ log.info("There is initializing Dynamic Matrix......");
lev = Optional.ofNullable(lev).orElse(MAP_DEFAULT_LEV);
String[][] codeMatrix = getCodeMatrix(lev);
@@ -266,6 +271,7 @@
}
public synchronized String[][] initCdaMatrix(Integer lev) {
+ log.info("There is initializing Cda Matrix......");
lev = Optional.ofNullable(lev).orElse(MAP_DEFAULT_LEV);
String[][] codeMatrix = getCodeMatrix(lev);
@@ -294,6 +300,7 @@
}
public synchronized int[][] initTurnMatrix(Integer lev) {
+ log.info("There is initializing Turn Matrix......");
lev = Optional.ofNullable(lev).orElse(MAP_DEFAULT_LEV);
String[][] codeMatrix = getCodeMatrix(lev);
@@ -342,6 +349,7 @@
public synchronized int[][] initMapMatrix(Integer lev) {
+ log.info("There is initializing Map Matrix......");
lev = Optional.ofNullable(lev).orElse(MAP_DEFAULT_LEV);
String[][] codeMatrix = getCodeMatrix(lev);
@@ -363,7 +371,7 @@
}
public synchronized String[][] initCodeMatrix(Integer lev) {
- log.info("銆怉STAR銆戞鍦ㄨ绠楃煩闃垫暟鎹�......");
+ log.info("There is initializing Code Matrix......");
lev = Optional.ofNullable(lev).orElse(MAP_DEFAULT_LEV);
List<Code> codeList = codeService.list(new LambdaQueryWrapper<Code>()
.eq(Code::getStatus, 1)
@@ -380,6 +388,7 @@
for (Code code : codeList) {
Double x = code.getX();
Double y = code.getY();
+ if (null == x || null == y) { continue; }
if (!xIdxList.contains(x)) {
xIdxList.add(x);
}
@@ -446,21 +455,24 @@
}
public List<String> queryCodeListFromDynamicNode(Integer lev, String nodeType) {
- List<String> nodes = new ArrayList<>();
if (Cools.isEmpty(nodeType)) {
- return nodes;
+ return new ArrayList<>();
}
lev = Optional.ofNullable(lev).orElse(MAP_DEFAULT_LEV);
+
+ List<SortCodeDto> codeList = new ArrayList<>();
DynamicNode[][] dynamicMatrix = getDynamicMatrix(lev);
String[][] codeMatrix = this.getCodeMatrix(lev);
for (int i = 0; i < codeMatrix.length; i++) {
for (int j = 0; j < codeMatrix[i].length; j++) {
- if (nodeType.equals(dynamicMatrix[i][j].getVehicle())) {
- nodes.add(codeMatrix[i][j]);
+ DynamicNode dynamicNode = dynamicMatrix[i][j];
+ if (nodeType.equals(dynamicNode.getVehicle())) {
+ codeList.add(new SortCodeDto(codeMatrix[i][j], dynamicNode.getSerial()));
}
}
}
- return nodes;
+ codeList.sort(Comparator.comparingInt(SortCodeDto::getSerial));
+ return codeList.stream().map(SortCodeDto::getCode).collect(Collectors.toList());
}
public void modifyDynamicMatrix(Integer lev, List<String> codeList, String vehicle) {
--
Gitblit v1.9.1