OL.FrameCore.Application/SysLog/SysLogService.cs
(开头部分) 6KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Microsoft.EntityFrameworkCore;
using OL.FrameCore.Application.SysLog.Dto;
using OL.FrameCore.Domain.Entity;
using OL.FrameCore.Infrastructure.UnitOfWork;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
namespace OL.FrameCore.Application.SysLog
{
public class SysLogService: ISysLogService
{
IUnitOfWork _unitOfwork;
public SysLogService(IUnitOfWork unitOfwork)
{
_unitOfwork = unitOfwork;
}
/// <summary>
/// 获取用户操作日志列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public PageData<GetUserOperateLogListResponse> GetUserOperateLogList(GetUserOperateLogListRequest request)
{
var repositoryUserOperateLog = _unitOfwork.GetRepository<SysUserOperateLog>();
var repositoryUser = _unitOfwork.GetRepository<SysUser>();
//Expression<Func<SysUserOperateLog, bool>> predicate = p =>
//(request.OperateId.HasValue == false ? true : p.OperateId == request.OperateId)
//&& (request.OperateType.HasValue == false ? true : p.OperateType == request.OperateType)
//&& (request.UserId.HasValue == false ? true : p.UserId == request.UserId);
//var query = repositoryUserOperateLog.TableNoTracking.Where(predicate).Select(p => new GetUserOperateLogListResponse
//{
// Id = p.Id,
// UserId = p.UserId,
// OperateType = p.OperateType,
// Remark = p.Remark,
// IP = p.IP,
// OperateId = p.OperateId,
// CreateTime = p.CreateTime
//});
var query = from a in repositoryUserOperateLog.TableNoTracking
join b in repositoryUser.TableNoTracking on a.UserId equals b.Id
join c in repositoryUser.TableNoTracking on a.OperateId equals c.Id
where (request.OperateId.HasValue == false ? true : a.OperateId == request.OperateId)
&& (request.OperateType.HasValue == false ? true : a.OperateType == request.OperateType)
&& (request.UserId.HasValue == false ? true : a.UserId == request.UserId)
&& a.CreateTime >= request.BeginTime
&& a.CreateTime < request.EndTime.AddDays(1)
orderby a.CreateTime descending
select new GetUserOperateLogListResponse
{
Id = a.Id,
UserId = a.UserId,
UserName = b.TrueName,
OperateType = a.OperateType,
后面还有 89 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
