fix(lastleg): snapshot customer name for incoming cargo

This commit is contained in:
2026-10-10 08:05:23 +08:00
parent 373f1b2c18
commit 2c970f252d
2 changed files with 35 additions and 2 deletions
@@ -88,6 +88,7 @@ import java.util.stream.Collectors;
@Service
public class WarehouseTransferService {
@Resource private com.baiyue.lastleg.fleet.customer.FleetCustomerDirectory customerDirectory;
@Resource private com.baiyue.lastleg.fleet.business.FleetPoolOrderBridge fleetPool;
@Resource private com.baiyue.lastleg.fleet.business.FleetPoolOrderQueries fleetPoolQueries;
public static final String ORDER_TYPE = "WAREHOUSE_TRANSFER";
@@ -166,6 +167,10 @@ public class WarehouseTransferService {
return detail(customerId, replay.getTransferNo());
}
var customer = customerDirectory.find(customerId);
if (customer == null || !customerId.equals(customer.id()) || !StringUtils.hasText(customer.name())) {
throw new ResponseStatusException(HttpStatus.SERVICE_UNAVAILABLE, "客户名称暂不可用,请稍后重试");
}
LocalDateTime now = LocalDateTime.now();
long transferId = IdWorker.getId();
String transferNo = orderNoGenerator.next("TRANSFER", request.operatingWarehouseId(), transferId);
@@ -201,7 +206,7 @@ public class WarehouseTransferService {
inboundOrderId = createInboundSnapshot(customerId, transferId, transferNo, request, requestHash, now);
selectedOrders = List.of();
}
LastlegOrder order = createTailOrder(customerId, inboundOrderId, inboundCode, transferNo,
LastlegOrder order = createTailOrder(customerId, customer.name().trim(), inboundOrderId, inboundCode, transferNo,
request, requestHash, now);
WarehouseTransferOrder transfer = new WarehouseTransferOrder();
@@ -1852,10 +1857,11 @@ public class WarehouseTransferService {
return inbound.getId();
}
private LastlegOrder createTailOrder(String customerId, Long inboundOrderId, String inboundCode, String transferNo,
private LastlegOrder createTailOrder(String customerId, String customerName, Long inboundOrderId, String inboundCode, String transferNo,
WarehouseTransferRequests.Create request, String requestHash, LocalDateTime now) {
LastlegOrder order = new LastlegOrder();
order.setId(IdWorker.getId()); order.setOrderNo(orderNoGenerator.next("TRANSFER", request.operatingWarehouseId(), order.getId())); order.setCustomerId(customerId);
order.setCustomerName(customerName);
order.setOrderType(ORDER_TYPE);
order.setInboundCode(inboundCode); order.setSourceRegion("CUSTOMER");
order.setSourceInboundId("WAREHOUSE_TRANSFER:" + transferNo); order.setRootInboundId(String.valueOf(inboundOrderId));