From 62ef4ba5d19e489e8cb0a87f0e95fbb945dd7fde Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期六, 05 六月 2021 23:48:28 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test --- springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 215 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 207 insertions(+), 8 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 6095980..1deb1b6 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 @@ -11,13 +11,16 @@ import com.panzhihua.common.model.dtos.PageDTO; import com.panzhihua.common.model.dtos.community.ExportUserDTO; import com.panzhihua.common.model.dtos.community.NoticeReadDTO; +import com.panzhihua.common.model.dtos.grid.*; import com.panzhihua.common.model.dtos.user.*; import com.panzhihua.common.model.vos.*; import com.panzhihua.common.model.vos.community.ComActVO; import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO; +import com.panzhihua.common.model.vos.grid.EventGridMemberRelationVO; 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.grid.GridService; import com.panzhihua.common.service.partybuilding.PartyBuildingService; import com.panzhihua.common.utlis.IdCard; import com.panzhihua.common.utlis.RealNameUtil; @@ -78,7 +81,8 @@ private SysMenuDAO sysMenuDAO; @Resource private SysUserInputDAO sysUserInputDAO; - +// @Resource +// private GridService gridService; /** * 小程序微信用户信息更新 @@ -233,6 +237,12 @@ // 志愿者状态 String phone = sysUserDO.getPhone(); Long userCommunityId = sysUserDO.getCommunityId(); + if(userCommunityId!=null){ + ComActVO comActVO = userDao.selectCommunity(userCommunityId); + if(comActVO!=null) { + loginUserInfoVO.setCommunityName(comActVO.getName()); + } + } if (!ObjectUtils.isEmpty(phone)) { ComMngVolunteerMngVO comMngVolunteerMngVO = userDao.selectVolunteerMngByPhone(phone); if (ObjectUtils.isEmpty(comMngVolunteerMngVO)) { @@ -865,6 +875,29 @@ } } + + 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())); Long userId = sysUserDO1.getUserId(); @@ -921,14 +954,19 @@ // 获取所有权限id List<SysMenuDO> menuDOList = sysMenuDAO.selectList(new QueryWrapper<SysMenuDO>().lambda().eq(SysMenuDO::getCommunityId, 2l).orderByAsc(SysMenuDO::getOrderNum)); - menuIds = menuDOList.stream().map(sysMenuDO -> sysMenuDO.getMenuId()).collect(Collectors.toList()); - for (int i = 0; i < menuIds.size(); i++) { - SysRoleMenuDO sysRoleMenuDO = new SysRoleMenuDO(); - sysRoleMenuDO.setMenuId(menuIds.get(i)); - sysRoleMenuDO.setRoleId(roleId); - sysRoleMenuDAO.insert(sysRoleMenuDO); + if(!menuDOList.isEmpty()){ + menuIds = menuDOList.stream().map(sysMenuDO -> sysMenuDO.getMenuId()).collect(Collectors.toList()); + for (int i = 0; i < menuIds.size(); i++) { + SysRoleMenuDO sysRoleMenuDO = sysRoleMenuDAO.selectOne(new QueryWrapper<SysRoleMenuDO>().lambda().eq(SysRoleMenuDO::getMenuId,menuIds.get(i)) + .eq(SysRoleMenuDO::getRoleId,roleId)); + if(sysRoleMenuDO == null){ + sysRoleMenuDO = new SysRoleMenuDO(); + sysRoleMenuDO.setMenuId(menuIds.get(i)); + sysRoleMenuDO.setRoleId(roleId); + sysRoleMenuDAO.insert(sysRoleMenuDO); + } + } } - return R.ok(); } @@ -1832,4 +1870,165 @@ return R.fail(); } } + + /** + * 添加网格员 + * @param eventGridMemberAddDTO 请求参数 + * @return 结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R addGridUser(EventGridMemberAddDTO eventGridMemberAddDTO) { + + SysRoleDO gridMemberDefaultRole = roleDAO.selectOne(new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, Constants.GRID_DEFAULT_ROLE_KEY)); + if(gridMemberDefaultRole==null) { + //添加默认网格员角色 + gridMemberDefaultRole = new SysRoleDO(); + gridMemberDefaultRole.setCommunityId(0L); + gridMemberDefaultRole.setRoleName("网格员默认角色"); + gridMemberDefaultRole.setRoleKey(Constants.GRID_DEFAULT_ROLE_KEY); + gridMemberDefaultRole.setRoleSort(0); + gridMemberDefaultRole.setCreateBy(eventGridMemberAddDTO.getUserId()); + int insert = roleDAO.insert(gridMemberDefaultRole); + if (insert!=1) { + throw new ServiceException("网格员默认角色添加失败"); + } + } + Long roleId = gridMemberDefaultRole.getRoleId(); + //新角色设置所有权限 + MenuRoleVO menuRoleVO = new MenuRoleVO(); + menuRoleVO.setIsAll(1); + menuRoleVO.setCommunityId(eventGridMemberAddDTO.getCommunityId()); + menuRoleVO.setRoleId(roleId); + this.putMenuRole(menuRoleVO); + + //参数校验 + SysUserDO oldUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType,6) + .eq(SysUserDO::getNickName,eventGridMemberAddDTO.getNickName())); + if(oldUserDO != null){ + return R.fail("昵称已使用"); + } + + SysUserDO sysUserDO = new SysUserDO(); + String encode = new BCryptPasswordEncoder().encode(eventGridMemberAddDTO.getPassword()); + eventGridMemberAddDTO.setPassword(encode); + BeanUtils.copyProperties(eventGridMemberAddDTO, sysUserDO); + sysUserDO.setType(6); + int insert = 0; + try { + insert = userDao.insert(sysUserDO); + SysUserRoleDO sysUserRoleDO = new SysUserRoleDO(); + sysUserRoleDO.setUserId(sysUserDO.getUserId()); + sysUserRoleDO.setRoleId(roleId); + sysUserRoleDAO.insert(sysUserRoleDO); + } 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){ + return R.ok(); + }else{ + return R.fail("添加失败"); + } + } + + /** + * 网格员管理 + * @param memberRelationDTO 请求参数 + * @return 网格员列表 + */ + @Override + public R getGridMemberList(PageEventGridMemberRelationDTO memberRelationDTO){ + return R.ok(userDao.getGridMemberList(new Page(memberRelationDTO.getPageNum(),memberRelationDTO.getPageSize()),memberRelationDTO)); + } + + /** + * 修改网格员信息 + * @param gridMemberDTO 请求参数 + * @return 修改结果 + */ + @Override + public R editGridUser(EventGridMemberEditAdminDTO gridMemberDTO){ + + if(gridMemberDTO.getGridMemberId() == null){ + return R.fail("参数错误"); + } + SysUserDO sysUserDO = userDao.selectById(gridMemberDTO.getGridMemberId()); + if(sysUserDO == null){ + return R.fail("参数错误"); + } + gridMemberDTO.setUserId(gridMemberDTO.getGridMemberId()); + + //参数校验 + SysUserDO oldUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType,6) + .eq(SysUserDO::getNickName,gridMemberDTO.getNickName())); + if(oldUserDO != null && !oldUserDO.getUserId().equals(gridMemberDTO.getGridMemberId())){ + return R.fail("昵称已使用"); + } + + BeanUtils.copyProperties(gridMemberDTO,sysUserDO); + + int insert = 0; + try { + insert = userDao.updateById(sysUserDO); + } 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){ + return R.ok(); + } + return R.fail("修改失败"); + } + + /** + * 重置网格员密码 + * @param gridMemberDTO 请求参数 + * @return 重置结果 + */ + @Override + public R passResetUser(EventGridMemberPassResetDTO gridMemberDTO){ + if(gridMemberDTO.getIds().isEmpty() || StringUtils.isEmpty(gridMemberDTO.getPassword())){ + return R.fail("参数错误"); + } + String encode = new BCryptPasswordEncoder().encode(gridMemberDTO.getPassword()); + gridMemberDTO.setPassword(encode); + userDao.passResetUser(gridMemberDTO); + return R.ok(); + } + + /** + * 批量删除网格员 + * @param Ids 网格员id集合 + * @return 删除结果 + */ + @Override + public R deleteMembers(List<Long> Ids){ + if(Ids.isEmpty()){ + return R.fail("参数有误"); + } + if(userDao.deleteBatchIds(Ids) > 0){ + return R.ok(); + } + return R.fail("删除失败"); + } + + @Override + public R gridMemberEditStatus(EventGridMemberEditStatusDTO gridMemberEditDTO){ + if(gridMemberEditDTO.getIds().isEmpty()){ + return R.fail("参数有误"); + } + userDao.gridMemberEditStatus(gridMemberEditDTO); + return R.ok(); + } } -- Gitblit v1.7.1