using System.Collections.Generic;
using System.Threading.Tasks;
using MDL.Models;
namespace DAL.Interfaces
{
///
/// 货物数据仓库接口
///
public interface ICargoDataRepository
{
///
/// 批量插入货物数据
///
/// 货物数据列表
/// 插入成功的记录数
Task BatchInsertAsync(List cargoDataList);
///
/// 根据中性面单单号查询货物数据
///
/// 中性面单单号
/// 货物数据实体
Task GetByWaybillNumberAsync(string neutralWaybillNumber);
///
/// 查询货物数据
///
/// 搜索关键字(中性面单/提单号/大包号)
/// 客户ID(可选)
/// 页码(默认1)
/// 每页记录数(默认100)
/// 货物数据列表
Task> QueryAsync(string? searchKey = null, int? customerId = null, int pageIndex = 1, int pageSize = 100);
///
/// 按中性面单单号批量更新货物数据
///
/// 货物数据列表
/// 更新成功的记录数
Task BatchUpdateByWaybillNumberAsync(List cargoDataList);
///
/// 按中性面单单号批量删除货物数据
///
/// 中性面单单号列表
/// 删除成功的记录数
Task BatchDeleteByWaybillNumbersAsync(List neutralWaybillNumbers);
}
}