From 5dd831f5a736ee7abcaad9ca08f5d7b590967a5a Mon Sep 17 00:00:00 2001 From: luyan Date: Mon, 7 Aug 2023 15:31:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BA=AB=E4=BB=BD=E8=AF=81?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E9=80=BB=E8=BE=91=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../esua/epdc/feign/UserFeignClient.java | 3 + .../epdc/service/impl/AppUserServiceImpl.java | 56 ++++++++++++++++++- .../controller/EpdcAppUserController.java | 5 ++ .../com/elink/esua/epdc/user/dao/UserDao.java | 7 +++ .../esua/epdc/user/service/UserService.java | 1 + .../user/service/impl/UserServiceImpl.java | 13 +++++ .../src/main/resources/mapper/UserDao.xml | 4 ++ 7 files changed, 88 insertions(+), 1 deletion(-) diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java index 5f5d40ce1..3c7ca69ba 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java +++ b/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); + /** * 验证用户完善个人信息时提交的数据,返回用户当前状态 * diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java index 531513a5e..99d6eecf8 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java +++ b/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 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 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(""); diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/controller/EpdcAppUserController.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/controller/EpdcAppUserController.java index 07af3bd24..1dc559db0 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/controller/EpdcAppUserController.java +++ b/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); + } /** * 用户注册审核之后,查询用户审核结果,用于发送服务消息和短信消息 * diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/dao/UserDao.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/dao/UserDao.java index f48b6490e..5f77cd336 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/dao/UserDao.java +++ b/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 { * @date 2022/4/29 11:10 */ String selectTagId(String value); + + /** + * 党建引领小程序,校验身份证号是否注册 + * @param idCard + * @return + */ + Integer selectCountByIdentityNo(String idCard); } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/UserService.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/UserService.java index a1b3efe95..42c032d0d 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/UserService.java +++ b/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 { @Deprecated Result verifyUserRegisterData(EpdcUserRegistFormDTO formDto); + Result mpmVerifyRegisterData(EpdcUserRegistFormDTO formDto); /** * 登录前,获取用户信息 * diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/impl/UserServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/impl/UserServiceImpl.java index 455d5e547..3b9c5a150 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/impl/UserServiceImpl.java +++ b/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 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 getUserRegisterAuditResult(String userId) { diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml index d374682ef..b1a8d7200 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml @@ -1984,4 +1984,8 @@ where USER_ID = #{userId} + +