using System; using System.Data; using System.Threading.Tasks; using Znyc.Recruitment.Admin.Commons.Enums; using Znyc.Recruitment.Admin.Commons.IServices; using Znyc.Recruitment.Admin.Commons.Pages; using Znyc.Recruitment.Admin.Security.Dtos; using Znyc.Recruitment.Admin.Security.Entitys; namespace Znyc.Recruitment.Admin.Security.IServices { /// <summary> /// 用户服务接口 /// </summary> public interface IAdminUserService : IService<AdminUserEntity, AdminUserOutputDto, long> { /// <summary> /// 用户登陆验证。 /// </summary> /// <param name="userName">用户名</param> /// <param name="password">密码(第一次md5加密后)</param> /// <returns>验证成功返回用户实体,验证失败返回null|提示消息</returns> Task<Tuple<AdminUserEntity, string>> Validate(string userName, string password); /// <summary> /// 用户登陆验证。 /// </summary> /// <param name="userName">用户名</param> /// <param name="password">密码(第一次md5加密后)</param> /// <param name="userType">用户类型</param> /// <returns>验证成功返回用户实体,验证失败返回null|提示消息</returns> Task<Tuple<AdminUserEntity, string>> Validate(string userName, string password, UserType userType); /// <summary> /// 根据用户账号查询用户信息 /// </summary> /// <param name="userName"></param> /// <returns></returns> Task<AdminUserEntity> GetByUserName(string userName); /// <summary> /// 根据用户手机号码查询用户信息 /// </summary> /// <param name="mobilePhone">手机号码</param> /// <returns></returns> Task<AdminUserEntity> GetUserByMobilePhone(string mobilePhone); /// <summary> /// 根据Account、手机号查询用户信息 /// </summary> /// <param name="account">登录账号</param> /// <returns></returns> Task<AdminUserEntity> GetUserByLogin(string account); /// <summary> /// 根据第三方OpenId查询用户信息 /// </summary> /// <param name="openIdType">第三方类型</param> /// <param name="openId">OpenId值</param> /// <returns></returns> AdminUserEntity GetUserByOpenId(string openIdType, string openId); /// <summary> /// 根据微信UnionId查询用户信息 /// </summary> /// <param name="unionId">UnionId值</param> /// <returns></returns> AdminUserEntity GetUserByUnionId(string unionId); /// <summary> /// 根据userId查询用户信息 /// </summary> /// <param name="openIdType">第三方类型</param> /// <param name="userId">userId</param> /// <returns></returns> UserOpenIdsEntity GetUserOpenIdByuserId(string openIdType, long userId); /// <summary> /// 更新用户信息,第三方平台 /// </summary> /// <param name="entity"></param> /// <param name="userLogOnEntity"></param> /// <param name="trans"></param> bool UpdateUserByOpenId(AdminUserEntity entity, AdminUserLogOnEntity userLogOnEntity, UserOpenIdsEntity userOpenIds, IDbTransaction trans = null); /// <summary> /// 微信注册普通会员用户 /// </summary> /// <param name="userInPut">第三方类型</param> /// <returns></returns> bool CreateUserByWxOpenId(UserInputDto userInPut); /// <summary> /// 更新用户 /// </summary> /// <param name="userInPut"></param> /// <returns></returns> bool UpdateUserByOpenId(UserInputDto userInPut); /// <summary> /// 根据条件查询数据库,并返回对象集合(用于分页数据显示) /// </summary> /// <param name="search">查询的条件</param> /// <returns>指定对象的集合</returns> Task<PageResult<AdminUserOutputDto>> FindWithPagerSearchAsync(SearchUserModel search); } }