using System.Collections.Generic; using System.Threading.Tasks; using MDL.Models; namespace DAL.Interfaces { /// /// 面单PDF缓存的数据访问接口 /// public interface ILabelPdfCacheRepository { /// /// 根据中性面单单号获取缓存记录 /// /// 中性面单单号 /// 缓存记录实体 Task GetByWaybillNumberAsync(string waybillNumber); /// /// 创建缓存记录 /// /// 缓存实体 /// 创建的记录ID Task CreateAsync(LabelPdfCache entity); /// /// 更新缓存记录 /// /// 缓存实体 /// 更新是否成功 Task UpdateAsync(LabelPdfCache entity); /// /// 标记缓存为失效状态 /// /// 中性面单单号 /// 操作是否成功 Task InvalidateCacheAsync(string waybillNumber); /// /// 获取待处理的缓存任务列表 /// /// 最大重试次数 /// 最大返回数量 /// 待处理的缓存任务列表 Task> GetPendingTasksAsync(int maxRetryCount, int limit); /// /// 获取订单表中新的有标签订单(缓存表中不存在的) /// /// 最大返回数量 /// 新订单的面单号列表 Task> GetNewOrdersWithLabelsAsync(int limit); /// /// 获取需要重新处理的失效缓存列表 /// /// 最大返回数量 /// 失效的缓存记录列表 Task> GetInvalidCachesAsync(int limit); /// /// 异步更新条码信息 /// /// 中性面单单号 /// 条码号 /// 条码类型 /// 识别置信度 /// 更新是否成功 Task UpdateBarcodeInfoAsync(string waybillNumber, string barcodeNumber, byte barcodeType, int confidence); } }