From 825a575deb96cce822468bb9d9ac3e4eea0f91d1 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 17 九月 2026 08:58:14 +0800
Subject: [PATCH] update

---
 backend/src/main/java/com/tourguide/modules/user/service/GuideUserService.java |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/backend/src/main/java/com/tourguide/modules/user/service/GuideUserService.java b/backend/src/main/java/com/tourguide/modules/user/service/GuideUserService.java
index 6fb2478..205c7d4 100644
--- a/backend/src/main/java/com/tourguide/modules/user/service/GuideUserService.java
+++ b/backend/src/main/java/com/tourguide/modules/user/service/GuideUserService.java
@@ -338,8 +338,11 @@
 
     private void ensureUniqueGuideIdentity(GuideApplication application, GuideUser existingUser) {
         if (StringUtils.hasText(application.getIdCardNo())) {
+            String idCardNo = application.getIdCardNo().trim().toUpperCase();
             // 兼容旧注销数据:释放已注销账号占用的身份证唯一索引。
-            userMapper.clearCancelledIdentityByIdCard(application.getIdCardNo().trim().toUpperCase());
+            userMapper.clearCancelledIdentityByIdCard(idCardNo);
+            // 兼容旧驳回数据:释放待审核账号占用的身份证唯一索引,避免其阻塞重新注册。
+            userMapper.clearPendingIdentityByIdCard(idCardNo);
         }
         if (StringUtils.hasText(application.getCertificateNo())
                 && userMapper.selectCount(new LambdaQueryWrapper<GuideUser>()
@@ -359,6 +362,15 @@
         }
     }
 
+    /** 申请被驳回后释放待审核账号占用的身份证/导游证唯一索引,避免其阻塞重新注册。 */
+    public void releaseIdentityForRejectedApplication(String mobile) {
+        if (!StringUtils.hasText(mobile)) return;
+        GuideUser user = findByPhone(mobile);
+        if (user != null && Integer.valueOf(STATUS_PENDING).equals(user.getStatus())) {
+            userMapper.releasePendingIdentity(user.getId());
+        }
+    }
+
     private void copyApplicationProfile(GuideUser user, GuideApplication application) {
         user.setRealName(application.getRealName());
         user.setMobile(application.getMobile());

--
Gitblit v1.7.1