From a8bbb3cc15c6f85d420f6eac1381c2ed6eb9efe9 Mon Sep 17 00:00:00 2001 From: CeDo <cedoo@qq.com> Date: 星期四, 13 五月 2021 21:40:52 +0800 Subject: [PATCH] bugfixed:实名认证重试 --- springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 90 +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 79 insertions(+), 11 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java index bcb4fd7..7447a73 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java @@ -18,6 +18,7 @@ import com.panzhihua.common.model.vos.partybuilding.ActivityManagerVO; import com.panzhihua.common.model.vos.shop.ShopStoreVO; import com.panzhihua.common.model.vos.user.*; +import com.panzhihua.common.service.partybuilding.PartyBuildingService; import com.panzhihua.common.utlis.IdCard; import com.panzhihua.common.utlis.RealNameUtil; import com.panzhihua.common.utlis.SensitiveUtil; @@ -252,6 +253,7 @@ loginUserInfoVO.setIsmemberrole(1); } } + loginUserInfoVO.setIsRealNamed(sysUserDO.getIdCard()!=null); return R.ok(loginUserInfoVO); } @@ -512,10 +514,29 @@ */ @Override public R putUserIsVolunteer(String phone, int type) { + SysUserDO sysUserDO = new SysUserDO(); sysUserDO.setIsVolunteer(type); + //????根据手机号匹配 int update = userDao.update(sysUserDO, new UpdateWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone, phone)); if (update > 0) { + ComMngVolunteerMngVO comMngVolunteerMngVO = userDao.selectVolunteerMngByPhone(phone); + if(comMngVolunteerMngVO!=null&&comMngVolunteerMngVO.getSubmitUserId()!=null) { + Long userId = comMngVolunteerMngVO.getSubmitUserId(); + //删除用户信息缓存 + String userKey = UserConstants.LOGIN_USER_INFO + userId; + stringRedisTemplate.delete(userKey); + }else{ + List<SysUserDO> userDOList = userDao.selectList(new LambdaQueryWrapper<SysUserDO>().eq(SysUserDO::getPhone, phone)); + if(userDOList!=null && userDOList.size()>0){ + userDOList.forEach(usrDo ->{ + Long userId = usrDo.getUserId(); + //删除用户信息缓存 + String userKey = UserConstants.LOGIN_USER_INFO + userId; + stringRedisTemplate.delete(userKey); + }); + } + } return R.ok(); } return R.fail(); @@ -545,6 +566,9 @@ } int update = userDao.updateById(sysUserDO); if (update > 0) { + //删除用户信息缓存 + String userKey = UserConstants.LOGIN_USER_INFO + userId; + stringRedisTemplate.delete(userKey); return R.ok(); } } @@ -585,15 +609,20 @@ String idCard = loginUserInfoVO.getIdCard(); String name = loginUserInfoVO.getName(); log.info("用户实名认证发送请求,姓名:" + name + "身份证号码:" + idCard); - boolean b = RealNameUtil.authentication(idCard, name); - if (!b) { - return R.fail("身份认证失败:公安系统认证错误"); + try { + boolean b = RealNameUtil.authentication(idCard, name); + if (!b) { + return R.fail("身份认证失败:请填写真实信息"); + } + }catch (ServiceException serviceException){ + return R.fail(serviceException.getMessage()); } SysUserDO sysUserDO = new SysUserDO(); sysUserDO.setName(name); sysUserDO.setIdCard(idCard); - sysUserDO.setSex(loginUserInfoVO.getSex()); - sysUserDO.setBirthday(loginUserInfoVO.getBirthday()); + //通过身份证号判断性别以及出生日期 + sysUserDO.setSex(IdCard.sex(idCard)); + sysUserDO.setBirthday(IdCard.birthDay(idCard)); sysUserDO.setJob(loginUserInfoVO.getJob()); sysUserDO.setUserId(loginUserInfoVO.getUserId()); sysUserDO.setFaceUrl(loginUserInfoVO.getFaceUrl()); @@ -604,6 +633,17 @@ } int update = userDao.updateById(sysUserDO); if (update > 0) { + //清空缓存 + String userKey = UserConstants.LOGIN_USER_INFO + loginUserInfoVO.getUserId(); + stringRedisTemplate.delete(userKey); + //实名认证成功查询是否有已审核的党员信息,有则更新党员信息绑定党员的userId + Long memberId = userDao.getPartyBuildingByIdCard(idCard); + if(memberId != null){ + sysUserDO.setIsPartymember(1); + userDao.updateById(sysUserDO); + //修改审核绑定的userId + userDao.updateComPbMemberUserId(idCard,sysUserDO.getUserId()); + } return R.ok(); } return R.fail(); @@ -1368,6 +1408,7 @@ @Override public R indexDataCommunityBackstage(Long communityId) { IndexDataVO indexDataVO = userDao.indexDataCommunityBackstage(communityId); + //查询后台党员数量 return R.ok(indexDataVO); } @@ -1410,17 +1451,44 @@ */ @Override public R updateUserIsPartymember(String idCard) { - SysUserDO sysUserDO = new SysUserDO(); - sysUserDO.setIsPartymember(1); - int update = userDao.update(sysUserDO, new UpdateWrapper<SysUserDO>().lambda().eq(SysUserDO::getIdCard, idCard)); - if (update > 0) { + SysUserDO sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getIdCard,idCard).eq(SysUserDO::getType,1)); + if(sysUserDO != null){ + sysUserDO.setIsPartymember(1); + int updated = userDao.updateById(sysUserDO); + if(updated>0){ + //删除用户信息缓存 + String userKey = UserConstants.LOGIN_USER_INFO + sysUserDO.getUserId(); + stringRedisTemplate.delete(userKey); + } log.info("新增党员修改用户党员状态成功 身份证号【{}】", idCard); - return R.ok(); } - return R.fail(); + return R.ok(); } /** + * 修改用户的党员状态 + * + * @param idCard 身份证号 + * @return 修改结果 + */ + @Override + public R updateUserNotPartymember(String idCard) { + SysUserDO sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getIdCard,idCard).eq(SysUserDO::getType,1)); + if(sysUserDO != null){ + sysUserDO.setIsPartymember(0); + int updated = userDao.updateById(sysUserDO); + if(updated>0) { + //删除用户信息缓存 + String userKey = UserConstants.LOGIN_USER_INFO + sysUserDO.getUserId(); + stringRedisTemplate.delete(userKey); + } + log.info("新增党员修改用户为非党员状态成功 身份证号【{}】", idCard); + } + return R.ok(); + } + + + /** * 获取各种协议 * * @param type 1居民端app协议 2网格员端app协议 3商家端app协议 4隐私政策 -- Gitblit v1.7.1