package com.skr.mdm.api.system.service;

import com.skr.mdm.bean.qo.role.RoleQO;
import com.skr.mdm.dto.LoginAdminDTO;
import com.skr.mdm.result.ResponseResult;

import javax.servlet.http.HttpServletRequest;

/**
 * @author nfq
 * @date 2020/9/8 17:45
 */
public interface RoleService {

    /**
     * 角色菜单树
     * @param companyId
     * @param roleId
     * @return
     */
    ResponseResult menuTree(Integer companyId, Integer roleId);

    /**
     * 创建角色
     *
     * @param roleQO
     * @param loginAdminDTO
     * @return
     */
    ResponseResult addRole(RoleQO roleQO, LoginAdminDTO loginAdminDTO);

    /**
     * 角色列表
     * @param pageNum
     * @param pageSize
     * @param companyId
     * @param roleName
     * @return
     */
    ResponseResult listRole(Integer pageNum, Integer pageSize, Integer companyId, String roleName);

    /**
     * 编辑角色
     *
     * @param roleQO
     * @param loginAdminDTO
     * @return
     */
    ResponseResult updateRole(RoleQO roleQO, LoginAdminDTO loginAdminDTO, HttpServletRequest request);

    /**
     * 角色删除
     * @param roleId
     * @param loginAdminDTO
     * @return
     */
    ResponseResult deleteRole(Integer roleId, LoginAdminDTO loginAdminDTO);
}
