Browse Source

律师证件号码 添加唯一性校验

lutong 2 hours ago
parent
commit
1efbfa18bf

+ 1 - 0
alien-entity/src/main/java/shop/alien/mapper/LawyerUserMapper.java

@@ -108,6 +108,7 @@ Integer updateLawyerUser(LawyerUser user);
            "user.charge_time, " +
            "user.time_num, " +
            "user.certificate_image, " +
+           "user.lawyer_certificate_no AS lawyerCertificateNo, " +
            "user.business_license_image, " +
            "user.law_firm AS lawFirm, " +
            "user.address AS address, " +

+ 12 - 0
alien-lawyer/src/main/java/shop/alien/lawyer/service/impl/LawyerUserLogInServiceImpl.java

@@ -106,6 +106,18 @@ public class LawyerUserLogInServiceImpl extends ServiceImpl<LawyerUserMapper, La
         }else {
             LawyerUser user = new LawyerUser();
             BeanUtils.copyProperties(lawyerUserDto, user);
+            String certNo = user.getLawyerCertificateNo();
+            if (certNo != null && !certNo.trim().isEmpty()) {
+                certNo = certNo.trim();
+                user.setLawyerCertificateNo(certNo);
+                LawyerUser certDup = lawyerUserMapper.selectOne(new LambdaQueryWrapper<LawyerUser>()
+                        .eq(LawyerUser::getLawyerCertificateNo, certNo)
+                        .eq(LawyerUser::getDeleteFlag, 0)
+                        .last("limit 1"));
+                if (certDup != null) {
+                    return R.fail("该律师执业证号已被使用,无法重复注册");
+                }
+            }
             user.setLogoutFlag(0);
             user.setStatus(1);
             user.setDeleteFlag(0);

+ 19 - 0
alien-lawyer/src/main/java/shop/alien/lawyer/service/impl/LawyerUserServiceImpl.java

@@ -742,6 +742,25 @@ public class LawyerUserServiceImpl extends ServiceImpl<LawyerUserMapper, LawyerU
             lawyerUser.setBusinessLicenseImage(lawyerUserVo.getBusinessLicenseImage());
             hasUpdate = true;
         }
+        if (lawyerUserVo.getLawyerCertificateNo() != null) {
+            String newCert = lawyerUserVo.getLawyerCertificateNo().trim();
+            if (StringUtils.hasText(newCert)) {
+                String existingCert = existing.getLawyerCertificateNo() != null
+                        ? existing.getLawyerCertificateNo().trim() : "";
+                if (!newCert.equals(existingCert)) {
+                    LawyerUser certDup = lawyerUserMapper.selectOne(new LambdaQueryWrapper<LawyerUser>()
+                            .eq(LawyerUser::getLawyerCertificateNo, newCert)
+                            .eq(LawyerUser::getDeleteFlag, 0)
+                            .ne(LawyerUser::getId, lawyerUserVo.getId())
+                            .last("limit 1"));
+                    if (certDup != null) {
+                        return R.fail("该律师执业证号已被使用,无法重复提交");
+                    }
+                }
+            }
+            lawyerUser.setLawyerCertificateNo(StringUtils.hasText(newCert) ? newCert : null);
+            hasUpdate = true;
+        }
         if (lawyerUserVo.getProvince() != null) {
             lawyerUser.setProvince(lawyerUserVo.getProvince());
             hasUpdate = true;