From a7d2d03fe177a58c22e960e9c87b32f7b05be74f Mon Sep 17 00:00:00 2001 From: CeDo <cedoo@qq.com> Date: 星期六, 01 五月 2021 22:57:48 +0800 Subject: [PATCH] add:添加小程序实名认证接口过滤(部分) --- springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 212 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 131 insertions(+), 81 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 cff81cd..7ab3706 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 人员详情 */ @@ -518,6 +523,36 @@ return R.fail(); } + + /** + * 修改用户志愿者状态 + * + * @param userId 志愿者用户ID + * @param type + */ + @Override + public R putUserIsVolunteerById(Long userId, int type) { + SysUserDO sysUserDO = new SysUserDO(); + sysUserDO.setIsVolunteer(type); + sysUserDO.setUserId(userId); + + SysUserDO userInDB = userDao.selectById(userId); + if (userInDB != null) { + boolean isVol = userInDB.getIsVolunteer() == 1; + if (isVol) { + return R.fail("用户已是志愿者"); + } + if (userInDB.getType() != 1) { + return R.fail("用户不是小程序用户"); + } + int update = userDao.updateById(sysUserDO); + if (update > 0) { + return R.ok(); + } + } + return R.fail(); + } + /** * 用户绑定社区、小区 * @@ -551,6 +586,7 @@ //接入第三方实名认证 String idCard = loginUserInfoVO.getIdCard(); String name = loginUserInfoVO.getName(); + log.info("用户实名认证发送请求,姓名:" + name + "身份证号码:" + idCard); boolean b = RealNameUtil.authentication(idCard, name); if (!b) { return R.fail("身份认证失败:公安系统认证错误"); @@ -570,6 +606,14 @@ } int update = userDao.updateById(sysUserDO); if (update > 0) { + //实名认证成功查询是否有已审核的党员信息,有则更新党员信息绑定党员的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(); @@ -679,11 +723,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); @@ -706,6 +751,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(); @@ -723,6 +769,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(); @@ -745,11 +792,11 @@ Long communityId = administratorsUserVO.getCommunityId(); //新增社区高级管理员角色 SysRoleDO sysRoleDO = new SysRoleDO(); - if(roleId.intValue() == 999999999){ + if (roleId.intValue() == 999999999) { sysRoleDO.setCommunityId(communityId); sysRoleDO.setRoleName("超级管理员"); sysRoleDO.setRoleKey(Constants.ADMIN_SHOP_ROLE_KEY + communityId); - }else{ + } else { sysRoleDO.setCommunityId(0L); sysRoleDO.setRoleName(administratorsUserVO.getShopStoreName()); sysRoleDO.setRoleKey(Constants.SHOP_ROLE_KEY + administratorsUserVO.getShopStorePhone()); @@ -1373,14 +1420,13 @@ */ @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); + userDao.updateById(sysUserDO); log.info("新增党员修改用户党员状态成功 身份证号【{}】", idCard); - return R.ok(); } - return R.fail(); + return R.ok(); } /** @@ -1468,10 +1514,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); @@ -1573,46 +1622,34 @@ /** * 新增SysUser - * @param storeVO 请求参数 - * @return 新增结果 + * + * @param storeVO 请求参数 + * @return 新增结果 */ @Override - public R addSysUser(ShopStoreVO storeVO){ + public R addSysUser(ShopStoreVO storeVO) { SysUserDO sysUserDO = new SysUserDO(); - Long roleId = 888888888L; - if (roleId.intValue() == 999999999 || roleId.intValue() == 888888888) { - Long communityId = 0L; - //新增社区高级管理员角色 - SysRoleDO sysRoleDO = new SysRoleDO(); - if(roleId.intValue() == 999999999){ - sysRoleDO.setCommunityId(communityId); - sysRoleDO.setRoleName("超级管理员"); - sysRoleDO.setRoleKey(Constants.ADMIN_SHOP_ROLE_KEY + communityId); - }else{ - sysRoleDO.setCommunityId(0L); - sysRoleDO.setRoleName(storeVO.getName()); - sysRoleDO.setRoleKey(Constants.SHOP_ROLE_KEY + storeVO.getStoreAccount()); - } - sysRoleDO.setRoleSort(0); - sysRoleDO.setCreateBy(storeVO.getLoginUserId()); - int insert = roleDAO.insert(sysRoleDO); - if (insert > 0) { - SysRoleDO sysRoleDO1 = roleDAO.selectOne(new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, sysRoleDO.getRoleKey())); - roleId = sysRoleDO1.getRoleId(); - //新角色设置所有权限 - MenuRoleVO menuRoleVO = new MenuRoleVO(); - menuRoleVO.setIsAll(1); - menuRoleVO.setCommunityId(communityId); - menuRoleVO.setRoleId(roleId); - this.putMenuRole(menuRoleVO); - } + Long communityId = 0L; + //新增社区高级管理员角色 + SysRoleDO sysRoleDO = new SysRoleDO(); + sysRoleDO.setCommunityId(0L); + sysRoleDO.setRoleName(storeVO.getName()); + sysRoleDO.setRoleKey(Constants.SHOP_ROLE_KEY + storeVO.getStoreAccount()); + sysRoleDO.setRoleSort(0); + sysRoleDO.setCreateBy(storeVO.getLoginUserId()); + int insert = roleDAO.insert(sysRoleDO); + if (insert < 0) { + return R.fail(); } + //新角色设置所有权限 + MenuRoleVO menuRoleVO = new MenuRoleVO(); + menuRoleVO.setIsAll(1); + menuRoleVO.setCommunityId(communityId); + menuRoleVO.setRoleId(sysRoleDO.getRoleId()); + this.putMenuRole(menuRoleVO); - SysRoleDO roleDO = roleDAO.selectById(roleId); - if (ObjectUtils.isEmpty(roleDO)) { - return R.fail("角色不存在"); - } + //sys_user 表 String encode = new BCryptPasswordEncoder().encode(storeVO.getStorePassword()); BeanUtils.copyProperties(storeVO, sysUserDO); sysUserDO.setAccount(storeVO.getStoreAccount()); @@ -1622,47 +1659,37 @@ sysUserDO.setPhone(storeVO.getPhone()); sysUserDO.setName(storeVO.getContacts()); sysUserDO.setPassword(encode); - int insert = 0; try { insert = userDao.insert(sysUserDO); - //把SysUserId赋值给店铺 - if(sysUserDO.getUserId() != null){ - userDao.updateStoreByPhone(storeVO.getPhone(),sysUserDO.getUserId()); + if (sysUserDO.getUserId() != null) { + userDao.updateStoreByPhone(storeVO.getPhone(), sysUserDO.getUserId()); } } catch (Exception e) { e.printStackTrace(); log.error("新增后台用户报错【{}】", e.getMessage()); if (e.getMessage().contains("union_phone_type")) { - throw new ServiceException("手机号已经存在"); + userDao.deleteStoreByPhoneAndStatus(storeVO.getPhone()); + roleDAO.deleteByRoleKey(Constants.SHOP_ROLE_KEY + storeVO.getStoreAccount()); + return R.fail("手机号已经存在"); } else if (e.getMessage().contains("union_account_type")) { - throw new ServiceException("账户已经存在"); + return R.fail("账户已经存在"); } } - if (insert > 0) { - SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, 5).eq(SysUserDO::getAccount, storeVO.getStoreAccount())); - Long userId = sysUserDO1.getUserId(); - SysUserRoleDO sysUserRoleDO = new SysUserRoleDO(); - sysUserRoleDO.setUserId(userId); - sysUserRoleDO.setRoleId(roleDO.getRoleId()); - int insert1 = sysUserRoleDAO.insert(sysUserRoleDO); - if (insert1 > 0) { - return R.ok(); - } - } - return R.fail(); + return R.ok(); } /** * 修改SysUser用户信息 - * @param storeVO 请求参数 - * @return 修改结果 + * + * @param storeVO 请求参数 + * @return 修改结果 */ @Override - public R editSysUser(ShopStoreVO storeVO){ - SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone,storeVO.getPhone()) - .eq(SysUserDO::getType,5)); - if(sysUserDO1 == null){ + public R editSysUser(ShopStoreVO storeVO) { + SysUserDO sysUserDO1 = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getPhone, storeVO.getPhone()) + .eq(SysUserDO::getType, 5)); + if (sysUserDO1 == null) { return R.fail("未查询到后台管理用户!"); } String encode = new BCryptPasswordEncoder().encode(storeVO.getStorePassword()); @@ -1675,22 +1702,45 @@ /** * 修改用户小程序首页活动提示 - * @param userEditTipsDTO 请求参数 - * @return 修改结果 + * + * @param userEditTipsDTO 请求参数 + * @return 修改结果 */ - public R editUserTips(SysUserEditTipsDTO userEditTipsDTO){ + public R editUserTips(SysUserEditTipsDTO userEditTipsDTO) { //查询用户信息 SysUserDO userDO = userDao.selectById(userEditTipsDTO.getUserId()); - if(userDO == null){ + if (userDO == null) { return R.fail("未查询到用户信息"); } //修改用户信息 userDO.setIsTips(userEditTipsDTO.getIsTips()); userDao.updateById(userDO); - if(userDao.updateById(userDO) > 0){ + if (userDao.updateById(userDO) > 0) { return R.ok(); - }else{ + } else { 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