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