From ea7e8d87259a991c521190d674244cb067c7198d Mon Sep 17 00:00:00 2001
From: shinnosuke <tantao@1hoper.com>
Date: 星期四, 13 八月 2026 12:09:45 +0800
Subject: [PATCH] fix(family-card): 修复管理列表与申请审核流程

---
 talent-card-server/src/main/java/com/talentcard/server/service/DependentCardApplyService.java |   43 ++++++++++++++++++++-----------------------
 1 files changed, 20 insertions(+), 23 deletions(-)

diff --git a/talent-card-server/src/main/java/com/talentcard/server/service/DependentCardApplyService.java b/talent-card-server/src/main/java/com/talentcard/server/service/DependentCardApplyService.java
index 6281b0c..ff5f350 100644
--- a/talent-card-server/src/main/java/com/talentcard/server/service/DependentCardApplyService.java
+++ b/talent-card-server/src/main/java/com/talentcard/server/service/DependentCardApplyService.java
@@ -1,6 +1,5 @@
 package com.talentcard.server.service;
 
-import java.time.LocalDateTime;
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -157,33 +156,31 @@
 		if (!Integer.valueOf(DependentCardApply.STATUS_REJECTED).equals(apply.getStatus())) {
 			throw new BusinessException(ErrorCode.CONFLICT, "仅已驳回的申请可以修改重新提交");
 		}
-		int updated = mapper.update(
-				null,
-				Wrappers.<DependentCardApply>lambdaUpdate()
-						.eq(DependentCardApply::getId, applyId)
-						.eq(DependentCardApply::getStatus, DependentCardApply.STATUS_REJECTED)
-						.set(DependentCardApply::getDependentName, request.dependentName().trim())
-						.set(DependentCardApply::getDependentIdCardNo, request.dependentIdCardNo().trim().toUpperCase())
-						.set(DependentCardApply::getDependentMobile, request.dependentMobile().trim())
-						.set(DependentCardApply::getRelation, request.relation().trim())
-						.set(DependentCardApply::getStatus, DependentCardApply.STATUS_PENDING_REVIEW)
-						.set(DependentCardApply::getAuditBy, null)
-						.set(DependentCardApply::getAuditTime, null)
-						.set(DependentCardApply::getAuditRemark, null)
-						.set(DependentCardApply::getUpdatedAt, LocalDateTime.now())
+		DependentCardApply resubmitted = new DependentCardApply(
+				BusinessIdGenerator.next("DCA"),
+				apply.getTalentId(),
+				apply.getTalentCardId(),
+				apply.getTalentName(),
+				apply.getTalentMobile(),
+				apply.getTalentCardNo(),
+				apply.getCardLevel(),
+				request.dependentName().trim(),
+				request.dependentMobile().trim(),
+				request.dependentIdCardNo().trim().toUpperCase(),
+				request.relation().trim()
 		);
-		if (updated != 1) {
-			throw new BusinessException(ErrorCode.CONFLICT, "申请状态已变化,请刷新后重试");
+		if (mapper.insert(resubmitted) != 1) {
+			throw new BusinessException(ErrorCode.INTERNAL_ERROR, "家属附属卡申请重新提交失败");
 		}
 		recordStatus(
-				apply,
-				DependentCardApply.STATUS_REJECTED,
+				resubmitted,
+				null,
 				DependentCardApply.STATUS_PENDING_REVIEW,
 				"TALENT",
-				apply.getTalentId(),
-				"用户修改后重新提交"
+				resubmitted.getTalentId(),
+				"用户基于已驳回申请重新提交,原申请ID:" + applyId
 		);
-		return DependentCardApplyItemResponse.from(mapper.selectById(applyId));
+		return DependentCardApplyItemResponse.from(resubmitted);
 	}
 	private DependentCardApply ownerCard(Long talentCardId) {
 		requireTalentCardId(talentCardId);
@@ -249,4 +246,4 @@
 	private String text(Object value) {
 		return value == null ? null : String.valueOf(value);
 	}
-}
\ No newline at end of file
+}

--
Gitblit v1.7.1