package com.landtool.lanbase.modules.sys.controller;
|
|
import java.util.List;
|
import java.util.Map;
|
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
import org.apache.shiro.authz.annotation.Logical;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
import com.landtool.lanbase.modules.sys.entity.SysRoleResource;
|
import com.landtool.lanbase.modules.sys.service.SysRoleResourceService;
|
import com.landtool.lanbase.common.annotation.LogAction;
|
import com.landtool.lanbase.common.utils.PageUtils;
|
import com.landtool.lanbase.common.utils.Query;
|
import com.landtool.lanbase.common.utils.Result;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
/**
|
* @Description: 角色资源权限
|
* @Author: zimao.guo
|
* @Date: 14:25 2018/1/23
|
*/
|
@RestController
|
@RequestMapping("/sys/roleresource")
|
@Api(value = "", tags = {"角色资源对应关系"})
|
public class SysRoleResourceController extends AbstractController{
|
|
@Autowired
|
private SysRoleResourceService roleResourceService;
|
|
/**
|
* @Description: 查询列表
|
* @Author: zimao.guo
|
* @Date: 14:26 2018/1/23
|
* @param params
|
* @return Result
|
* @see Result
|
*/
|
// @LogAction("查询")
|
@RequestMapping(value = "/list", method ={RequestMethod.POST, RequestMethod.GET})
|
// @RequiresPermissions("sys:role:list")
|
@RequiresPermissions(value = {"sys:role:list","sys:role:edit"}, logical = Logical.OR)
|
@ApiOperation(
|
value = "角色资源关系列表",
|
notes = "所有角色资源关系列表"
|
)
|
public Result list(@RequestParam Map<String, Object> params){
|
//查询列表数据
|
Query query = new Query(params);
|
|
List<SysRoleResource> roleResourceList = roleResourceService.queryList(query);
|
int total = roleResourceService.queryTotal(query);
|
|
PageUtils pageUtil = new PageUtils(roleResourceList, total, query.getLimit(), query.getPage());
|
|
return Result.ok().put("page", pageUtil);
|
}
|
|
|
/**
|
* @Description: 单条信息的查询
|
* @Author: zimao.guo
|
* @Date: 14:27 2018/1/23
|
* @param roleId
|
* @return Result
|
* @see Result
|
*/
|
@GetMapping("/info")
|
// @RequiresPermissions("sys:role:list")
|
@RequiresPermissions(value = {"sys:role:list","sys:role:edit"}, logical = Logical.OR)
|
@ApiOperation(
|
value = "角色资源信息",
|
notes = ""
|
)
|
public Result info( @ApiParam(name="roleId",value="角色id",required=true) @RequestParam(value="roleid",required = true) Long roleId,
|
@ApiParam(name="rescourceId",value="资源id",required=true) @RequestParam(value = "resourceid",required = true) Long resourceId){
|
SysRoleResource roleResource = roleResourceService.queryObject(roleId,resourceId);
|
|
return Result.ok().put("roleResource", roleResource);
|
}
|
|
/**
|
* @Description: 数据保存
|
* @Author: zimao.guo
|
* @Date: 14:29 2018/1/23
|
* @param roleResource
|
* @return Result
|
* @see Result
|
*/
|
@PostMapping("/save")
|
@RequiresPermissions("sys:role:edit")
|
@ApiOperation(
|
value = "保存角色资源关系",
|
notes = ""
|
)
|
// @LogAction("保存")
|
public Result save( @ApiParam(name="角色资源关系对象",value="传入json格式",required=true) @RequestBody SysRoleResource roleResource){
|
roleResourceService.save(roleResource);
|
|
return Result.ok();
|
}
|
|
/**
|
* @Description: 更新数据
|
* @Author: zimao.guo
|
* @Date: 14:30 2018/1/23
|
* @param roleResource
|
* @return Result
|
* @see Result
|
*/
|
@PostMapping("/update")
|
@RequiresPermissions("sys:role:edit")
|
@ApiOperation(
|
value = "修改角色资源关系",
|
notes = ""
|
)
|
// @LogAction("修改")
|
public Result update( @ApiParam(name="角色资源关系对象",value="传入json格式",required=true) @RequestBody SysRoleResource roleResource){
|
roleResourceService.update(roleResource);
|
|
return Result.ok();
|
}
|
|
/**
|
* @Description: 删除数据
|
* @Author: zimao.guo
|
* @Date: 14:31 2018/1/23
|
* @param resourcesRoleIds 规则:除了最后一个元素存放了roleId,其余的都是resourceId
|
* @return Result
|
*/
|
// @LogAction("删除")
|
@PostMapping("/delete")
|
@RequiresPermissions("sys:role:edit")
|
@ApiOperation(
|
value = "删除菜单",
|
notes = "规则:除了最后一个元素存放了roleId,其余的都是resourceId"
|
)
|
public Result delete( @ApiParam(name="resourcesRoleIds",value="资源角色id数组",required=true) @RequestBody Long[] resourcesRoleIds){
|
Long roleId = resourcesRoleIds[resourcesRoleIds.length -1];
|
Long[] resourceIds = new Long[resourcesRoleIds.length - 1];
|
for(int i=0 ; i< resourcesRoleIds.length - 1 ; i++){
|
resourceIds[i] = resourcesRoleIds[i];
|
}
|
|
roleResourceService.deleteBatch(resourceIds,roleId);
|
|
return Result.ok();
|
}
|
|
}
|