瀏覽代碼

用户信息表

chenshudong 3 周之前
父節點
當前提交
6ddee47ca7

+ 15 - 0
airport-common/src/main/java/com/sundot/airport/common/core/domain/entity/SysUser.java

@@ -446,6 +446,12 @@ public class SysUser extends BaseEntity {
446 446
      */
447 447
     private List<SysUser> teamCooperationList;
448 448
 
449
+    /**
450
+     * 导入角色组
451
+     */
452
+    @Excel(name = "角色组(多个角色之间英文逗号分隔)", type = Type.IMPORT)
453
+    private String roleNames;
454
+
449 455
     public SysUser() {
450 456
 
451 457
     }
@@ -1062,6 +1068,14 @@ public class SysUser extends BaseEntity {
1062 1068
         this.teamCooperationList = teamCooperationList;
1063 1069
     }
1064 1070
 
1071
+    public String getRoleNames() {
1072
+        return roleNames;
1073
+    }
1074
+
1075
+    public void setRoleNames(String roleNames) {
1076
+        this.roleNames = roleNames;
1077
+    }
1078
+
1065 1079
     @Override
1066 1080
     public String toString() {
1067 1081
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
@@ -1139,6 +1153,7 @@ public class SysUser extends BaseEntity {
1139 1153
                 .append("postDesc", getPostDesc())
1140 1154
                 .append("workArea", getWorkArea())
1141 1155
                 .append("workAreaDesc", getWorkAreaDesc())
1156
+                .append("roleNames", getRoleNames())
1142 1157
                 .toString();
1143 1158
     }
1144 1159
 }

+ 19 - 0
airport-system/src/main/java/com/sundot/airport/system/service/impl/SysUserServiceImpl.java

@@ -580,6 +580,9 @@ public class SysUserServiceImpl implements ISysUserService {
580 580
         // 工作区域字典数据
581 581
         Map<String, String> workAreaDictDataMap = getDictDataValueKeyMap("work_area");
582 582
 
583
+        // 角色列表
584
+        List<SysRole> sysRoleList = roleMapper.selectRoleList(new SysRole());
585
+
583 586
         int successNum = 0;
584 587
         int failureNum = 0;
585 588
         StringBuilder successMsg = new StringBuilder();
@@ -636,6 +639,12 @@ public class SysUserServiceImpl implements ISysUserService {
636 639
                     }
637 640
                 }
638 641
 
642
+                List<Long> roleIdList = Collections.emptyList();
643
+                if (StrUtil.isNotEmpty(user.getRoleNames())) {
644
+                    List<String> roleNameList = Arrays.stream(user.getRoleNames().split(",")).collect(Collectors.toList());
645
+                    roleIdList = sysRoleList.stream().filter(sysRole -> roleNameList.contains(sysRole.getRoleName())).map(SysRole::getRoleId).distinct().collect(Collectors.toList());
646
+                }
647
+
639 648
                 // 验证是否存在这个用户
640 649
                 SysUser u = userMapper.selectUserByUserName(user.getUserName());
641 650
                 if (StringUtils.isNull(u)) {
@@ -645,6 +654,11 @@ public class SysUserServiceImpl implements ISysUserService {
645 654
                     user.setPassword(SecurityUtils.encryptPassword(password));
646 655
                     user.setCreateBy(operName);
647 656
                     userMapper.insertUser(user);
657
+                    // 删除+新增用户与角色关联
658
+                    if (CollUtil.isNotEmpty(roleIdList)) {
659
+                        userRoleMapper.deleteUserRoleByUserId(user.getUserId());
660
+                        insertUserRole(user.getUserId(), roleIdList.toArray(new Long[0]));
661
+                    }
648 662
                     successNum++;
649 663
                     successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 导入成功");
650 664
                 } else if (isUpdateSupport) {
@@ -655,6 +669,11 @@ public class SysUserServiceImpl implements ISysUserService {
655 669
                     user.setUserId(u.getUserId());
656 670
                     user.setUpdateBy(operName);
657 671
                     userMapper.updateUser(user);
672
+                    // 删除+新增用户与角色关联
673
+                    if (CollUtil.isNotEmpty(roleIdList)) {
674
+                        userRoleMapper.deleteUserRoleByUserId(user.getUserId());
675
+                        insertUserRole(user.getUserId(), roleIdList.toArray(new Long[0]));
676
+                    }
658 677
                     successNum++;
659 678
                     successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 更新成功");
660 679
                 } else {