From eef6d2bcdb29348efe4ef17bc45a4c6886b487b1 Mon Sep 17 00:00:00 2001 From: lidongdong <1459917685@qq.com> Date: 星期四, 11 七月 2024 18:16:26 +0800 Subject: [PATCH] 花城 【小程序】统计排行添加是否是问题清单标识5 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComStreetServiceImpl.java | 342 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 304 insertions(+), 38 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComStreetServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComStreetServiceImpl.java index 20bd18e..6041455 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComStreetServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComStreetServiceImpl.java @@ -1,5 +1,44 @@ package com.panzhihua.service_community.service.impl; +import java.util.*; +import java.util.stream.Collectors; + + +import javax.annotation.Resource; + + +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.panzhihua.common.model.dtos.community.building.BuildingDto; +import com.panzhihua.common.model.dtos.community.large.AreaStreetDetail; +import com.panzhihua.common.model.dtos.community.large.AreaStreetDetailResp; +import com.panzhihua.common.model.dtos.community.large.SumAreaStreetResp; +import com.panzhihua.common.model.dtos.partybuilding.QryReportResp; +import com.panzhihua.common.model.vos.StreetVO; +import com.panzhihua.common.model.vos.area.StreetAndBuildVO; +import com.panzhihua.common.model.vos.community.bigscreen.ScreenStatics; +import com.panzhihua.common.model.vos.community.screen.event.EventPopulationSpecialStatisticsVO; +import com.panzhihua.common.model.vos.neighbor.ActivityAnalysisVO; +import com.panzhihua.common.model.vos.neighbor.UnitActivityAnalysisVO; +import com.panzhihua.common.model.vos.user.AdministratorsUserVO; +import com.panzhihua.common.service.community.CommunityService; +import com.panzhihua.common.service.user.UserService; +import com.panzhihua.common.utlis.Snowflake; +import com.panzhihua.service_community.dao.*; + +import com.panzhihua.service_community.entity.ComEvent; + +import com.panzhihua.service_community.service.ComAreaTownCommunityService; +import com.panzhihua.service_community.util.MyAESUtil; +import com.panzhihua.service_community.util.WxDataUtil; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; + import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -10,19 +49,10 @@ import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActVO; import com.panzhihua.common.model.vos.community.ComStreetVO; -import com.panzhihua.service_community.dao.ComActDAO; -import com.panzhihua.service_community.dao.ComStreetDAO; import com.panzhihua.service_community.model.dos.ComActDO; import com.panzhihua.service_community.model.dos.ComStreetDO; import com.panzhihua.service_community.service.ComStreetService; -import org.springframework.beans.BeanUtils; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import org.springframework.stereotype.Service; -import org.springframework.util.ObjectUtils; - -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; +import org.springframework.util.StringUtils; /** * @author: llming @@ -36,17 +66,28 @@ @Resource private ComStreetDAO comStreetDAO; + @Resource + private UserService userService; + + @Resource + private ComEventMapper comEventMapper; + + @Autowired + private CommunityService communityService; + + @Resource + private StringRedisTemplate stringRedisTemplate; + /** * 新增社区 * - * @param comStreetVO 街道信息 + * @param comStreetVO + * 街道信息 * @return 新增结果 */ @Override - public R addStreet(ComStreetVO comStreetVO) { - String password = comStreetVO.getPassword(); - String encode = new BCryptPasswordEncoder().encode(password); - comStreetVO.setPassword(encode); + @Transactional + public R<ComStreetVO> addStreet(ComStreetVO comStreetVO) { ComStreetDO comStreetDO = new ComStreetDO(); LambdaQueryWrapper<ComStreetDO> param = new QueryWrapper<ComStreetDO>().lambda(); param.eq(ComStreetDO::getName, comStreetVO.getName()); @@ -55,23 +96,40 @@ param.eq(ComStreetDO::getAreaCode, comStreetVO.getAreaCode()); Integer integer = comStreetDAO.selectCount(param); if (integer > 0) { - return R.fail("街道已经存在"); + return R.fail(500, "街道已经存在"); } - BeanUtils.copyProperties(comStreetVO, comStreetDO); - int insert = comStreetDAO.insert(comStreetDO); - if (insert > 0) { - ComStreetDO comStreetDO1 = comStreetDAO.selectOne(param); - BeanUtils.copyProperties(comStreetDO1, comStreetVO); - return R.ok(comStreetVO); + AdministratorsUserVO administratorsUserVO=new AdministratorsUserVO(); + administratorsUserVO.setType(3); + administratorsUserVO.setAccount(comStreetVO.getAccount()); + administratorsUserVO.setPassword(comStreetVO.getPassword()); + administratorsUserVO.setSocialType(1); + administratorsUserVO.setRoleId(777777777L); + administratorsUserVO.setStreetId(0L); + administratorsUserVO.setName(comStreetVO.getName()); + administratorsUserVO.setUserId(Snowflake.getId()); + R r=userService.addUserBackstageProperty(administratorsUserVO); + if(R.isOk(r)){ + BeanUtils.copyProperties(comStreetVO, comStreetDO); + int insert = comStreetDAO.insert(comStreetDO); + if (insert > 0) { + AdministratorsUserVO administratorsUserVO1=new AdministratorsUserVO(); + administratorsUserVO1.setUserId(Long.parseLong(r.getData().toString())); + administratorsUserVO1.setStreetId(comStreetDO.getStreetId()); + userService.updateStreet(administratorsUserVO1); + ComStreetDO comStreetDO1 = comStreetDAO.selectOne(param); + BeanUtils.copyProperties(comStreetDO1, comStreetVO); + return R.ok(comStreetVO); + } + return R.fail(500, ""); } - return R.fail(); + return R.fail("账号已存在"); } - /** * 查询街道 * - * @param comStreetVO 街道名 + * @param comStreetVO + * 街道名 * @return 社区集合 */ @Override @@ -99,7 +157,8 @@ /** * 社区详情 * - * @param streetId 街道id + * @param streetId + * 街道id * @return 社区详情 */ @Override @@ -108,16 +167,17 @@ if (ObjectUtils.isEmpty(comStreetDO)) { return R.fail(); } - ComActVO comActVO = new ComActVO(); - BeanUtils.copyProperties(comStreetDO, comActVO); - comActVO.setAreaName(comActDAO.selectAreaName(comActVO.getAreaCode())); - return R.ok(comActVO); + ComStreetVO comStreetVO = new ComStreetVO(); + BeanUtils.copyProperties(comStreetDO, comStreetVO); + comStreetVO.setAdministrativeRegions(comStreetDAO.retrieveRegions(comStreetVO.getAreaCode().toString())); + return R.ok(comStreetVO); } /** * 分页查询社区 * - * @param pageComStreetDTO 查询参数 + * @param pageComStreetDTO + * 查询参数 * @return 分页集合 */ @Override @@ -126,10 +186,10 @@ Long pageNum = pageComStreetDTO.getPageNum(); Long pageSize = pageComStreetDTO.getPageSize(); if (null == pageNum || 0 == pageNum) { - pageNum = 1l; + pageNum = 1L; } if (null == pageSize || 0 == pageSize) { - pageSize = 10l; + pageSize = 10L; } page.setSize(pageSize); page.setCurrent(pageNum); @@ -137,22 +197,27 @@ if (pageComStreetDTO.getName() != null) { userLambdaQueryWrapper.like(ComStreetDO::getName, pageComStreetDTO.getName()); } + if (pageComStreetDTO.getAreaCode() != null) { + userLambdaQueryWrapper.like(ComStreetDO::getAreaCode, pageComStreetDTO.getAreaCode()); + } Page userPage = new Page(pageNum, pageSize); - IPage<ComStreetDO> doPager = comStreetDAO.selectPage(userPage, userLambdaQueryWrapper.orderByDesc(ComStreetDO::getCreateAt)); + IPage<ComStreetDO> doPager = + comStreetDAO.selectPage(userPage, userLambdaQueryWrapper.orderByDesc(ComStreetDO::getCreateAt)); return R.ok(doPager); } - /** * 批量删除街道 * - * @param streetIds 社区id + * @param streetIds + * 社区id * @return 删除结果 */ @Override public R delectStreat(List<Long> streetIds) { - //不能删除,已经绑定了社区的街道 - LambdaQueryWrapper<ComActDO> comActDOParam = new QueryWrapper<ComActDO>().lambda().in(ComActDO::getStreetId, streetIds); + // 不能删除,已经绑定了社区的街道 + LambdaQueryWrapper<ComActDO> comActDOParam = + new QueryWrapper<ComActDO>().lambda().in(ComActDO::getStreetId, streetIds); List<ComActDO> comActDOS = comActDAO.selectList(comActDOParam); if (comActDOS != null && comActDOS.size() > 0) { return R.fail("删除失败,批量删除街道中,街道下有社区无法删除!"); @@ -165,4 +230,205 @@ } + /** + * 修改街道信息 + * @param comStreetVO 街道信息 + * */ + @Override + public R update(ComStreetVO comStreetVO) { + ComStreetDO comStreetDO=new ComStreetDO(); + BeanUtils.copyProperties(comStreetVO,comStreetDO ); + return R.ok(comStreetDAO.updateById(comStreetDO)); + } + + /** + * 删除街道 + * */ + @Override + public R remove(Long id) { + //是否有未结事件 + List<Long> longs = comActDAO.selectCommunityByStreetId(id); + List<ComEvent> comEvents = comEventMapper.selectList(new QueryWrapper<ComEvent>().lambda().in(ComEvent::getEventProcessStatus, (4), (6), (7), (8)).in(ComEvent::getRequestUserCommunity, longs)); + if (comEvents.size()!=0){ + return R.fail("有未结事件不可删除"); + } + comStreetDAO.deleteById(id); + return R.ok(); + } + + @Override + public R removeCommunity(Long id) { + //是否有未结案件 + List<ComEvent> comEvents = comEventMapper.selectList(new QueryWrapper<ComEvent>().lambda().in(ComEvent::getEventProcessStatus, (4), (6), (7), (8)).eq(ComEvent::getRequestUserCommunity, id)); + if (comEvents.size()!=0){ + return R.fail("有未结事件不可删除"); + } + comActDAO.deleteById(id); + return R.ok(); + } + + @Override + public R repassCommunity(ComActVO comActVO) { + ComActDO comActDO=new ComActDO(); + try { + comActDO.setPassword(MyAESUtil.Encrypt(comActVO.getPassword(),"Ryo7M3n8loC5Abcd" )); + } catch (Exception e) { + e.printStackTrace(); + } + comActDO.setCommunityId(comActVO.getCommunityId()); + return R.ok(comActDAO.updateById(comActDO)); + } + + @Override + public R repssStreet(ComStreetVO comActVO) { + ComStreetDO comStreetDO=new ComStreetDO(); + try { + comStreetDO.setPassword(MyAESUtil.Encrypt(comActVO.getPassword(),"Ryo7M3n8loC5Abcd" )); + } catch (Exception e) { + e.printStackTrace(); + } + comStreetDO.setStreetId(comActVO.getStreetId()); + return R.ok(comStreetDAO.updateById(comStreetDO)); + } + + @Override + public R panzhihuaMap(String areaCode) { + + List<ComActVO> comActVOS = comActDAO.panzhihuaMap(areaCode); + return R.ok(comActVOS); + } + + @Override + public R searchStreet(BuildingDto buildingDto) { + QueryWrapper<ComStreetDO> wrapper = new QueryWrapper<>(); + wrapper.eq(buildingDto.getAreaCode()!= null,"area_code",buildingDto.getAreaCode()); + wrapper.eq("app_id","wx118de8a734d269f0"); + List<ComStreetDO> comStreetDOS = comStreetDAO.selectList(wrapper); +// ArrayList<ComStreetDO> collect = comStreetDOS.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>( +// Comparator.comparing(ComStreetDO::getAreaCode))), ArrayList::new)); + List<StreetVO> list = comStreetDOS.stream().map(v -> { + StreetVO vo = new StreetVO(); + vo.setStreetId(String.valueOf(v.getStreetId())); + vo.setName(v.getName()); + return vo; + }).collect(Collectors.toList()); + return R.ok(list); + } + + @Override + public R oneTagThreeReal(Long street) { + List<StreetAndBuildVO> streetAndBuildVOS = comActDAO.oneTagThreeReal(street); + return R.ok(streetAndBuildVOS); + } + + @Override + public R getScreenStatics() { + ScreenStatics screenStatics = comActDAO.getScreenStatics(); + WxDataUtil wxDataUtil=new WxDataUtil(); + //微信查询较慢 数据时有 时没有 缓存到 redis 里 + //日 活跃 + if(null != wxDataUtil.getDayUser()){ + stringRedisTemplate.opsForValue().set("WxDataUtil_Day",String.valueOf(wxDataUtil.getDayUser())); + screenStatics.setDayUser(wxDataUtil.getDayUser()); + }else { + Object obj = stringRedisTemplate.opsForValue().get("WxDataUtil_Day"); + screenStatics.setDayUser(Integer.valueOf((String)obj)); + } + //月 活跃 + if(null != wxDataUtil.getMonthUser()){ + stringRedisTemplate.opsForValue().set("WxDataUtil_Month",String.valueOf(wxDataUtil.getMonthUser())); + screenStatics.setCountUser(wxDataUtil.getMonthUser()); + }else { + Object obj = stringRedisTemplate.opsForValue().get("WxDataUtil_Month"); + screenStatics.setCountUser(Integer.valueOf((String)obj)); + } + return R.ok(screenStatics); + } + + @Override + public R populationStatics(Long streetId) { + StreetAndBuildVO vo = new StreetAndBuildVO(); + List<StreetAndBuildVO> list = comActDAO.oneTagThreeReal(streetId); + if(list != null){ + for (StreetAndBuildVO basics : list) { + vo.setPeopleNum(vo.getPeopleNum() + basics.getPeopleNum()); + vo.setVillageNum(vo.getVillageNum() + basics.getVillageNum()); + vo.setBuildNum(vo.getBuildNum() + basics.getBuildNum()); + } + } + EventPopulationSpecialStatisticsVO populationSpecial = comActDAO.getPopulationSpecial(streetId); + if(populationSpecial != null){ + populationSpecial.setOtherTotal(populationSpecial.getZjTotal() + populationSpecial.getSfTotal() + + populationSpecial.getXsTotal() + populationSpecial.getXjTotal() + + populationSpecial.getJzTotal() + populationSpecial.getXdTotal()); + populationSpecial.setLnTotal(comActDAO.getPopulationAge(streetId,60)); + populationSpecial.setGlTotal(comActDAO.getPopulationAge(streetId,80)); + vo.setSpecialStatisticsVo(populationSpecial); + } + vo.setSpecialStatisticsVo(populationSpecial); + return R.ok(vo); + } + + @Override + public R probably(Integer year,String belongTo) { + ActivityAnalysisVO activityVO=new ActivityAnalysisVO(); +// String beginTime=null; +// String endTime=null; +// if (null != year){ +// //设置开始,截止时间 +// beginTime=year.toString().concat("-01-01"); +// endTime=year.toString().concat("-12-31"); +// } + activityVO.setUnitCount(comActDAO.arriveUnit(belongTo)); + R r = communityService.institutionalUnitServiceAnalysis(year, null, null, null, + null, null, belongTo, null, null,null); + Object data = r.getData(); + String jsonString = JSON.toJSONString(data); + ActivityAnalysisVO activityAnalysisVO = JSON.parseObject(jsonString, ActivityAnalysisVO.class); + activityVO.setUnitServiceTotalTime(activityAnalysisVO.getUnitServiceTotalTime()); + return R.ok(activityVO); + } + + @Override + public SumAreaStreetResp sumAreaStreet() { + SumAreaStreetResp resp = comActDAO.sumAreaStreet(); + return resp; + } + + @Override + public AreaStreetDetail areaStreetDetail(String code, String type) { + //根据层级 查询 社区id + LambdaQueryWrapper<ComActDO> qry = new LambdaQueryWrapper<>(); + if(type.equals("1")){// 1 查询 大区 + qry.eq( !StringUtils.isEmpty(code),ComActDO::getAreaCode,code); + } + if(type.equals("2")){// 2 查询 街道 + qry.eq( !StringUtils.isEmpty(code),ComActDO::getStreetId,code); + } + if(type.equals("3")){// 3 查询 小区 + qry.eq( !StringUtils.isEmpty(code),ComActDO::getCommunityId,code); + } +// qry.eq(ComActDO::getAppId,"wx118de8a734d269f0"); + List<ComActDO> doList = comActDAO.selectList(qry); + //解析 社区id + List<Long> ids = doList.stream().map(ComActDO::getCommunityId).collect(Collectors.toList()); + + AreaStreetDetail result = new AreaStreetDetail(); + if(CollectionUtil.isNotEmpty(ids)){ + //查询 街道相关信息 + AreaStreetDetailResp village = comActDAO.selectVillage(ids,type); + result.setAreaStreetDetailResp(village); + //查询 人口相关数据 + EventPopulationSpecialStatisticsVO eventResult = comActDAO.selectEvent(ids); + result.setEventPopulationVO(eventResult); + } + return result; + } + + + @Override + public List<QryReportResp> qryReport(String yearTime) { + List<QryReportResp> result = comActDAO.qryReport(yearTime); + return result; + } } -- Gitblit v1.7.1