From adbd7e73123eea15640d9fd1ab081379012c41e9 Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期五, 22 十月 2021 14:20:08 +0800 Subject: [PATCH] 河门口功能开发 --- springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 164 insertions(+), 6 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 d9ee378..877df07 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 @@ -14,6 +14,9 @@ import javax.annotation.Resource; +import cn.hutool.core.util.IdcardUtil; +import com.panzhihua.common.model.dtos.DataKanBansDto; +import com.panzhihua.common.model.vos.community.*; import com.panzhihua.service_user.dao.*; import com.panzhihua.service_user.model.dos.*; import org.apache.commons.lang.time.DateFormatUtils; @@ -56,8 +59,6 @@ import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.SystemmanagementConfigVO; -import com.panzhihua.common.model.vos.community.ComActVO; -import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO; import com.panzhihua.common.model.vos.grid.GridMemberVO; import com.panzhihua.common.model.vos.grid.admin.GridMemberBuildingVO; import com.panzhihua.common.model.vos.partybuilding.ActivityManagerVO; @@ -323,6 +324,7 @@ } loginUserInfoVO.setIsmemberrole(2); loginUserInfoVO.setIsFourMember(2); + loginUserInfoVO.setIsCommunityWorker(2); // 志愿者状态 String phone = sysUserDO.getPhone(); Long userCommunityId = sysUserDO.getCommunityId(); @@ -351,6 +353,7 @@ Integer isSysUser = userDao.selectCountSysUser(phone, userCommunityId); if (countTeam != null && countTeam > 0) { loginUserInfoVO.setIsmemberrole(1); + loginUserInfoVO.setIsCommunityWorker(1); } else if (selectCountMemberRole != null && selectCountMemberRole > 0) { loginUserInfoVO.setIsmemberrole(1); } else if (isSysUser != null && isSysUser > 0) { @@ -781,7 +784,7 @@ sysUserDO.setIdCard(idCard); // 通过身份证号判断性别以及出生日期 sysUserDO.setSex(IdCard.sex(idCard)); - sysUserDO.setBirthday(IdCard.birthDay(idCard)); + sysUserDO.setBirthday(IdcardUtil.getBirthDate(idCard)); if (!StringUtils.isEmpty(loginUserInfoVO.getJob())) { sysUserDO.setJob(loginUserInfoVO.getJob()); } @@ -1034,6 +1037,43 @@ this.putMenuRole(menuRoleVO); } } + if(roleId.intValue()==777777777){ + SysRoleDO sysRoleDO = new SysRoleDO(); + sysRoleDO.setRoleName("超级管理员"); + sysRoleDO.setRoleKey(Constants.STREET_ROLE_KEY + administratorsUserVO.getStreetId()); + sysRoleDO.setRoleSort(0); + sysRoleDO.setCreateBy(administratorsUserVO.getUserId()); + 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(); + List<Long> menu=new ArrayList<>(); + if(administratorsUserVO.getSocialType()==1){ + menu.add(233L); + menu.add(234L); + menu.add(235L); + menu.add(236L); + menu.add(237L); + } + else if(administratorsUserVO.getSocialType()==2){ + menu.add(233L); + menu.add(234L); + menu.add(236L); + menu.add(237L); + menu.add(238L); + } + else if(administratorsUserVO.getSocialType()==3){ + menu.add(233L); + menu.add(237L); + } + menuRoleVO.setMenuIds(menu); + menuRoleVO.setRoleId(roleId); + this.putMenuRole(menuRoleVO); + } + } SysRoleDO roleDO = roleDAO.selectById(roleId); if (ObjectUtils.isEmpty(roleDO)) { return R.fail("角色不存在"); @@ -1057,7 +1097,7 @@ } - if (insert > 0 && sysUserDO.getType() == 3) {// 添加的用户是社区账号时 + if (insert > 0 && sysUserDO.getType() == 3 &&sysUserDO.getStreetId()==null) {// 添加的用户是社区账号时 // 添加网格综合治理管理后台用户 SysUserDO sysUserDOWangGe = new SysUserDO(); BeanUtils.copyProperties(sysUserDO, sysUserDOWangGe); @@ -1101,6 +1141,49 @@ public R addUserBackstageProperty(AdministratorsUserVO administratorsUserVO) { SysUserDO sysUserDO = new SysUserDO(); Long roleId = administratorsUserVO.getRoleId(); + if(roleId.intValue()==777777777){ + SysRoleDO sysRoleDO = new SysRoleDO(); + sysRoleDO.setRoleName("三社超级管理员"); + List<Long> menu=new ArrayList<>(); + if(administratorsUserVO.getSocialType()==1){ + sysRoleDO.setRoleKey(Constants.STREET_ROLE_KEY + administratorsUserVO.getStreetId()); + menu.add(233L); + menu.add(234L); + menu.add(235L); + menu.add(236L); + menu.add(237L); + } + else if(administratorsUserVO.getSocialType()==2){ + sysRoleDO.setRoleKey("social_org" + administratorsUserVO.getStreetId()); + menu.add(233L); + menu.add(76L); + menu.add(234L); + menu.add(236L); + menu.add(237L); + menu.add(238L); + } + else if(administratorsUserVO.getSocialType()==3){ + sysRoleDO.setRoleKey("social_org_member" + administratorsUserVO.getStreetId()); + menu.add(233L); + menu.add(237L); + } + + sysRoleDO.setRoleSort(0); + sysRoleDO.setCreateBy(administratorsUserVO.getUserId()); + SysRoleDO sysRoleDO1 = roleDAO.selectOne( + new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getRoleKey, sysRoleDO.getRoleKey())); + if(sysRoleDO1!=null){ + sysRoleDO=sysRoleDO1; + roleId = sysRoleDO.getRoleId(); + }else{ + roleDAO.insert(sysRoleDO); + // 新街道管理员角色设置固定三社权限 + MenuRoleVO menuRoleVO = new MenuRoleVO(); + menuRoleVO.setMenuIds(menu); + menuRoleVO.setRoleId(roleId); + this.putMenuRole(menuRoleVO); + } + } SysRoleDO roleDO = roleDAO.selectById(roleId); if (ObjectUtils.isEmpty(roleDO)) { return R.fail("角色不存在"); @@ -1118,6 +1201,8 @@ throw new ServiceException("手机号已经存在"); } else if (e.getMessage().contains("union_account_type")) { throw new ServiceException("账户已经存在"); + }else if(e.getMessage().contains("23000")){ + throw new ServiceException("手机号已存在"); } } @@ -1195,7 +1280,12 @@ .anyMatch(sysRoleMenuDO -> sysRoleMenuDO.getMenuId().equals(menuId))).collect(Collectors.toList()); } if (!menuIds.isEmpty()) { - sysRoleMenuDAO.batchInsertWithRoleId(menuIds, roleId); + if(menuRoleVO.getMenuIds().isEmpty()){ + sysRoleMenuDAO.batchInsertWithRoleId(menuIds, roleId); + } + else { + sysRoleMenuDAO.batchInsertWithRoleId(menuRoleVO.getMenuIds(), roleId); + } } // for (int i = 0; i < menuIds.size(); i++) { // SysRoleMenuDO sysRoleMenuDO = sysRoleMenuDAO.selectOne(new QueryWrapper<SysRoleMenuDO>().lambda() @@ -1277,7 +1367,7 @@ } Long communityId = sysUserDO.getCommunityId(); Long communityId1 = administratorsUserVO.getCommunityId(); - if (communityId1.intValue() != communityId.intValue()) { + if (communityId1!=null&&communityId1.intValue() != communityId.intValue()) { return R.fail("用户不属于当前平台"); } // 删除用户 @@ -2674,4 +2764,72 @@ } } } + + /** + * 数据看板升级版 + * + * @return 运营后台数据看板升级版 + */ + @Override + public R dataKanBans(DataKanBansDto dataKanBansDto){ + IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(); + List<String> communityUserX = new ArrayList<>(); + List<Integer> communityUserY = new ArrayList<>(); + + List<String> communityActiveUserX = new ArrayList<>(); + List<Integer> communityActiveUserY = new ArrayList<>(); + List<Integer> communityActiveUserZ = new ArrayList<>(); + + List<DataKanbanDTO> dataKanbanDTOS = null; + if(dataKanBansDto.getType() != null && dataKanBansDto.getType().equals(DataKanBansDto.type.by)){ + dataKanbanDTOS = userDao.selectCommunityUserOrderMonth(); + }else{ + dataKanbanDTOS = userDao.selectCommunityUserOrder(); + } + if (!ObjectUtils.isEmpty(dataKanbanDTOS)) { + dataKanbanDTOS.forEach(dataKanbanDTO -> { + communityUserX.add(dataKanbanDTO.getName()); + communityUserY.add(dataKanbanDTO.getNum()); + }); + } + + // 获取最近二十天数据 + List<Date> serverndays = com.panzhihua.common.utlis.DateUtils.getOldDays(); + serverndays.forEach(date -> { + // 查询社区活动数量 + DataKanbanDTO dataKanbanDTO = userDao.selectCommunityAddUserOrder(date); + communityActiveUserX.add(DateFormatUtils.format(date, "MM-dd")); + communityActiveUserY.add(dataKanbanDTO.getNum()); + communityActiveUserZ.add(dataKanbanDTO.getDayNum()); + }); + indexDataKanbanVO.setCommunityActiveUserX(communityActiveUserX); + indexDataKanbanVO.setCommunityAddUserY(communityActiveUserY); + indexDataKanbanVO.setCommunityActiveUserY(communityActiveUserZ); + indexDataKanbanVO.setCommunityUserX(communityUserX); + indexDataKanbanVO.setCommunityUserY(communityUserY); + return R.ok(indexDataKanbanVO); + } + + /** + * 运营后台-用户数据统计汇总 + * @return 用户数据统计汇总 + */ + @Override + public R communityStatistics(){ + //返回结果数据 + IndexUserStatisticsVo userStatisticsVo = new IndexUserStatisticsVo(); + //查询所有街道 + List<IndexUserStreetVo> streetList = userDao.getUserStreetList(); + streetList.forEach(street -> { + List<IndexUserCommunityVo> communityList = userDao.getUserCommunityList(street.getStreetId()); + street.setCommunityList(communityList); + }); + userStatisticsVo.setStreetList(streetList); + return R.ok(userStatisticsVo); + } + + @Override + public R communityStatisticsExport(){ + return R.ok(userDao.getUserCommunityExcelExport()); + } } -- Gitblit v1.7.1