From 746599f462f3c776732cb277355ffe5eb1124564 Mon Sep 17 00:00:00 2001
From: shinnosuke <tantao@1hoper.com>
Date: 星期一, 24 八月 2026 11:07:50 +0800
Subject: [PATCH] fix: finalize merchant and family card changes
---
talent-card-server/src/test/java/com/talentcard/server/service/DependentCardApplyServiceTests.java | 38 +++++++++++++++++---------------------
1 files changed, 17 insertions(+), 21 deletions(-)
diff --git a/talent-card-server/src/test/java/com/talentcard/server/service/DependentCardApplyServiceTests.java b/talent-card-server/src/test/java/com/talentcard/server/service/DependentCardApplyServiceTests.java
index 495db5e..f8e8ab2 100644
--- a/talent-card-server/src/test/java/com/talentcard/server/service/DependentCardApplyServiceTests.java
+++ b/talent-card-server/src/test/java/com/talentcard/server/service/DependentCardApplyServiceTests.java
@@ -59,7 +59,7 @@
}
@Test
- void resubmitCreatesANewApplicationAndKeepsRejectedApplicationUnchanged() {
+ void resubmitUpdatesTheRejectedApplicationInsteadOfCreatingADuplicate() {
DependentCardApply rejected = new DependentCardApply(
"DCA-OLD",
12L,
@@ -73,12 +73,18 @@
"510105199001011234",
"配偶"
);
+ setId(rejected, 99L);
setStatus(rejected, DependentCardApply.STATUS_REJECTED);
when(mapper.selectByIdForUpdate(99L)).thenReturn(rejected);
- when(mapper.insert(any(DependentCardApply.class))).thenAnswer(invocation -> {
- setId(invocation.getArgument(0), 100L);
+ when(mapper.update(any(), any(Wrapper.class))).thenAnswer(invocation -> {
+ setStatus(rejected, DependentCardApply.STATUS_PENDING_REVIEW);
+ setField(rejected, "dependentName", "新家属");
+ setField(rejected, "dependentIdCardNo", "51010519900101123X");
+ setField(rejected, "dependentMobile", "13700000000");
+ setField(rejected, "relation", "子女");
return 1;
});
+ when(mapper.selectById(99L)).thenReturn(rejected);
when(statusLogMapper.insert(any(DependentCardApplyStatusLog.class))).thenReturn(1);
DependentCardApplyItemResponse result = service.resubmit(
@@ -92,28 +98,18 @@
)
);
- ArgumentCaptor<DependentCardApply> applicationCaptor = ArgumentCaptor.forClass(DependentCardApply.class);
- verify(mapper).insert(applicationCaptor.capture());
- DependentCardApply created = applicationCaptor.getValue();
- assertThat(created.getId()).isEqualTo(100L);
- assertThat(created.getApplyNo()).startsWith("DCA").isNotEqualTo(rejected.getApplyNo());
- assertThat(created.getTalentId()).isEqualTo(rejected.getTalentId());
- assertThat(created.getTalentCardId()).isEqualTo(rejected.getTalentCardId());
- assertThat(created.getDependentName()).isEqualTo("新家属");
- assertThat(created.getDependentIdCardNo()).isEqualTo("51010519900101123X");
- assertThat(created.getDependentMobile()).isEqualTo("13700000000");
- assertThat(created.getRelation()).isEqualTo("子女");
- assertThat(created.getStatus()).isEqualTo(DependentCardApply.STATUS_PENDING_REVIEW);
- assertThat(result.id()).isEqualTo(100L);
+ verify(mapper, never()).insert(any(DependentCardApply.class));
+ verify(mapper).update(any(), any(Wrapper.class));
+ assertThat(result.id()).isEqualTo(99L);
assertThat(result.status()).isEqualTo(DependentCardApply.STATUS_PENDING_REVIEW);
- assertThat(rejected.getStatus()).isEqualTo(DependentCardApply.STATUS_REJECTED);
- verify(mapper, never()).update(any(), any(Wrapper.class));
+ assertThat(result.statusText()).isEqualTo("待审核");
+ assertThat(rejected.getApplyNo()).isEqualTo("DCA-OLD");
ArgumentCaptor<DependentCardApplyStatusLog> logCaptor = ArgumentCaptor.forClass(DependentCardApplyStatusLog.class);
verify(statusLogMapper).insert(logCaptor.capture());
- assertThat(logCaptor.getValue().getApplyId()).isEqualTo(100L);
- assertThat(logCaptor.getValue().getApplyNo()).isEqualTo(created.getApplyNo());
- assertThat(logCaptor.getValue().getFromStatus()).isNull();
+ assertThat(logCaptor.getValue().getApplyId()).isEqualTo(99L);
+ assertThat(logCaptor.getValue().getApplyNo()).isEqualTo(rejected.getApplyNo());
+ assertThat(logCaptor.getValue().getFromStatus()).isEqualTo(DependentCardApply.STATUS_REJECTED);
assertThat(logCaptor.getValue().getToStatus()).isEqualTo(DependentCardApply.STATUS_PENDING_REVIEW);
}
--
Gitblit v1.7.1