using Infrastructure.Attribute; using Infrastructure.Extensions; using System.Collections.Generic; using ZR.Model; using ZR.Model.System.Dto; using ZR.Model.System; using SqlSugar; namespace ZR.Repository.System { [AppService(ServiceLifetime = LifeTime.Transient)] public class SysLogininfoRepository : BaseRepository { /// /// 查询登录日志 /// /// /// /// public PagedInfo GetLoginLog(SysLogininfor logininfoDto, PagerInfo pager) { var exp = Expressionable.Create(); exp.And(it => it.LoginTime >= logininfoDto.BeginTime && it.LoginTime <= logininfoDto.EndTime); exp.AndIF(logininfoDto.Ipaddr.IfNotEmpty(), f => f.Ipaddr == logininfoDto.Ipaddr); exp.AndIF(logininfoDto.UserName.IfNotEmpty(), f => f.UserName.Contains(logininfoDto.UserName)); exp.AndIF(logininfoDto.Status.IfNotEmpty(), f => f.Status == logininfoDto.Status); var query = Context.Queryable() .Where(exp.ToExpression()) .OrderBy(it => it.InfoId, OrderByType.Desc); return query.ToPage(pager); } /// /// 登录日志记录 /// /// /// public void AddLoginInfo(SysLogininfor sysLogininfor) { int result = Context.Insertable(sysLogininfor) .ExecuteReturnIdentity(); } /// /// 清空登录日志 /// public void TruncateLogininfo() { string sql = "truncate table sys_logininfor"; Context.Ado.ExecuteCommand(sql); } /// /// 删除登录日志 /// /// /// public int DeleteLogininforByIds(long[] ids) { return Context.Deleteable().In(ids).ExecuteCommand(); } /// /// 登录 /// /// 登录实体 /// public SysUser Login(LoginBodyDto user) { return Context.Queryable().First(it => it.UserName == user.Username && it.Password == user.Password); } /// /// 修改登录信息 /// /// /// /// public void UpdateLoginInfo(LoginBodyDto user, long userId) { var db = Context; db.Updateable(new SysUser() { LoginIP = user.LoginIP, LoginDate = db.GetDate(), UserId = userId }) .UpdateColumns(it => new { it.LoginIP, it.LoginDate }) .ExecuteCommand(); } } }