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 | 150 +++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 125 insertions(+), 25 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 059325f..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; @@ -194,6 +195,7 @@ loginUserInfoVO.setStatus(sysUserDO.getStatus()); loginUserInfoVO.setAccount(name); loginUserInfoVO.setType(sysUserDO.getType()); + loginUserInfoVO.setIsRealNamed(sysUserDO.getIdCard()!=null);//暂时 身份证判断实名制 List<SysRoleDO> roleDOList = roleDAO.selectByUserId(sysUserDO.getUserId()); Set<String> set = new HashSet<>(); if (!ObjectUtils.isEmpty(roleDOList)) { @@ -230,6 +232,7 @@ loginUserInfoVO.setIsmemberrole(2); // 志愿者状态 String phone = sysUserDO.getPhone(); + Long userCommunityId = sysUserDO.getCommunityId(); if (!ObjectUtils.isEmpty(phone)) { ComMngVolunteerMngVO comMngVolunteerMngVO = userDao.selectVolunteerMngByPhone(phone); if (ObjectUtils.isEmpty(comMngVolunteerMngVO)) { @@ -238,9 +241,10 @@ int state = comMngVolunteerMngVO.getState().intValue(); loginUserInfoVO.setVolunteerStatus(state); } - Integer countTeam = userDao.selectCountTeam(phone); - Integer selectCountMemberRole = userDao.selectCountMemberRole(phone); - Integer isSysUser = userDao.selectCountSysUser(phone); + //是否是"管理员"或者 本社区 "社区团队"、"党委成员" + Integer countTeam = userDao.selectCountTeam(phone, userCommunityId); + Integer selectCountMemberRole = userDao.selectCountMemberRole(phone, userCommunityId); + Integer isSysUser = userDao.selectCountSysUser(phone, userCommunityId); if (countTeam != null && countTeam > 0) { loginUserInfoVO.setIsmemberrole(1); } else if (selectCountMemberRole != null && selectCountMemberRole > 0) { @@ -249,6 +253,7 @@ loginUserInfoVO.setIsmemberrole(1); } } + loginUserInfoVO.setIsRealNamed(sysUserDO.getIdCard()!=null); return R.ok(loginUserInfoVO); } @@ -415,7 +420,7 @@ /** * 人员详情 - * + *detailuser * @param userId 用户id * @return 人员详情 */ @@ -509,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(); @@ -532,21 +556,25 @@ sysUserDO.setUserId(userId); SysUserDO userInDB = userDao.selectById(userId); - if(userInDB!=null) { - boolean isVol = userInDB.getIsVolunteer()==1; - if(isVol){ + if (userInDB != null) { + boolean isVol = userInDB.getIsVolunteer() == 1; + if (isVol) { return R.fail("用户已是志愿者"); } - if(userInDB.getType()!=1){ + if (userInDB.getType() != 1) { return R.fail("用户不是小程序用户"); } int update = userDao.updateById(sysUserDO); if (update > 0) { + //删除用户信息缓存 + String userKey = UserConstants.LOGIN_USER_INFO + userId; + stringRedisTemplate.delete(userKey); return R.ok(); } } return R.fail(); } + /** * 用户绑定社区、小区 * @@ -581,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()); @@ -600,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(); @@ -709,11 +753,12 @@ * @return 成员集合 */ @Override - public R listFamily(Long userId) { + public R listFamily(Long userId,Long pageNum, Long pageSize) { List<ComMngFamilyInfoVO> comMngFamilyInfoVOS = new ArrayList<>(); - List<ComMngFamilyInfoDO> comMngFamilyInfoDOS = comMngFamilyInfoDAO.selectList(new QueryWrapper<ComMngFamilyInfoDO>().lambda().eq(ComMngFamilyInfoDO::getUserId, userId)); - if (!ObjectUtils.isEmpty(comMngFamilyInfoDOS)) { - comMngFamilyInfoDOS.forEach(comMngFamilyInfoDO -> { + LambdaQueryWrapper<ComMngFamilyInfoDO> query = new QueryWrapper<ComMngFamilyInfoDO>().lambda().eq(ComMngFamilyInfoDO::getUserId, userId); + IPage<ComMngFamilyInfoDO> pageData = comMngFamilyInfoDAO.selectPage(new Page<>(pageNum,pageSize), query); + if (!ObjectUtils.isEmpty(pageData.getRecords())) { + pageData.getRecords().forEach(comMngFamilyInfoDO -> { ComMngFamilyInfoVO comMngFamilyInfoVO = new ComMngFamilyInfoVO(); BeanUtils.copyProperties(comMngFamilyInfoDO, comMngFamilyInfoVO); comMngFamilyInfoVOS.add(comMngFamilyInfoVO); @@ -736,6 +781,7 @@ if (!ObjectUtils.isEmpty(comMngFamilyInfoDO1)) { return R.fail("家庭成员已经存在"); } + comMngFamilyInfoDO.setAge(IdCard.IdNOToAge(comMngFamilyInfoVO.getIdCard())); int insert = comMngFamilyInfoDAO.insert(comMngFamilyInfoDO); if (insert > 0) { return R.ok(); @@ -753,6 +799,7 @@ public R putFamily(ComMngFamilyInfoVO comMngFamilyInfoVO) { ComMngFamilyInfoDO comMngFamilyInfoDO = new ComMngFamilyInfoDO(); BeanUtils.copyProperties(comMngFamilyInfoVO, comMngFamilyInfoDO); + comMngFamilyInfoDO.setAge(IdCard.IdNOToAge(comMngFamilyInfoVO.getIdCard())); int update = comMngFamilyInfoDAO.updateById(comMngFamilyInfoDO); if (update > 0) { return R.ok(); @@ -1361,6 +1408,7 @@ @Override public R indexDataCommunityBackstage(Long communityId) { IndexDataVO indexDataVO = userDao.indexDataCommunityBackstage(communityId); + //查询后台党员数量 return R.ok(indexDataVO); } @@ -1403,15 +1451,42 @@ */ @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(); + } + /** * 获取各种协议 @@ -1498,10 +1573,13 @@ String idCard = sysUserDO.getIdCard(); if (!ObjectUtils.isEmpty(idCard)) { communityUserInfoVO.setAge(IdCard.IdNOToAge(idCard)); - communityUserInfoVO.setBirthday(IdCard.birthDay(idCard)); + communityUserInfoVO.setBirthday(sysUserDO.getBirthday()); communityUserInfoVO.setIdCard(idCard); } communityUserInfoVO.setCreateAt(sysUserDO.getCreateAt()); + communityUserInfoVO.setCardPhotoBack(sysUserDO.getCardPhotoBack()); + communityUserInfoVO.setCardPhotoFront(sysUserDO.getCardPhotoFront()); + communityUserInfoVO.setFamilyBook(sysUserDO.getFamilyBook()); communityUserInfoVO.setName(sysUserDO.getName()); String phone = sysUserDO.getPhone(); communityUserInfoVO.setPhone(phone); @@ -1657,7 +1735,7 @@ return R.fail("账户已经存在"); } } - return R.fail(); + return R.ok(); } /** @@ -1702,4 +1780,26 @@ return R.fail(); } } + + @Override + public R getUserArchives(Long userId) { + //查询用户信息 + SysUserDO userDO = userDao.selectById(userId); + if (userDO == null) { + return R.fail("未查询到用户信息"); + } + UserArchivesVO userArchivesVO = new UserArchivesVO(); + BeanUtils.copyProperties(userDO, userArchivesVO); + userArchivesVO.setUserId(userDO.getUserId()); + return R.ok(userArchivesVO); + } + + @Override + public R updateUserArchives(UpdateUserArchivesVO userArchivesVO) { + if(userArchivesVO.getUserId()==null){ + return R.fail("未查询到用户信息"); + } + userDao.updateUserArchives(userArchivesVO); + return R.ok(); + } } -- Gitblit v1.7.1