Browse Source

修改信息,除了本人外,校验身份证号是否已被使用。

master
yinzuomei 4 years ago
parent
commit
45ef35eb0f
  1. 1
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/mine/service/impl/PersonalCenterServiceImpl.java
  2. 6
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EditInfoFormDTO.java
  3. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserResiInfoDao.java
  4. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java
  5. 3
      epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml

1
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/mine/service/impl/PersonalCenterServiceImpl.java

@ -46,6 +46,7 @@ public class PersonalCenterServiceImpl implements PersonalCenterService {
@Override
public void editInfo(TokenDto tokenDto, EditInfoFormDTO formDTO) {
formDTO.setUserId(tokenDto.getUserId());
formDTO.setCustomerId(tokenDto.getCustomerId());
Result result = epmetUserOpenFeignClient.editUserInfo(formDTO);
if (!result.success()) {
throw new RenException(result.getCode(), result.getMsg());

6
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EditInfoFormDTO.java

@ -60,4 +60,10 @@ public class EditInfoFormDTO implements Serializable {
*/
@NotBlank(message = "昵称不能为空")
private String nickname;
/**
* 当前客户id
*/
@NotBlank(message = "customerId不能为空")
private String customerId;
}

4
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserResiInfoDao.java

@ -102,7 +102,9 @@ public interface UserResiInfoDao extends BaseDao<UserResiInfoEntity> {
* @param idNum
* @return
*/
Integer selectCountByIdNum(@Param("idNum") String idNum,@Param("customerId") String customerId);
Integer selectCountByIdNum(@Param("idNum") String idNum,
@Param("customerId") String customerId,
@Param("excludeUserId")String excludeUserId);
UserResiInfoDTO selectByIdNum(@Param("customerId") String customerId,
@Param("idNum")String idNum,

10
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java

@ -220,7 +220,7 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
}
//3、身份证号不为空时,判断当前客户下身份证号是否呀已经被使用
if (StringUtils.isNotBlank(userResiInfoDTO.getIdNum())) {
if (baseDao.selectCountByIdNum(userResiInfoDTO.getIdNum(), userResiInfoDTO.getCustomerId()) > NumConstant.ZERO) {
if (baseDao.selectCountByIdNum(userResiInfoDTO.getIdNum(), userResiInfoDTO.getCustomerId(),null) > NumConstant.ZERO) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "user_resi_info已存在该身份证号", "身份证号已被使用");
}
}
@ -307,7 +307,7 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
log.warn("手机号客户内不可用,没有更新用户信息,param:{}", JSON.toJSONString(userResiInfoDTO));
throw new RenException(EpmetErrorCode.THE_MOBILE_HAS_BEEN_USED.getCode(), EpmetErrorCode.THE_MOBILE_HAS_BEEN_USED.getMsg());
}
if (baseDao.selectCountByIdNum(userResiInfoDTO.getIdNum(), userResiInfoDTO.getCustomerId()) > 0) {
if (baseDao.selectCountByIdNum(userResiInfoDTO.getIdNum(), userResiInfoDTO.getCustomerId(),userResiInfoDTO.getUserId()) > 0) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "user_resi_info已存在该身份证号", "身份证号已被使用");
}
//居民注册关系表新增数据 首次注册数加一 注册数加一 参与数加一
@ -384,6 +384,12 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
*/
@Override
public void editUserInfo(EditInfoFormDTO formDTO) {
if(StringUtils.isNotBlank(formDTO.getIdNum())){
//判断身份证号唯一,除了当前用户外没有人用过这个身份证号吧???
if(baseDao.selectCountByIdNum(formDTO.getIdNum(),formDTO.getCustomerId(),formDTO.getUserId())>0){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "user_resi_info已存在该身份证号", "身份证号已被使用");
}
}
//更新居民注册信息表
baseDao.updateByUserId(ConvertUtils.sourceToTarget(formDTO, UserResiInfoEntity.class));
//更新baseInfo

3
epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml

@ -185,6 +185,9 @@
uri.DEL_FLAG = '0'
AND uri.id_num = #{idNum}
and uri.customer_id=#{customerId}
<if test="excludeUserId != null and excludeUserId != ''">
AND uri.user_id != #{excludeUserId}
</if>
</select>
<select id="selectByIdNum" parameterType="map" resultType="com.epmet.dto.UserResiInfoDTO">

Loading…
Cancel
Save