优化
This commit is contained in:
@@ -28,6 +28,8 @@ class PriceBookSqlContractTest {
|
||||
assertThat(schema)
|
||||
.contains("CREATE TABLE IF NOT EXISTS fl_price_channel_catalog")
|
||||
.contains("CREATE TABLE IF NOT EXISTS fl_price_origin_alias")
|
||||
.contains("CREATE TABLE IF NOT EXISTS fl_price_warehouse_mapping")
|
||||
.contains("华南仓(深圳/东莞)")
|
||||
.contains("CREATE TABLE IF NOT EXISTS fl_price_book_version")
|
||||
.contains("CREATE TABLE IF NOT EXISTS fl_price_book_channel")
|
||||
.contains("price_book_version_id")
|
||||
@@ -40,6 +42,11 @@ class PriceBookSqlContractTest {
|
||||
.contains("destination_name VARCHAR(128)")
|
||||
.contains("parse_issues_json JSON NULL")
|
||||
.contains("DEFAULT 'PENDING_CONFIRMATION'");
|
||||
assertThat(schema)
|
||||
.contains("'ORIGIN_CODE', 'CN-YIWU-01', 193000000000200001")
|
||||
.contains("'ORIGIN_CODE', 'CN-DONGGUAN-01', 193000000000200002")
|
||||
.contains("'OVERSEAS_NAME', '洛杉矶仓', 193000000000200003")
|
||||
.contains("'OVERSEAS_NAME', '纽约仓', 193000000000200004");
|
||||
assertThat(channelTable)
|
||||
.contains("created_by BIGINT UNSIGNED NOT NULL COMMENT '创建人ID'")
|
||||
.contains("updated_by BIGINT UNSIGNED NOT NULL COMMENT '最后修改人ID'")
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.baiyue.firstleg.entity.CarrierFbaRateEntity;
|
||||
import com.baiyue.firstleg.entity.PriceBookChannelEntity;
|
||||
import com.baiyue.firstleg.entity.PriceBookVersionEntity;
|
||||
import com.baiyue.firstleg.entity.PriceChannelCatalogEntity;
|
||||
import com.baiyue.firstleg.entity.PriceWarehouseMappingEntity;
|
||||
import com.baiyue.firstleg.repository.PriceBookRepository;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
@@ -230,6 +231,29 @@ class PlatformPriceBookServiceTest {
|
||||
.doesNotContain("DUPLICATE_RATE");
|
||||
}
|
||||
|
||||
@Test
|
||||
void initializedWarehouseMappingsBindFixedDomesticAndOverseasWarehouses() {
|
||||
CarrierFbaRateEntity overseasRate = rate(81L);
|
||||
overseasRate.setDestinationType(PricingDestinationType.OVERSEAS.name());
|
||||
overseasRate.setDestinationCode(null);
|
||||
overseasRate.setDestinationName("洛杉矶仓");
|
||||
PriceBookDtos.ParsedRate parsed = ReflectionTestUtils.invokeMethod(service, "rateDto", overseasRate);
|
||||
when(repository.activeWarehouseMappings()).thenReturn(List.of(
|
||||
warehouseMapping("ORIGIN_CODE", "CN-YIWU-01", 193000000000200001L, "CN-YIWU-01", "DOMESTIC"),
|
||||
warehouseMapping("OVERSEAS_NAME", "洛杉矶仓", 193000000000200003L, "US-LAX-01", "OVERSEAS")
|
||||
));
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
List<PriceBookDtos.ParsedRate> mapped = ReflectionTestUtils.invokeMethod(
|
||||
service, "applyInitializedWarehouseMappings", List.of(parsed));
|
||||
|
||||
assertThat(mapped).singleElement().satisfies(rate -> {
|
||||
assertThat(rate.originWarehouseId()).isEqualTo(193000000000200001L);
|
||||
assertThat(rate.destinationWarehouseId()).isEqualTo(193000000000200003L);
|
||||
assertThat(rate.destinationCode()).isEqualTo("US-LAX-01");
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void duplicatePublishIsRejectedAfterPublishLock() {
|
||||
when(repository.findVersion(31L)).thenReturn(version(31L, PriceBookStatus.ACTIVE));
|
||||
@@ -300,6 +324,18 @@ class PlatformPriceBookServiceTest {
|
||||
List.of(new PriceBookConfirmationRequest.OriginMapping(code, id)), List.of());
|
||||
}
|
||||
|
||||
private static PriceWarehouseMappingEntity warehouseMapping(String sourceType, String sourceValue, long warehouseId,
|
||||
String warehouseCode, String warehouseType) {
|
||||
PriceWarehouseMappingEntity value = new PriceWarehouseMappingEntity();
|
||||
value.setSourceType(sourceType);
|
||||
value.setSourceValue(sourceValue);
|
||||
value.setWarehouseId(warehouseId);
|
||||
value.setWarehouseCode(warehouseCode);
|
||||
value.setWarehouseType(warehouseType);
|
||||
value.setStatus("ACTIVE");
|
||||
return value;
|
||||
}
|
||||
|
||||
private void executeTransactionsImmediately() {
|
||||
when(transactions.execute(any())).thenAnswer(invocation -> {
|
||||
@SuppressWarnings("unchecked")
|
||||
|
||||
Reference in New Issue
Block a user