张延森 6 år sedan
förälder
incheckning
f3b2a445e8

+ 36
- 8
src/main/java/com.huiju.welcome/controller/SysUserController.java Visa fil

@@ -257,20 +257,41 @@ public class SysUserController extends BaseController {
257 257
                                        @RequestParam(value = "userName",required = false) String userName,
258 258
                                        @RequestParam(value = "phone",required = false) String phone) {
259 259
         IPage<SysUserRole> pg = new Page<>(pageNum, pageSize);
260
+
260 261
         ResponseBean userManagement= sysUserService.userManagementList(pg,userName,phone);
262
+
261 263
         return userManagement;
262 264
     }
263 265
 
264
-    @ApiOperation(value = "树形", notes = "树形")
265
-    @ApiImplicitParams({
266
-            @ApiImplicitParam(paramType = "body", dataType = "SysUser", name = "sysUser", value = "用户详情")
267
-    })
268
-    @RequestMapping(value = "/user/tree", method = RequestMethod.GET)
269
-    public ResponseBean userRoleTree(@RequestBody SysUser sysUser, HttpServletRequest request) {
270
-        ResponseBean tree= sysUserService.userRoleTree();
271
-        return tree;
266
+    @ApiOperation(value = "员工管理角色权限添加", notes = "员工管理角色权限添加")
267
+    @RequestMapping(value = "/addUserRole", method = RequestMethod.POST)
268
+    public ResponseBean userManagement(@RequestParam(value = "phone",required = false) String phone,
269
+                                       @RequestParam(value = "roleId",required = false) List<String> roleId) {
270
+        ResponseBean userManagement= sysUserService.addUserRole(phone,roleId);
271
+        return userManagement;
272 272
     }
273 273
 
274
+    @ApiOperation(value = "查询当前员工的角色权限", notes = "查询当前员工的角色权限")
275
+    @RequestMapping(value = "/userRoledetails", method = RequestMethod.GET)
276
+    public ResponseBean userRoledetails(@RequestParam(value = "userId",required = false) Integer userId) {
277
+         ResponseBean userRoledetails= sysUserService.userRoledetails(userId);
278
+        return userRoledetails;
279
+    }
280
+    @ApiOperation(value = "修改当前员工的角色权限", notes = "修改当前员工的角色权限")
281
+    @RequestMapping(value = "/updateUserRolede", method = RequestMethod.POST)
282
+    public ResponseBean updateUserRolede(@RequestParam(value = "userId",required = false) Integer userId,
283
+                                         @RequestParam(value = "menuArray",required = false) List<String> menuArray) {
284
+        ResponseBean updateUserRolede= sysUserService.updateUserRolede(userId,menuArray);
285
+        return updateUserRolede;
286
+    }
287
+    @ApiOperation(value = "获取所有角色权限", notes = "获取所有角色权限")
288
+    @RequestMapping(value = "/roleAll", method = RequestMethod.GET)
289
+    public ResponseBean roleAll() {
290
+        ResponseBean roleAll= sysUserService.roleAll();
291
+        return roleAll;
292
+    }
293
+
294
+
274 295
     @ApiOperation(value = "角色管理列表", notes = "角色管理列表")
275 296
     @ApiImplicitParams({
276 297
             @ApiImplicitParam(paramType = "body", dataType = "String", name = "userName", value = "角色名称"),
@@ -283,4 +304,11 @@ public class SysUserController extends BaseController {
283 304
         ResponseBean roleManagementList= sysUserService.roleManagementList(pg,roleName);
284 305
         return roleManagementList;
285 306
     }
307
+
308
+    @ApiOperation(value = "删除当前员工的角色权限", notes = "删除当前员工的角色权限")
309
+    @RequestMapping(value = "/deleteUserRole", method = RequestMethod.POST)
310
+    public ResponseBean deleteUserRole(@RequestParam(value = "userId",required = false) Integer userId) {
311
+        ResponseBean deleteUserRole= sysUserService.deleteUserRole(userId);
312
+        return deleteUserRole;
313
+    }
286 314
 }

+ 8
- 0
src/main/java/com.huiju.welcome/mapper/SysRoleMapper.java Visa fil

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.huiju.welcome.model.SysRole;
6 6
 import org.apache.ibatis.annotations.Mapper;
7 7
 
8
+import java.util.List;
9
+
8 10
 /**
9 11
  * <p>
10 12
  *  Mapper 接口
@@ -23,4 +25,10 @@ public interface SysRoleMapper extends BaseMapper<SysRole> {
23 25
      * @return
24 26
      */
25 27
     IPage<SysRole> roleManagementList(IPage<SysRole> pg, String roleName);
28
+
29
+    /**
30
+     * 获取所有角色
31
+     * @return
32
+     */
33
+    List<SysRole> selectroleAll();
26 34
 }

+ 8
- 0
src/main/java/com.huiju.welcome/mapper/SysUserRoleMapper.java Visa fil

@@ -8,6 +8,8 @@ import com.huiju.welcome.model.TaVisitorAppointment;
8 8
 import org.apache.ibatis.annotations.Mapper;
9 9
 import org.apache.ibatis.annotations.Param;
10 10
 
11
+import java.util.List;
12
+
11 13
 /**
12 14
  * <p>
13 15
  *  Mapper 接口
@@ -28,4 +30,10 @@ public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
28 30
      */
29 31
     IPage<SysUserRole> userManagementList(IPage<SysUserRole> pg, @Param("userName") String userName, @Param("phone") String phone);
30 32
 
33
+    /**
34
+     * 查询当用户的角色
35
+     * @param userId
36
+     * @return
37
+     */
38
+    List<SysUserRole> selectListSysUserRole(@Param("userId") Integer userId);
31 39
 }

