Files
shgx_tz_mes_backend_sync/ZR.Repository/System/SysLogininfoRepository.cs

90 lines
3.0 KiB
C#
Raw Normal View History

2021-08-23 16:57:25 +08:00
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using System.Collections.Generic;
using ZR.Model;
2021-09-16 19:07:49 +08:00
using ZR.Model.System.Dto;
2021-08-23 16:57:25 +08:00
using ZR.Model.System;
2021-12-18 10:56:02 +08:00
using SqlSugar;
2021-08-23 16:57:25 +08:00
namespace ZR.Repository.System
{
[AppService(ServiceLifetime = LifeTime.Transient)]
2021-09-27 08:06:09 +08:00
public class SysLogininfoRepository : BaseRepository<SysLogininfor>
2021-08-23 16:57:25 +08:00
{
/// <summary>
/// 查询登录日志
/// </summary>
/// <param name="logininfoDto"></param>
/// <param name="pager"></param>
/// <returns></returns>
2021-12-18 10:56:02 +08:00
public PagedInfo<SysLogininfor> GetLoginLog(SysLogininfor logininfoDto, PagerInfo pager)
2021-08-23 16:57:25 +08:00
{
2021-12-18 10:56:02 +08:00
var exp = Expressionable.Create<SysLogininfor>();
2022-09-01 21:54:53 +08:00
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);
2021-12-18 10:56:02 +08:00
var query = Context.Queryable<SysLogininfor>()
.Where(exp.ToExpression())
2022-09-01 21:54:53 +08:00
.OrderBy(it => it.InfoId, OrderByType.Desc);
2021-12-18 10:56:02 +08:00
return query.ToPage(pager);
2021-08-23 16:57:25 +08:00
}
/// <summary>
/// 登录日志记录
/// </summary>
/// <param name="sysLogininfor"></param>
/// <returns></returns>
public void AddLoginInfo(SysLogininfor sysLogininfor)
{
2021-09-27 08:06:09 +08:00
int result = Context.Insertable(sysLogininfor)
2021-08-23 16:57:25 +08:00
.ExecuteReturnIdentity();
}
/// <summary>
/// 清空登录日志
/// </summary>
public void TruncateLogininfo()
{
string sql = "truncate table sys_logininfor";
2021-09-27 08:06:09 +08:00
Context.Ado.ExecuteCommand(sql);
2021-08-23 16:57:25 +08:00
}
/// <summary>
/// 删除登录日志
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public int DeleteLogininforByIds(long[] ids)
{
2021-09-27 08:06:09 +08:00
return Context.Deleteable<SysLogininfor>().In(ids).ExecuteCommand();
2021-08-23 16:57:25 +08:00
}
/// <summary>
/// 登录
/// </summary>
/// <param name="user">登录实体</param>
/// <returns></returns>
public SysUser Login(LoginBodyDto user)
{
2021-09-27 08:06:09 +08:00
return Context.Queryable<SysUser>().First(it => it.UserName == user.Username && it.Password == user.Password);
2021-08-23 16:57:25 +08:00
}
/// <summary>
/// 修改登录信息
/// </summary>
/// <param name="user"></param>
/// <param name="userId"></param>
/// <returns></returns>
public void UpdateLoginInfo(LoginBodyDto user, long userId)
{
2021-09-27 08:06:09 +08:00
var db = Context;
db.Updateable(new SysUser() { LoginIP = user.LoginIP, LoginDate = db.GetDate(), UserId = userId })
2021-08-23 16:57:25 +08:00
.UpdateColumns(it => new { it.LoginIP, it.LoginDate })
.ExecuteCommand();
}
}
}