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 params){ //查询列表数据 Query query = new Query(params); List 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(); } }