优化
This commit is contained in:
+8
@@ -4,6 +4,7 @@ import com.baiyue.common.core.api.ApiResponse;
|
||||
import com.baiyue.common.core.api.ResultCode;
|
||||
import com.baiyue.common.core.exception.BizException;
|
||||
import com.baiyue.warehouse.dto.WarehouseDetailResponse;
|
||||
import com.baiyue.warehouse.dto.DomesticWarehouseOptionResponse;
|
||||
import com.baiyue.warehouse.dto.OverseasPartnerWarehouseResponse;
|
||||
import com.baiyue.warehouse.dto.SharedOverseasWarehouseResponse;
|
||||
import com.baiyue.warehouse.service.WarehouseApplicationService;
|
||||
@@ -49,6 +50,13 @@ public class InternalWarehouseController {
|
||||
return ApiResponse.success(service.activeOverseasPartners());
|
||||
}
|
||||
|
||||
@GetMapping("/domestic")
|
||||
public ApiResponse<List<DomesticWarehouseOptionResponse>> domesticWarehouses(
|
||||
@RequestHeader(value="X-Internal-Service-Token", required=false) String token) {
|
||||
verifyToken(token);
|
||||
return ApiResponse.success(service.activeDomesticWarehouses());
|
||||
}
|
||||
|
||||
@GetMapping("/shared-overseas")
|
||||
public ApiResponse<List<SharedOverseasWarehouseResponse>> sharedOverseasWarehouses(
|
||||
@RequestHeader(value="X-Internal-Service-Token", required=false) String token) {
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.baiyue.warehouse.dto;
|
||||
|
||||
import com.baiyue.warehouse.entity.WarehouseEntity;
|
||||
|
||||
/** 国内 PDA 可选择的启用仓库主档。 */
|
||||
public record DomesticWarehouseOptionResponse(Long id, String warehouseCode, String warehouseName) {
|
||||
public static DomesticWarehouseOptionResponse of(WarehouseEntity warehouse) {
|
||||
return new DomesticWarehouseOptionResponse(
|
||||
warehouse.getId(), warehouse.getWarehouseCode(), warehouse.getWarehouseName());
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import com.baiyue.common.core.api.PageResult;
|
||||
import com.baiyue.common.core.api.ResultCode;
|
||||
import com.baiyue.common.core.exception.BizException;
|
||||
import com.baiyue.warehouse.dto.WarehouseDetailResponse;
|
||||
import com.baiyue.warehouse.dto.DomesticWarehouseOptionResponse;
|
||||
import com.baiyue.warehouse.dto.WarehouseRequests;
|
||||
import com.baiyue.warehouse.dto.OverseasPartnerWarehouseResponse;
|
||||
import com.baiyue.warehouse.dto.WarehouseSummaryResponse;
|
||||
@@ -96,6 +97,14 @@ public class WarehouseApplicationService {
|
||||
.toList();
|
||||
}
|
||||
|
||||
public List<DomesticWarehouseOptionResponse> activeDomesticWarehouses() {
|
||||
return repository.findActiveByType(WarehouseSaveNormalizer.PUBLIC_TENANT_ID,
|
||||
WarehouseSaveNormalizer.TYPE_DOMESTIC)
|
||||
.stream()
|
||||
.map(DomesticWarehouseOptionResponse::of)
|
||||
.toList();
|
||||
}
|
||||
|
||||
public List<SharedOverseasWarehouseResponse> activeSharedOverseasWarehouses() {
|
||||
return repository.findActiveByType(WarehouseSaveNormalizer.PUBLIC_TENANT_ID,
|
||||
WarehouseSaveNormalizer.TYPE_OVERSEAS)
|
||||
|
||||
+12
@@ -3,6 +3,7 @@ package com.baiyue.warehouse.controller;
|
||||
import com.baiyue.common.core.api.ResultCode;
|
||||
import com.baiyue.common.core.exception.BizException;
|
||||
import com.baiyue.warehouse.dto.WarehouseDetailResponse;
|
||||
import com.baiyue.warehouse.dto.DomesticWarehouseOptionResponse;
|
||||
import com.baiyue.warehouse.dto.OverseasPartnerWarehouseResponse;
|
||||
import com.baiyue.warehouse.dto.SharedOverseasWarehouseResponse;
|
||||
import com.baiyue.warehouse.entity.WarehouseEntity;
|
||||
@@ -85,6 +86,17 @@ class InternalWarehouseControllerTest {
|
||||
verify(service).activeOverseasPartners();
|
||||
}
|
||||
|
||||
@Test
|
||||
void listsActiveDomesticWarehouseOptionsForInternalCallers() {
|
||||
var option = new DomesticWarehouseOptionResponse(200001L, "CN-DONGGUAN-01", "东莞仓");
|
||||
when(service.activeDomesticWarehouses()).thenReturn(List.of(option));
|
||||
|
||||
var response = controller.domesticWarehouses(INTERNAL_TOKEN);
|
||||
|
||||
assertThat(response.data()).containsExactly(option);
|
||||
verify(service).activeDomesticWarehouses();
|
||||
}
|
||||
|
||||
@Test
|
||||
void exposesSharedOverseasReceivingDirectoryOnlyWithInternalToken() {
|
||||
var warehouse = new SharedOverseasWarehouseResponse(200003L, "US-LAX-01",
|
||||
|
||||
Reference in New Issue
Block a user