first commit
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
using JSMachine.WMS.App.Dto;
|
||||
using JSMachine.WMS.Application.Dto;
|
||||
using JSMachine.WMS.Domain.Entity;
|
||||
using JSMachine.WMS.Domain.Entity.Enums;
|
||||
using SqlSugar;
|
||||
using System.Linq.Expressions;
|
||||
|
||||
namespace JSMachine.WMS.WebHost.Models
|
||||
{
|
||||
public class OperationLogQueryParam
|
||||
{
|
||||
public DateTime? StartTime { get; set; }
|
||||
public DateTime? EndTime { get; set; }
|
||||
public string UserId { get; set; }
|
||||
public OperationType OperationType { get; set; }
|
||||
public OperationSource OperationSource { get; set; }
|
||||
public int PageIndex { get; set; }
|
||||
public int PageSize { get; set; }
|
||||
|
||||
|
||||
public PageQueryCondition BuildConditional()
|
||||
{
|
||||
|
||||
List<IConditionalModel> conditionalModels = new();
|
||||
|
||||
if (StartTime != null)
|
||||
{
|
||||
conditionalModels.Add(new ConditionalModel()
|
||||
{
|
||||
FieldName = nameof(OperationLogDto.CreationTime),
|
||||
ConditionalType = ConditionalType.GreaterThanOrEqual,
|
||||
FieldValue = StartTime.Value.ToString()
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
if (EndTime != null)
|
||||
{
|
||||
conditionalModels.Add(new ConditionalModel()
|
||||
{
|
||||
FieldName = nameof(OperationLogDto.CreationTime),
|
||||
ConditionalType = ConditionalType.LessThanOrEqual,
|
||||
FieldValue = EndTime.Value.ToString()
|
||||
});
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(UserId))
|
||||
{
|
||||
conditionalModels.Add(new ConditionalModel()
|
||||
{
|
||||
FieldName = nameof(OperationLogDto.UserId),
|
||||
ConditionalType = ConditionalType.Equal,
|
||||
FieldValue = UserId
|
||||
});
|
||||
}
|
||||
|
||||
if (OperationType != OperationType.None)
|
||||
|
||||
{
|
||||
conditionalModels.Add(new ConditionalModel()
|
||||
{
|
||||
FieldName = nameof(OperationLogDto.OperationType),
|
||||
ConditionalType = ConditionalType.Equal,
|
||||
FieldValue = ((int)OperationType).ToString()
|
||||
});
|
||||
}
|
||||
|
||||
if (OperationSource != OperationSource.None)
|
||||
{
|
||||
conditionalModels.Add(new ConditionalModel()
|
||||
{
|
||||
FieldName = nameof(OperationLogDto.OperationSource),
|
||||
ConditionalType = ConditionalType.Equal,
|
||||
FieldValue = ((int)OperationSource).ToString()
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
return new PageQueryCondition
|
||||
{
|
||||
CurrentPage = PageIndex,
|
||||
PageSize = PageSize,
|
||||
OrderByFiled = nameof(OperationLogDto.CreationTime),
|
||||
OrderByType = OrderByType.Desc,
|
||||
Filters = conditionalModels
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user