fix(lastleg): return empty container customer options
This commit is contained in:
-1
@@ -29,7 +29,6 @@ public class OverseasFeeBusinessGuard {
|
||||
(result, rowNum) -> new ContainerCustomerOption(
|
||||
result.getString("customer_id"), result.getString("customer_name")),
|
||||
String.valueOf(containerBookingId));
|
||||
if (customers.isEmpty()) throw bad("真实货柜不存在或尚无尾程订单");
|
||||
return customers;
|
||||
}
|
||||
|
||||
|
||||
@@ -21,13 +21,13 @@ paths:
|
||||
/api/platform/v1/last-leg/finance-fee-sources/container-customers:
|
||||
get:
|
||||
summary: 查询真实来源柜内客户选项
|
||||
description: 单次按真实来源柜聚合全部客户,供柜详情维护费用时选择,不逐票查询。
|
||||
description: 单次按真实来源柜聚合全部客户,供柜详情维护费用时选择,不逐票查询;货柜不存在或尚无尾程订单时返回空列表。
|
||||
security: [{ bearerAuth: [] }]
|
||||
parameters:
|
||||
- { in: query, name: containerBookingId, required: true, schema: { type: string, pattern: '^[1-9][0-9]*$' } }
|
||||
responses:
|
||||
'200':
|
||||
description: 柜内客户选项
|
||||
description: 柜内客户选项;无数据时data为空数组
|
||||
content:
|
||||
application/json:
|
||||
schema: { $ref: '#/components/schemas/ContainerCustomerListResponse' }
|
||||
|
||||
+10
@@ -80,6 +80,16 @@ class OverseasFeeBusinessGuardTest {
|
||||
assertThat(jdbc.sql()).singleElement().asString().contains("GROUP BY customer_id");
|
||||
}
|
||||
|
||||
@Test
|
||||
void returnsEmptyWhenContainerHasNoLastlegOrders() {
|
||||
StubJdbc jdbc = new StubJdbc();
|
||||
|
||||
var result = new OverseasFeeBusinessGuard(jdbc).listContainerCustomers(701L);
|
||||
|
||||
assertThat(result).isEmpty();
|
||||
assertThat(jdbc.sql()).singleElement().asString().contains("source_container_booking_id");
|
||||
}
|
||||
|
||||
static SaveRequest containerFee(String customerId, Long bookingId, String containerNo) {
|
||||
return new SaveRequest(customerId, "客户A", "OVERSEAS_CONTAINER_FEE", "OVERSEAS_CONTAINER",
|
||||
bookingId, containerNo, null, null, null, null, bookingId, containerNo, 91L,
|
||||
|
||||
Reference in New Issue
Block a user