From f2ec530065989104832211954a1a95ee566fb98b Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期六, 19 十月 2024 14:50:58 +0800
Subject: [PATCH] fix 修复 字典同步 数据异常问题

---
 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java |   34 +++++++++++++++++++---------------
 1 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java
index 8025412..7476549 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java
@@ -1,6 +1,7 @@
 package org.dromara.system.service.impl;
 
 import cn.dev33.satoken.secure.BCrypt;
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.util.ObjectUtil;
@@ -413,33 +414,36 @@
                     Map<String, SysDictData> map = StreamUtils.toIdentityMap(dataListTenant, SysDictData::getDictValue);
                     for (SysDictData dictData : dataList) {
                         if (!map.containsKey(dictData.getDictValue())) {
+                            SysDictData data = BeanUtil.toBean(dictData, SysDictData.class);
                             // 璁剧疆瀛楀吀缂栫爜涓� null
-                            dictData.setDictCode(null);
-                            dictData.setTenantId(tenantId);
-                            dictData.setCreateTime(null);
-                            dictData.setUpdateTime(null);
+                            data.setDictCode(null);
+                            data.setTenantId(tenantId);
+                            data.setCreateTime(null);
+                            data.setUpdateTime(null);
                             set.add(tenantId);
-                            saveDataList.add(dictData);
+                            saveDataList.add(data);
                         }
                     }
                 } else {
-                    dictType.setDictId(null);
-                    dictType.setTenantId(tenantId);
-                    dictType.setCreateTime(null);
-                    dictType.setUpdateTime(null);
+                    SysDictType type = BeanUtil.toBean(dictType, SysDictType.class);
+                    type.setDictId(null);
+                    type.setTenantId(tenantId);
+                    type.setCreateTime(null);
+                    type.setUpdateTime(null);
                     set.add(tenantId);
-                    saveTypeList.add(dictType);
+                    saveTypeList.add(type);
                     if (CollUtil.isNotEmpty(dataList)) {
                         // 绛涢�夊嚭 dictType 瀵瑰簲鐨� data
                         for (SysDictData dictData : dataList) {
+                            SysDictData data = BeanUtil.toBean(dictData, SysDictData.class);
                             // 璁剧疆瀛楀吀缂栫爜涓� null
-                            dictData.setDictCode(null);
-                            dictData.setTenantId(tenantId);
-                            dictData.setCreateTime(null);
-                            dictData.setUpdateTime(null);
+                            data.setDictCode(null);
+                            data.setTenantId(tenantId);
+                            data.setCreateTime(null);
+                            data.setUpdateTime(null);
                             set.add(tenantId);
+                            saveDataList.add(data);
                         }
-                        saveDataList.addAll(dataList);
                     }
                 }
             }

--
Gitblit v1.9.3