张延森 3 年之前
父節點
當前提交
33908a4552
共有 21 個文件被更改,包括 160 次插入122 次删除
  1. 24
    21
      src/main/java/com/yunzhi/nanyang/controller/SysRolePermissionController.java
  2. 7
    8
      src/main/java/com/yunzhi/nanyang/controller/SysUserController.java
  3. 52
    46
      src/main/java/com/yunzhi/nanyang/controller/SysUserRoleController.java
  4. 8
    6
      src/main/java/com/yunzhi/nanyang/controller/TaNewsTypeController.java
  5. 4
    1
      src/main/java/com/yunzhi/nanyang/entity/SysUser.java
  6. 4
    0
      src/main/java/com/yunzhi/nanyang/entity/SysUserRole.java
  7. 1
    3
      src/main/java/com/yunzhi/nanyang/mapper/SysRolePermissionMapper.java
  8. 1
    1
      src/main/java/com/yunzhi/nanyang/mapper/SysUserMapper.java
  9. 3
    0
      src/main/java/com/yunzhi/nanyang/mapper/SysUserRoleMapper.java
  10. 1
    2
      src/main/java/com/yunzhi/nanyang/service/ISysRolePermissionService.java
  11. 4
    0
      src/main/java/com/yunzhi/nanyang/service/ISysUserRoleService.java
  12. 1
    1
      src/main/java/com/yunzhi/nanyang/service/ISysUserService.java
  13. 5
    2
      src/main/java/com/yunzhi/nanyang/service/impl/BaseServiceImpl.java
  14. 2
    3
      src/main/java/com/yunzhi/nanyang/service/impl/SysRolePermissionServiceImpl.java
  15. 15
    0
      src/main/java/com/yunzhi/nanyang/service/impl/SysUserRoleServiceImpl.java
  16. 2
    2
      src/main/java/com/yunzhi/nanyang/service/impl/SysUserServiceImpl.java
  17. 1
    1
      src/main/resources/mapper/SysRoleMapper.xml
  18. 5
    15
      src/main/resources/mapper/SysRolePermissionMapper.xml
  19. 5
    4
      src/main/resources/mapper/SysUserMapper.xml
  20. 11
    0
      src/main/resources/mapper/SysUserRoleMapper.xml
  21. 4
    6
      src/main/resources/mapper/TaOrgMapper.xml

+ 24
- 21
src/main/java/com/yunzhi/nanyang/controller/SysRolePermissionController.java 查看文件

55
      */
55
      */
56
     @RequestMapping(value="/admin/role-permission",method= RequestMethod.GET)
56
     @RequestMapping(value="/admin/role-permission",method= RequestMethod.GET)
57
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
57
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
58
-    public ResponseBean sysRolePermissionList(@ApiParam("角色ID") @RequestParam(value ="roleId", required = false) String roleId) throws Exception{
58
+    public ResponseBean sysRolePermissionList(@ApiParam("角色ID") @RequestParam(value ="roleId") String roleId) throws Exception{
59
 
59
 
60
-        String userId = currentUser().getUserId();
61
-        boolean isAdmin = userId.equals(Constants.ADMIN_ID);
60
+//        String userId = currentUser().getUserId();
61
+//        boolean isAdmin = userId.equals(Constants.ADMIN_ID);
62
 
62
 
63
-        List<SysRolePermission> result = iSysRolePermissionService.listBy(isAdmin, userId, roleId);
63
+        List<SysRolePermission> result = iSysRolePermissionService.listBy(roleId);
64
         return ResponseBean.success(result);
64
         return ResponseBean.success(result);
65
     }
65
     }
66
 
66
 
69
      * @param sysRolePermission 实体对象
69
      * @param sysRolePermission 实体对象
70
      * @return
70
      * @return
71
      */
71
      */
72
-    @RequestMapping(value="/admin/role-permission",method= RequestMethod.POST)
72
+    @RequestMapping(value="/admin/role/{roleId}/permission",method= RequestMethod.POST)
73
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
73
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
74
     @RequiresPermissions("role:add")
74
     @RequiresPermissions("role:add")
