From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 09 六月 2025 11:54:00 +0800 Subject: [PATCH] 6.9新增登录失败冻结逻辑 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComStreetServiceImpl.java | 290 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 272 insertions(+), 18 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 f7d596b..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,13 +1,40 @@ package com.panzhihua.service_community.service.impl; -import java.util.List; +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.security.crypto.bcrypt.BCryptPasswordEncoder; +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; @@ -22,11 +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.util.StringUtils; /** * @author: llming @@ -43,6 +69,15 @@ @Resource private UserService userService; + @Resource + private ComEventMapper comEventMapper; + + @Autowired + private CommunityService communityService; + + @Resource + private StringRedisTemplate stringRedisTemplate; + /** * 新增社区 * @@ -53,9 +88,6 @@ @Override @Transactional public R<ComStreetVO> addStreet(ComStreetVO comStreetVO) { - String password = comStreetVO.getPassword(); - String encode = new BCryptPasswordEncoder().encode(password); - comStreetVO.setPassword(encode); ComStreetDO comStreetDO = new ComStreetDO(); LambdaQueryWrapper<ComStreetDO> param = new QueryWrapper<ComStreetDO>().lambda(); param.eq(ComStreetDO::getName, comStreetVO.getName()); @@ -66,14 +98,31 @@ if (integer > 0) { 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(500, ""); + return R.fail("账号已存在"); } /** @@ -118,10 +167,10 @@ 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); } /** @@ -147,6 +196,9 @@ LambdaQueryWrapper<ComStreetDO> userLambdaQueryWrapper = Wrappers.lambdaQuery(); 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 = @@ -177,4 +229,206 @@ return R.fail(); } + + /** + * 修改街道信息 + * @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