feat(firstleg): split customs receipt and final document flow
This commit is contained in:
+9
-9
@@ -248,9 +248,9 @@ class ContainerCustomsServiceTest {
|
||||
when(mapper.claimCommand(anyLong(),eq(5L),eq("UPLOAD_COMPLETION_1"),eq("k"),anyString())).thenReturn(1);
|
||||
when(mapper.document(1L)).thenReturn(source);when(mapper.lockContainerById(2L)).thenReturn(container);
|
||||
when(mapper.lockDocument(1L)).thenReturn(source);when(mapper.lockCompletion(1L)).thenReturn(null);
|
||||
when(files.upload(any(),eq(5L),eq(7L),eq("LOADING_LIST_CUSTOMS_RESULT"),eq("9"),any()))
|
||||
when(files.upload(any(),eq(5L),eq(7L),eq("LOADING_LIST_CUSTOMS_RECEIPT"),eq("9"),any()))
|
||||
.thenReturn(com.baiyue.common.core.api.ApiResponse.success(new CustomsFileClient.Metadata(99L,7L,
|
||||
"LOADING_LIST_CUSTOMS_RESULT","9","result.bin","b".repeat(64),"application/octet-stream",1L)));
|
||||
"LOADING_LIST_CUSTOMS_RECEIPT","9","result.bin","b".repeat(64),"application/octet-stream",1L)));
|
||||
when(mapper.insertCompletion(anyLong(),eq(1L),eq(99L),anyString(),anyString(),anyString(),eq(1L),eq(5L),eq("admin"))).thenReturn(1);
|
||||
when(mapper.insertCompletionVersion(anyLong(),anyLong(),eq(1),eq(99L),anyString(),anyString(),anyString(),eq(1L),eq(5L),eq("admin"))).thenReturn(1);
|
||||
when(mapper.frozenScopes(1L)).thenReturn(List.of(new ContainerCustomsMapper.ScopeRow(1L,11L,21L,"I")));
|
||||
@@ -259,7 +259,7 @@ class ContainerCustomsServiceTest {
|
||||
var file=new MockMultipartFile("file","result.bin","application/octet-stream",new byte[]{1});
|
||||
var result=service.uploadCompletion(1L,5L,"admin","k",0,file);
|
||||
assertThat(result).isNotNull();
|
||||
verify(files).upload(any(),eq(5L),eq(7L),eq("LOADING_LIST_CUSTOMS_RESULT"),eq("9"),same(file));
|
||||
verify(files).upload(any(),eq(5L),eq(7L),eq("LOADING_LIST_CUSTOMS_RECEIPT"),eq("9"),same(file));
|
||||
verify(mapper,never()).complete(anyLong(),anyInt(),anyLong(),anyString());
|
||||
}
|
||||
|
||||
@@ -282,7 +282,7 @@ class ContainerCustomsServiceTest {
|
||||
var commandState=new AtomicReference<ContainerCustomsMapper.CommandRow>();
|
||||
var file=new MockMultipartFile("file","result.pdf","application/pdf",new byte[]{1});
|
||||
var changedFile=new MockMultipartFile("file","result.pdf","application/pdf",new byte[]{2});
|
||||
var metadata=new CustomsFileClient.Metadata(99L,7L,"LOADING_LIST_CUSTOMS_RESULT","9","result.pdf",
|
||||
var metadata=new CustomsFileClient.Metadata(99L,7L,"LOADING_LIST_CUSTOMS_RECEIPT","9","result.pdf",
|
||||
"b".repeat(64),"application/pdf",1L);
|
||||
when(mapper.document(1L)).thenReturn(source);
|
||||
when(mapper.claimCommand(anyLong(),eq(5L),eq("UPLOAD_COMPLETION_1"),eq("completion-key"),anyString()))
|
||||
@@ -296,7 +296,7 @@ class ContainerCustomsServiceTest {
|
||||
when(mapper.lockContainerById(2L)).thenAnswer(invocation->containerState.get());
|
||||
when(mapper.lockDocument(1L)).thenReturn(source);
|
||||
when(mapper.lockCompletion(1L)).thenAnswer(invocation->completionState.get());
|
||||
when(files.upload(any(),eq(5L),eq(7L),eq("LOADING_LIST_CUSTOMS_RESULT"),eq("9"),same(file)))
|
||||
when(files.upload(any(),eq(5L),eq(7L),eq("LOADING_LIST_CUSTOMS_RECEIPT"),eq("9"),same(file)))
|
||||
.thenReturn(com.baiyue.common.core.api.ApiResponse.success(metadata));
|
||||
when(mapper.insertCompletion(anyLong(),eq(1L),eq(99L),eq("result.pdf"),eq("b".repeat(64)),
|
||||
eq("application/pdf"),eq(1L),eq(5L),eq("admin"))).thenAnswer(invocation->{
|
||||
@@ -319,12 +319,12 @@ class ContainerCustomsServiceTest {
|
||||
var first=service.uploadCompletion(1L,5L,"admin","completion-key",0,file);
|
||||
var replay=service.uploadCompletion(1L,5L,"admin","completion-key",0,file);
|
||||
|
||||
assertThat(first.completion().fileId()).isEqualTo(99L);
|
||||
assertThat(replay.completion().fileId()).isEqualTo(99L);
|
||||
assertThat(first.receipt().fileId()).isEqualTo(99L);
|
||||
assertThat(replay.receipt().fileId()).isEqualTo(99L);
|
||||
assertThatThrownBy(()->service.uploadCompletion(1L,5L,"admin","completion-key",0,changedFile))
|
||||
.isInstanceOfSatisfying(BizException.class,
|
||||
error->assertThat(error.getResultCode()).isEqualTo(ResultCode.CONFLICT));
|
||||
verify(files,times(1)).upload(any(),eq(5L),eq(7L),eq("LOADING_LIST_CUSTOMS_RESULT"),eq("9"),same(file));
|
||||
verify(files,times(1)).upload(any(),eq(5L),eq(7L),eq("LOADING_LIST_CUSTOMS_RECEIPT"),eq("9"),same(file));
|
||||
verify(mapper,times(1)).lockContainerById(2L);
|
||||
verify(mapper,times(1)).insertCompletion(anyLong(),eq(1L),eq(99L),anyString(),anyString(),anyString(),
|
||||
eq(1L),eq(5L),eq("admin"));
|
||||
@@ -335,7 +335,7 @@ class ContainerCustomsServiceTest {
|
||||
var source=document(1L);when(mapper.document(1L)).thenReturn(source);
|
||||
when(mapper.containerById(2L)).thenReturn(container(ContainerCustomsService.DECLARING,3));
|
||||
assertThatThrownBy(()->service.downloadCompletion(7L,1L,false)).isInstanceOf(BizException.class)
|
||||
.hasMessageContaining("完成文件不存在");
|
||||
.hasMessageContaining("报关行回执不存在");
|
||||
verifyNoInteractions(files);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user