using ce.autofac.extension;
using learun.util;
using Newtonsoft.Json.Linq;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
namespace learun.iapplication
{
///
/// 版 本 EasyCode EC管理后台
/// Copyright (c) 2019-present EC管理有限公司
/// 创建人:tobin
/// 日 期:2019.09.12
/// 描 述:用户
///
public interface UserIBLL : IBLL
{
#region 获取数据
///
/// 获取用户信息通过账号
///
/// 用户账号
///
Task GetEntityByAccount(string account);
///
/// 获取用户信息
///
/// 主键
///
Task GetEntity(string keyValue);
///
/// 获取登录者用户信息
///
///
Task GetEntity();
///
/// 用户列表(根据用户主键集合)
///
/// 用户主键集合主键
///
Task> GetListByKeyValues(string keyValues);
///
/// 用户列表(根据公司主键,部门主键)
///
/// 公司主键
/// 部门主键
/// 查询关键词
///
Task> GetList(string companyId, string departmentId, string keyword);
///
/// 获取分页数据
///
/// 公司主键
/// 部门主键
/// 分页参数
/// 查询关键词
///
Task> GetPageList(string companyId, string departmentId, Pagination pagination, string keyword);
///
/// 用户列表,全部
///
/// 关键词
///
Task> GetAllList(string keyword);
///
/// 用户列表(导出Excel)
///
///
Task GetExportList();
///
/// 获取超级管理员用户列表
///
///
Task> GetAdminList();
#endregion 获取数据
#region 2
///
/// 用户列表(根据公司主键,部门主键)
///
/// 查询参数,json字串
///
Task> GetList(JObject queryParam);
///
/// 获取分页数据
///
/// 分页参数
/// 查询关键词
///
Task> GetPageList(Pagination pagination, JObject queryParam);
#endregion 2
#region 提交数据
///
/// 虚拟删除
///
/// 主键
Task Delete(string keyValue);
///
/// 保存用户表单(新增、修改)
///
/// 主键值
/// 用户实体
///
Task SaveEntity(string keyValue, UserEntity userEntity);
///
/// 修改用户登录密码
///
/// 新密码(MD5 小写)
/// 旧密码(MD5 小写)
Task RevisePassword(string newPassword, string oldPassword);
///
/// 重置密码(000000)
///
/// 账号主键
Task ResetPassword(string keyValue);
///
/// 修改用户状态
///
/// 主键值
/// 状态:1-启动;0-禁用
Task UpdateState(string keyValue, int state);
#endregion 提交数据
#region 扩展方法
///
/// 判断密码是否正确
///
/// 旧密码
/// 新密码
/// 密钥
///
bool IsPasswordOk(string oldPassword, string newPassWord, string secretkey);
#endregion 扩展方法
}
}