|
|
|
@ -5,6 +5,7 @@ import cn.iocoder.common.framework.vo.CommonResult;
|
|
|
|
import cn.iocoder.mall.security.core.context.AdminSecurityContextHolder;
|
|
|
|
import cn.iocoder.mall.security.core.context.AdminSecurityContextHolder;
|
|
|
|
import cn.iocoder.mall.system.biz.bo.authorization.ResourceBO;
|
|
|
|
import cn.iocoder.mall.system.biz.bo.authorization.ResourceBO;
|
|
|
|
import cn.iocoder.mall.system.biz.bo.authorization.ResourceTreeNodeBO;
|
|
|
|
import cn.iocoder.mall.system.biz.bo.authorization.ResourceTreeNodeBO;
|
|
|
|
|
|
|
|
import cn.iocoder.mall.system.biz.dto.authorization.AuthorizationAssignRoleResourceDTO;
|
|
|
|
import cn.iocoder.mall.system.biz.dto.authorization.AuthorizationGetResourcesByAccountIdDTO;
|
|
|
|
import cn.iocoder.mall.system.biz.dto.authorization.AuthorizationGetResourcesByAccountIdDTO;
|
|
|
|
import cn.iocoder.mall.system.biz.dto.authorization.AuthorizationGetRoleResourcesDTO;
|
|
|
|
import cn.iocoder.mall.system.biz.dto.authorization.AuthorizationGetRoleResourcesDTO;
|
|
|
|
import cn.iocoder.mall.system.biz.dto.authorization.ResourceGetTreeDTO;
|
|
|
|
import cn.iocoder.mall.system.biz.dto.authorization.ResourceGetTreeDTO;
|
|
|
|
@ -12,6 +13,7 @@ import cn.iocoder.mall.system.biz.enums.authorization.ResourceTypeEnum;
|
|
|
|
import cn.iocoder.mall.system.biz.service.authorization.AuthorizationService;
|
|
|
|
import cn.iocoder.mall.system.biz.service.authorization.AuthorizationService;
|
|
|
|
import cn.iocoder.mall.system.biz.service.authorization.ResourceService;
|
|
|
|
import cn.iocoder.mall.system.biz.service.authorization.ResourceService;
|
|
|
|
import cn.iocoder.mall.system.rest.convert.authorization.AdminsAuthorizationConvert;
|
|
|
|
import cn.iocoder.mall.system.rest.convert.authorization.AdminsAuthorizationConvert;
|
|
|
|
|
|
|
|
import cn.iocoder.mall.system.rest.request.authorization.AdminsAuthorizationAssignRoleResourceRequest;
|
|
|
|
import cn.iocoder.mall.system.rest.response.authorization.AdminsAuthorizationMenuTreeResponse;
|
|
|
|
import cn.iocoder.mall.system.rest.response.authorization.AdminsAuthorizationMenuTreeResponse;
|
|
|
|
import cn.iocoder.mall.system.rest.response.authorization.AdminsAuthorizationRoleResourceTreeResponse;
|
|
|
|
import cn.iocoder.mall.system.rest.response.authorization.AdminsAuthorizationRoleResourceTreeResponse;
|
|
|
|
import io.swagger.annotations.Api;
|
|
|
|
import io.swagger.annotations.Api;
|
|
|
|
@ -19,10 +21,7 @@ import io.swagger.annotations.ApiImplicitParam;
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
|
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
|
|
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Set;
|
|
|
|
import java.util.Set;
|
|
|
|
@ -55,10 +54,10 @@ public class AdminsAuthorizationController {
|
|
|
|
return CommonResult.success(resources.stream().map(ResourceBO::getRoute).collect(Collectors.toSet()));
|
|
|
|
return CommonResult.success(resources.stream().map(ResourceBO::getRoute).collect(Collectors.toSet()));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping("/role_tree")
|
|
|
|
@GetMapping("/role_resource_tree")
|
|
|
|
@ApiOperation(value = "获得角色拥有的菜单权限", notes = "以树结构返回。注意,返回的资源树是完整的结构,会标记每个资源节点是否被角色所拥有")
|
|
|
|
@ApiOperation(value = "获得角色拥有的菜单权限", notes = "以树结构返回。注意,返回的资源树是完整的结构,会标记每个资源节点是否被角色所拥有")
|
|
|
|
@ApiImplicitParam(name = "roleId", value = "角色编号", required = true, example = "1")
|
|
|
|
@ApiImplicitParam(name = "roleId", value = "角色编号", required = true, example = "1")
|
|
|
|
public CommonResult<List<AdminsAuthorizationRoleResourceTreeResponse>> roleTree(@RequestParam("roleId") Integer roleId) {
|
|
|
|
public CommonResult<List<AdminsAuthorizationRoleResourceTreeResponse>> roleResourceTree(@RequestParam("roleId") Integer roleId) {
|
|
|
|
// 1. 获得完整的资源树
|
|
|
|
// 1. 获得完整的资源树
|
|
|
|
List<ResourceTreeNodeBO> resourceTreeNodeBOs = resourceService.getResourceTree(new ResourceGetTreeDTO());
|
|
|
|
List<ResourceTreeNodeBO> resourceTreeNodeBOs = resourceService.getResourceTree(new ResourceGetTreeDTO());
|
|
|
|
// 2. 获得角色拥有的子树
|
|
|
|
// 2. 获得角色拥有的子树
|
|
|
|
@ -67,4 +66,13 @@ public class AdminsAuthorizationController {
|
|
|
|
return CommonResult.success(AdminsAuthorizationConvert.INSTANCE.convertList(resourceTreeNodeBOs, roleResourceIds));
|
|
|
|
return CommonResult.success(AdminsAuthorizationConvert.INSTANCE.convertList(resourceTreeNodeBOs, roleResourceIds));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/assign_role_resource")
|
|
|
|
|
|
|
|
@ApiOperation(value = "分配角色资源")
|
|
|
|
|
|
|
|
public CommonResult<Boolean> assignRoleResource(AdminsAuthorizationAssignRoleResourceRequest request) {
|
|
|
|
|
|
|
|
AuthorizationAssignRoleResourceDTO authorizationAssignRoleResourceDTO = AdminsAuthorizationConvert.INSTANCE.convert(request)
|
|
|
|
|
|
|
|
.setAdminId(AdminSecurityContextHolder.getAdminId());
|
|
|
|
|
|
|
|
authorizationService.assignRoleResource(authorizationAssignRoleResourceDTO);
|
|
|
|
|
|
|
|
return CommonResult.success(true);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|