| | |
| | | |
| | | 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>() |
| | |
| | | } |
| | | } |
| | | |
| | | /** 申请被驳回后释放待审核账号占用的身份证/导游证唯一索引,避免其阻塞重新注册。 */ |
| | | 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()); |