提交 1daf8b94 编写于 作者: laizhilong's avatar laizhilong

根据角色id绘制选中树节点,确定操作时保存新选中节点

上级 8074c40b
......@@ -3,6 +3,7 @@ package cn.ibizlab.core.extensions.service;
import cn.ibizlab.core.uaa.service.ISYS_PERMISSIONService;
import cn.ibizlab.core.uaa.service.ISYS_PSAPPMENUITEMService;
import cn.ibizlab.core.uaa.service.ISYS_ROLE_PERMISSIONService;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
......@@ -10,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.validation.constraints.NotBlank;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -22,7 +24,8 @@ public class UAACoreService {
private ISYS_PERMISSIONService isys_permissionService;
@Autowired
private ISYS_PSAPPMENUITEMService isys_psappmenuitemService;
@Autowired
private ISYS_ROLE_PERMISSIONService isys_role_permissionService;
/**
* 获取应用菜单
*
......@@ -606,4 +609,43 @@ public class UAACoreService {
return array;
}
/**
* 根据角色id查询所有权限
* @return
* @param roleid
*/
public JSONArray getallPermissionByRoleid(@NotBlank(message = "roleid不允许为空") String roleid) {
JSONArray rolepermission = new JSONArray();
StringBuilder sql = new StringBuilder();
sql.append("select t.SYS_PERMISSIONID as permissionid,t.SYS_PERMISSIONNAME as permissionname,t1.PERMISSIONTYPE as permissiontype from ibzrole_permission t inner join ibzpermission t1 on t.SYS_PERMISSIONID=t1.SYS_PERMISSIONID where t1.enable='1' and t.sys_roleid='"+ roleid +"'");
List<JSONObject> select = isys_permissionService.select(sql.toString(),null);
for (JSONObject obj : select) {
String permissionid = obj.getString("permissionid");
String permissionname = obj.getString("permissionname");
String permissiontype = obj.getString("permissiontype");
JSONObject childNodeObj = new JSONObject();
// 应用菜单需要对权限id进行处理
if ("APPMENU".equals(permissiontype)){
String appmenu_permissionid = permissionid.substring(permissionid.lastIndexOf("-")+1, permissionid.length());
childNodeObj.put("id", appmenu_permissionid);
}else{
childNodeObj.put("id", permissionid);
}
childNodeObj.put("label", permissionname);
rolepermission.add(childNodeObj);
}
return rolepermission;
}
/**
* 根据角色id删除角色权限关系
* @param roleid
*/
public void clearRolePermissionByRoleid(String roleid) {
isys_role_permissionService.removeByRoleid(roleid);
}
}
package cn.ibizlab.api.rest.extensions;
import cn.ibizlab.core.extensions.service.UAACoreService;
import cn.ibizlab.util.errors.BadRequestAlertException;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.util.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
@RestController
......@@ -20,7 +25,7 @@ public class UAACoreResource {
* @return
*/
@GetMapping(value = "/sys_permissions/getallMenuAndPermissionAndUnires")
public ResponseEntity<JSONArray> getAllPermission() {
public ResponseEntity<JSONArray> getallMenuAndPermissionAndUnires(@Validated @NotBlank(message = "roleid不允许为空")@RequestParam("roleid") String roleid) {
JSONArray treeNode = new JSONArray();
// 获取应用菜单
treeNode.add(uaaCoreService.getAppMenu());
......@@ -28,8 +33,27 @@ public class UAACoreResource {
treeNode.add(uaaCoreService.getDEOppriv());
// 获取统一资源
treeNode.add(uaaCoreService.getUnires());
// 获取当前角色所有权限
treeNode.add(uaaCoreService.getallPermissionByRoleid(roleid));
return ResponseEntity.ok().body(treeNode);
}
/**
* 删除当前角色的所有角色权限关系
* @param param
* @return
*/
@PostMapping(value = "/sys_permissions/deleteRolePermissionByRoleid")
public ResponseEntity<JSONObject> deleteRolePermissionByRoleid(@RequestBody JSONObject param) {
JSONObject resObj = new JSONObject();
String roleid = param.getString("roleid");
if (StringUtils.isEmpty(roleid))
new BadRequestAlertException("操作失败,未获取到当前角色标识!","","");
uaaCoreService.clearRolePermissionByRoleid(roleid);
return ResponseEntity.ok(resObj);
}
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册