using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using AdminService.System.Response; using AdminService.User.Param; using AdminService.User.Response; using Common; using Common.Utils; using CommonDomain.BaseModel; using CommonInfrastructure.Response; using MongoRepository; using UserDomain.Entity; namespace AdminService.User { public interface IAdminUserService { Task<(bool isok, string msg)> CancelUser(LoginUser loginUser); Task<(bool isok, string msg)> BanUser(string userId, string reason, int days); Task<(bool isok, string msg)> DeleteUser(string id); Task<(bool isok, string msg)> UpdateUser(UserEntity user); Task<(bool isok, string msg)> UpdateUser(UpdateUserDataParam param); Task<(bool isok, string msg)> SendEmail(SendEmailParam param, LoginUser loginUser); Task GetUser(string id); Task<(List list, int count)> GetAdminUserList(AdminUserListParam param); Task<(bool isok, string msg)> UpdateUserAssets(UpdateUserAssetsParam param); Task GetUserStatistics(); Task GetEmailStatistics(); Task<(bool isok, string msg)> BatchBanUser(BatchBanUserParam param); Task<(bool isok, string msg)> UnbanUser(string userId); Task<(bool isok, string msg)> BatchSendEmail(BatchSendEmailParam param); Task<(bool isok, string msg)> SetUserType(string userId, int userType); Task<(bool isok, string msg)> BatchSetUserType(List userIds, int userType); Task<(bool isok, string msg)> SetBlackUser(string userId, bool isBlack); Task<(bool isok, string msg)> BatchSetBlackUser(List userIds, bool isBlack); Task<(bool isok, string msg)> BatchDeleteUser(List userIds); Task<(bool isok, string msg)> UpdateUserFactor(string userId, PlayerFactor factor); Task GetBlackFactorConfig(); Task<(bool isok, string msg)> ResetUserFactor(string userId); Task<(bool isok, string msg)> InitUserPassword(string userId); Task<(bool isok, string msg)> InitSafeBoxPassword(string userId); Task<(List list, int count)> GetUserFactorList(UserFactorListParam param); Task> GetUsersByRegisterIps(List registerIps); Task> GetUserProps(string userId); Task<(bool isok, string msg)> AddUserProp(string userId, string propNumber, int count); Task<(bool isok, string msg)> UpdateUserPropCount(string userId, string propNumber, int count); Task<(bool isok, string msg)> DeleteUserProp(string userId, string propNumber); Task<(int total, int updated, string msg)> SyncAllUserLevel(); Task<(List list, long count)> GetEmailList(Param.EmailListQueryParam param); Task> GetEmailUserNamesAsync(List userIds); Task<(bool ok, string message)> DeleteEmail(string id); Task<(int success, int fail)> BatchDeleteEmail(List ids); } }