瀏覽代碼

新增修改用户传送参数添加角色id

sl 9 月之前
父節點
當前提交
2922395fd1

+ 3 - 1
jeecg-module-interlock/src/main/java/org/jeecg/modules/interlockUser/entity/InterlockUserAdd.java

@@ -21,11 +21,13 @@ import java.util.List;
 public class InterlockUserAdd {
     /**用户id*/
     private java.lang.String id;
+    /**用户角色id  用来操作菜单权限*/
+    private java.lang.String roleId;
     /**登陆账号名*/
     private java.lang.String username;
     /**描述*/
     private java.lang.String remark;
-    /**当前用户角色(0系统管理员1其他角色)*/
+    /**当前用户是否是管理员(0系统管理员1其他角色)*/
     private java.lang.String role;
 
     private List<InterlockSystemLimit> systemLimitList;

+ 28 - 4
jeecg-module-interlock/src/main/java/org/jeecg/modules/interlockUser/service/impl/InterlockUserServiceImpl.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.interlockUser.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.interlockSystemLimit.entity.InterlockSystemLimit;
 import org.jeecg.modules.interlockSystemLimit.service.IInterlockSystemLimitService;
 import org.jeecg.modules.interlockUser.entity.InterlockUser;
@@ -10,6 +11,9 @@ import org.jeecg.modules.interlockUser.mapper.InterlockUserMapper;
 import org.jeecg.modules.interlockUser.service.IInterlockUserService;
 import org.jeecg.modules.iotedgeCollectData.entity.IoTEdgeDevices;
 import org.jeecg.modules.iotedgeCollectData.mapper.IotedgeCollectDataMapper;
+import org.jeecg.modules.system.entity.SysUserRole;
+import org.jeecg.modules.system.mapper.SysUserRoleMapper;
+import org.jeecg.modules.system.service.ISysUserRoleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -33,6 +37,10 @@ public class InterlockUserServiceImpl extends ServiceImpl<InterlockUserMapper, I
 
     @Autowired
     @SuppressWarnings("all")
+    private ISysUserRoleService sysUserRoleService;
+
+    @Autowired
+    @SuppressWarnings("all")
     private InterlockUserMapper interlockUserMapper;
 
     @Autowired
@@ -66,13 +74,17 @@ public class InterlockUserServiceImpl extends ServiceImpl<InterlockUserMapper, I
         interlockUser.setRole(interlockUserAdd.getRole());//角色(0管理员1其他角色)
         //由于权限表中需要用户id,所以先添加用户表信息后在添加系统权限信息
         this.save(interlockUser);
+        String userId = interlockUser.getId();
         //创建一个用户权限列表,用来存放系统权限信息 填充权限信息列表
         List<InterlockSystemLimit> interlockSystemLimitList = new ArrayList<>(interlockUserAdd.getSystemLimitList());
         for(InterlockSystemLimit interlockSystemLimit:interlockSystemLimitList){
             interlockSystemLimit.setCreateBy(wiseUser);
-            interlockSystemLimit.setInterlockUserId(interlockUser.getId());
+            interlockSystemLimit.setInterlockUserId(userId);
         }
         interlockSystemLimitService.saveBatch(interlockSystemLimitList);
+        SysUserRole userRole = new SysUserRole(userId, interlockUserAdd.getRoleId());
+        sysUserRoleService.save(userRole);
+
         return Result.OK("用户添加成功!");
     }
 
@@ -96,9 +108,10 @@ public class InterlockUserServiceImpl extends ServiceImpl<InterlockUserMapper, I
                 }
             }
         }
+        String userId = interlockUserAdd.getId();//用户id
         //填充用户信息
         interlockUser.setUpdateBy(wiseUser);//因为不用jeecg内置的用户表,所以此处填充一下更新人
-        interlockUser.setId(interlockUserAdd.getId());
+        interlockUser.setId(userId);
         interlockUser.setUsername(interlockUserAdd.getUsername());//登陆账户名
         interlockUser.setRemark(interlockUserAdd.getRemark());//描述
         interlockUser.setRole(interlockUserAdd.getRole());//角色(0管理员1其他角色)
@@ -106,10 +119,15 @@ public class InterlockUserServiceImpl extends ServiceImpl<InterlockUserMapper, I
         List<InterlockSystemLimit> interlockSystemLimitList = new ArrayList<>(interlockUserAdd.getSystemLimitList());
         for(InterlockSystemLimit interlockSystemLimit:interlockSystemLimitList){
             interlockSystemLimit.setUpdateBy(wiseUser);
-            interlockSystemLimit.setInterlockUserId(interlockUserAdd.getId());
+            interlockSystemLimit.setInterlockUserId(userId);
         }
         this.updateById(interlockUser);
         interlockSystemLimitService.updateBatchById(interlockSystemLimitList);
+
+        //先删后加  用户角色表
+        sysUserRoleService.remove(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, userId));
+        SysUserRole userRole = new SysUserRole(userId, interlockUserAdd.getRoleId());
+        sysUserRoleService.save(userRole);
         return Result.OK("用户编辑成功!");
     }
 
@@ -121,11 +139,14 @@ public class InterlockUserServiceImpl extends ServiceImpl<InterlockUserMapper, I
      */
     public Result<String> deleteUser(String id){
         this.removeById(id);
-        //删除方法1
+        //删除方法1  删除用户权限
         QueryWrapper<InterlockSystemLimit> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("interlock_user_id",id);
         interlockSystemLimitService.remove(queryWrapper);
 
+        //删除用户角色表
+        sysUserRoleService.remove(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, id));
+
 //        //删除方法2
 //        Map<String,Object> map = new HashMap<>();
 //        map.put("interlock_user_id",id);
@@ -145,6 +166,9 @@ public class InterlockUserServiceImpl extends ServiceImpl<InterlockUserMapper, I
         QueryWrapper<InterlockSystemLimit> queryWrapper = new QueryWrapper<>();
         queryWrapper.in("interlock_user_id",idList);
         interlockSystemLimitService.remove(queryWrapper);
+        //批量删除用户角色表
+        sysUserRoleService.remove(new QueryWrapper<SysUserRole>().lambda().in(SysUserRole::getUserId, idList));
+
         return Result.OK("用户删除成功!");
     }