using langguanApi.Common; using langguanApi.Extensions.AutoDI; using langguanApi.Model; using langguanApi.Model.Dto; using langguanApi.Model.Entity; using Mapster; using System.Linq.Expressions; namespace langguanApi.Service { [ServiceInjection(InjectionType.Transient)] public class UserService : BaseService { public UserService(IConfiguration config) : base(config, nameof(UserEntity).Replace("Entity", "")) { } /// /// 登录 /// /// /// /// public async Task login(string username, string password) { Expression> exp = filter => filter.Username == username && filter.Password == StringHelper.MD5Encrypt32(password); var list = await base.GetListWithExp(exp); return list.FirstOrDefault(); } /// /// 根据用户名获取用户信息 /// /// /// public async Task GetByUsername(string username) { Expression> exp = filter => filter.Username == username; var list = await base.GetListWithExp(exp); return list.FirstOrDefault(); } /// /// 根据用户ID获取用户信息 /// /// /// public async Task GetById(string id) { return await base.GetAsync(id); } ///新加用户 public async Task AddUser(UserAdd user) { var entity = user.Adapt(); entity.Password = StringHelper.MD5Encrypt32(user.Password); var result = await base.CreateAsync(entity); return new ApiResult() { code = 0, data = result }; } /// /// 分页取数据 /// /// /// public async Task GetPage(reqpage input) { Expression> exp = filter => true; if (!string.IsNullOrEmpty(input.key)) { exp = filter => filter.Username.Contains(input.key) || filter.Phone.Contains(input.key) || filter.Email.Contains(input.key); } return await base.GetPager(new ReqPaing() { pageSize = input.pageSize, current = input.current }, exp); } ///更新用户信息 public async Task UpdateUser(UserUpdate user) { var entity = user.Adapt(); entity.Password = StringHelper.MD5Encrypt32(user.Password); await base.UpdateAsync(user.Id, entity); } ///删除用户 public async Task DeleteUser(string id) { await base.RemoveAsync(id); } } }