package cn.com.countrygarden.bi.main.service;

import java.util.List;

import cn.com.countrygarden.bi.main.core.Result;
import cn.com.countrygarden.bi.main.core.Service;
import cn.com.countrygarden.bi.main.model.sys.Role;
import cn.com.countrygarden.bi.main.model.sys.UserWhiteUrl;

/**
 * package: cn.com.countrygarden.bi.main.service
 * describe:    角色业务逻辑类
 * creat_user: lsl
 * creat_date: 2018/6/7
 * creat_time: 21:56
 **/
public interface RoleService extends Service<Role> {


    /**
     * 分页查询角色列表
     * @param paramMap
     * @return
     */
    Result queryRoleInfo(Role role, int page, int size);
    Result queryRoleInfo(Role role, String userCode, int page, int size);
    /**
     * 检查角色编号是否重复
     * @param code
     * @return
     */
    boolean checkRoleCodeExist(String code);

    /**
     * 添加角色
     * @param role
     * @param roleColumnIds
     * @param functionIds
     * @return
     */
    Result addRoleOrMenusAndFunctions(Role role, String menusIds, String functionIds);
    
    Result addRoleOrMenusAndFunctions(Role role, String userCode, String menusIds, String functionIds);
    
    Result queryDataById(Integer id);

    Result del(Integer id);

    /**
     * 用户是否存在角色
     * @param roleCode
     * @param userCode
     * @return
     */
    boolean isExistRoleCode(String roleCode, String userCode);

    Result edit(Role role, String menusIds, String functionIds);
    public boolean whiteUrlFiter(String userCode,String requestUrl);
	boolean checkIsAdmin(String userCode);
}
