张延森 преди 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,12 +55,12 @@ public class SysRolePermissionController extends BaseController {
55 55
      */
56 56
     @RequestMapping(value="/admin/role-permission",method= RequestMethod.GET)
57 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 64
         return ResponseBean.success(result);
65 65
     }
66 66
 
@@ -69,33 +69,36 @@ public class SysRolePermissionController extends BaseController {
69 69
      * @param sysRolePermission 实体对象
70 70
      * @return
71 71
      */
72
-    @RequestMapping(value="/admin/role-permission",method= RequestMethod.POST)
72
+    @RequestMapping(value="/admin/role/{roleId}/permission",method= RequestMethod.POST)
73 73
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
74 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 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 102
         } else {
100 103
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
101 104
         }

+ 7
- 8
src/main/java/com/yunzhi/nanyang/controller/SysUserController.java Целия файл

@@ -73,7 +73,7 @@ public class SysUserController extends BaseController {
73 73
 
74 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 77
         return ResponseBean.success(result);
78 78
     }
79 79
 
@@ -86,7 +86,9 @@ public class SysUserController extends BaseController {
86 86
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
87 87
     @RequiresPermissions("user:add")
88 88
     public ResponseBean sysUserAdd(@ApiParam("保存内容") @RequestBody SysUser sysUser) throws Exception{
89
+        String userId = currentUser().getUserId();
89 90
         sysUser.setUserId(null);
91
+        sysUser.setCreateUser(userId);
90 92
 
91 93
         if (StringUtils.isEmpty(sysUser.getUserName()) || StringUtils.isEmpty(sysUser.getPhone())) {
92 94
             return ResponseBean.error("姓名或者手机不能为空");
@@ -101,11 +103,6 @@ public class SysUserController extends BaseController {
101 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 106
         if (!StringUtils.isEmpty(sysUser.getLoginName())) {
110 107
             int cnt = iSysLoginService.countBy("login_name", sysUser.getLoginName(), true);
111 108
             if (cnt > 0) {
@@ -168,8 +165,10 @@ public class SysUserController extends BaseController {
168 165
     @RequiresPermissions("user:update")
169 166
     public ResponseBean sysUserUpdate(@ApiParam("对象ID") @PathVariable String id,
170 167
                                         @ApiParam("更新内容") @RequestBody SysUser sysUser) throws Exception{
171
-
168
+        String userId = currentUser().getUserId();
172 169
         sysUser.setUserId(id);
170
+        // 不支持更新创建人
171
+        sysUser.setCreateUser(null);
173 172
 
174 173
         if (StringUtils.isEmpty(sysUser.getUserName()) || StringUtils.isEmpty(sysUser.getPhone())) {
175 174
             return ResponseBean.error("姓名或者手机不能为空");
@@ -184,7 +183,7 @@ public class SysUserController extends BaseController {
184 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 187
         if (!canAccess) {
189 188
             return ResponseBean.error("无机构操作权限");
190 189
         }

+ 52
- 46
src/main/java/com/yunzhi/nanyang/controller/SysUserRoleController.java Целия файл

@@ -27,6 +27,7 @@ import com.yunzhi.nanyang.service.ISysUserRoleService;
27 27
 import com.yunzhi.nanyang.entity.SysUserRole;
28 28
 import org.springframework.web.bind.annotation.RestController;
29 29
 
30
+import java.util.HashMap;
30 31
 import java.util.List;
31 32
 
32 33
 /**
@@ -61,14 +62,9 @@ public class SysUserRoleController extends BaseController {
61 62
      */
62 63
     @RequestMapping(value="/admin/user-role",method= RequestMethod.GET)
63 64
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
64
-    @RequiresPermissions("role:view,user:view")
65 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 68
         return ResponseBean.success(result);
73 69
     }
74 70
 
@@ -77,45 +73,55 @@ public class SysUserRoleController extends BaseController {
77 73
      * @param sysUserRole 实体对象
78 74
      * @return
79 75
      */
80
-    @RequestMapping(value="/admin/user-role",method= RequestMethod.POST)
76
+    @RequestMapping(value="/admin/user/{userId}/role",method= RequestMethod.POST)
81 77
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
82 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 86
         SysUser sysUser = iSysUserService.getExistBy("user_id", userId, false,true);
97 87
         if (sysUser == null) {
98 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 125
         }else {
120 126
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
121 127
         }
@@ -125,31 +131,31 @@ public class SysUserRoleController extends BaseController {
125 131
      * 根据id删除对象
126 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 135
     @ApiOperation(value="删除", notes = "删除", httpMethod = "DELETE", response = ResponseBean.class)
130 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 143
         SysUser sysUser = iSysUserService.getExistBy("user_id", userId, false,true);
139 144
         if (sysUser == null) {
140 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,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.yunzhi.nanyang.common.BaseController;
7
+import com.yunzhi.nanyang.common.Constants;
7 8
 import com.yunzhi.nanyang.common.ResponseBean;
8 9
 import io.swagger.annotations.Api;
9 10
 import io.swagger.annotations.ApiOperation;
@@ -46,17 +47,18 @@ public class TaNewsTypeController extends BaseController {
46 47
      * @param pageSize
47 48
      * @return
48 49
      */
49
-    @RequestMapping(value="/taNewsType",method= RequestMethod.GET)
50
+    @RequestMapping(value="/admin/news-type",method= RequestMethod.GET)
50 51
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
51 52
     public ResponseBean taNewsTypeList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52 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,7 +29,7 @@ public class SysUser implements Serializable {
29 29
     private static final long serialVersionUID = 1L;
30 30
 
31 31
     @ApiModelProperty(value = "用户Id")
32
-    @TableId(value = "user_id", type = IdType.INPUT)
32
+    @TableId(value = "user_id", type = IdType.UUID)
33 33
     private String userId;
34 34
 
35 35
     @ApiModelProperty(value = "用户名")
@@ -53,6 +53,9 @@ public class SysUser implements Serializable {
53 53
     @ApiModelProperty(value = "状态")
54 54
     private Integer status;
55 55
 
56
+    @ApiModelProperty(value = "机构ID")
57
+    private String createUser;
58
+
56 59
     @ApiModelProperty(value = "创建时间")
57 60
     private LocalDateTime createDate;
58 61
 

+ 4
- 0
src/main/java/com/yunzhi/nanyang/entity/SysUserRole.java Целия файл

@@ -1,6 +1,7 @@
1 1
 package com.yunzhi.nanyang.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4 5
 import com.baomidou.mybatisplus.annotation.TableId;
5 6
 import java.io.Serializable;
6 7
 import io.swagger.annotations.ApiModel;
@@ -35,5 +36,8 @@ public class SysUserRole implements Serializable {
35 36
     @ApiModelProperty(value = "角色ID")
36 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,9 +22,7 @@ public interface SysRolePermissionMapper extends BaseMapper<SysRolePermission> {
22 22
     Set<String> getPermissionByUser(@Param("isAdmin") boolean isAdmin,
23 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 27
     int countBy(@Param("userId") String userId,
30 28
                     @Param("roleId") String roleId,

+ 1
- 1
src/main/java/com/yunzhi/nanyang/mapper/SysUserMapper.java Целия файл

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

+ 3
- 0
src/main/java/com/yunzhi/nanyang/mapper/SysUserRoleMapper.java Целия файл

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 5
 import org.apache.ibatis.annotations.Mapper;
6 6
 import org.apache.ibatis.annotations.Param;
7 7
 
8
+import java.util.List;
8 9
 import java.util.Set;
9 10
 
10 11
 /**
@@ -19,4 +20,6 @@ import java.util.Set;
19 20
 public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
20 21
 
21 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,7 +1,6 @@
1 1
 package com.yunzhi.nanyang.service;
2 2
 
3 3
 import com.yunzhi.nanyang.entity.SysRolePermission;
4
-import com.baomidou.mybatisplus.extension.service.IService;
5 4
 
6 5
 import java.util.List;
7 6
 
@@ -15,7 +14,7 @@ import java.util.List;
15 14
  */
16 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 19
     boolean checkAccess(String userId, String roleId, String permissionId);
21 20
 }

+ 4
- 0
src/main/java/com/yunzhi/nanyang/service/ISysUserRoleService.java Целия файл

@@ -3,6 +3,8 @@ package com.yunzhi.nanyang.service;
3 3
 import com.yunzhi.nanyang.entity.SysUserRole;
4 4
 import com.baomidou.mybatisplus.extension.service.IService;
5 5
 
6
+import java.util.List;
7
+
6 8
 /**
7 9
  * <p>
8 10
  * 用户角色 服务类
@@ -14,4 +16,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
14 16
 public interface ISysUserRoleService extends IBaseService<SysUserRole> {
15 17
 
16 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,5 +19,5 @@ public interface ISysUserService extends IBaseService<SysUser> {
19 19
 
20 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,6 +6,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6 6
 import com.baomidou.mybatisplus.core.metadata.TableInfo;
7 7
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8 8
 import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
9
+import com.yunzhi.nanyang.common.Constants;
9 10
 import com.yunzhi.nanyang.service.IBaseService;
10 11
 
11 12
 import java.io.Serializable;
@@ -38,11 +39,13 @@ public class BaseServiceImpl<M extends BaseMapper<T>, T> extends ServiceImpl<M,
38 39
 
39 40
     @Override
40 41
     public boolean canAccessData(Serializable id, String userId) {
42
+        if (Constants.ADMIN_ID.equals(userId)) return true;
43
+
41 44
         TableInfo tableInfo = SqlHelper.table(currentModelClass());
42 45
 
43 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 50
         String joinSQL = "INNER JOIN sys_user_data_scope s ON ( "+ kAlias +" = s.org_id OR "+t+".create_user = s.user_id )";
48 51
         String whereSQL = "WHERE " + kAlias + " = '"+ id +"' AND s.user_id = '" + userId + "'";

+ 2
- 3
src/main/java/com/yunzhi/nanyang/service/impl/SysRolePermissionServiceImpl.java Целия файл

@@ -3,7 +3,6 @@ package com.yunzhi.nanyang.service.impl;
3 3
 import com.yunzhi.nanyang.entity.SysRolePermission;
4 4
 import com.yunzhi.nanyang.mapper.SysRolePermissionMapper;
5 5
 import com.yunzhi.nanyang.service.ISysRolePermissionService;
6
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7 6
 import org.springframework.stereotype.Service;
8 7
 
9 8
 import java.util.List;
@@ -20,8 +19,8 @@ import java.util.List;
20 19
 public class SysRolePermissionServiceImpl extends BaseServiceImpl<SysRolePermissionMapper, SysRolePermission> implements ISysRolePermissionService {
21 20
 
22 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 26
     @Override

+ 15
- 0
src/main/java/com/yunzhi/nanyang/service/impl/SysUserRoleServiceImpl.java Целия файл

@@ -1,12 +1,16 @@
1 1
 package com.yunzhi.nanyang.service.impl;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.yunzhi.nanyang.common.Constants;
4 5
 import com.yunzhi.nanyang.entity.SysUserRole;
5 6
 import com.yunzhi.nanyang.mapper.SysUserRoleMapper;
6 7
 import com.yunzhi.nanyang.service.ISysUserRoleService;
7 8
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
9
+import org.apache.tomcat.util.bcel.Const;
8 10
 import org.springframework.stereotype.Service;
9 11
 
12
+import java.util.List;
13
+
10 14
 /**
11 15
  * <p>
12 16
  * 用户角色 服务实现类
@@ -20,10 +24,21 @@ public class SysUserRoleServiceImpl extends BaseServiceImpl<SysUserRoleMapper, S
20 24
 
21 25
     @Override
22 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 34
         QueryWrapper<SysUserRole> queryWrapper = new QueryWrapper<>();
25 35
         queryWrapper.eq("user_id", userId);
26 36
         queryWrapper.eq("role_id", roleId);
27 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,7 +59,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserMapper, SysUser>
59 59
     }
60 60
 
61 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,7 +7,7 @@
7 7
             t.*
8 8
         FROM
9 9
             sys_role t
10
-                <if test="isAdmin">
10
+                <if test="!isAdmin">
11 11
                     INNER JOIN sys_user_role s ON s.role_id = t.role_id AND s.user_id = #{userId}
12 12
                 </if>
13 13
         WHERE 1=1

+ 5
- 15
src/main/resources/mapper/SysRolePermissionMapper.xml Целия файл

@@ -6,12 +6,12 @@
6 6
         SELECT
7 7
             t.permission_id
8 8
         FROM
9
-            sys_role_permission t
9
+            sys_permission t
10 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 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 15
         <if test="!isAdmin">
16 16
             AND s.user_id = #{userId}
17 17
         </if>
@@ -21,17 +21,7 @@
21 21
             t.*
22 22
         FROM
23 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 25
     </select>
36 26
     <select id="countBy" resultType="java.lang.Integer">
37 27
         SELECT

+ 5
- 4
src/main/resources/mapper/SysUserMapper.xml Целия файл

@@ -18,11 +18,12 @@
18 18
             *
19 19
         FROM
20 20
             sys_user t
21
-            <if test="!isAdmin">
22
-                <include refid="com.yunzhi.nanyang.mapper.TaOrgMapper.data_scope"></include>
23
-            </if>
24 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 27
           <if test="orgId != null and orgId != ''">
27 28
               AND t.org_id = #{orgId}
28 29
           </if>

+ 11
- 0
src/main/resources/mapper/SysUserRoleMapper.xml Целия файл

@@ -16,4 +16,15 @@
16 16
         </if>
17 17
 
18 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 30
 </mapper>

+ 4
- 6
src/main/resources/mapper/TaOrgMapper.xml Целия файл

@@ -3,10 +3,9 @@
3 3
 <mapper namespace="com.yunzhi.nanyang.mapper.TaOrgMapper">
4 4
 
5 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 9
     </sql>
11 10
 
12 11
     <select id="getPageBy" resultType="com.yunzhi.nanyang.entity.TaOrg">
@@ -14,8 +13,7 @@
14 13
             t.*
15 14
         FROM
16 15
             ta_org t
17
-            <include refid="data_scope"></include>
18
-        WHERE 1 = 1
16
+        WHERE <include refid="data_scope"></include>
19 17
           <if test="name != null and name != ''">
20 18
               AND t.`name` like concat('%', #{name} ,'%')
21 19
           </if>