diff --git a/src/Oms.Application/Dtos/Orders/PickupOrderDtos.cs b/src/Oms.Application/Dtos/Orders/PickupOrderDtos.cs
index b046a71..8828139 100644
--- a/src/Oms.Application/Dtos/Orders/PickupOrderDtos.cs
+++ b/src/Oms.Application/Dtos/Orders/PickupOrderDtos.cs
@@ -388,6 +388,9 @@ public class PickupOpenApiPushFeeResult
public class PickupOpenApiPushFeeInput
{
+ ///
+ /// 承运运单号,对应库字段 CarrierWaybillNo。
+ ///
public string? WaybillNumber { get; set; }
public decimal ActualWeight { get; set; }
diff --git a/src/Oms.Application/Services/Orders/PickupOrderFeePushService.cs b/src/Oms.Application/Services/Orders/PickupOrderFeePushService.cs
index 73dbafa..b1442c0 100644
--- a/src/Oms.Application/Services/Orders/PickupOrderFeePushService.cs
+++ b/src/Oms.Application/Services/Orders/PickupOrderFeePushService.cs
@@ -70,10 +70,10 @@ public class PickupOrderFeePushService : IScopedDependency
throw new BusinessException("请求体不能为空");
}
- var pickupNo = (input.WaybillNumber ?? string.Empty).Trim();
- if (string.IsNullOrWhiteSpace(pickupNo))
+ var carrierWaybillNo = (input.WaybillNumber ?? string.Empty).Trim();
+ if (string.IsNullOrWhiteSpace(carrierWaybillNo))
{
- throw new BusinessException("waybillNumber 不能为空");
+ throw new BusinessException("waybillNumber(承运运单号 CarrierWaybillNo)不能为空");
}
if (input.ActualWeight <= 0)
@@ -87,8 +87,8 @@ public class PickupOrderFeePushService : IScopedDependency
throw new BusinessException("goodsSizeList 不能为空");
}
- var pickup = await _pickupOrderRepository.GetByPickupNoAsync(pickupNo)
- ?? throw new BusinessException("揽收单不存在");
+ var pickup = await _pickupOrderRepository.GetByCarrierWaybillNoAsync(carrierWaybillNo)
+ ?? throw new BusinessException($"揽收单不存在:承运运单号 {carrierWaybillNo}");
await EnsureAppKeyAsync(key, pickup);
diff --git a/src/Oms.Domain/OrdersAggregate/Repositories/IPickupOrderRepository.cs b/src/Oms.Domain/OrdersAggregate/Repositories/IPickupOrderRepository.cs
index 55b9cc8..92ef693 100644
--- a/src/Oms.Domain/OrdersAggregate/Repositories/IPickupOrderRepository.cs
+++ b/src/Oms.Domain/OrdersAggregate/Repositories/IPickupOrderRepository.cs
@@ -7,6 +7,8 @@ public interface IPickupOrderRepository : IRepository
{
Task GetByPickupNoAsync(string pickupNo, CancellationToken cancellationToken = default);
+ Task GetByCarrierWaybillNoAsync(string carrierWaybillNo, CancellationToken cancellationToken = default);
+
Task GetOwnedAsync(int id, int customerId, CancellationToken cancellationToken = default);
Task GetWorkplaceCountsAsync(
diff --git a/src/Oms.SqlSugarCore/Orders/PickupOrderRepository.cs b/src/Oms.SqlSugarCore/Orders/PickupOrderRepository.cs
index a898e0b..c9a19ca 100644
--- a/src/Oms.SqlSugarCore/Orders/PickupOrderRepository.cs
+++ b/src/Oms.SqlSugarCore/Orders/PickupOrderRepository.cs
@@ -14,6 +14,12 @@ public class PickupOrderRepository : OmsSqlSugarRepository, IPickup
return FirstOrDefaultAsync(x => x.PickupNo == no, cancellationToken);
}
+ public Task GetByCarrierWaybillNoAsync(string carrierWaybillNo, CancellationToken cancellationToken = default)
+ {
+ var no = carrierWaybillNo.Trim();
+ return FirstOrDefaultAsync(x => x.CarrierWaybillNo == no, cancellationToken);
+ }
+
public Task GetOwnedAsync(int id, int customerId, CancellationToken cancellationToken = default)
{
return FirstOrDefaultAsync(x => x.Id == id && x.CustomerId == customerId, cancellationToken);