Browse Source

修改身份证校验逻辑;

feature/dangjian
luyan 2 years ago
parent
commit
5dd831f5a7
  1. 3
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  2. 56
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  3. 5
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/controller/EpdcAppUserController.java
  4. 7
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/dao/UserDao.java
  5. 1
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/UserService.java
  6. 13
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/impl/UserServiceImpl.java
  7. 4
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

3
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java

@ -79,6 +79,9 @@ public interface UserFeignClient {
@GetMapping(value = "app-user/epdc-app/user/verify", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result verifyUserRegisterData(EpdcUserRegistFormDTO formDto);
@GetMapping(value = "app-user/epdc-app/user/mpmVerify", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result npmVerifyUserRegisterData(EpdcUserRegistFormDTO formDto);
/**
* 验证用户完善个人信息时提交的数据返回用户当前状态
*

56
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -465,6 +465,19 @@ public class AppUserServiceImpl implements AppUserService {
}
}
private void npmVerifyUserRegisterData(EpdcUserRegistFormDTO formDto) {
// 校验身份证号码格式
String verification = IdentityNoUtils.IdentityNoVerification(formDto.getIdentityNo());
if (StringUtils.isNotBlank(verification)) {
throw new RenException(verification);
}
// 校验身份证号、手机号是否已被注册
Result verifyUserRegisterData = userFeignClient.npmVerifyUserRegisterData(formDto);
if (!verifyUserRegisterData.success()) {
throw new RenException(verifyUserRegisterData.getMsg());
}
}
/**
* 校验手机验证码
*
@ -1580,7 +1593,7 @@ public class AppUserServiceImpl implements AppUserService {
@Override
public Result<EpdcAppRegisterCallbackDTO> npmUserRegister(EpdcUserNpmRegisterFormDTO formDto) {
UserDTO userDTO = generateUserDTO(formDto);
UserDTO userDTO = generateNpmUserDTO(formDto);
return userFeignClient.nmpUserRegister(userDTO);
}
@ -1594,6 +1607,47 @@ public class AppUserServiceImpl implements AppUserService {
return userFeignClient.npmUserUpdate(userDTO);
}
private UserDTO generateNpmUserDTO(EpdcUserNpmRegisterFormDTO formDto){
EpdcUserRegistFormDTO epdcUserRegistFormDTO = ConvertUtils.sourceToTarget(formDto, EpdcUserRegistFormDTO.class);
epdcUserRegistFormDTO.setRoad("");
if (null != formDto.getCouplingCommunity()) {
epdcUserRegistFormDTO.setCouplingCommunity(String.join(",", formDto.getCouplingCommunity()));
}
npmVerifyUserRegisterData(epdcUserRegistFormDTO);
Long deptId;
if (formDto.getAllDeptIds() != null && formDto.getAllDeptIds().length > 1) {
deptId = Long.parseLong(formDto.getAllDeptIds()[formDto.getAllDeptIds().length - 1]);
} else {
UserDetail user = SecurityUser.getUser();
deptId = user.getDeptId();
}
WxMaJscode2SessionResult nmpWxUser = this.getNMPWxUser(formDto.getWxCode());
// 获取网格机构详情
Result<CompleteDeptDTO> adminDeptResult = adminFeignClient.getCompleteDept(deptId);
if (!adminDeptResult.success() || null == adminDeptResult.getData()) {
throw new RenException("查询网格信息失败");
}
CompleteDeptDTO completeDept = adminDeptResult.getData();
epdcUserRegistFormDTO.setGridId(deptId);
UserDTO userDTO = this.packageUserDto(epdcUserRegistFormDTO, nmpWxUser.getUnionid(), nmpWxUser.getOpenid(), completeDept);
userDTO.setDeptId(deptId);
userDTO.setPartyFlag(String.valueOf(formDto.getPartyFlag()));
userDTO.setShibei(formDto.getShibei());
userDTO.setWorkUnit(formDto.getWorkUnit());
userDTO.setWorkType(formDto.getWorkType());
userDTO.setWorkIndustry(formDto.getWorkIndustry());
userDTO.setWorkIndustryText(formDto.getWorkIndustryText());
// IP地址
HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
userDTO.setLastLoginIp(IpUtils.getIpAddr(request));
return userDTO;
}
private UserDTO generateUserDTO(EpdcUserNpmRegisterFormDTO formDto) {
EpdcUserRegistFormDTO epdcUserRegistFormDTO = ConvertUtils.sourceToTarget(formDto, EpdcUserRegistFormDTO.class);
epdcUserRegistFormDTO.setRoad("");

5
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/controller/EpdcAppUserController.java

@ -188,6 +188,11 @@ public class EpdcAppUserController {
return userService.verifyUserRegisterData(formDto);
}
@GetMapping("mpmVerify")
public Result mpmVerify(@RequestBody EpdcUserRegistFormDTO formDto) {
return userService.mpmVerifyRegisterData(formDto);
}
/**
* 用户注册审核之后查询用户审核结果用于发送服务消息和短信消息
*

7
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/dao/UserDao.java

@ -469,4 +469,11 @@ public interface UserDao extends BaseDao<UserEntity> {
* @date 2022/4/29 11:10
*/
String selectTagId(String value);
/**
* 党建引领小程序校验身份证号是否注册
* @param idCard
* @return
*/
Integer selectCountByIdentityNo(String idCard);
}

1
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/UserService.java

@ -169,6 +169,7 @@ public interface UserService extends BaseService<UserEntity> {
@Deprecated
Result verifyUserRegisterData(EpdcUserRegistFormDTO formDto);
Result mpmVerifyRegisterData(EpdcUserRegistFormDTO formDto);
/**
* 登录前获取用户信息
*

13
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/impl/UserServiceImpl.java

@ -523,6 +523,19 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
return new Result();
}
@Override
public Result mpmVerifyRegisterData(EpdcUserRegistFormDTO formDto) {
// 身份证号查重
String identityNo = formDto.getIdentityNo();
if (StringUtils.isNotBlank(identityNo)) {
Integer count = baseDao.selectCountByIdentityNo(identityNo);
if (count > NumConstant.ZERO) {
return new Result().error("身份证号已被注册");
}
}
return new Result();
}
@Override
@DataSource(value = DataSourceNames.FIRST)
public Result<EpdcUserRegisterAuditMsgResultDTO> getUserRegisterAuditResult(String userId) {

4
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

@ -1984,4 +1984,8 @@
where USER_ID = #{userId}
</update>
<select id="selectCountByIdentityNo" resultType="java.lang.Integer">
select count(id) from epdc_user_djyl where IDENTITY_NO = #{idCard} and del_flag = '0'
</select>
</mapper>

Loading…
Cancel
Save