From d7001b28850f98c06a077d59d637103b2100dba5 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 17 三月 2026 11:13:40 +0800
Subject: [PATCH] fix: 调整定时任务时间、移除反射获取同步日期、物料类型同步数据存在类型不对应问题、新增更新修改为批次保存

---
 src/main/java/com/ruoyi/framework/util/AliDingUtils.java |   19 ++++++-------------
 1 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/ruoyi/framework/util/AliDingUtils.java b/src/main/java/com/ruoyi/framework/util/AliDingUtils.java
index bd1eea7..cfa260e 100644
--- a/src/main/java/com/ruoyi/framework/util/AliDingUtils.java
+++ b/src/main/java/com/ruoyi/framework/util/AliDingUtils.java
@@ -152,22 +152,15 @@
         LambdaQueryWrapper<T> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.orderByDesc(timeField).last("LIMIT 1");
         T lastRecord = service.getOne(queryWrapper);
+
         if (lastRecord == null) {
             return null;
         }
-        try {
-            Method writeReplace = timeField.getClass().getDeclaredMethod("writeReplace");
-            writeReplace.setAccessible(true);
-            SerializedLambda lambda = (SerializedLambda) writeReplace.invoke(timeField);
-            // 鑾峰彇鏂规硶鍚�
-            String methodName = lambda.getImplMethodName();
-            // 杞瓧娈靛悕
-            String fieldName = methodName.substring(3, 4).toLowerCase() + methodName.substring(4);
-            Field field = lastRecord.getClass().getDeclaredField(fieldName);
-            field.setAccessible(true);
-            return (LocalDateTime) field.get(lastRecord);
-        } catch (Exception e) {
-            throw new RuntimeException("鑾峰彇鏈�鍚庡悓姝ユ椂闂村け璐�", e);
+        Object value = timeField.apply(lastRecord);
+
+        if (value instanceof LocalDateTime) {
+            return (LocalDateTime) value;
         }
+        return null;
     }
 }

--
Gitblit v1.9.3