package com.zteits.sys.dao;
import java.util.List;
import com.github.pagehelper.PageInfo;
import com.zteits.clouds.api.apibase.bean.BizResult;
import com.zteits.clouds.api.dto.sys.SysOpDTO;
import com.zteits.clouds.api.dto.sys.param.QuerySysOpByorgIdsReq;
import com.zteits.clouds.api.dto.sys.param.SysOpQueryMenuRequest;
import com.zteits.clouds.api.dto.sys.param.SysOpQueryRequest;
import com.zteits.clouds.api.dto.sys.param.SysOpRoleSaveOrModfiyRequest;
import com.zteits.clouds.api.dto.sys.param.SysOpUpdatePasswordRequest;
import com.zteits.clouds.api.dto.sys.param.UpdateSysOpOrgIdRequest;
import com.zteits.sys.domain.SysOp;
import com.zteits.sys.domain.SysRes;
/**
* 系统用户dao接口.
*
* Copyright: Copyright (c) 2017 zteits
*
* @ClassName: UserDao.java
* @Description:
* @version: v1.0.0
* @author: wangfs
* @date: 2017年4月21日 下午5:47:27
* Modification History:
* Date Author Version Description
* ---------------------------------------------------------*
* 2017年4月21日 wangfs v1.0.0 创建
*/
public interface SysOpDao {
/**
* 根据 opId集合 查询操作人信息
*
* @param opIds 操作人ID集合 必填
* @param sysCode 系统编码 必填
* @param dataStatus 数据状态 可选,为空不控制数据状态
* @return
* @throws Exception
*/
List querySysOpByIds(List opIds, Integer dataStatus, String sysCode) throws Exception;
/**
* 通过操作员id+SysCode 查询操作员对象.
*
* @param userQueryRequest
* @return
*/
SysOp querySysOp(SysOpQueryRequest sysOpQueryRequest) throws Exception;
/**
* 分页查询用户对象.
*
* @param sysOpForPageRequest
* @return
* langlw 2017-08-10
*/
PageInfo queryUserForPage(SysOp sysOp,Integer pageSize,Integer pageNum) throws Exception;
/**
* 删除用户对象-逻辑删除.
*
* @param sysOpDeleteRequest
* @return
* @throws Exception
* langlw 2017-08-10
*/
Boolean deleteSysOp(SysOp sysOp) throws Exception;
/**
* 用户对象保存.
*
* @param sysOpSaveOrModfiyRequest
* @return
* langlw 2017-08-10
*/
Boolean saveSysOp(SysOp sysOp) throws Exception;
/**
* 用户对象修改.
*
* @param sysOpSaveOrModfiyRequest
* @return
* langlw 2017-08-10
*/
Boolean modfiySysOp(SysOp sysOp) throws Exception;
/**
* 保存/修改用户与角色关系.
* 保存修改处理逻辑:
* 1.先删除掉用户角色关系主键不为空的关系.
* 2.然后全量保存.
*
* @param SysOpRoleSaveOrModfiyRequest
* @return
*/
Boolean saveOrModfiySysOpAndSysRoleRelation(SysOpRoleSaveOrModfiyRequest sysOpRoleSaveOrModfiyRequest) throws
Exception;
/**
* 通过操作员Id查询菜单.
* 步骤:
* 1.通过操作员id 查询职能list.
* 2.通过职能listId 查询菜单.
*
* @param sysOpQueryMenuRequest
* @return
* @throws Exception
*/
List queryMenuBySysOpId(SysOpQueryMenuRequest sysOpQueryMenuRequest) throws Exception;
/**
* 添加用户与角色关系.
*
* @param SysOpRoleSaveOrModfiyRequest
* @return
*/
Boolean insertSysOpAndSysRoleRelation(SysOpRoleSaveOrModfiyRequest sysOpRoleSaveOrModfiyRequest) throws Exception;
/**
* 修改密码
* @param request
* @return
* langlw 2017-08-10
*/
Boolean modfiySysOpPassword(SysOpUpdatePasswordRequest request);
/**
* 通过用户名 查询操作员对象是否重复.
*
* @param loginCode
* @return
* langlw 2017-08-10
*/
SysOp loginCodeIsUsed(String loginCode) throws Exception;
/**
* 更新操作员组织Id
* @param updateSysOpOrgIdRequest
* @return
*/
Boolean updateSysOpOrgIdByOpId(UpdateSysOpOrgIdRequest updateSysOpOrgIdRequest);
/**
* 通过组织ids查询用户信息
* @param request
* @return
* 2018年4月9日 wangfs.
*/
public List querySysOpByorgIds(List orgIds);
}