using Infrastructure; using Infrastructure.Attribute; using System; using System.Collections.Generic; using ZR.Common; using ZR.Model; using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Repository.System; using ZR.Service.IService; namespace ZR.Service.System { /// /// 登录 /// [AppService(ServiceType = typeof(ISysLoginService), ServiceLifetime = LifeTime.Transient)] public class SysLoginService: ISysLoginService { private SysLogininfoRepository SysLogininfoRepository; public SysLoginService(SysLogininfoRepository sysLogininfo) { SysLogininfoRepository = sysLogininfo; } /// /// 登录验证 /// /// /// public SysUser Login(LoginBodyDto loginBody, SysLogininfor logininfor) { //密码md5 loginBody.Password = NETCore.Encrypt.EncryptProvider.Md5(loginBody.Password); SysUser user = SysLogininfoRepository.Login(loginBody); logininfor.userName = loginBody.Username; logininfor.status = "1"; logininfor.loginTime = DateTime.Now; if (user == null || user.UserId <= 0) { logininfor.msg = "用户名或密码错误"; AddLoginInfo(logininfor); throw new CustomException(ResultCode.LOGIN_ERROR ,logininfor.msg); } if (user.Status == "1") { logininfor.msg = "该用户已禁用"; AddLoginInfo(logininfor); throw new CustomException(ResultCode.LOGIN_ERROR, logininfor.msg); } logininfor.status = "0"; logininfor.msg = "登录成功"; AddLoginInfo(logininfor); SysLogininfoRepository.UpdateLoginInfo(loginBody, user.UserId); return user; } /// /// 查询操作日志 /// /// /// 分页 /// public List GetLoginLog(SysLogininfor logininfoDto, PagerInfo pager) { logininfoDto.BeginTime = DateTimeHelper.GetBeginTime(logininfoDto.BeginTime, -1); logininfoDto.EndTime = DateTimeHelper.GetBeginTime(logininfoDto.EndTime, 1); var list = SysLogininfoRepository.GetLoginLog(logininfoDto, pager); return list; } /// /// 记录登录日志 /// /// /// public void AddLoginInfo(SysLogininfor sysLogininfor) { SysLogininfoRepository.AddLoginInfo(sysLogininfor); } /// /// 清空登录日志 /// public void TruncateLogininfo() { SysLogininfoRepository.TruncateLogininfo(); } /// /// 删除登录日志 /// /// /// public int DeleteLogininforByIds(long[] ids) { return SysLogininfoRepository.DeleteLogininforByIds(ids); } } }