75
-    public ResponseBean sysRolePermissionAdd(@ApiParam("保存内容") @RequestBody SysRolePermission sysRolePermission) throws Exception{
75
+    public ResponseBean sysRolePermissionAdd(@ApiParam("角色ID") @PathVariable String roleId,
76
+                                             @ApiParam("保存内容") @RequestBody List<SysRolePermission> sysRolePermissionList) throws Exception{
76
 
77
 
77
-        String roleId = sysRolePermission.getRoleId();
78
-        String permissionId = sysRolePermission.getPermissionId();
79
-
80
-        if (StringUtils.isEmpty(roleId) || StringUtils.isEmpty(permissionId)) {
78
+        if (sysRolePermissionList.isEmpty()) {
81
             return ResponseBean.error("授权内容不能为空");
79
             return ResponseBean.error("授权内容不能为空");
82
         }
80
         }
83
 
81
 
84
-        Map<String, Object> params = new HashMap<>();
85
-        params.put("role_id", roleId);
86
-        params.put("permission_id", permissionId);
82
+        // 判断是否有角色操作权限
83
+        // todo
87
 
84
 
88
-        Collection<SysRolePermission> exits = iSysRolePermissionService.listByMap(params);
89
-        if (exits != null && exits.size() > 0) {
90
-            return ResponseBean.error("重复授权");
91
-        }
85
+        for (SysRolePermission item : sysRolePermissionList) {
86
+            item.setSerialNo(null);
87
+            item.setRoleId(roleId);
92
 
88
 
93
-        if (!checkAccess(currentUser().getUserId(), roleId, permissionId)) {
94
-            return ResponseBean.error("无权限进行此操作");
89
+            String permissionId = item.getPermissionId();
90
+            if (StringUtils.isEmpty(roleId) || StringUtils.isEmpty(permissionId)) {
91
+                return ResponseBean.error("存在授权空内容");
92
+            }
95
         }
93
         }
96
 
94
 
97
-        if (iSysRolePermissionService.save(sysRolePermission)){
98
-            return ResponseBean.success(sysRolePermission);
95
+        // 先删除原来的
96
+        Map<String, Object> params = new HashMap<>();
97
+        params.put("role_id", roleId);
98
+        iSysRolePermissionService.removeByMap(params);
99
+
100
+        if (iSysRolePermissionService.saveBatch(sysRolePermissionList)){
101
+            return ResponseBean.success(sysRolePermissionList);
99
         } else {
102
         } else {
100
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
103
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
101
         }
104
         }

+ 7
- 8
src/main/java/com/yunzhi/nanyang/controller/SysUserController.java 查看文件

73
 
73
 
74
         IPage<SysUser> pg = new Page<>(pageNum, pageSize);
74
         IPage<SysUser> pg = new Page<>(pageNum, pageSize);
75
 
75
 
76
-        IPage<SysUser> result = iSysUserService.getPageBy(pg, isAdmin, userId, orgId, name, phone);
76
+        IPage<SysUser> result = iSysUserService.getPageBy(pg, userId, orgId, name, phone);
77
         return ResponseBean.success(result);
77
         return ResponseBean.success(result);
78
     }
78
     }
79
 
79
 
86
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
86
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
87
     @RequiresPermissions("user:add")
87
     @RequiresPermissions("user:add")
88
     public ResponseBean sysUserAdd(@ApiParam("保存内容") @RequestBody SysUser sysUser) throws Exception{
88
     public ResponseBean sysUserAdd(@ApiParam("保存内容") @RequestBody SysUser sysUser) throws Exception{
89
+        String userId = currentUser().getUserId();
89
         sysUser.setUserId(null);
90
         sysUser.setUserId(null);
91
+        sysUser.setCreateUser(userId);
90
 
92
 
91
         if (StringUtils.isEmpty(sysUser.getUserName()) || StringUtils.isEmpty(sysUser.getPhone())) {
93
         if (StringUtils.isEmpty(sysUser.getUserName()) || StringUtils.isEmpty(sysUser.getPhone())) {
92
             return ResponseBean.error("姓名或者手机不能为空");
94
             return ResponseBean.error("姓名或者手机不能为空");
101
             return ResponseBean.error("手机号码重复");
103
             return ResponseBean.error("手机号码重复");
102
         }
104
         }
103
 
105
 
104
-        boolean canAccess = iSysUserService.canAccessData(sysUser.getOrgId(), currentUser().getUserId());
105
-        if (!canAccess) {
106
-            return ResponseBean.error("无机构操作权限");
107
-        }
108
-
109
         if (!StringUtils.isEmpty(sysUser.getLoginName())) {
106
         if (!StringUtils.isEmpty(sysUser.getLoginName())) {
110
             int cnt = iSysLoginService.countBy("login_name", sysUser.getLoginName(), true);
107
             int cnt = iSysLoginService.countBy("login_name", sysUser.getLoginName(), true);
111
             if (cnt > 0) {
108
             if (cnt > 0) {
168
     @RequiresPermissions("user:update")
165
     @RequiresPermissions("user:update")
169
     public ResponseBean sysUserUpdate(@ApiParam("对象ID") @PathVariable String id,
166
     public ResponseBean sysUserUpdate(@ApiParam("对象ID") @PathVariable String id,
170
                                         @ApiParam("更新内容") @RequestBody SysUser sysUser) throws Exception{
167
                                         @ApiParam("更新内容") @RequestBody SysUser sysUser) throws Exception{
171
-
168
+        String userId = currentUser().getUserId();
172
         sysUser.setUserId(id);
169
         sysUser.setUserId(id);
170
+        // 不支持更新创建人
171
+        sysUser.setCreateUser(null);
173
 
172
 
174
         if (StringUtils.isEmpty(sysUser.getUserName()) || StringUtils.isEmpty(sysUser.getPhone())) {
173
         if (StringUtils.isEmpty(sysUser.getUserName()) || StringUtils.isEmpty(sysUser.getPhone())) {
175
             return ResponseBean.error("姓名或者手机不能为空");
174
             return ResponseBean.error("姓名或者手机不能为空");
184
             return ResponseBean.error("手机号码重复");
183
             return ResponseBean.error("手机号码重复");
185
         }
184
         }
186
 
185
 
187
-        boolean canAccess = iSysUserService.canAccessData(sysUser.getOrgId(), currentUser().getUserId());
186
+        boolean canAccess = iSysUserService.canAccessData(sysUser.getOrgId(), userId);
188
         if (!canAccess) {
187
         if (!canAccess) {
189
             return ResponseBean.error("无机构操作权限");
188
             return ResponseBean.error("无机构操作权限");
190
         }
189
         }

+ 52
- 46
src/main/java/com/yunzhi/nanyang/controller/SysUserRoleController.java 查看文件

27
 import com.yunzhi.nanyang.entity.SysUserRole;
27
 import com.yunzhi.nanyang.entity.SysUserRole;
28
 import org.springframework.web.bind.annotation.RestController;
28
 import org.springframework.web.bind.annotation.RestController;
29
 
29
 
30
+import java.util.HashMap;
30
 import java.util.List;
31
 import java.util.List;
31
 
32
 
32
 /**
33
 /**
61
      */
62
      */
62
     @RequestMapping(value="/admin/user-role",method= RequestMethod.GET)
63
     @RequestMapping(value="/admin/user-role",method= RequestMethod.GET)
63
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
64
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
64
-    @RequiresPermissions("role:view,user:view")
65
     public ResponseBean sysUserRoleList(@ApiParam("用户ID") @RequestParam(value ="user_id") String userId) throws Exception{
65
     public ResponseBean sysUserRoleList(@ApiParam("用户ID") @RequestParam(value ="user_id") String userId) throws Exception{
66
 
66
 
67
-        QueryWrapper<SysUserRole> queryWrapper = new QueryWrapper<>();
68
-        queryWrapper.eq("user_id", userId);
69
-        queryWrapper.orderByDesc("role_id");
70
-
71
-        List<SysUserRole> result = iSysUserRoleService.list(queryWrapper);
67
+        List<SysUserRole> result = iSysUserRoleService.listByUser(userId);
72
         return ResponseBean.success(result);
68
         return ResponseBean.success(result);
73
     }
69
     }
74
 
70
 
77
      * @param sysUserRole 实体对象
73
      * @param sysUserRole 实体对象
78
      * @return
74
      * @return
79
      */
75
      */
80
-    @RequestMapping(value="/admin/user-role",method= RequestMethod.POST)
76
+    @RequestMapping(value="/admin/user/{userId}/role",method= RequestMethod.POST)
81
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
77
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
82
     @RequiresPermissions("user:add")
78
     @RequiresPermissions("user:add")
83
-    public ResponseBean sysUserRoleAdd(@ApiParam("保存内容") @RequestBody SysUserRole sysUserRole) throws Exception{
84
-
85
-        String userId = sysUserRole.getUserId();
86
-        String roleId = sysUserRole.getRoleId();
87
-
88
-        if (StringUtils.isEmpty(roleId) || StringUtils.isEmpty(userId)) {
89
-            return ResponseBean.error("用户或者角色不能为空");
79
+    public ResponseBean sysUserRoleAdd(@ApiParam("用户ID") @PathVariable String userId,
80
+                                       @ApiParam("保存内容") @RequestBody List<SysUserRole> sysUserRoleList) throws Exception{
81
+        // 不能编辑管理员权限
82
+        if (Constants.ADMIN_ID.equals(userId)) {
83
+            return ResponseBean.error("无操作权限");
90
         }
84
         }
91
-
92
-        if (userId.equals(Constants.ADMIN_ID)) {
93
-            return ResponseBean.error("无权进行当前操作");
94
-        }
95
-
85
+        //
96
         SysUser sysUser = iSysUserService.getExistBy("user_id", userId, false,true);
86
         SysUser sysUser = iSysUserService.getExistBy("user_id", userId, false,true);
97
         if (sysUser == null) {
87
         if (sysUser == null) {
98
             return ResponseBean.error("用户不存在");
88
             return ResponseBean.error("用户不存在");
99
         }
89
         }
100
 
90
 
101
-        SysRole sysRole = iSysRoleService.getById(roleId);
102
-        if (sysRole == null) {
103
-            return ResponseBean.error("角色不存在");
91
+        // 操作员与待授权人员必须同属一个机构
92
+        String currentUserId = currentUser().getUserId();
93
+        if (!iSysUserService.canAccessData(sysUser.getOrgId(), currentUserId)) {
94
+            return ResponseBean.error("无操作权限");
104
         }
95
         }
105
 
96
 
106
-        boolean canAccess = iSysUserService.canAccessData(userId, currentUser().getUserId());
107
-        if (!canAccess) {
108
-            return ResponseBean.error("无权进行当前操作");
97
+        if (sysUserRoleList.isEmpty()) {
98
+            return ResponseBean.error("未找到授权内容");
109
         }
99
         }
110
 
100
 
111
-        SysUserRole origin = iSysUserRoleService.checkExist(sysUserRole.getRoleId(), userId);
112
-        if (origin != null) {
113
-            return ResponseBean.success(origin);
101
+        for (SysUserRole sysUserRole : sysUserRoleList) {
102
+
103
+            String roleId = sysUserRole.getRoleId();
104
+            if (StringUtils.isEmpty(roleId) || StringUtils.isEmpty(userId)) {
105
+                return ResponseBean.error("用户或者角色不能为空");
106
+            }
107
+
108
+            SysRole sysRole = iSysRoleService.getById(roleId);
109
+            if (sysRole == null) {
110
+                return ResponseBean.error("角色不存在");
111
+            }
112
+
113
+            if (iSysUserRoleService.checkExist(roleId, currentUserId) == null) {
114
+                return ResponseBean.error("无操作权限");
115
+            }
114
         }
116
         }
115
 
117
 
116
-        sysUserRole.setSerialNo(null);
117
-        if (iSysUserRoleService.save(sysUserRole)){
118
-            return ResponseBean.success(sysUserRole);
118
+        // 先删除所有
119
+        iSysUserRoleService.removeByMap(new HashMap<String, Object>(){{
120
+            put("user_id", userId);
121
+        }});
122
+
123
+        if (iSysUserRoleService.saveBatch(sysUserRoleList)){
124
+            return ResponseBean.success(sysUserRoleList);
119
         }else {
125
         }else {
120
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
126
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
121
         }
127
         }
125
      * 根据id删除对象
131
      * 根据id删除对象
126
      * @param id  实体ID
132
      * @param id  实体ID
127
      */
133
      */
128
-    @RequestMapping(value="/admin/user-role/{id}", method= RequestMethod.DELETE)
134
+    @RequestMapping(value="/admin/user/{userId}/role", method= RequestMethod.DELETE)
129
     @ApiOperation(value="删除", notes = "删除", httpMethod = "DELETE", response = ResponseBean.class)
135
     @ApiOperation(value="删除", notes = "删除", httpMethod = "DELETE", response = ResponseBean.class)
130
     @RequiresPermissions("user:delete")
136
     @RequiresPermissions("user:delete")
131
-    public ResponseBean sysUserRoleDelete(@ApiParam("对象ID") @PathVariable Integer id) throws Exception{
132
-        SysUserRole sysUserRole = iSysUserRoleService.getById(id);
133
-        if (null == sysUserRole) {
134
-            return ResponseBean.success("success");
137
+    public ResponseBean sysUserRoleDelete(@ApiParam("对象ID") @PathVariable String userId) throws Exception{
138
+        // 不能编辑管理员权限
139
+        if (Constants.ADMIN_ID.equals(userId)) {
140
+            return ResponseBean.error("无操作权限");
135
         }
141
         }
136
-
137
-        String userId = sysUserRole.getUserId();
142
+        //
138
         SysUser sysUser = iSysUserService.getExistBy("user_id", userId, false,true);
143
         SysUser sysUser = iSysUserService.getExistBy("user_id", userId, false,true);
139
         if (sysUser == null) {
144
         if (sysUser == null) {
140
             return ResponseBean.error("用户不存在");
145
             return ResponseBean.error("用户不存在");
141
         }
146
         }
142
 
147
 
143
-        boolean canAccess = iSysUserService.canAccessData(userId, currentUser().getUserId());
144
-        if (!canAccess) {
145
-            return ResponseBean.error("无权进行当前操作");
148
+        // 操作员与待授权人员必须同属一个机构
149
+        String currentUserId = currentUser().getUserId();
150
+        if (!iSysUserService.canAccessData(sysUser.getOrgId(), currentUserId)) {
151
+            return ResponseBean.error("无操作权限");
146
         }
152
         }
147
 
153
 
148
-        if(iSysUserRoleService.removeById(id)){
149
-            return ResponseBean.success("success");
150
-        }else {
151
-            return ResponseBean.error("删除失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
152
-        }
154
+        iSysUserRoleService.removeByMap(new HashMap<String, Object>(){{
155
+            put("user_id", userId);
156
+        }});
157
+
158
+        return ResponseBean.success("success");
153
     }
159
     }
154
 
160
 
155
 }
161
 }

+ 8
- 6
src/main/java/com/yunzhi/nanyang/controller/TaNewsTypeController.java 查看文件

4
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.yunzhi.nanyang.common.BaseController;
6
 import com.yunzhi.nanyang.common.BaseController;
7
+import com.yunzhi.nanyang.common.Constants;
7
 import com.yunzhi.nanyang.common.ResponseBean;
8
 import com.yunzhi.nanyang.common.ResponseBean;
8
 import io.swagger.annotations.Api;
9
 import io.swagger.annotations.Api;
9
 import io.swagger.annotations.ApiOperation;
10
 import io.swagger.annotations.ApiOperation;
46
      * @param pageSize
47
      * @param pageSize
47
      * @return
48
      * @return
48
      */
49
      */
49
-    @RequestMapping(value="/taNewsType",method= RequestMethod.GET)
50
+    @RequestMapping(value="/admin/news-type",method= RequestMethod.GET)
50
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
51
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
51
     public ResponseBean taNewsTypeList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
     public ResponseBean taNewsTypeList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
 									 @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
53
 									 @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
53
 
54
 
54
-		    IPage<TaNewsType> pg = new Page<>(pageNum, pageSize);
55
-            QueryWrapper<TaNewsType> queryWrapper = new QueryWrapper<>();
56
-            queryWrapper.orderByDesc("create_date");
55
+        IPage<TaNewsType> pg = new Page<>(pageNum, pageSize);
56
+        QueryWrapper<TaNewsType> queryWrapper = new QueryWrapper<>();
57
+        queryWrapper.gt("status", Constants.STATUS_DELETE);
58
+        queryWrapper.orderByDesc("create_date");
57
 
59
 
58
-            IPage<TaNewsType> result = iTaNewsTypeService.page(pg, queryWrapper);
59
-            return ResponseBean.success(result);
60
+        IPage<TaNewsType> result = iTaNewsTypeService.page(pg, queryWrapper);
61
+        return ResponseBean.success(result);
60
     }
62
     }
61
 
63
 
62
     /**
64
     /**

+ 4
- 1
src/main/java/com/yunzhi/nanyang/entity/SysUser.java 查看文件

29
     private static final long serialVersionUID = 1L;
29
     private static final long serialVersionUID = 1L;
30
 
30
 
31
     @ApiModelProperty(value = "用户Id")
31
     @ApiModelProperty(value = "用户Id")
32
-    @TableId(value = "user_id", type = IdType.INPUT)
32
+    @TableId(value = "user_id", type = IdType.UUID)
33
     private String userId;
33
     private String userId;
34
 
34
 
35
     @ApiModelProperty(value = "用户名")
35
     @ApiModelProperty(value = "用户名")
53
     @ApiModelProperty(value = "状态")
53
     @ApiModelProperty(value = "状态")
54
     private Integer status;
54
     private Integer status;
55
 
55
 
56
+    @ApiModelProperty(value = "机构ID")
57
+    private String createUser;
58
+
56
     @ApiModelProperty(value = "创建时间")
59
     @ApiModelProperty(value = "创建时间")
57
     private LocalDateTime createDate;
60
     private LocalDateTime createDate;
58
 
61
 

+ 4
- 0
src/main/java/com/yunzhi/nanyang/entity/SysUserRole.java 查看文件

1
 package com.yunzhi.nanyang.entity;
1
 package com.yunzhi.nanyang.entity;
2
 
2
 
3
 import com.baomidou.mybatisplus.annotation.IdType;
3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import com.baomidou.mybatisplus.annotation.TableId;
5
 import java.io.Serializable;
6
 import java.io.Serializable;
6
 import io.swagger.annotations.ApiModel;
7
 import io.swagger.annotations.ApiModel;
35
     @ApiModelProperty(value = "角色ID")
36
     @ApiModelProperty(value = "角色ID")
36
     private String roleId;
37
     private String roleId;
37
 
38
 
39
+    @TableField(exist = false)
40
+    @ApiModelProperty(value = "角色名称")
41
+    private String roleName;
38
 
42
 
39
 }
43
 }

+ 1
- 3
src/main/java/com/yunzhi/nanyang/mapper/SysRolePermissionMapper.java 查看文件

22
     Set<String> getPermissionByUser(@Param("isAdmin") boolean isAdmin,
22
     Set<String> getPermissionByUser(@Param("isAdmin") boolean isAdmin,
23
                                     @Param("userId") String userId);
23
                                     @Param("userId") String userId);
24
 
24
 
25
-    List<SysRolePermission> listBy(@Param("isAdmin") boolean isAdmin,
26
-                                   @Param("userId") String userId,
27
-                                   @Param("roleId") String roleId);
25
+    List<SysRolePermission> listBy(@Param("roleId") String roleId);
28
 
26
 
29
     int countBy(@Param("userId") String userId,
27
     int countBy(@Param("userId") String userId,
30
                     @Param("roleId") String roleId,
28
                     @Param("roleId") String roleId,

+ 1
- 1
src/main/java/com/yunzhi/nanyang/mapper/SysUserMapper.java 查看文件

20
     SysUser getByLoginId(@Param("loginId") String loginId);
20
     SysUser getByLoginId(@Param("loginId") String loginId);
21
 
21
 
22
     IPage<SysUser> getPageBy(IPage<SysUser> pg,
22
     IPage<SysUser> getPageBy(IPage<SysUser> pg,
23
-                             @Param("isAdmin") boolean isAdmin,
23
+                             @Param("adminId") String adminId,
24
                              @Param("userId") String userId,
24
                              @Param("userId") String userId,
25
                              @Param("orgId") String orgId,
25
                              @Param("orgId") String orgId,
26
                              @Param("name") String name,
26
                              @Param("name") String name,

+ 3
- 0
src/main/java/com/yunzhi/nanyang/mapper/SysUserRoleMapper.java 查看文件

5
 import org.apache.ibatis.annotations.Mapper;
5
 import org.apache.ibatis.annotations.Mapper;
6
 import org.apache.ibatis.annotations.Param;
6
 import org.apache.ibatis.annotations.Param;
7
 
7
 
8
+import java.util.List;
8
 import java.util.Set;
9
 import java.util.Set;
9
 
10
 
10
 /**
11
 /**
19
 public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
20
 public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
20
 
21
 
21
     Set<String> getRoleByUser(@Param("userId") String userId);
22
     Set<String> getRoleByUser(@Param("userId") String userId);
23
+
24
+    List<SysUserRole> listByUser(@Param("userId") String userId);
22
 }
25
 }

+ 1
- 2
src/main/java/com/yunzhi/nanyang/service/ISysRolePermissionService.java 查看文件

1
 package com.yunzhi.nanyang.service;
1
 package com.yunzhi.nanyang.service;
2
 
2
 
3
 import com.yunzhi.nanyang.entity.SysRolePermission;
3
 import com.yunzhi.nanyang.entity.SysRolePermission;
4
-import com.baomidou.mybatisplus.extension.service.IService;
5
 
4
 
6
 import java.util.List;
5
 import java.util.List;
7
 
6
 
15
  */
14
  */
16
 public interface ISysRolePermissionService extends IBaseService<SysRolePermission> {
15
 public interface ISysRolePermissionService extends IBaseService<SysRolePermission> {
17
 
16
 
18
-    List<SysRolePermission> listBy(boolean isAdmin, String userId, String roleId);
17
+    List<SysRolePermission> listBy(String roleId);
19
 
18
 
20
     boolean checkAccess(String userId, String roleId, String permissionId);
19
     boolean checkAccess(String userId, String roleId, String permissionId);
21
 }
20
 }

+ 4
- 0
src/main/java/com/yunzhi/nanyang/service/ISysUserRoleService.java 查看文件

3
 import com.yunzhi.nanyang.entity.SysUserRole;
3
 import com.yunzhi.nanyang.entity.SysUserRole;
4
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.baomidou.mybatisplus.extension.service.IService;
5
 
5
 
6
+import java.util.List;
7
+
6
 /**
8
 /**
7
  * <p>
9
  * <p>
8
  * 用户角色 服务类
10
  * 用户角色 服务类
14
 public interface ISysUserRoleService extends IBaseService<SysUserRole> {
16
 public interface ISysUserRoleService extends IBaseService<SysUserRole> {
15
 
17
 
16
     SysUserRole checkExist(String roleId, String userId);
18
     SysUserRole checkExist(String roleId, String userId);
19
+
20
+    List<SysUserRole> listByUser(String userId);
17
 }
21
 }

+ 1
- 1
src/main/java/com/yunzhi/nanyang/service/ISysUserService.java 查看文件

19
 
19
 
20
     SysUser getByLoginId(String loginId);
20
     SysUser getByLoginId(String loginId);
21
 
21
 
22
-    IPage<SysUser> getPageBy(IPage<SysUser> pg, boolean isAdmin, String userId, String orgId, String name, String phone);
22
+    IPage<SysUser> getPageBy(IPage<SysUser> pg, String userId, String orgId, String name, String phone);
23
 }
23
 }

+ 5
- 2
src/main/java/com/yunzhi/nanyang/service/impl/BaseServiceImpl.java 查看文件

6
 import com.baomidou.mybatisplus.core.metadata.TableInfo;
6
 import com.baomidou.mybatisplus.core.metadata.TableInfo;
7
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8
 import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
8
 import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
9
+import com.yunzhi.nanyang.common.Constants;
9
 import com.yunzhi.nanyang.service.IBaseService;
10
 import com.yunzhi.nanyang.service.IBaseService;
10
 
11
 
11
 import java.io.Serializable;
12
 import java.io.Serializable;
38
 
39
 
39
     @Override
40
     @Override
40
     public boolean canAccessData(Serializable id, String userId) {
41
     public boolean canAccessData(Serializable id, String userId) {
42
+        if (Constants.ADMIN_ID.equals(userId)) return true;
43
+
41
         TableInfo tableInfo = SqlHelper.table(currentModelClass());
44
         TableInfo tableInfo = SqlHelper.table(currentModelClass());
42
 
45
 
43
         String t = tableInfo.getTableName();
46
         String t = tableInfo.getTableName();
44
-        String k = tableInfo.getKeyColumn();
45
-        String kAlias = t + "." + k;
47
+//        String k = tableInfo.getKeyColumn();
48
+        String kAlias = t + ".org_id";
46
 
49
 
47
         String joinSQL = "INNER JOIN sys_user_data_scope s ON ( "+ kAlias +" = s.org_id OR "+t+".create_user = s.user_id )";
50
         String joinSQL = "INNER JOIN sys_user_data_scope s ON ( "+ kAlias +" = s.org_id OR "+t+".create_user = s.user_id )";
48
         String whereSQL = "WHERE " + kAlias + " = '"+ id +"' AND s.user_id = '" + userId + "'";
51
         String whereSQL = "WHERE " + kAlias + " = '"+ id +"' AND s.user_id = '" + userId + "'";

+ 2
- 3
src/main/java/com/yunzhi/nanyang/service/impl/SysRolePermissionServiceImpl.java 查看文件

3
 import com.yunzhi.nanyang.entity.SysRolePermission;
3
 import com.yunzhi.nanyang.entity.SysRolePermission;
4
 import com.yunzhi.nanyang.mapper.SysRolePermissionMapper;
4
 import com.yunzhi.nanyang.mapper.SysRolePermissionMapper;
5
 import com.yunzhi.nanyang.service.ISysRolePermissionService;
5
 import com.yunzhi.nanyang.service.ISysRolePermissionService;
6
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
 import org.springframework.stereotype.Service;
6
 import org.springframework.stereotype.Service;
8
 
7
 
9
 import java.util.List;
8
 import java.util.List;
20
 public class SysRolePermissionServiceImpl extends BaseServiceImpl<SysRolePermissionMapper, SysRolePermission> implements ISysRolePermissionService {
19
 public class SysRolePermissionServiceImpl extends BaseServiceImpl<SysRolePermissionMapper, SysRolePermission> implements ISysRolePermissionService {
21
 
20
 
22
     @Override
21
     @Override
23
-    public List<SysRolePermission> listBy(boolean isAdmin, String userId, String roleId) {
24
-        return baseMapper.listBy(isAdmin, userId, roleId);
22
+    public List<SysRolePermission> listBy(String roleId) {
23
+        return baseMapper.listBy(roleId);
25
     }
24
     }
26
 
25
 
27
     @Override
26
     @Override

+ 15
- 0
src/main/java/com/yunzhi/nanyang/service/impl/SysUserRoleServiceImpl.java 查看文件

1
 package com.yunzhi.nanyang.service.impl;
1
 package com.yunzhi.nanyang.service.impl;
2
 
2
 
3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.yunzhi.nanyang.common.Constants;
4
 import com.yunzhi.nanyang.entity.SysUserRole;
5
 import com.yunzhi.nanyang.entity.SysUserRole;
5
 import com.yunzhi.nanyang.mapper.SysUserRoleMapper;
6
 import com.yunzhi.nanyang.mapper.SysUserRoleMapper;
6
 import com.yunzhi.nanyang.service.ISysUserRoleService;
7
 import com.yunzhi.nanyang.service.ISysUserRoleService;
7
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
9
+import org.apache.tomcat.util.bcel.Const;
8
 import org.springframework.stereotype.Service;
10
 import org.springframework.stereotype.Service;
9
 
11
 
12
+import java.util.List;
13
+
10
 /**
14
 /**
11
  * <p>
15
  * <p>
12
  * 用户角色 服务实现类
16
  * 用户角色 服务实现类
20
 
24
 
21
     @Override
25
     @Override
22
     public SysUserRole checkExist(String roleId, String userId) {
26
     public SysUserRole checkExist(String roleId, String userId) {
27
+        if (Constants.ADMIN_ID.equals(userId)) {
28
+            SysUserRole sysUserRole = new SysUserRole();
29
+            sysUserRole.setRoleId(roleId);
30
+            sysUserRole.setUserId(userId);
31
+            return sysUserRole;
32
+        }
23
 
33
 
24
         QueryWrapper<SysUserRole> queryWrapper = new QueryWrapper<>();
34
         QueryWrapper<SysUserRole> queryWrapper = new QueryWrapper<>();
25
         queryWrapper.eq("user_id", userId);
35
         queryWrapper.eq("user_id", userId);
26
         queryWrapper.eq("role_id", roleId);
36
         queryWrapper.eq("role_id", roleId);
27
         return getOne(queryWrapper);
37
         return getOne(queryWrapper);
28
     }
38
     }
39
+
40
+    @Override
41
+    public List<SysUserRole> listByUser(String userId) {
42
+        return baseMapper.listByUser(userId);
43
+    }
29
 }
44
 }

+ 2
- 2
src/main/java/com/yunzhi/nanyang/service/impl/SysUserServiceImpl.java 查看文件

59
     }
59
     }
60
 
60
 
61
     @Override
61
     @Override
62
-    public IPage<SysUser> getPageBy(IPage<SysUser> pg, boolean isAdmin, String userId, String orgId, String name, String phone) {
63
-        return baseMapper.getPageBy(pg, isAdmin, userId, orgId, name, phone);
62
+    public IPage<SysUser> getPageBy(IPage<SysUser> pg, String userId, String orgId, String name, String phone) {
63
+        return baseMapper.getPageBy(pg, Constants.ADMIN_ID, userId, orgId, name, phone);
64
     }
64
     }
65
 }
65
 }

+ 1
- 1
src/main/resources/mapper/SysRoleMapper.xml 查看文件

7
             t.*
7
             t.*
8
         FROM
8
         FROM
9
             sys_role t
9
             sys_role t
10
-                <if test="isAdmin">
10
+                <if test="!isAdmin">
11
                     INNER JOIN sys_user_role s ON s.role_id = t.role_id AND s.user_id = #{userId}
11
                     INNER JOIN sys_user_role s ON s.role_id = t.role_id AND s.user_id = #{userId}
12
                 </if>
12
                 </if>
13
         WHERE 1=1
13
         WHERE 1=1

+ 5
- 15
src/main/resources/mapper/SysRolePermissionMapper.xml 查看文件

6
         SELECT
6
         SELECT
7
             t.permission_id
7
             t.permission_id
8
         FROM
8
         FROM
9
-            sys_role_permission t
9
+            sys_permission t
10
                 <if test="!isAdmin">
10
                 <if test="!isAdmin">
11
-                    INNER JOIN sys_user_role s ON s.role_id = t.role_id
11
+                    INNER JOIN sys_role_permission m on t.permission_id = m.permission_id
12
+                    INNER JOIN sys_user_role s ON s.role_id = m.role_id
12
                 </if>
13
                 </if>
13
-                INNER JOIN sys_permission m on t.permission_id = m.permission_id
14
-        WHERE m.resource_type = 'data'
14
+        WHERE t.resource_type = 'data'
15
         <if test="!isAdmin">
15
         <if test="!isAdmin">
16
             AND s.user_id = #{userId}
16
             AND s.user_id = #{userId}
17
         </if>
17
         </if>
21
             t.*
21
             t.*
22
         FROM
22
         FROM
23
             sys_role_permission t
23
             sys_role_permission t
24
-        <if test="!isAdmin">
25
-            INNER JOIN sys_user_role s ON s.role_id = t.role_id
26
-        </if>
27
-            INNER JOIN sys_permission m on t.permission_id = m.permission_id
28
-        WHERE m.resource_type = 'data'
29
-        <if test="!isAdmin">
30
-            AND s.user_id = #{userId}
31
-        </if>
32
-        <if test="roleId != null and roleId != ''">
33
-            AND t.role_id = #{roleId}
34
-        </if>
24
+        WHERE t.role_id = #{roleId}
35
     </select>
25
     </select>
36
     <select id="countBy" resultType="java.lang.Integer">
26
     <select id="countBy" resultType="java.lang.Integer">
37
         SELECT
27
         SELECT

+ 5
- 4
src/main/resources/mapper/SysUserMapper.xml 查看文件

18
             *
18
             *
19
         FROM
19
         FROM
20
             sys_user t
20
             sys_user t
21
-            <if test="!isAdmin">
22
-                <include refid="com.yunzhi.nanyang.mapper.TaOrgMapper.data_scope"></include>
23
-            </if>
24
         WHERE
21
         WHERE
25
-            1 = 1
22
+            t.status &gt; -1
23
+          AND t.user_id != #{adminId}
24
+        <if test="userId != adminId">
25
+            AND <include refid="com.yunzhi.nanyang.mapper.TaOrgMapper.data_scope"></include>
26
+        </if>
26
           <if test="orgId != null and orgId != ''">
27
           <if test="orgId != null and orgId != ''">
27
               AND t.org_id = #{orgId}
28
               AND t.org_id = #{orgId}
28
           </if>
29
           </if>

+ 11
- 0
src/main/resources/mapper/SysUserRoleMapper.xml 查看文件

16
         </if>
16
         </if>
17
 
17
 
18
     </select>
18
     </select>
19
+    <select id="listByUser" resultType="com.yunzhi.nanyang.entity.SysUserRole">
20
+        SELECT
21
+            t.*,
22
+            s.`name` as role_name
23
+        FROM
24
+            sys_user_role t
25
+            INNER  JOIN sys_role s on t.role_Id = s.role_id
26
+        WHERE
27
+            user_id = #{userId}
28
+        ORDER BY t.role_id
29
+    </select>
19
 </mapper>
30
 </mapper>

+ 4
- 6
src/main/resources/mapper/TaOrgMapper.xml 查看文件

3
 <mapper namespace="com.yunzhi.nanyang.mapper.TaOrgMapper">
3
 <mapper namespace="com.yunzhi.nanyang.mapper.TaOrgMapper">
4
 
4
 
5
     <sql id="data_scope">
5
     <sql id="data_scope">
6
-        INNER JOIN sys_user_data_scope s ON (
7
-                ( s.org_id = t.org_id OR t.create_user = s.user_id )
8
-            AND s.user_id = #{userId}
9
-            )
6
+        EXISTS (
7
+		    SELECT * FROM sys_user_data_scope s WHERE ( ( s.org_id = t.org_id OR t.create_user = s.user_id ) AND s.user_id = #{userId} )
8
+	    )
10
     </sql>
9
     </sql>
11
 
10
 
12
     <select id="getPageBy" resultType="com.yunzhi.nanyang.entity.TaOrg">
11
     <select id="getPageBy" resultType="com.yunzhi.nanyang.entity.TaOrg">
14
             t.*
13
             t.*
15
         FROM
14
         FROM
16
             ta_org t
15
             ta_org t
17
-            <include refid="data_scope"></include>
18
-        WHERE 1 = 1
16
+        WHERE <include refid="data_scope"></include>
19
           <if test="name != null and name != ''">
17
           <if test="name != null and name != ''">
20
               AND t.`name` like concat('%', #{name} ,'%')
18
               AND t.`name` like concat('%', #{name} ,'%')
21
           </if>
19
           </if>