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);