From 3444b50da6c65abeddb80666b840946a0529518a Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期三, 15 一月 2025 09:56:08 +0800
Subject: [PATCH] update 优化 工作流配置书写错误

---
 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java |   55 ++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 36 insertions(+), 19 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 2f86062..f31bd30 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;
@@ -11,8 +12,10 @@
 import lombok.RequiredArgsConstructor;
 import org.dromara.common.core.constant.CacheNames;
 import org.dromara.common.core.constant.Constants;
+import org.dromara.common.core.constant.SystemConstants;
 import org.dromara.common.core.constant.TenantConstants;
 import org.dromara.common.core.exception.ServiceException;
+import org.dromara.common.core.service.WorkflowService;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.SpringUtils;
 import org.dromara.common.core.utils.StreamUtils;
@@ -119,7 +122,9 @@
 
         // 鑾峰彇鎵�鏈夌鎴风紪鍙�
         List<String> tenantIds = baseMapper.selectObjs(
-            new LambdaQueryWrapper<SysTenant>().select(SysTenant::getTenantId), x -> {return Convert.toStr(x);});
+            new LambdaQueryWrapper<SysTenant>().select(SysTenant::getTenantId), x -> {
+                return Convert.toStr(x);
+            });
         String tenantId = generateTenantId(tenantIds);
         add.setTenantId(tenantId);
         boolean flag = baseMapper.insert(add) > 0;
@@ -189,6 +194,13 @@
             config.setTenantId(tenantId);
         }
         configMapper.insertBatch(sysConfigList);
+
+        // 鏈紑鍚伐浣滄祦涓嶆墽琛屼笅鏂规搷浣�
+        if (SpringUtils.getProperty("warm-flow.enabled", Boolean.class, false)) {
+            WorkflowService workflowService = SpringUtils.getBean(WorkflowService.class);
+            // 鏂板绉熸埛娴佺▼瀹氫箟
+            workflowService.syncDef(tenantId);
+        }
         return true;
     }
 
@@ -203,7 +215,7 @@
         String numbers = RandomUtil.randomNumbers(6);
         // 鍒ゆ柇鏄惁瀛樺湪锛屽鏋滃瓨鍦ㄥ垯閲嶆柊鐢熸垚
         if (tenantIds.contains(numbers)) {
-            generateTenantId(tenantIds);
+            return generateTenantId(tenantIds);
         }
         return numbers;
     }
@@ -230,7 +242,7 @@
         role.setRoleName(TenantConstants.TENANT_ADMIN_ROLE_NAME);
         role.setRoleKey(TenantConstants.TENANT_ADMIN_ROLE_KEY);
         role.setRoleSort(1);
-        role.setStatus(TenantConstants.NORMAL);
+        role.setStatus(SystemConstants.NORMAL);
         roleMapper.insert(role);
         Long roleId = role.getRoleId();
 
@@ -397,7 +409,9 @@
         // 鑾峰彇鎵�鏈夌鎴风紪鍙�
         List<String> tenantIds = baseMapper.selectObjs(
             new LambdaQueryWrapper<SysTenant>().select(SysTenant::getTenantId)
-                .eq(SysTenant::getStatus, TenantConstants.NORMAL), x -> {return Convert.toStr(x);});
+                .eq(SysTenant::getStatus, SystemConstants.NORMAL), x -> {
+                return Convert.toStr(x);
+            });
         List<SysDictType> saveTypeList = new ArrayList<>();
         List<SysDictData> saveDataList = new ArrayList<>();
         Set<String> set = new HashSet<>();
@@ -413,33 +427,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