From db3376279794f2216be07cc2bb298c9a2faf33e6 Mon Sep 17 00:00:00 2001 From: CeDo <cedoogle@gmail.com> Date: 星期一, 31 五月 2021 18:16:19 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/test_future_wangge' into test_future_wangge --- springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 155 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 139 insertions(+), 16 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 cec81ac..4a86927 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)) { @@ -251,6 +253,7 @@ loginUserInfoVO.setIsmemberrole(1); } } + loginUserInfoVO.setIsRealNamed(sysUserDO.getIdCard()!=null); return R.ok(loginUserInfoVO); } @@ -511,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(); @@ -544,6 +566,9 @@ } int update = userDao.updateById(sysUserDO); if (update > 0) { + //删除用户信息缓存 + String userKey = UserConstants.LOGIN_USER_INFO + userId; + stringRedisTemplate.delete(userKey); return R.ok(); } } @@ -560,7 +585,7 @@ public R putUserCommunityArea(LoginUserInfoVO loginUserInfoVO) { SysUserDO sysUserDO = new SysUserDO(); sysUserDO.setCommunityId(loginUserInfoVO.getCommunityId()); - sysUserDO.setAreaId(loginUserInfoVO.getAreaId()); +// sysUserDO.setAreaId(loginUserInfoVO.getAreaId()); sysUserDO.setUserId(loginUserInfoVO.getUserId()); int update = userDao.updateById(sysUserDO); if (update > 0) { @@ -584,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()); @@ -603,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(); @@ -712,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).orderByDesc(ComMngFamilyInfoDO::getCreateAt); + 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); @@ -822,6 +864,29 @@ throw new ServiceException("账户已经存在"); } + } + + if(insert>0 && sysUserDO.getType()==3){//添加的用户是社区账号时 + //添加网格综合治理管理后台用户 + SysUserDO sysUserDOWangGe = new SysUserDO(); + BeanUtils.copyProperties(sysUserDO, sysUserDOWangGe); + sysUserDOWangGe.setUserId(null); + sysUserDOWangGe.setType(7);//网格综治后台 + try { + int addWange = userDao.insert(sysUserDOWangGe); + if(addWange!=1){ + throw new ServiceException("新增网格综合治理管理后台用户失败"); + } + } catch (Exception e) { + e.printStackTrace(); + log.error("网格综合治理管理后台用户报错【{}】", e.getMessage()); + if (e.getMessage().contains("union_phone_type")) { + throw new ServiceException("手机号已经存在"); + } else if (e.getMessage().contains("union_account_type")) { + throw new ServiceException("账户已经存在"); + } + + } } if (insert > 0) { SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, administratorsUserVO.getType()).eq(SysUserDO::getAccount, administratorsUserVO.getAccount())); @@ -1366,6 +1431,7 @@ @Override public R indexDataCommunityBackstage(Long communityId) { IndexDataVO indexDataVO = userDao.indexDataCommunityBackstage(communityId); + //查询后台党员数量 return R.ok(indexDataVO); } @@ -1408,15 +1474,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(); + } + /** * 获取各种协议 @@ -1732,4 +1825,34 @@ userDao.updateUserArchives(userArchivesVO); return R.ok(); } + + /** + * 修改app用户密码 + * @param userInfoAppDTO 请求参数 + * @return 修改结果 + */ + @Override + public R updateUserPassByApp(EditUserInfoPassAppDTO userInfoAppDTO){ + if(userInfoAppDTO.getOldPassword().equals(userInfoAppDTO.getNewPassword())){ + return R.fail("新密码不可与原密码相同"); + } + //查询用户信息 + SysUserDO userDO = userDao.selectById(userInfoAppDTO.getUserId()); + if (userDO == null) { + return R.fail("未查询到用户信息"); + } + BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); + if (!passwordEncoder.matches(userInfoAppDTO.getOldPassword(),userDO.getPassword())) { + return R.fail("原密码错误"); + } + if(!userInfoAppDTO.getNewPassword().equals(userInfoAppDTO.getConfirmPassword())){ + return R.fail("两次输入的新密码不一致"); + } + userDO.setPassword(passwordEncoder.encode(userInfoAppDTO.getNewPassword())); + if (userDao.updateById(userDO) > 0) { + return R.ok(); + } else { + return R.fail(); + } + } } -- Gitblit v1.7.1