From 0d2497f901ac90077e27b085aec820136a158396 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期一, 09 十一月 2026 17:35:54 +0800
Subject: [PATCH] 合并修改com/ruoyi/quartz/task/RyTacom/ruoyi/quartz/task/RyTask.java:3sk.java:3com/ruoyi/quart/task/RyTask.java:3

---
 ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java           |   13 +++++++++++--
 smartor/src/main/java/com/smartor/message/LishuiMessageConfigProviderImpl.java |    9 ++++++++-
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
index 814a4c5..a4ce0a5 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
@@ -542,8 +542,12 @@
      * @param dataClazz 鏁版嵁瀵硅薄鐨凜lass
      */
     @SuppressWarnings("unchecked")
-    public void writeAdditionalSheet(List<?> dataList, String sheetName, Class<?> dataClazz) {        if (dataList == null) {
-            dataList = new ArrayList<>();
+    public void writeAdditionalSheet(List<?> dataList, String sheetName, Class<?> dataClazz) {
+        // 娌℃湁鏁版嵁鎴栨病鏈夎绫诲瀷鏃惰烦杩囬檮鍔� Sheet锛�
+        // SatisfactionExportBundle.empty() 鐨� rowClass 涓� null锛岃嫢缁х画鎵ц浼氭妸 this.clazz 缃┖锛�
+        // 闅忓悗 getFields() 璋冪敤 clazz.getSuperclass() 瑙﹀彂 NullPointerException銆�
+        if (dataClazz == null || dataList == null || dataList.isEmpty()) {
+            return;
         }
         // 淇濆瓨鍘熷鐘舵��
         Class<T> originClazz = this.clazz;
@@ -1341,6 +1345,11 @@
      */
     public List<Object[]> getFields() {
         List<Object[]> fields = new ArrayList<Object[]>();
+        // 闃插尽锛歝lazz 涓虹┖鏃朵笉鍐嶈皟鐢� getSuperclass()锛岄伩鍏� NullPointerException銆�
+        if (clazz == null) {
+            log.warn("ExcelUtil.clazz 涓虹┖锛屾棤娉曡В鏋愬鍑哄瓧娈碉紝璺宠繃褰撳墠 Sheet");
+            return fields;
+        }
         List<Field> tempFields = new ArrayList<>();
         tempFields.addAll(Arrays.asList(clazz.getSuperclass().getDeclaredFields()));
         tempFields.addAll(Arrays.asList(clazz.getDeclaredFields()));
diff --git a/smartor/src/main/java/com/smartor/message/LishuiMessageConfigProviderImpl.java b/smartor/src/main/java/com/smartor/message/LishuiMessageConfigProviderImpl.java
index 3fd82ff..097fb2b 100644
--- a/smartor/src/main/java/com/smartor/message/LishuiMessageConfigProviderImpl.java
+++ b/smartor/src/main/java/com/smartor/message/LishuiMessageConfigProviderImpl.java
@@ -1,5 +1,6 @@
 package com.smartor.message;
 
+import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.message.sms.provider.ls.LishuiMessageConfig;
@@ -36,6 +37,12 @@
      */
     private static final String CONFIG_KEY = "ls.msg.info";
 
+    private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
+
+    private static final TypeReference<Map<String, String>> MSG_INFO_TYPE =
+            new TypeReference<Map<String, String>>() {
+            };
+
     private final ISysConfigService configService;
 
     public LishuiMessageConfigProviderImpl(ISysConfigService configService) {
@@ -60,7 +67,7 @@
         Map<String, String> msgInfo = new HashMap<>();
         if (StringUtils.isNotEmpty(configValue)) {
             try {
-                msgInfo = new ObjectMapper().readValue(configValue, Map.class);
+                msgInfo = OBJECT_MAPPER.readValue(configValue, MSG_INFO_TYPE);
             } catch (Exception e) {
                 log.error("銆怢ishuiMessageConfigProviderImpl銆戣В鏋� {} 澶辫触锛宱rgid锛歿}锛寁alue锛歿}锛宔rr锛歿}",
                         CONFIG_KEY, orgid, configValue, e.getMessage(), e);

--
Gitblit v1.9.3