From f0de929d33b856c853e85c3452b7e63af2f6938d Mon Sep 17 00:00:00 2001
From: liyongde <1419499670@qq.com>
Date: Wed, 27 Dec 2023 18:49:54 +0800
Subject: [PATCH] =?UTF-8?q?opt:=20lucene,=E9=93=BE=E8=B7=AF=E8=BF=BD?=
=?UTF-8?q?=E8=B8=AA=EF=BC=8CMDC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
lms/nladmin-system/nlsso-server/pom.xml | 7 +-
.../src/main/java/org/nl/AppRun.java | 10 ++-
.../nl/config/lucene/LogMessageConstant.java | 13 ++-
.../org/nl/config/lucene/LuceneAppender.java | 31 ++++++-
.../java/org/nl/config/lucene/Searcher.java | 19 ++--
.../org/nl/config/thread/TestCollector.java | 4 +-
.../controller/param/SysParamController.java | 5 --
.../lucene/impl/LuceneServiceImpl.java | 5 +-
.../param/impl/SysParamServiceImpl.java | 7 ++
.../service/quartz/config/QuartzConfig.java | 16 +++-
.../service/quartz/utils/ExecutionJob.java | 6 +-
.../controller/MdBaseMaterialController.java | 4 -
.../mes/service/impl/WmsToMesServiceImpl.java | 2 +
.../controller/PdmBdWorkorderController.java | 1 -
.../workorder/service/dao/PdmBdWorkorder.java | 1 +
...chBaseVehiclematerialgroupServiceImpl.java | 4 +
.../task/tasks/fj/mapper/FJMapper.xml | 1 -
.../src/main/resources/config/application.yml | 90 +++++++++++++------
.../src/main/resources/logback-spring.xml | 22 ++++-
.../src/views/wms/pdm/workerorder/index.vue | 9 ++
.../src/views/wms/sch/group/index.vue | 18 ++++
21 files changed, 213 insertions(+), 62 deletions(-)
diff --git a/lms/nladmin-system/nlsso-server/pom.xml b/lms/nladmin-system/nlsso-server/pom.xml
index 4737bde..77cc8b1 100644
--- a/lms/nladmin-system/nlsso-server/pom.xml
+++ b/lms/nladmin-system/nlsso-server/pom.xml
@@ -355,7 +355,12 @@
com.alicp.jetcache
jetcache-starter-redis
- 2.5.14
+ 2.7.3
+
+
+ redis.clients
+ jedis
+ 4.3.1
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/AppRun.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/AppRun.java
index a119464..2c6a8ed 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/AppRun.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/AppRun.java
@@ -3,15 +3,16 @@ package org.nl;
import cn.dev33.satoken.annotation.SaIgnore;
import com.alicp.jetcache.anno.config.EnableCreateCacheAnnotation;
import com.alicp.jetcache.anno.config.EnableMethodCache;
+import lombok.extern.slf4j.Slf4j;
import org.dromara.dynamictp.core.spring.EnableDynamicTp;
import org.mybatis.spring.annotation.MapperScan;
import org.nl.common.annotation.Limit;
import org.nl.config.SpringContextHolder;
+import org.slf4j.MDC;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
+import org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration;
import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@@ -26,10 +27,12 @@ import org.springframework.web.bind.annotation.RestController;
* @author ldjun
* @date 2021/2/22 9:20:19
*/
+@Slf4j
@EnableAsync
@RestController
@EnableDynamicTp
@SpringBootApplication(exclude = {
+ QuartzAutoConfiguration.class,
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class
})
@ServletComponentScan
@@ -48,7 +51,6 @@ public class AppRun {
return new SpringContextHolder();
}
-
/**
* 访问首页提示
@@ -59,6 +61,8 @@ public class AppRun {
@Limit(period = 2, count = 1)
@SaIgnore
public String index() {
+ MDC.put("system", "SSS");
+ log.info("sssss");
return "Backend service started successfully";
}
}
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LogMessageConstant.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LogMessageConstant.java
index 31242b6..e776132 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LogMessageConstant.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LogMessageConstant.java
@@ -7,9 +7,17 @@ package org.nl.config.lucene;
*/
public class LogMessageConstant {
/**
- *
+ * 标签
+ */
+ public final static String LABEL = "label";
+ /**
+ * 时间
*/
public final static String SORT_NAME = "time";
+ /**
+ * IP
+ */
+ public final static String IP = "ip";
/**
* 级别
*/
@@ -30,6 +38,9 @@ public class LogMessageConstant {
* 日志内容
*/
public final static String FIELD_MESSAGE = "message";
+ /**
+ * tlogTraceId
+ */
public final static String FIELD_TRACEID = "tlogTraceId";
// 定义颜色值
/**
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LuceneAppender.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LuceneAppender.java
index 94d6d6a..48d037c 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LuceneAppender.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LuceneAppender.java
@@ -20,9 +20,13 @@ import org.nl.common.utils.YmlConfigFileUtil;
import org.wltea.analyzer.lucene.IKAnalyzer;
import java.io.IOException;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
import java.nio.file.Paths;
import java.util.Map;
import java.util.Properties;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
public class LuceneAppender extends AppenderBase {
@@ -61,18 +65,43 @@ public class LuceneAppender extends AppenderBase {
Map mdcPropertyMap = event.getMDCPropertyMap();
Document doc = new Document();
long timeStamp = event.getTimeStamp();
+ // 获取本机的IP地址
+ String ipAddress = "-";
+ try {
+ ipAddress = InetAddress.getLocalHost().getHostAddress();
+ } catch (UnknownHostException e) {
+ throw new RuntimeException(e);
+ }
String formattedDateTime = DateUtil.format(new java.util.Date(timeStamp), "yyyy-MM-dd HH:mm:ss.SSS");
doc.add(new LongPoint(LogMessageConstant.SORT_NAME, timeStamp));
doc.add(new NumericDocValuesField(LogMessageConstant.SORT_NAME, timeStamp));
doc.add(new StringField(LogMessageConstant.FIELD_LEVEL, event.getLevel().toString(), Field.Store.YES));
doc.add(new StringField(LogMessageConstant.FIELD_TIMESTAMP, formattedDateTime, Field.Store.YES));
doc.add(new StoredField(LogMessageConstant.FIELD_CLASS_NAME, event.getLoggerName()));
+ doc.add(new StoredField(LogMessageConstant.IP, ipAddress));
doc.add(new StoredField(LogMessageConstant.FIELD_THREAD, event.getThreadName()));
if (ObjectUtil.isNotEmpty(mdcPropertyMap) && ObjectUtil.isNotEmpty(mdcPropertyMap.get(LogMessageConstant.FIELD_TRACEID))) {
String traceId = mdcPropertyMap.get(LogMessageConstant.FIELD_TRACEID);
doc.add(new StringField(LogMessageConstant.FIELD_TRACEID, traceId, Field.Store.YES));
+ doc.add(new StringField(LogMessageConstant.LABEL, ObjectUtil.isNotEmpty(mdcPropertyMap.get("tag_name"))
+ ? mdcPropertyMap.get("tag_name") : "-", Field.Store.YES));
} else {
- doc.add(new StringField(LogMessageConstant.FIELD_TRACEID, "无生成链路ID", Field.Store.YES));
+ // 定义正则表达式,匹配17位数字
+ String regex = "\\d{17}";
+ // 创建 Pattern 对象
+ Pattern pattern = Pattern.compile(regex);
+ // 创建 Matcher 对象
+ Matcher matcher = pattern.matcher(message);
+ String matchedNumber = null;
+ // 查找匹配的数字
+ while (matcher.find()) {
+ matchedNumber = matcher.group();
+ }
+ if (ObjectUtil.isNotEmpty(matchedNumber)) {
+ doc.add(new StringField(LogMessageConstant.FIELD_TRACEID, matchedNumber, Field.Store.YES));
+ } else {
+ doc.add(new StringField(LogMessageConstant.FIELD_TRACEID, "无生成链路ID", Field.Store.YES));
+ }
}
doc.add(new TextField(LogMessageConstant.FIELD_MESSAGE, message, Field.Store.YES));
try {
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/Searcher.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/Searcher.java
index 2126e2b..8fb0631 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/Searcher.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/Searcher.java
@@ -92,17 +92,20 @@ public class Searcher {
whereJson.get(LogMessageConstant.FIELD_LEVEL).toString()));
booleanQueryBuilder.add(termQuery, BooleanClause.Occur.MUST);
}
- docs = searcher.search(booleanQueryBuilder.build(), end, sort);
List list = new ArrayList<>();
+ TopFieldCollector collector = TopFieldCollector.create(sort, 20000, 0);
+ searcher.search(booleanQueryBuilder.build(), collector);
+ docs = collector.topDocs(pageNum*pageSize, pageSize);
ScoreDoc[] scoreDocs = docs.scoreDocs;
- if (end > docs.totalHits.value) {
- end = (int) docs.totalHits.value;
- }
+ int totalSize = collector.getTotalHits();
- for (int i = start; i < end; i++) {
- ScoreDoc scoreDoc = scoreDocs[i];
+ for (ScoreDoc scoreDoc : scoreDocs) {
Document doc = reader.document(scoreDoc.doc);
- String logInfo = LogMessageConstant.COLOR_YELLOW + doc.get(LogMessageConstant.FIELD_TRACEID) +
+ String logInfo = LogMessageConstant.COLOR_CYAN + doc.get(LogMessageConstant.LABEL) +
+ LogMessageConstant.COLOR_RESET + " - " +
+ LogMessageConstant.COLOR_BLUE + doc.get(LogMessageConstant.IP) +
+ LogMessageConstant.COLOR_RESET + " - " +
+ LogMessageConstant.COLOR_YELLOW + doc.get(LogMessageConstant.FIELD_TRACEID) +
LogMessageConstant.COLOR_RESET + " - " +
LogMessageConstant.COLOR_RED + doc.get(LogMessageConstant.FIELD_TIMESTAMP) +
LogMessageConstant.COLOR_RESET + " - " +
@@ -118,7 +121,7 @@ public class Searcher {
reader.close();
JSONObject jo = new JSONObject();
jo.put("content", list);
- jo.put("totalElements", docs.totalHits.value);
+ jo.put("totalElements", totalSize);
return jo;
}
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/thread/TestCollector.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/thread/TestCollector.java
index c919f76..35bc57d 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/thread/TestCollector.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/thread/TestCollector.java
@@ -11,9 +11,7 @@ import org.dromara.dynamictp.core.monitor.collector.AbstractCollector;
public class TestCollector extends AbstractCollector {
@Override
public void collect(ThreadPoolStats threadPoolStats) {
- if (threadPoolStats.getPoolName().equals("el-thread")) {
- System.out.println("ssssssssssssssss:" + threadPoolStats);
- }
+// System.out.println("ssssssssssssssss:" + threadPoolStats);
}
@Override
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/param/SysParamController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/param/SysParamController.java
index ac8048b..8273a55 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/param/SysParamController.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/param/SysParamController.java
@@ -36,7 +36,6 @@ class SysParamController {
@GetMapping
@Log("查询系统参数")
-
//@SaCheckPermission("param:list")
public ResponseEntity