+ 5
- 3
src/main/java/com.huiju.welcome/model/SysUserRole.java Visa fil

@@ -1,8 +1,11 @@
1 1
 package com.huiju.welcome.model;
2 2
 
3 3
 import java.io.Serializable;
4
+import java.util.List;
4 5
 
6
+import com.baomidou.mybatisplus.annotation.IdType;
5 7
 import com.baomidou.mybatisplus.annotation.TableField;
8
+import com.baomidou.mybatisplus.annotation.TableId;
6 9
 import lombok.Data;
7 10
 import lombok.EqualsAndHashCode;
8 11
 import lombok.experimental.Accessors;
@@ -15,9 +18,10 @@ import lombok.experimental.Accessors;
15 18
  * @author jobob
16 19
  * @since 2019-07-12
17 20
  */
18
-@Data
21
+
19 22
 @EqualsAndHashCode(callSuper = false)
20 23
 @Accessors(chain = true)
24
+@Data
21 25
 public class SysUserRole implements Serializable {
22 26
 
23 27
     private static final long serialVersionUID = 1L;
@@ -44,6 +48,4 @@ public class SysUserRole implements Serializable {
44 48
      */
45 49
     @TableField("`roleName`")
46 50
     private String roleName;
47
-
48
-
49 51
 }

+ 35
- 0
src/main/java/com.huiju.welcome/service/ISysUserService.java Visa fil

@@ -9,6 +9,7 @@ import com.huiju.welcome.model.SysUserRole;
9 9
 import com.huiju.welcome.model.TaVisitorAppointment;
10 10
 
11 11
 import java.util.Map;
12
+import java.util.List;
12 13
 
13 14
 /**
14 15
  * <p>
@@ -48,4 +49,38 @@ public interface ISysUserService extends IService<SysUser> {
48 49
     ResponseBean roleManagementList(IPage<SysRole> pg, String roleName);
49 50
 
50 51
     Map<String,Object> getProfileWithRights(Integer userId);
52
+    /**
53
+     * 添加角色权限
54
+     * @param phone
55
+     * @param role
56
+     * @return
57
+     */
58
+    ResponseBean addUserRole(String phone, List<String> role);
59
+
60
+    /**
61
+     * 查询当前员工所有权限
62
+     * @param userId
63
+     * @return
64
+     */
65
+    ResponseBean userRoledetails(Integer userId);
66
+
67
+    /**
68
+     * 修改当前员工的角色权限
69
+     * @param userId
70
+     * @return
71
+     */
72
+    ResponseBean updateUserRolede(Integer userId,List<String> role);
73
+
74
+    /**
75
+     * 获取所有角色
76
+     * @return
77
+     */
78
+    ResponseBean roleAll();
79
+
80
+    /**
81
+     * 删除当前员工权限
82
+     * @param userId
83
+     * @return
84
+     */
85
+    ResponseBean deleteUserRole(Integer userId);
51 86
 }

+ 81
- 0
src/main/java/com.huiju.welcome/service/impl/SysUserServiceImpl.java Visa fil

@@ -11,6 +11,7 @@ import com.huiju.welcome.utils.StatusUtils;
11 11
 import org.springframework.beans.factory.annotation.Autowired;
12 12
 import org.springframework.stereotype.Service;
13 13
 
14
+import java.util.ArrayList;
14 15
 import java.util.HashMap;
15 16
 import java.util.List;
16 17
 import java.util.Map;
@@ -91,4 +92,84 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
91 92
             put("menus", menus);
92 93
         }};
93 94
     }
