91 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			91 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								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<UserEntity>
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        public UserService(IConfiguration config) : base(config, nameof(UserEntity).Replace("Entity", ""))
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 登录
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="username"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="password"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public async Task<UserEntity> login(string username, string password)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Expression<Func<UserEntity, bool>> exp = filter =>
							 | 
						|||
| 
								 | 
							
								            filter.Username == username && filter.Password == StringHelper.MD5Encrypt32(password);
							 | 
						|||
| 
								 | 
							
								            var list = await base.GetListWithExp(exp);
							 | 
						|||
| 
								 | 
							
								            return list.FirstOrDefault();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 根据用户名获取用户信息
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="username"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public async Task<UserEntity> GetByUsername(string username)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Expression<Func<UserEntity, bool>> exp = filter =>
							 | 
						|||
| 
								 | 
							
								            filter.Username == username;
							 | 
						|||
| 
								 | 
							
								            var list = await base.GetListWithExp(exp);
							 | 
						|||
| 
								 | 
							
								            return list.FirstOrDefault();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 根据用户ID获取用户信息
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="id"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public async Task<UserEntity> GetById(string id)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return await base.GetAsync(id);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        ///新加用户
							 | 
						|||
| 
								 | 
							
								        public async Task<ApiResult> AddUser(UserAdd user)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var entity = user.Adapt<UserEntity>();
							 | 
						|||
| 
								 | 
							
								            entity.Password = StringHelper.MD5Encrypt32(user.Password);
							 | 
						|||
| 
								 | 
							
								            var result = await base.CreateAsync(entity);
							 | 
						|||
| 
								 | 
							
								            return new ApiResult()
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                code = 0,
							 | 
						|||
| 
								 | 
							
								                data = result
							 | 
						|||
| 
								 | 
							
								            };
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 分页取数据
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="input"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public async Task<ApiResult> GetPage(reqpage input)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Expression<Func<UserEntity, bool>> exp = filter => filter.Username.Contains(input.key) && filter.IsDelete == false;
							 | 
						|||
| 
								 | 
							
								            return await base.GetPager(new ReqPaing()
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                pageSize = input.pageSize,
							 | 
						|||
| 
								 | 
							
								                current = input.current
							 | 
						|||
| 
								 | 
							
								            }, exp);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        ///更新用户信息
							 | 
						|||
| 
								 | 
							
								        public async Task UpdateUser(UserUpdate user)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var entity = user.Adapt<UserEntity>();
							 | 
						|||
| 
								 | 
							
								            entity.Password = StringHelper.MD5Encrypt32(user.Password);
							 | 
						|||
| 
								 | 
							
								            await base.UpdateAsync(user.Id, entity);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        ///删除用户
							 | 
						|||
| 
								 | 
							
								        public async Task DeleteUser(string id)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            await base.RemoveAsync(id);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |