From dff03ab75b891c80de1e949281ae2fec97cf629b Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 7 Dec 2021 15:23:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BF=A1=E6=81=AF=E3=80=82id?= =?UTF-8?q?Num=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/EditInfoFormDTO.java | 3 ++- .../java/com/epmet/dao/UserBaseInfoDao.java | 4 ++++ .../epmet/service/UserBaseInfoService.java | 2 ++ .../service/impl/UserBaseInfoServiceImpl.java | 5 +++++ .../service/impl/UserResiInfoServiceImpl.java | 21 +++++++++++++++++-- .../main/resources/mapper/UserBaseInfoDao.xml | 14 +++++++++++++ .../main/resources/mapper/UserResiInfoDao.xml | 3 ++- 7 files changed, 48 insertions(+), 4 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EditInfoFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EditInfoFormDTO.java index d3a29103dc..ef54d73a3a 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EditInfoFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EditInfoFormDTO.java @@ -2,6 +2,7 @@ package com.epmet.dto.form; import lombok.Data; import lombok.NoArgsConstructor; +import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; import java.io.Serializable; @@ -38,7 +39,7 @@ public class EditInfoFormDTO implements Serializable { private String name; //@NotBlank(message = "身份证号不能为空") - //@Length(max=18,message = "身份证号不能超过18位") + @Length(max=18,message = "身份证号不能超过18位") //别的小程序不统一升级,没办法限制必填。 private String idNum; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java index c44ea90420..7cea610e90 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java @@ -85,4 +85,8 @@ public interface UserBaseInfoDao extends BaseDao { UserBaseInfoDTO selectUserId(@Param("customerId") String customerId, @Param("idNum")String idNum, @Param("userId")String userId); + + Integer selectCountIdNum(@Param("idNum") String idNum, + @Param("customerId")String customerId, + @Param("excludeUserId")String excludeUserId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java index 164a222894..456365e58c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java @@ -191,4 +191,6 @@ public interface UserBaseInfoService extends BaseService { ExtUserInfoResultDTO extUserInfo(CommonUserIdFormDTO param); UserBaseInfoDTO getUserIdByIdNum(String customerId, String idNum,String userId); + + Integer checkIdNum(String idNum, String customerId, String excludeUserId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java index 61d1cf14a0..a8afc76953 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java @@ -450,4 +450,9 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl NumConstant.ZERO) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "user_resi_info已存在该身份证号", "身份证号已被使用"); } + //判断user_base_info表是否存在相同的身份证号 + if (userBaseInfoService.checkIdNum(userResiInfoDTO.getIdNum(), userResiInfoDTO.getCustomerId(), null) > 0) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "user_base_info已存在该身份证号", "身份证号已被使用"); + } } userResiRegisterVisitService.updateResiRegisterVisit(true, userResiInfoDTO); //4:居民注册关系表新增数据 首次注册数加一 注册数加一 参与数加一 @@ -307,8 +311,14 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl 0) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "user_resi_info已存在该身份证号", "身份证号已被使用"); + if(StringUtils.isNotBlank(userResiInfoDTO.getIdNum())){ + if (baseDao.selectCountByIdNum(userResiInfoDTO.getIdNum(), userResiInfoDTO.getCustomerId(),userResiInfoDTO.getUserId()) > 0) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "user_resi_info已存在该身份证号", "身份证号已被使用"); + } + //判断user_base_info表是否存在相同的身份证号 + if (userBaseInfoService.checkIdNum(userResiInfoDTO.getIdNum(), userResiInfoDTO.getCustomerId(), null) > 0) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "user_base_info已存在该身份证号", "身份证号已被使用"); + } } //居民注册关系表新增数据 首次注册数加一 注册数加一 参与数加一 registerRelationService.saveRegisterRelation(userResiInfoDTO); @@ -385,10 +395,17 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl18){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "user_resi_info已存在该身份证号", "身份证号至多18位"); + } //判断身份证号唯一,除了当前用户外没有人用过这个身份证号吧??? if(baseDao.selectCountByIdNum(formDTO.getIdNum(),formDTO.getCustomerId(),formDTO.getUserId())>0){ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "user_resi_info已存在该身份证号", "身份证号已被使用"); } + //判断user_base_info表是否存在相同的身份证号 + if (userBaseInfoService.checkIdNum(formDTO.getIdNum(), formDTO.getCustomerId(), formDTO.getUserId()) > 0) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "user_base_info已存在该身份证号", "身份证号已被使用"); + } } //更新居民注册信息表 baseDao.updateByUserId(ConvertUtils.sourceToTarget(formDTO, UserResiInfoEntity.class)); diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml index 9d74f0d600..16a0e4d8e9 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml @@ -134,4 +134,18 @@ and user_id=#{userId} + + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml index 968abeff28..13ff3e74eb 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml @@ -43,7 +43,8 @@ NAME = #{name}, STREET = #{street}, DISTRICT = #{district}, - BUILDING_ADDRESS = #{buildingAddress} + BUILDING_ADDRESS = #{buildingAddress}, + ID_NUM = #{idNum} where USER_ID = #{userId} and DEL_FLAG = '0'