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
{
///
/// 用户接口
///
public interface IUserService
{
///
///
///
///
///
Task> GetLoginUserAsync(long? id);
///
///
///
///
///
Task GetAsync(long id);
///
///
///
///
///
Task GetuserroleAsync(long id);
///
///
///
///
Task GetSelectAsync();
///
/// 根据用户Id获取用户列表
///
///
///
Task> GetAllByConditionAsync(BatchIdsInput input);
///
///
///
///
///
Task GetcurrentAsync();
///
/// 通过条件查询用户
///
///
Task> GetAllByConditionAsync(CmShopTListSearchDto input);
///
///
///
///
///
Task GetPageAsync(UserGetPageDto input);
///
///
///
///
///
[UnitOfWork]
Task AddAsync(UserAddInput input);
///
///
///
///
///
Task AdduserroleAsync(List inputlist);
///
///
///
///
///
[UnitOfWork]
Task UpdateAsync(UserUpdateInput input);
///
///
///
///
///
Task DeleteAsync(long id);
///
///
///
///
///
[UnitOfWork]
Task SoftDeleteAsync(long id);
///
///
///
///
///
[UnitOfWork]
Task BatchSoftDeleteAsync(long[] ids);
///
///
///
///
///
Task ChangePasswordAsync(UserChangePasswordInput input);
///
/// 批量重置密码
///
///
Task BatchResetPassword(BatchResetPasswordInput input);
///
///
///
///
///
Task UpdateBasicAsync(UserUpdateBasicInput input);
///
///
///
///
Task GetBasicAsync();
///
///
///
///
Task> GetPermissionsAsync();
///
/// 上传头像
///
///
///
Task AvatarUpload([FromForm] IFormFile file);
///
/// 批量修改状态
///
///
///
Task BatchChangeStatus(BatchChangeStatusInput input);
///
/// 判断当前登录用户是否是管理员
///
/// 刚开始登录的时候,user对象是null
///
Task IsAdmin(long? userId);
///
/// 通过关键字(用户名、身份证号、手机号)查询用户信息
///
///
///
Task GetUserInfoByKeyword(string keyword);
///
/// 批量添加用户
///
///
///
Task> BatchAddAsync(List userAddInputs);
///
///
///
///
///
Task BatchUpdateAsync(List userUpdateInputs);
///
/// 校验当前用户是否被禁用
///
///
Task CheckUserStatus();
///
/// 根据用户Id查询用户头像
///
///
///
Task> UserAvatarList(BatchIdsInput input);
///
/// 判断用户是否存在
///
/// 身份证、手机号
///
Task UserIsExist(string keyWord);
///
/// 根据当前登录用户查询下拉列表
///
///
Task>> GetUserSelectList();
///
/// 获取所有的管理员
///
///
Task> GetAllAdminUserIds();
}
}