|
|
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.shiro.SecurityUtils;
|
|
|
@@ -28,6 +29,8 @@ import javax.servlet.http.HttpServletRequest;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import static net.sf.jsqlparser.util.validation.metadata.NamedObject.role;
|
|
|
+
|
|
|
/**
|
|
|
* <p>
|
|
|
* 菜单权限表 前端控制器
|
|
|
@@ -41,6 +44,13 @@ import java.util.stream.Collectors;
|
|
|
@RequestMapping("/sys/permission")
|
|
|
public class SysPermissionController {
|
|
|
|
|
|
+ //本部门及以下 sys_org_code like'#{sys_org_code}%' sys_permission_data_rule
|
|
|
+ private static String powerOrg="sysPowerOrg";
|
|
|
+ // 只看自己
|
|
|
+ private static String powerCreateBy="sysPowerCreateBy";
|
|
|
+ //只看本部门
|
|
|
+ private static String powerThisOrg="sysPowerThisOrg";
|
|
|
+
|
|
|
@Autowired
|
|
|
private ISysPermissionService sysPermissionService;
|
|
|
|
|
|
@@ -65,6 +75,8 @@ public class SysPermissionController {
|
|
|
@Autowired
|
|
|
private ISysRoleIndexService sysRoleIndexService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ISysRoleService iSysRoleService;
|
|
|
/**
|
|
|
* 加载数据节点
|
|
|
*
|
|
|
@@ -487,6 +499,32 @@ public class SysPermissionController {
|
|
|
String permissionIds = json.getString("permissionIds");
|
|
|
String lastPermissionIds = json.getString("lastpermissionIds");
|
|
|
this.sysRolePermissionService.saveRolePermission(roleId, permissionIds, lastPermissionIds);
|
|
|
+
|
|
|
+ // {"id":1,"name":"只查看自己"},
|
|
|
+ // {"id":2,"name":"查看下级数据"}
|
|
|
+ // {"id":3,"name":"只查看本部门"}
|
|
|
+ //根据 role_id 更新data_rule_ids sys_role_permission
|
|
|
+ // 根据角色ID 查找角色
|
|
|
+ SysRole byId = iSysRoleService.getById(roleId);
|
|
|
+ String join ="";
|
|
|
+ if (StringUtils.isNotBlank(byId.getPower())&&byId.getPower().equals("1")){
|
|
|
+ List<SysPermission> sysPermissions = sysPermissionService.queryListByPermissionName(powerCreateBy);
|
|
|
+ join = sysPermissions.get(0).getId();
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(byId.getPower())&&byId.getPower().equals("2")){
|
|
|
+ List<SysPermission> sysPermissions = sysPermissionService.queryListByPermissionName(powerOrg);
|
|
|
+ join = sysPermissions.get(0).getId();
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(byId.getPower())&&byId.getPower().equals("3")){
|
|
|
+ List<SysPermission> sysPermissions = sysPermissionService.queryListByPermissionName(powerThisOrg);
|
|
|
+ join = sysPermissions.get(0).getId();
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(join)){
|
|
|
+ UpdateWrapper<SysRolePermission> updateWrapper = new UpdateWrapper<>();
|
|
|
+ updateWrapper.eq("role_id",roleId).set("data_rule_ids",join);
|
|
|
+ sysRolePermissionService.update(updateWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
//update-begin---author:wangshuai ---date:20220316 for:[VUEN-234]用户管理角色授权添加敏感日志------------
|
|
|
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
baseCommonService.addLog("修改角色ID: "+roleId+" 的权限配置,操作人: " +loginUser.getUsername() ,CommonConstant.LOG_TYPE_2, 2);
|