95
+
96
+    public ResponseBean addUserRole(String phone, List<String> role) {
97
+        ResponseBean responseBean = new ResponseBean<>();
98
+        String[] strArray = role.toArray(new String[role.size()]);
99
+        /*查询当前号码是否存在*/
100
+        QueryWrapper<SysUser> sysUserQueryWrapper= new QueryWrapper<>();
101
+        sysUserQueryWrapper.eq("phone",phone);
102
+        SysUser sysUser = sysUserMapper.selectOne(sysUserQueryWrapper);
103
+        if (null == sysUser){
104
+            responseBean.addError("此号码不存在");
105
+            return responseBean;
106
+        }
107
+        // 查询当前人员角色权限是否存在
108
+        List<SysUserRole> sysUserRole= sysUserRoleMapper.selectListSysUserRole(sysUser.getUserId());
109
+        if (sysUserRole!=null && !sysUserRole.isEmpty()){
110
+            responseBean.addError("此用户已存在权限,请点击修改");
111
+            return responseBean;
112
+        }
113
+        for (String id:strArray){
114
+            SysUserRole userRole= new SysUserRole();
115
+            userRole.setUserId(sysUser.getUserId()).setRoleId(Integer.valueOf(id));
116
+            sysUserRoleMapper.insert(userRole);
117
+        }
118
+        responseBean.addSuccess(sysUser);
119
+        return responseBean;
120
+    }
121
+
122
+    @Override
123
+    public ResponseBean userRoledetails(Integer userId) {
124
+        ResponseBean responseBean= new ResponseBean<>();
125
+        List<Integer> arrayList= new ArrayList<>();
126
+        SysUser user= sysUserMapper.selectById(userId);
127
+        List<SysRole> sysRole= sysRoleMapper.selectroleAll();
128
+        List<SysUserRole> sysUserRoleList= sysUserRoleMapper.selectListSysUserRole(userId);
129
+        for (SysUserRole sysUserRole:sysUserRoleList){
130
+            arrayList.add(sysUserRole.getRoleId());
131
+        }
132
+        HashMap<Object,Object> map = new HashMap<>();
133
+        map.put("arrayList",arrayList);
134
+        map.put("user",user);
135
+        map.put("sysRole",sysRole);
136
+        responseBean.addSuccess(map);
137
+        return responseBean;
138
+    }
139
+
140
+    @Override
141
+    public ResponseBean updateUserRolede(Integer userId,List<String> role) {
142
+        ResponseBean responseBean= new ResponseBean<>();
143
+        // 查出当前用户的所有权限,先删除后添加
144
+        List<SysUserRole> sysUserRoleList= sysUserRoleMapper.selectListSysUserRole(userId);
145
+        for (SysUserRole sysUserRole:sysUserRoleList){
146
+            sysUserRoleMapper.delete(new QueryWrapper<SysUserRole>().eq("user_id",userId));
147
+        }
148
+        String[] array = role.toArray(new String[role.size()]);
149
+        for (String id:array){
150
+            SysUserRole sysRole= new SysUserRole();
151
+            sysRole.setRoleId(Integer.valueOf(id)).setUserId(userId);
152
+            sysUserRoleMapper.insert(sysRole);
153
+        }
154
+        responseBean.addSuccess("成功");
155
+        return responseBean;
156
+    }
157
+
158
+    @Override
159
+    public ResponseBean roleAll() {
160
+       ResponseBean responseBean=  new ResponseBean<>();
161
+        List<SysRole> sysRole= sysRoleMapper.selectroleAll();
162
+        responseBean.addSuccess(sysRole);
163
+        return responseBean;
164
+    }
165
+
166
+    @Override
167
+    public ResponseBean deleteUserRole(Integer userId) {
168
+        ResponseBean responseBean= new ResponseBean<>();
169
+        QueryWrapper<SysUserRole> sysUserRoleQueryWrapper = new QueryWrapper<>();
170
+        sysUserRoleQueryWrapper.eq("user_id",userId);
171
+        int sysUserRole=  sysUserRoleMapper.delete(sysUserRoleQueryWrapper);
172
+        responseBean.addSuccess(sysUserRole);
173
+        return responseBean;
174
+    }
94 175
 }

+ 4
- 0
src/main/resources/mapper/SysRoleMapper.xml Visa fil

@@ -6,4 +6,8 @@
6 6
         select * from sys_role order by create_date desc
7 7
     </select>
8 8
 
9
+    <select id="selectroleAll" resultType="com.huiju.welcome.model.SysUserRole">
10
+        select * from  sys_role
11
+    </select>
12
+
9 13
 </mapper>

+ 8
- 1
src/main/resources/mapper/SysUserRoleMapper.xml Visa fil

@@ -5,7 +5,8 @@
5 5
         select
6 6
         u.username,
7 7
         u.phone,
8
-        r.role_name as roleName
8
+        u.user_id as userId,
9
+        GROUP_CONCAT(r.role_name) roleName
9 10
         from sys_user_role ur
10 11
         left join sys_user u on  ur.user_id = u.user_id
11 12
         left join sys_role r on  ur.role_id = r.role_id
@@ -17,5 +18,11 @@
17 18
                 u.phone LIKE CONCAT('%',#{phone},'%')
18 19
             </if>
19 20
         </where>
21
+        GROUP BY
22
+        ur.user_id
23
+    </select>
24
+    
25
+    <select id="selectListSysUserRole" resultType="com.huiju.welcome.model.SysUserRole">
26
+        select * from sys_user_role where  user_id = #{userId};
20 27
     </select>
21 28
 </mapper>