using MiaoYu.Repository.ChatAI.Admin.Entities.Apps; namespace MiaoYu.Api.Admin.ApplicationServices.Apps; /// /// 用户表 服务 T_UserService /// public class T_UserService : ApplicationService> { public T_UserService(IRepository defaultRepository) : base(defaultRepository) { } /// /// 获取列表数据 /// /// /// public async Task FindListAsync(PagingSearchInput pagingSearchInput) { var query = this._defaultRepository.Select //项目 .WhereIf(pagingSearchInput.Search?.TenantId != null, w => w.TenantId == pagingSearchInput.Search.TenantId) //邮箱 .WhereIf(!string.IsNullOrWhiteSpace(pagingSearchInput.Search?.Email), w => w.Email.Contains(pagingSearchInput.Search.Email ?? "")) //用户昵称 .WhereIf(!string.IsNullOrWhiteSpace(pagingSearchInput.Search?.NickName), w => w.NickName.Contains(pagingSearchInput.Search.NickName ?? "")) //手机号 .WhereIf(!string.IsNullOrWhiteSpace(pagingSearchInput.Search?.PhoneNum), w => w.PhoneNum.Contains(pagingSearchInput.Search.PhoneNum ?? "")) .OrderByDescending(w => w.LastLoginAt) .Select(w => new { w.Id, w.TenantId, w.NickName, w.UserName, w.PhoneNum, w.Email, w.IsActive, w.CreatedAt, w.LastLoginTypeAt, w.LastLoginAt, w.UpdatedAt, w.RegisterType, w.Ip, w.State, w.IsTest // w.LastModificationTime, // w.CreationTime }) ; var result = await _defaultRepository.AsPagingViewAsync(query, pagingSearchInput); // result // .FormatValue(query, w => w.CreationTime, (oldValue) => oldValue.ToString("yyyy-MM-dd")) // .FormatValue(query, w => w.LastModificationTime, (oldValue) => oldValue?.ToString("yyyy-MM-dd")) // ; // 设置列 //result.GetColumn(query, w => w.OperatorName).SetColumn("操作人"); //result.GetColumn(query, w => w.OperatorName!).SetColumn(w => w.Name!); return result; } /// /// 根据id数组删除 /// /// ids /// public async Task DeleteListAsync(List ids) { await this._defaultRepository.DeleteByIdsAsync(ids); } /// /// 查询表单数据 /// /// id /// public async Task> FindFormAsync(int id) { var res = new Dictionary(); var form = await this._defaultRepository.FindByIdAsync(id); form = form.NullSafe(); if (form.CreatedAt == null || form.CreatedAt == DateTime.MinValue) { form.CreatedAt = DateTime.Now; } if (form.UpdatedAt == null || form.UpdatedAt == DateTime.MinValue) { form.UpdatedAt = DateTime.Now; } res[nameof(id)] = id; res[nameof(form)] = form; return res; } /// /// 保存数据 /// /// form /// public Task SaveFormAsync(T_User form) { return this._defaultRepository.InsertOrUpdateAsync(form); } /// /// 导出Excel /// /// /// public async Task ExportExcelAsync(PagingSearchInput pagingSearchInput) { pagingSearchInput.Page = -1; var tableViewModel = await this.FindListAsync(pagingSearchInput); return ExcelUtil.ExportExcelByPagingView(tableViewModel, null, "Id"); } /// /// 修改是否是测试账号 /// /// /// /// public async Task UpdateIsTest(bool isTest, int id) { var form = await this._defaultRepository.FindByIdAsync(id); if (form == null) { return false; } form.IsTest = isTest; await SaveFormAsync(form); return true; } }