非羁押人员管理平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

231 lines
6.7 KiB

using ATS.NonCustodial.Application.Contracts.Interfaces.Admins.Auth.Output;
using ATS.NonCustodial.Application.Contracts.Interfaces.Admins.User.Input;
using ATS.NonCustodial.Application.Contracts.Interfaces.Admins.User.Output;
using ATS.NonCustodial.Domain.Shared.AggRootEntities.Dtos;
using ATS.NonCustodial.Domain.Shared.Attributes;
using ATS.NonCustodial.Shared.Common.Dtos;
using ATS.NonCustodial.Shared.Common.Dtos.Query;
using ATS.NonCustodial.Shared.Common.Enums;
using ATS.NonCustodial.Shared.Common.UnifiedResults;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace ATS.NonCustodial.Application.Contracts.Interfaces.Admins.User
{
/// <summary>
/// 用户接口
/// </summary>
public interface IUserService
{
/// <summary>
///
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<ResultOutput<AuthLoginOutput>> GetLoginUserAsync(long? id);
/// <summary>
///
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<IResultOutput> GetAsync(long id);
/// <summary>
///
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<IResultOutput> GetuserroleAsync(long id);
/// <summary>
///
/// </summary>
/// <returns></returns>
Task<IResultOutput> GetSelectAsync();
/// <summary>
/// 根据用户Id获取用户列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<List<AuthLoginOutput>> GetAllByConditionAsync(BatchIdsInput input);
/// <summary>
///
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<IResultOutput> GetcurrentAsync();
/// <summary>
/// 通过条件查询用户
/// </summary>
/// <returns></returns>
Task<List<AuthLoginOutput>> GetAllByConditionAsync(CmShopTListSearchDto<SearchUserEnum, string> input);
/// <summary>
///
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<IResultOutput> GetPageAsync(UserGetPageDto input);
/// <summary>
///
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[UnitOfWork]
Task<IResultOutput> AddAsync(UserAddInput input);
/// <summary>
///
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<IResultOutput> AdduserroleAsync(List<UserRoleAddInput> inputlist);
/// <summary>
///
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[UnitOfWork]
Task<IResultOutput> UpdateAsync(UserUpdateInput input);
/// <summary>
///
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<IResultOutput> DeleteAsync(long id);
/// <summary>
///
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[UnitOfWork]
Task<IResultOutput> SoftDeleteAsync(long id);
/// <summary>
///
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
[UnitOfWork]
Task<IResultOutput> BatchSoftDeleteAsync(long[] ids);
/// <summary>
///
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<IResultOutput> ChangePasswordAsync(UserChangePasswordInput input);
/// <summary>
/// 批量重置密码
/// </summary>
/// <returns></returns>
Task<IResultOutput> BatchResetPassword(BatchResetPasswordInput input);
/// <summary>
///
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<IResultOutput> UpdateBasicAsync(UserUpdateBasicInput input);
/// <summary>
///
/// </summary>
/// <returns></returns>
Task<IResultOutput> GetBasicAsync();
/// <summary>
///
/// </summary>
/// <returns></returns>
Task<IList<UserPermissionsOutput>> GetPermissionsAsync();
/// <summary>
/// 上传头像
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
Task<IResultOutput> AvatarUpload([FromForm] IFormFile file);
/// <summary>
/// 批量修改状态
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<IResultOutput> BatchChangeStatus(BatchChangeStatusInput input);
/// <summary>
/// 判断当前登录用户是否是管理员
/// </summary>
/// <param name="userId">刚开始登录的时候,user对象是null</param>
/// <returns></returns>
Task<IsAdminDto> IsAdmin(long? userId);
/// <summary>
/// 通过关键字(用户名、身份证号、手机号)查询用户信息
/// </summary>
/// <param name="keyword"></param>
/// <returns></returns>
Task<IResultOutput> GetUserInfoByKeyword(string keyword);
/// <summary>
/// 批量添加用户
/// </summary>
/// <param name="userAddInputs"></param>
/// <returns></returns>
Task<List<GetUserInfoByKeywordDto>> BatchAddAsync(List<SupervisedPersonAddInput> userAddInputs);
/// <summary>
///
/// </summary>
/// <param name="userUpdateInputs"></param>
/// <returns></returns>
Task<int> BatchUpdateAsync(List<SupervisedPersonUpdateInput> userUpdateInputs);
/// <summary>
/// 校验当前用户是否被禁用
/// </summary>
/// <returns></returns>
Task<bool> CheckUserStatus();
/// <summary>
/// 根据用户Id查询用户头像
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<List<UserAvatarListOutput>> UserAvatarList(BatchIdsInput input);
/// <summary>
/// 判断用户是否存在
/// </summary>
/// <param name="keyWord">身份证、手机号</param>
/// <returns></returns>
Task<bool> UserIsExist(string keyWord);
/// <summary>
/// 根据当前登录用户查询下拉列表
/// </summary>
/// <returns></returns>
Task<ResultOutput<List<KeyValueDto>>> GetUserSelectList(int isCourt = 0);
Task<ResultOutput<List<KeyValueDto>>> GetNewUserSelectList();
/// <summary>
/// 获取所有的管理员
/// </summary>
/// <returns></returns>
Task<List<AuthLoginOutput>> GetAllAdminUserIds();
}
}