using Infrastructure.Attribute; using Infrastructure.Extensions; using System.Collections.Generic; using ZR.Model; using ZR.Model.System.Dto; using ZR.Model.System; namespace ZR.Repository.System { [AppService(ServiceLifetime = LifeTime.Transient)] public class SysLogininfoRepository : BaseRepository { /// /// 查询登录日志 /// /// /// /// public List GetLoginLog(SysLogininfor logininfoDto, PagerInfo pager) { int totalCount = 0; var list = Db.Queryable() .Where(it => it.loginTime >= logininfoDto.BeginTime && it.loginTime <= logininfoDto.EndTime) .WhereIF(logininfoDto.ipaddr.IfNotEmpty(), f => f.ipaddr == logininfoDto.ipaddr) .WhereIF(logininfoDto.userName.IfNotEmpty(), f => f.userName.Contains(logininfoDto.userName)) .WhereIF(logininfoDto.status.IfNotEmpty(), f => f.status == logininfoDto.status) .OrderBy(it => it.infoId, SqlSugar.OrderByType.Desc) .IgnoreColumns(it => new { it.Create_by, it.Create_time, it.Update_by, it.Update_time, it.Remark }) .ToPageList(pager.PageNum, pager.PageSize, ref totalCount); pager.TotalNum = totalCount; return list; } /// /// 登录日志记录 /// /// /// public void AddLoginInfo(SysLogininfor sysLogininfor) { int result = Db.Insertable(sysLogininfor) .IgnoreColumns(it => new { it.Create_by, it.Create_time, it.Remark }) .ExecuteReturnIdentity(); } /// /// 清空登录日志 /// public void TruncateLogininfo() { string sql = "truncate table sys_logininfor"; Db.Ado.ExecuteCommand(sql); } /// /// 删除登录日志 /// /// /// public int DeleteLogininforByIds(long[] ids) { return Db.Deleteable().In(ids).ExecuteCommand(); } /// /// 登录 /// /// 登录实体 /// public SysUser Login(LoginBodyDto user) { return Db.Queryable().First(it => it.UserName == user.Username && it.Password == user.Password); } /// /// 修改登录信息 /// /// /// /// public void UpdateLoginInfo(LoginBodyDto user, long userId) { Db.Updateable(new SysUser() { LoginIP = user.LoginIP, LoginDate = Db.GetDate(), UserId = userId }) .UpdateColumns(it => new { it.LoginIP, it.LoginDate }) .ExecuteCommand(); } } }