feat(lastleg): redispatch returned cargo and reconcile source signatures
This commit is contained in:
+11
@@ -51,6 +51,7 @@ class InventoryCommandServiceTest {
|
||||
@Mock InventoryLedgerMapper ledgers;
|
||||
@Mock InventoryOperationMapper operations;
|
||||
@Mock InventoryCommandMapper commands;
|
||||
@Mock com.baiyue.lastleg.inventory.mapper.ReturnStockReceiptMapper returnReceipts;
|
||||
@Mock WarehouseResourceGateway warehouseGateway;
|
||||
|
||||
private InventoryCommandService service;
|
||||
@@ -63,6 +64,10 @@ class InventoryCommandServiceTest {
|
||||
ReflectionTestUtils.setField(service, "ledgers", ledgers);
|
||||
ReflectionTestUtils.setField(service, "operations", operations);
|
||||
ReflectionTestUtils.setField(service, "commands", commands);
|
||||
ReflectionTestUtils.setField(service, "returnReceipts", returnReceipts);
|
||||
lenient().when(returnReceipts.owner(any(), any(), any(), any(), any())).thenReturn(
|
||||
new com.baiyue.lastleg.inventory.mapper.ReturnStockReceiptMapper.ReturnOwner(1L, 51L, 101L));
|
||||
lenient().when(returnReceipts.lockOrder(any(), any())).thenAnswer(call -> call.getArgument(1));
|
||||
ReflectionTestUtils.setField(service, "warehouseGateway", warehouseGateway);
|
||||
ReflectionTestUtils.setField(service, "objectMapper", new ObjectMapper().findAndRegisterModules());
|
||||
lenient().when(operations.findIdempotency(any(), any())).thenReturn(null);
|
||||
@@ -385,6 +390,12 @@ class InventoryCommandServiceTest {
|
||||
assertEquals("RETURN_STOCK_IN", ledger.getValue().getBusinessType());
|
||||
assertEquals("RETURN_SOURCE:301:201", ledger.getValue().getSourceEventId());
|
||||
assertEquals("OUT-1", ledger.getValue().getOutboundOrderNo());
|
||||
ArgumentCaptor<com.baiyue.lastleg.inventory.entity.ReturnStockReceipt> returned = ArgumentCaptor.forClass(com.baiyue.lastleg.inventory.entity.ReturnStockReceipt.class);
|
||||
verify(returnReceipts).insert(returned.capture());
|
||||
assertEquals(ledger.getValue().getId(), returned.getValue().getInventoryLedgerId());
|
||||
assertEquals(51L, returned.getValue().getOrderId());
|
||||
assertEquals(3L, returned.getValue().getReceivedPackages());
|
||||
assertEquals(target.getValue().getId(), returned.getValue().getInventoryPositionId());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+5
-2
@@ -58,7 +58,8 @@ class InventoryHoldConcurrencyPersistenceTest {
|
||||
jdbc = new JdbcTemplate(ds);
|
||||
for (Class<?> entity : List.of(InventoryBalance.class, InventoryPosition.class, InventoryLedger.class,
|
||||
InventoryOperation.class, LastlegOrder.class, LastlegOrderCommandRecord.class,
|
||||
LastlegOrderHoldHistory.class, LastlegOrderOperationLog.class, InboundStockReceipt.class, DispatchPdaPickOrder.class)) {
|
||||
LastlegOrderHoldHistory.class, LastlegOrderOperationLog.class, InboundStockReceipt.class,
|
||||
ReturnStockReceipt.class, DispatchPdaPickOrder.class)) {
|
||||
String columns = Arrays.stream(entity.getDeclaredFields())
|
||||
.filter(f -> !Modifier.isStatic(f.getModifiers()))
|
||||
.filter(f -> f.getAnnotation(TableField.class) == null || f.getAnnotation(TableField.class).exist())
|
||||
@@ -74,7 +75,8 @@ class InventoryHoldConcurrencyPersistenceTest {
|
||||
for (Class<?> mapper : List.of(InventoryBalanceMapper.class, InventoryPositionMapper.class,
|
||||
InventoryLedgerMapper.class, InventoryOperationMapper.class, InventoryCommandMapper.class,
|
||||
LastlegOrderMapper.class, LastlegOrderCommandRecordMapper.class, LastlegOrderHoldHistoryMapper.class,
|
||||
LastlegOrderOperationLogMapper.class, DispatchPdaPickOrderMapper.class)) config.addMapper(mapper);
|
||||
LastlegOrderOperationLogMapper.class, DispatchPdaPickOrderMapper.class,
|
||||
ReturnStockReceiptMapper.class)) config.addMapper(mapper);
|
||||
var factory = new MybatisSqlSessionFactoryBean(); factory.setDataSource(ds); factory.setConfiguration(config);
|
||||
var session = new SqlSessionTemplate(factory.getObject());
|
||||
var manager = new DataSourceTransactionManager(ds); tx = new TransactionTemplate(manager);
|
||||
@@ -91,6 +93,7 @@ class InventoryHoldConcurrencyPersistenceTest {
|
||||
var sourceLocks = new DispatchPickOrderAttributionService();
|
||||
ReflectionTestUtils.setField(sourceLocks,"orders",orderMapper);
|
||||
ReflectionTestUtils.setField(sourceLocks,"attributions",session.getMapper(DispatchPdaPickOrderMapper.class));
|
||||
ReflectionTestUtils.setField(sourceLocks,"returnReceipts",session.getMapper(ReturnStockReceiptMapper.class));
|
||||
attribution = proxy(sourceLocks,manager);
|
||||
var target = new LastlegOrderCommandService();
|
||||
ReflectionTestUtils.setField(target,"orders",orderMapper);
|
||||
|
||||
Reference in New Issue
Block a user