package com.zteits.sys.mapper.smapper;
import java.util.Date;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface SysOpRoleSmapper {
/**
* 通过操作员id删除用户与角色关系.
*
* @param sysOpId
* @return
*/
int deleteSysOpRoleByOpId(Long sysOpId);
/**
* 批量插入用户角色关系.
*
* @param sysOpId
* @param sysRoleIdList
* @param string
* @return
*/
int batchSaveSysOpRole(@Param("sysCode") String sysCode, @Param("sysOpID") Long sysOpId,
@Param("roleIdList") List sysRoleIdList,@Param("createEmpid") String createEmpid,
@Param("createDate") Date createDate, @Param("modfiyEmpid")String modfiyEmpid,
@Param("modfiyDate") Date modfiyDate);
/**
* 根据ID批量删除操作人与角色的关系
*
* @param ids 操作人与角色关系主键ID链表 必填
* @param sysCode 系统编码 必填
* @return 影响数据库记录的数量
*/
int deleteBatchOpRoleByIds(@Param("ids") List ids, @Param("sysCode") String sysCode);
/**
* 根据操作人ID 批量删除 操作人与角色关系
*
* @param opId 操作人ID 必填
* @param roleIds 角色ID集合 可选,如果为空,默认删除此操作人与所有角色之间的关系
* @param sysCode 系统编码 必填
* @return 影响数据库记录的数量
*/
int deleteBatchOpRoleByOpId(@Param("opId") long opId, @Param("roleIds") List roleIds,
@Param("sysCode") String sysCode);
/**
* 根据角色ID 批量删除 操作人与角色关系
*
* @param roleId 角色ID 必填
* @param opIds 操作人ID集合 可选,如果为空,默认删除所有操作人与该角色之间的关系
* @param sysCode 系统编码 必填
* @return 影响数据库记录的数量
*/
int deleBatchOpRoleByRoleId(@Param("roleId") long roleId, @Param("opIds") List opIds,
@Param("sysCode") String sysCode);
/**
* 根据操作人ID批量保存 操作人与角色关系
*
* @param opId 操作人ID 必填
* @param roleIds 角色ID集合 必填
* @param dataState 数据状态 必填
* @param currentOpId 当前系统操作人ID 可选
* @param sysCode 系统编码 必填
* @return 影响数据库记录的数量
*/
int saveBatchOpRoleByOpId(@Param("opId") long opId, @Param("roleIds") List roleIds,
@Param("dataState") int dataState, @Param("currentOpId") Long currentOpId, @Param("sysCode") String sysCode);
/**
* 根据角色ID 批量保存 操作人与角色关系
*
* @param roleId 角色ID 必填
* @param opIds 操作人ID 集合 必填
* @param dataState 数据状态 必填
* @param currentOpId 当前系统操作人ID 可选
* @param sysCode 系统编码 必填
* @return 影响数据库记录的数量
*/
int saveBatchOpRoleByRoleId(@Param("roleId") long roleId, @Param("opeIds") List opIds,
@Param("dataState") int dataState, @Param("currentOpId") Long currentOpId, @Param("sysCode") String sysCode);
/**
* 根据操作人ID集合 查询所有操作人对应的角色
*
* @param opIds 操作人ID 必填
* @param dataState 数据状态 可选,如果为null 则查询所有状态数据
* @param sysCode 系统编码 必填
* @return 角色ID集合
* @throws Exception
*/
List queryRoleIdsByOpId(@Param("opIds") List opIds, @Param("dataState") Integer dataState,
@Param("sysCode") String sysCode);
/**
* 根据角色ID 查询所有角色对应了哪些操作人
*
* @param roleIds 角色ID 必填
* @param dataState 数据状态 可选,如果为null 则查询所有状态数据
* @param sysCode 系统编码 必填
* @return 操作人ID集合
* @throws Exception
*/
List queryOpIdsByRoleId(@Param("roleIds") List roleIds, @Param("dataState") Integer dataState,
@Param("sysCode") String sysCode);
}