From 33b020f1a674ce81f4366424cb199359d69bed2f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=83=91=E6=97=AD=E6=98=8E=5C73939?= <739390650@QQ.COM>
Date: Fri, 10 Oct 2025 17:27:56 +0800
Subject: [PATCH] =?UTF-8?q?opt:=E6=97=A5=E5=BF=97=E4=BC=98=E5=8C=96?=
=?UTF-8?q?=E3=80=81=E6=89=93=E5=8C=85=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
nladmin-system/jar包maven脚本.txt | 1 +
nladmin-system/nlsso-server/pom.xml | 3 +-
.../nl/config/lucene/AsyncLuceneAppender.java | 14 +++-
.../org/nl/config/lucene/LuceneAppender.java | 83 ++++++++++++++-----
.../basedata_manage/enums/BaseDataEnum.java | 2 +-
.../controller/ErpToWmsController.java | 3 +-
.../ext_manage/service/ErpToWmsService.java | 3 +-
.../service/impl/ErpToWmsServiceImpl.java | 12 ++-
.../nl/wms/sch_manage/enums/StatusEnum.java | 54 ++++++------
.../nl/wms/sch_manage/enums/TaskStatus.java | 17 ++--
.../src/main/resources/config/application.yml | 3 +-
.../language/i18n/{lang_en.js => en.js} | 0
.../language/i18n/{lang_in.js => in.js} | 0
.../language/i18n/{lang_ja.js => ja.js} | 0
.../language/i18n/{lang_vi.js => vi.js} | 0
.../language/i18n/{lang_zh.js => zh.js} | 0
.../src/main/resources/logback-spring.xml | 7 +-
17 files changed, 132 insertions(+), 70 deletions(-)
create mode 100644 nladmin-system/jar包maven脚本.txt
rename nladmin-system/nlsso-server/src/main/resources/language/i18n/{lang_en.js => en.js} (100%)
rename nladmin-system/nlsso-server/src/main/resources/language/i18n/{lang_in.js => in.js} (100%)
rename nladmin-system/nlsso-server/src/main/resources/language/i18n/{lang_ja.js => ja.js} (100%)
rename nladmin-system/nlsso-server/src/main/resources/language/i18n/{lang_vi.js => vi.js} (100%)
rename nladmin-system/nlsso-server/src/main/resources/language/i18n/{lang_zh.js => zh.js} (100%)
diff --git a/nladmin-system/jar包maven脚本.txt b/nladmin-system/jar包maven脚本.txt
new file mode 100644
index 0000000..0e61472
--- /dev/null
+++ b/nladmin-system/jar包maven脚本.txt
@@ -0,0 +1 @@
+mvn install:install-file -Dfile=./nlsso-server/libs/language-all.jar -DgroupId=nl.sdkall -DartifactId=language-all -Dversion=0.0.1 -Dpackaging=jar
\ No newline at end of file
diff --git a/nladmin-system/nlsso-server/pom.xml b/nladmin-system/nlsso-server/pom.xml
index f6bebcc..d4c8557 100644
--- a/nladmin-system/nlsso-server/pom.xml
+++ b/nladmin-system/nlsso-server/pom.xml
@@ -284,8 +284,7 @@
nl.sdkall
language-all
0.0.1
- system
- ${project.basedir}/libs/language-all.jar
+
diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/AsyncLuceneAppender.java b/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/AsyncLuceneAppender.java
index 1c833b8..77f5968 100644
--- a/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/AsyncLuceneAppender.java
+++ b/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/AsyncLuceneAppender.java
@@ -15,17 +15,23 @@ import java.util.Map;
public class AsyncLuceneAppender extends AspectLogbackAsyncAppender {
-
-
@Override
protected void append(ILoggingEvent event) {
+ // 设置traceId
String traceId = LuceneAppender.traceIdTL.get();
if (StringUtils.isNotEmpty(traceId)){
- MDC.put("traceId",traceId);
+ MDC.put("traceId", traceId);
Map mdcPropertyMap = event.getMDCPropertyMap();
if (mdcPropertyMap.getClass().getName().contains("SynchronizedMap")){
- mdcPropertyMap.put("traceId",traceId);
+ mdcPropertyMap.put("traceId", traceId);
}
+ }
+
+ // 必须调用父类的append方法,否则日志不会被实际写入
+ super.append(event);
+
+ // 清理MDC
+ if (StringUtils.isNotEmpty(traceId)) {
MDC.clear();
}
}
diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LuceneAppender.java b/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LuceneAppender.java
index a4c204a..db15c40 100644
--- a/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LuceneAppender.java
+++ b/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/LuceneAppender.java
@@ -39,18 +39,41 @@ public class LuceneAppender extends AppenderBase {
public void start() {
super.start();
try {
- // 读取配置文件
- Properties properties = YmlConfigFileUtil.readConfig("config/application.yml");
+ // 读取配置文件 - 尝试多种可能的路径
+ Properties properties = null;
+ try {
+ // 首先尝试读取config目录下的配置
+ properties = YmlConfigFileUtil.readConfig("config/application.yml");
+ } catch (Exception e) {
+ // 如果失败,尝试读取classpath根目录下的配置
+ System.out.println("尝试读取config/application.yml失败,尝试读取application.yml");
+ properties = YmlConfigFileUtil.readConfig("application.yml");
+ }
// 获取配置值
String luceneDir = properties.getProperty("lucene.index.path");
- System.out.println("---index地址----"+luceneDir);
- index = FSDirectory.open(Paths.get(luceneDir));
+ System.out.println("---index地址----" + luceneDir);
+
+ // 验证路径是否存在,如果不存在则创建
+ if (StringUtils.isEmpty(luceneDir)) {
+ luceneDir = "D:/lms/lucene/index";
+ System.out.println("Lucene索引路径配置为空,使用默认路径: " + luceneDir);
+ }
+
+ java.nio.file.Path path = Paths.get(luceneDir);
+ if (!java.nio.file.Files.exists(path)) {
+ java.nio.file.Files.createDirectories(path);
+ System.out.println("Lucene索引路径不存在,已创建: " + luceneDir);
+ }
+
+ index = FSDirectory.open(path);
// 初始化 Lucene 索引
Analyzer analyzer = new IKAnalyzer();
IndexWriterConfig config = new IndexWriterConfig(analyzer);
+ config.setOpenMode(IndexWriterConfig.OpenMode.CREATE_OR_APPEND);
indexWriter = new IndexWriter(index, config);
} catch (Exception e) {
+ System.err.println("初始化Lucene日志失败: " + e.getMessage());
e.printStackTrace();
}
}
@@ -58,27 +81,49 @@ public class LuceneAppender extends AppenderBase {
@Override
protected void append(ILoggingEvent event) {
+ // 检查indexWriter是否初始化成功
+ if (indexWriter == null) {
+ System.err.println("Lucene索引写入器未初始化,无法写入日志");
+ return;
+ }
+
Document doc = new Document();
- for (Property property : this.properties.getProperties()) {
- LucenePropertyAndEncoder encoder = new LucenePropertyAndEncoder(property, this.context);
- String encode = encoder.encode(event);
- doc.add(new StringField(property.getName(), encode, Field.Store.YES));
- }
- Map map = event.getMDCPropertyMap();
- if (!map.isEmpty() && StringUtils.isNotEmpty(map.get("traceId"))){
- doc.add(new StringField("traceId",map.get("traceId"), Field.Store.YES));
- }else {
- doc.add(new StringField("traceId"," ", Field.Store.YES));
- }
-
- doc.add(new TextField(LogMessageConstant.FIELD_MESSAGE, event.getFormattedMessage(), Field.Store.YES));
- doc.add(new StringField(LogMessageConstant.FIELD_TIMESTAMP, String.valueOf(event.getTimeStamp()),Field.Store.YES));
- doc.add(new NumericDocValuesField(LogMessageConstant.SORT_NAME, event.getTimeStamp()));
try {
+ if (this.properties != null && this.properties.getProperties() != null) {
+ for (Property property : this.properties.getProperties()) {
+ LucenePropertyAndEncoder encoder = new LucenePropertyAndEncoder(property, this.context);
+ String encode = encoder.encode(event);
+ doc.add(new StringField(property.getName(), encode, Field.Store.YES));
+ }
+ }
+
+ Map map = event.getMDCPropertyMap();
+ if (map != null && !map.isEmpty() && StringUtils.isNotEmpty(map.get("traceId"))){
+ doc.add(new StringField("traceId", map.get("traceId"), Field.Store.YES));
+ } else {
+ doc.add(new StringField("traceId", " ", Field.Store.YES));
+ }
+
+ // 添加日志消息和时间戳
+ doc.add(new TextField(LogMessageConstant.FIELD_MESSAGE, event.getFormattedMessage(), Field.Store.YES));
+ doc.add(new StringField(LogMessageConstant.FIELD_TIMESTAMP, String.valueOf(event.getTimeStamp()), Field.Store.YES));
+ doc.add(new NumericDocValuesField(LogMessageConstant.SORT_NAME, event.getTimeStamp()));
+
+ // 写入并提交文档
indexWriter.addDocument(doc);
indexWriter.commit();
} catch (Exception e) {
+ System.err.println("写入Lucene日志失败: " + e.getMessage());
e.printStackTrace();
+
+ // 尝试回滚事务
+ try {
+ if (indexWriter != null) {
+ indexWriter.rollback();
+ }
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ }
}
}
diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/enums/BaseDataEnum.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/enums/BaseDataEnum.java
index a30f4e9..c298e05 100644
--- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/enums/BaseDataEnum.java
+++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/enums/BaseDataEnum.java
@@ -20,7 +20,7 @@ import java.util.Map;
public enum BaseDataEnum {
// 是否
- IS_YES_NOT(MapOf.of(LangBehavior.language("common.yes"), "1", LangBehavior.language("common.no"), "0")),
+ IS_YES_NOT(MapOf.of("是", "1", "否", "0")),
;
private Map code;
diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/controller/ErpToWmsController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/controller/ErpToWmsController.java
index b273378..b2e65b2 100644
--- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/controller/ErpToWmsController.java
+++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/controller/ErpToWmsController.java
@@ -2,6 +2,7 @@ package org.nl.wms.ext_manage.controller;
import cn.dev33.satoken.annotation.SaIgnore;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -46,7 +47,7 @@ public class ErpToWmsController {
@PostMapping("/usematerinfo")
@Log("下发用料信息")
@SaIgnore
- public ResponseEntity