All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.yuweix.kuafu.permission.web.SysRolePermissionController Maven / Gradle / Ivy

There is a newer version: 2.0.0
Show newest version
package com.yuweix.kuafu.permission.web;


import com.yuweix.kuafu.core.Response;
import com.yuweix.kuafu.permission.annotations.Permission;
import com.yuweix.kuafu.permission.common.PermissionUtil;
import com.yuweix.kuafu.permission.common.Properties;
import com.yuweix.kuafu.permission.dto.AdminDto;
import com.yuweix.kuafu.permission.dto.PermissionDto;
import com.yuweix.kuafu.permission.dto.RolePermissionDto;
import com.yuweix.kuafu.permission.service.SysPermissionService;
import com.yuweix.kuafu.permission.service.SysRolePermissionService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;

import static org.springframework.web.bind.annotation.RequestMethod.GET;
import static org.springframework.web.bind.annotation.RequestMethod.POST;


/**
 * Sys角色权限管理
 * @author yuwei
 */
@Controller
public class SysRolePermissionController {
	@Resource
	private SysPermissionService sysPermissionService;
	@Resource
	private SysRolePermissionService sysRolePermissionService;
	@Resource
	private Properties properties;


	/**
	 * 查询指定角色的权限集合
	 */
	@Permission(value = "sys.role.permission.list")
	@RequestMapping(value = "/sys/role/permission/list", method = GET)
	@ResponseBody
	public Response queryPermissionListByRoleId(@RequestParam(value = "roleId", required = true) long roleId) {
		List permissionList = sysPermissionService.queryPermissionListIncludeChildren(null
				, null, null, null);
		List permIdList = sysRolePermissionService.queryPermissionIdListByRoleId(roleId);

		RolePermissionDto dto = new RolePermissionDto();
		dto.setPermList(permissionList);
		dto.setCheckedPermIdList(permIdList);
		return new Response<>(properties.getSuccessCode(), "ok", dto);
	}

	/**
	 * 保存角色权限
	 */
	@Permission(value = "sys.role.permission.save")
	@RequestMapping(value = "/sys/role/permission/save", method = POST)
	@ResponseBody
	public Response saveRolePermission(@RequestParam(value = "roleId", required = true) long roleId
			, @RequestParam(value = "permIds", required = true)long[] permIds) {
		List permIdList = new ArrayList<>();
		if (permIds != null && permIds.length > 0) {
			for (long permId : permIds) {
				permIdList.add(permId);
			}
		}
		AdminDto adminDto = PermissionUtil.getLoginAccount();
		sysRolePermissionService.saveRolePermission(roleId, permIdList, adminDto.getAccountNo());
		return new Response<>(properties.getSuccessCode(), "ok");
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy