From 09f916c01456fe30fbcbc9bb96ed18633cdd72a0 Mon Sep 17 00:00:00 2001
From: LuoTong <2232327099qq.com>
Date: 星期三, 24 四月 2024 14:52:46 +0800
Subject: [PATCH] 活跃度
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComStreetServiceImpl.java | 350 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 312 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 c9ca2ba..96b920d 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,18 +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.List;
+import org.springframework.util.StringUtils;
/**
* @author: llming
@@ -35,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());
@@ -54,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
@@ -85,14 +144,21 @@
if (comStreetVO.getAreaCode() != null) {
param.eq(ComStreetDO::getAreaCode, comStreetVO.getAreaCode());
}
+ List<ComStreetVO> voList = Lists.newArrayList();
List<ComStreetDO> comStreetDOS = comStreetDAO.selectList(param);
- return R.ok(comStreetDOS);
+ comStreetDOS.forEach(dos -> {
+ ComStreetVO vo = new ComStreetVO();
+ BeanUtils.copyProperties(dos, vo);
+ voList.add(vo);
+ });
+ return R.ok(voList);
}
/**
* 社区详情
*
- * @param streetId 街道id
+ * @param streetId
+ * 街道id
* @return 社区详情
*/
@Override
@@ -101,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
@@ -119,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);
@@ -130,21 +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);
+ 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("删除失败,批量删除街道中,街道下有社区无法删除!");
@@ -157,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)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_Day");
+ screenStatics.setCountUser((Integer) 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