package com.iamberry.wechat.service.sys.mapper;


import com.iamberry.sys.*;

import java.util.List;

/**
 * @author 献
 * @company 深圳爱贝源科技有限公司
 * @website www.iamberry.com
 * @tel 18271840547
 * @date 2017/5/12
 */
public interface SysMapper {

    String getSaltByLoginName(String loginName);

    /**
     * 根据用户获取登录信息
     * @param admin
     * @return
     */
    Admin get(Admin admin);

    /**
     * 编辑管理员信息
     * @param admin
     * @return
     */
    Integer updateAdmin(Admin admin);

    /**
     * 管理员集合
     * @param admin
     * @return
     */
    List<Admin> listAdmin(Admin admin);

    /**
     * 添加管理员
     * @param admin
     * @return
     */
    Integer addAdmin(Admin admin);

    /**
     * 根据角色id，查询菜单信息
     * @param ruleId
     * @return
     */
    List<Menu> listMenuByRule(Integer ruleId);

    /**
     * 查询所有再用的菜单
     * @return
     */
    List<Menu> listMenu();

    /**
     * 根据角色id，查询权限信息
     * @param ruleId
     * @return
     */
    List<String> listSymbolByRule(Integer ruleId);

    /**
     * 查询供应商所有的角色
     * @param supplierId
     * @return
     */
    List<SysRule> listRule(Integer supplierId);

    /**
     * 添加角色
     * @param sysRule
     * @return
     */
    int addRule(SysRule sysRule);

    /**
     * 编辑角色
     * @param sysRule
     * @return
     */
    int editRule(SysRule sysRule);

    /**
     * 查询单个角色的信息
     * @param ruleId
     * @return
     */
    SysRule getRule(Integer ruleId);

    /**
     * 查询二级菜单的权限
     * @param subId
     * @return
     */
    List<MenuPermisssion> listPermisssionBySubId(Integer subId);

    /**
     * 添加管理员权限
     * @param pocess
     * @return
     */
    int addPocess(AdminPocess pocess);

    /**
     * 删除角色对应的权限
     * @param ruleId
     * @return
     */
    int delPocess(Integer ruleId);
}
