提交 bd87c5fb 编写于 作者: sq3536's avatar sq3536

路径

上级 31356bee
...@@ -476,60 +476,29 @@ ...@@ -476,60 +476,29 @@
this.$emit('close', null); this.$emit('close', null);
return; return;
} }
// 先删除当前角色的所有角色权限关系 this.selectData.forEach((item: any) => {
let url = `sys_permissions/deleteRolePermissionByRoleid`; let _itemTemp: any = JSON.parse(JSON.stringify(item));
let param = {roleid: this.srfparentkey}; let _item: any = {};
this.$http.post(url,param).then((response: any) => { if (_itemTemp.type) {
if (!response || response.status !== 200) { _item.permissionid = _itemTemp.id;
this.$Notice.error({title: '错误', desc: response.message}); _item.permissiontype = _itemTemp.type;
return; _item.permissionname = _itemTemp.fullName;
Object.assign(_item, {_select: false})
this.viewSelections.push(_item);
}
});
// 保存选中的权限信息
let url = '/sysroles/'+this.srfparentkey+'/sysrolepermissions/refreshbatch';
this.$http.post(url,this.viewSelections).then((response: any) => {
if (!(!response || response.status !== 200)) {
} else { } else {
// 再重新添加新选中的权限 this.$Notice.error({title: '错误', desc: response.message});
this.selectData.forEach((item: any) => { return;
let _itemTemp: any = JSON.parse(JSON.stringify(item));
let _item: any = {};
if (_itemTemp.sys_permissionId) {// 应用菜单
_item.srfdataaccaction = _itemTemp.sys_permissionId;
_item.srfkey = _itemTemp.sys_permissionId;
_item.sys_permission = _itemTemp.sys_permissionId;
_item.sys_permissionid = _itemTemp.sys_permissionId;
_item.srfmajortext = _itemTemp.label;
_item.sys_permissionname = _itemTemp.label;
Object.assign(_item, {_select: false})
this.viewSelections.push(_item);
} else {
if (!_itemTemp.children) {// 数据能力或者统一资源
_item.srfdataaccaction = _itemTemp.id;
_item.srfkey = _itemTemp.id;
_item.sys_permission = _itemTemp.id;
_item.sys_permissionid = _itemTemp.id;
_item.srfmajortext = _itemTemp.label;
_item.sys_permissionname = _itemTemp.label;
Object.assign(_item, {_select: false})
this.viewSelections.push(_item);
}
}
});
// 保存选中的权限信息
url = 'sys_permissions/saveRolePermissionByRoleid';
Object.assign(param,{roleid:this.srfparentkey, checkedNodes: this.viewSelections});
this.$http.post(url,param).then((response: any) => {
if (!(!response || response.status !== 200)) {
// 选中节点多,执行时间长,因此不需要success提示
// this.$Notice.success({title: '', desc: '保存权限成功!'});
} else {
this.$Notice.error({title: '错误', desc: response.message});
return;
}
}).catch((e) => {
console.log(e);
});
} }
}).catch((e) => { }).catch((e) => {
console.log(e); });
});
} else { } else {
this.$Notice.error({title: '错误', desc: '未选中数据!'}); this.$Notice.error({title: '错误', desc: '未选中数据!'});
......
...@@ -2,6 +2,8 @@ package cn.ibizlab.core.uaa.extensions.service; ...@@ -2,6 +2,8 @@ package cn.ibizlab.core.uaa.extensions.service;
import cn.ibizlab.core.uaa.domain.SysPSSystem; import cn.ibizlab.core.uaa.domain.SysPSSystem;
import cn.ibizlab.core.uaa.domain.SysPermission;
import cn.ibizlab.core.uaa.domain.SysRole;
import cn.ibizlab.core.uaa.domain.SysRolePermission; import cn.ibizlab.core.uaa.domain.SysRolePermission;
import cn.ibizlab.core.uaa.extensions.domain.PermissionNode; import cn.ibizlab.core.uaa.extensions.domain.PermissionNode;
import cn.ibizlab.core.uaa.extensions.domain.PermissionType; import cn.ibizlab.core.uaa.extensions.domain.PermissionType;
...@@ -9,6 +11,7 @@ import cn.ibizlab.core.uaa.filter.SysPSSystemSearchContext; ...@@ -9,6 +11,7 @@ import cn.ibizlab.core.uaa.filter.SysPSSystemSearchContext;
import cn.ibizlab.core.uaa.filter.SysRolePermissionSearchContext; import cn.ibizlab.core.uaa.filter.SysRolePermissionSearchContext;
import cn.ibizlab.core.uaa.service.ISysPSSystemService; import cn.ibizlab.core.uaa.service.ISysPSSystemService;
import cn.ibizlab.core.uaa.service.ISysRolePermissionService; import cn.ibizlab.core.uaa.service.ISysRolePermissionService;
import cn.ibizlab.core.uaa.service.ISysRoleService;
import cn.ibizlab.core.uaa.service.ISysUserRoleService; import cn.ibizlab.core.uaa.service.ISysUserRoleService;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
...@@ -19,6 +22,7 @@ import org.springframework.data.domain.Page; ...@@ -19,6 +22,7 @@ import org.springframework.data.domain.Page;
import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.*; import java.util.*;
...@@ -39,6 +43,10 @@ public class UAACoreService { ...@@ -39,6 +43,10 @@ public class UAACoreService {
@Lazy @Lazy
private ISysUserRoleService userRoleService; private ISysUserRoleService userRoleService;
@Autowired
@Lazy
private ISysRoleService sysRoleService;
public Map<String,List<PermissionNode>> getPermissionTree() public Map<String,List<PermissionNode>> getPermissionTree()
{ {
List<PermissionNode> apps = new ArrayList<>(); List<PermissionNode> apps = new ArrayList<>();
...@@ -88,4 +96,42 @@ public class UAACoreService { ...@@ -88,4 +96,42 @@ public class UAACoreService {
return authorities; return authorities;
} }
public void saveByRoleid(String roleid,List<SysRolePermission> list) {
if(list==null)
return;
SysRole role = sysRoleService.getById(roleid);
Set<String> delIds=new HashSet<String>();
List<SysRolePermission> _update=new ArrayList<SysRolePermission>();
List<SysRolePermission> _create=new ArrayList<SysRolePermission>();
for(SysRolePermission before:rolePermissionService.selectByRoleid(roleid)){
delIds.add(before.getRolepermissionid());
}
for(SysRolePermission sub:list) {
SysPermission sysPermission = new SysPermission();
sysPermission.setEnable(1);
sysPermission.setPermissiontype(sub.getPermissiontype());
sysPermission.setPermissionname(sub.getPermissionname());
sysPermission.setPermissionid(sub.getPermissionid());
sub.setPermission(sysPermission);
sub.setRoleid(roleid);
sub.setRole(role);
if(ObjectUtils.isEmpty(sub.getRolepermissionid()))
sub.setRolepermissionid((String)sub.getDefaultKey(true));
if(delIds.contains(sub.getRolepermissionid())) {
delIds.remove(sub.getRolepermissionid());
_update.add(sub);
}
else
_create.add(sub);
}
if(_update.size()>0)
rolePermissionService.updateBatch(_update);
if(_create.size()>0)
rolePermissionService.createBatch(_create);
if(delIds.size()>0)
rolePermissionService.removeBatch(delIds);
}
} }
package cn.ibizlab.api.rest.extensions; package cn.ibizlab.api.rest.extensions;
import cn.ibizlab.api.dto.SysPSSystemDTO; import cn.ibizlab.api.dto.SysPSSystemDTO;
import cn.ibizlab.api.dto.SysRolePermissionDTO;
import cn.ibizlab.api.mapping.SysPSSystemMapping; import cn.ibizlab.api.mapping.SysPSSystemMapping;
import cn.ibizlab.api.mapping.SysRolePermissionMapping;
import cn.ibizlab.core.uaa.domain.SysPSSystem; import cn.ibizlab.core.uaa.domain.SysPSSystem;
import cn.ibizlab.core.uaa.domain.SysRolePermission;
import cn.ibizlab.core.uaa.extensions.domain.PermissionNode; import cn.ibizlab.core.uaa.extensions.domain.PermissionNode;
import cn.ibizlab.core.uaa.extensions.domain.SysStructure; import cn.ibizlab.core.uaa.extensions.domain.SysStructure;
import cn.ibizlab.core.uaa.extensions.service.UAACoreService; import cn.ibizlab.core.uaa.extensions.service.UAACoreService;
import cn.ibizlab.core.uaa.service.ISysPSSystemService; import cn.ibizlab.core.uaa.service.ISysPSSystemService;
import cn.ibizlab.core.uaa.service.ISysRolePermissionService;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
...@@ -28,10 +32,18 @@ public class UAACoreResource { ...@@ -28,10 +32,18 @@ public class UAACoreResource {
@Autowired @Autowired
private ISysPSSystemService sysPSSystemService; private ISysPSSystemService sysPSSystemService;
@Autowired
private ISysRolePermissionService sysRolePermissionService;
@Autowired @Autowired
@Lazy @Lazy
public SysPSSystemMapping syspssystemMapping; public SysPSSystemMapping syspssystemMapping;
@Autowired
@Lazy
public SysRolePermissionMapping sysrolepermissionMapping;
/** /**
* 获取全部菜单列表和数据能力列表和统一资源列表 * 获取全部菜单列表和数据能力列表和统一资源列表
* *
...@@ -54,4 +66,12 @@ public class UAACoreResource { ...@@ -54,4 +66,12 @@ public class UAACoreResource {
return ResponseEntity.status(HttpStatus.OK).body(sysPSSystemService.save(sysPSSystem)); return ResponseEntity.status(HttpStatus.OK).body(sysPSSystemService.save(sysPSSystem));
} }
@ApiOperation(value = "RefreshBatchBySysRole", tags = {"SysRolePermission" }, notes = "RefreshBatchBySysRole")
@RequestMapping(method = RequestMethod.POST, value = "/sysroles/{sysrole_id}/sysrolepermissions/refreshbatch")
public ResponseEntity<Boolean> saveBatchBySysRole(@PathVariable("sysrole_id") String sysrole_id, @RequestBody List<SysRolePermissionDTO> sysrolepermissiondtos) {
List<SysRolePermission> domainlist=sysrolepermissionMapping.toDomain(sysrolepermissiondtos);
uaaCoreService.saveByRoleid(sysrole_id,domainlist);
return ResponseEntity.status(HttpStatus.OK).body(true);
}
} }
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册