From 92432fc3105ed80a8cc75e0d047692f851944eff Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期三, 20 八月 2025 11:00:41 +0800
Subject: [PATCH] 用户信息导入导出修改

---
 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
index 520f3ef..1529964 100644
--- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
@@ -1,6 +1,7 @@
 package org.jeecg.modules.system.controller;
 
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.RandomUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
@@ -32,6 +33,7 @@
 import org.jeecg.modules.system.model.SysUserSysDepartModel;
 import org.jeecg.modules.system.service.*;
 import org.jeecg.modules.system.vo.SysDepartUsersVO;
+import org.jeecg.modules.system.vo.SysUserRoleExitVo;
 import org.jeecg.modules.system.vo.SysUserRoleVO;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
@@ -580,7 +582,17 @@
         }
         //update-end--Author:kangxiaolin  Date:20180825 for锛歔03]鐢ㄦ埛瀵煎嚭锛屽鏋滈�夋嫨鏁版嵁鍒欏彧瀵煎嚭鐩稿叧鏁版嵁----------------------
         List<SysUser> pageList = sysUserService.list(queryWrapper);
-
+        // 鏌ヨ鐢ㄦ埛瑙掕壊
+        List<String> userIds = pageList.stream().map(SysUser::getId).collect(Collectors.toList());
+        List<SysUserRoleExitVo> userRoleExitVoList = sysUserRoleService.queryRoleNamesByUserIds(userIds);
+        if (!CollectionUtil.isEmpty(userRoleExitVoList)) {
+            Map<String, String> userRolesMap = userRoleExitVoList.stream().collect(Collectors.toMap(SysUserRoleExitVo::getUsername, SysUserRoleExitVo::getRoleNames));
+            pageList.forEach(user -> {
+                if (userRolesMap.containsKey(user.getUsername())) {
+                    user.setRoleIds(userRolesMap.get(user.getUsername()));
+                }
+            });
+        }
         //瀵煎嚭鏂囦欢鍚嶇О
         mv.addObject(NormalExcelConstants.FILE_NAME, "鐢ㄦ埛鍒楄〃");
         mv.addObject(NormalExcelConstants.CLASS, SysUser.class);
@@ -627,6 +639,9 @@
                     sysUserExcel.setSalt(salt);
                     String passwordEncode = PasswordUtil.encrypt(sysUserExcel.getUsername(), sysUserExcel.getPassword(), salt);
                     sysUserExcel.setPassword(passwordEncode);
+                    sysUserExcel.setDelFlag(CommonConstant.DEL_FLAG_0);
+                    sysUserExcel.setPasswordFlag(CommonConstant.DEL_FLAG_1);
+                    sysUserExcel.setPasswordTime(new Date());
                     try {
                         sysUserService.save(sysUserExcel);
                         successLines++;
@@ -672,6 +687,17 @@
                         }
                         userProductionService.saveBatch(userProductionList);
                     }
+                    // 鎵归噺灏嗚鑹插拰鐢ㄦ埛淇℃伅寤虹珛鍏宠仈鍏崇郴
+                    String roleIds = sysUserExcel.getRoleIds();
+                    if (StringUtils.isNotBlank(roleIds)) {
+                        String userId = sysUserExcel.getId();
+                        String[] roleIdArray = roleIds.split(",");
+                        List<SysUserRole> sysRoleList = new ArrayList<>(roleIdArray.length);
+                        for (String roleId : roleIdArray) {
+                            sysRoleList.add(new SysUserRole(userId, roleId));
+                        }
+                        sysUserRoleService.saveBatch(sysRoleList);
+                    }
                 }
             } catch (Exception e) {
                 errorMessage.add("鍙戠敓寮傚父锛�" + e.getMessage());

--
Gitblit v1.9.3