xigau
This commit is contained in:
104
OrpaonVision.Core/Production/IRunStateTransitionLogRepository.cs
Normal file
104
OrpaonVision.Core/Production/IRunStateTransitionLogRepository.cs
Normal file
@@ -0,0 +1,104 @@
|
||||
using OrpaonVision.Core.Results;
|
||||
using OrpaonVision.Model.Production;
|
||||
|
||||
namespace OrpaonVision.Core.Production;
|
||||
|
||||
/// <summary>
|
||||
/// 运行状态转换日志仓储接口。
|
||||
/// </summary>
|
||||
public interface IRunStateTransitionLogRepository
|
||||
{
|
||||
/// <summary>
|
||||
/// 创建状态转换日志。
|
||||
/// </summary>
|
||||
/// <param name="log">状态转换日志模型。</param>
|
||||
/// <param name="cancellationToken">取消令牌。</param>
|
||||
/// <returns>创建结果。</returns>
|
||||
Task<Result<RunStateTransitionLogModel>> CreateAsync(RunStateTransitionLogModel log, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 根据ID获取状态转换日志。
|
||||
/// </summary>
|
||||
/// <param name="logId">日志ID。</param>
|
||||
/// <param name="cancellationToken">取消令牌。</param>
|
||||
/// <returns>状态转换日志模型。</returns>
|
||||
Task<Result<RunStateTransitionLogModel?>> GetByIdAsync(Guid logId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 根据产品会话ID获取状态转换日志列表。
|
||||
/// </summary>
|
||||
/// <param name="sessionId">产品会话ID。</param>
|
||||
/// <param name="cancellationToken">取消令牌。</param>
|
||||
/// <returns>状态转换日志列表。</returns>
|
||||
Task<Result<List<RunStateTransitionLogModel>>> GetBySessionIdAsync(Guid sessionId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 根据层级会话ID获取状态转换日志列表。
|
||||
/// </summary>
|
||||
/// <param name="layerSessionId">层级会话ID。</param>
|
||||
/// <param name="cancellationToken">取消令牌。</param>
|
||||
/// <returns>状态转换日志列表。</returns>
|
||||
Task<Result<List<RunStateTransitionLogModel>>> GetByLayerSessionIdAsync(Guid layerSessionId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 根据转换类型获取状态转换日志列表。
|
||||
/// </summary>
|
||||
/// <param name="transitionType">转换类型。</param>
|
||||
/// <param name="cancellationToken">取消令牌。</param>
|
||||
/// <returns>状态转换日志列表。</returns>
|
||||
Task<Result<List<RunStateTransitionLogModel>>> GetByTransitionTypeAsync(RunStateTransitionType transitionType, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 根据人工干预标志获取状态转换日志列表。
|
||||
/// </summary>
|
||||
/// <param name="isManualIntervention">是否人工干预。</param>
|
||||
/// <param name="cancellationToken">取消令牌。</param>
|
||||
/// <returns>状态转换日志列表。</returns>
|
||||
Task<Result<List<RunStateTransitionLogModel>>> GetByManualInterventionAsync(bool isManualIntervention, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 分页查询状态转换日志。
|
||||
/// </summary>
|
||||
/// <param name="pageIndex">页索引。</param>
|
||||
/// <param name="pageSize">页大小。</param>
|
||||
/// <param name="productTypeCode">产品类型编码(可选)。</param>
|
||||
/// <param name="transitionType">转换类型(可选)。</param>
|
||||
/// <param name="isManualIntervention">是否人工干预(可选)。</param>
|
||||
/// <param name="startTime">开始时间(可选)。</param>
|
||||
/// <param name="endTime">结束时间(可选)。</param>
|
||||
/// <param name="cancellationToken">取消令牌。</param>
|
||||
/// <returns>分页结果。</returns>
|
||||
Task<Result<PagedResult<RunStateTransitionLogModel>>> GetPagedAsync(
|
||||
int pageIndex,
|
||||
int pageSize,
|
||||
string? productTypeCode = null,
|
||||
RunStateTransitionType? transitionType = null,
|
||||
bool? isManualIntervention = null,
|
||||
DateTime? startTime = null,
|
||||
DateTime? endTime = null,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 删除状态转换日志。
|
||||
/// </summary>
|
||||
/// <param name="logId">日志ID。</param>
|
||||
/// <param name="cancellationToken">取消令牌。</param>
|
||||
/// <returns>删除结果。</returns>
|
||||
Task<Result<bool>> DeleteAsync(Guid logId, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 批量删除状态转换日志。
|
||||
/// </summary>
|
||||
/// <param name="sessionIds">产品会话ID列表。</param>
|
||||
/// <param name="cancellationToken">取消令牌。</param>
|
||||
/// <returns>删除结果。</returns>
|
||||
Task<Result<bool>> DeleteBySessionIdsAsync(List<Guid> sessionIds, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// 清理指定日期之前的日志。
|
||||
/// </summary>
|
||||
/// <param name="beforeDate">指定日期。</param>
|
||||
/// <param name="cancellationToken">取消令牌。</param>
|
||||
/// <returns>删除的记录数。</returns>
|
||||
Task<Result<int>> CleanupLogsBeforeAsync(DateTime beforeDate, CancellationToken cancellationToken = default);
|
||||
}
|
||||
Reference in New Issue
Block a user