From c02e4e8ebd88f2d277935111ca16f2119adbac23 Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期日, 24 七月 2022 10:20:57 +0800 Subject: [PATCH] bug修改 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java | 198 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 186 insertions(+), 12 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java index 3cd5ced..0277595 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java @@ -4,8 +4,13 @@ import javax.annotation.Resource; +import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.PageUtil; import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.common.model.vos.PageVO; import com.panzhihua.common.service.user.UserService; +import com.panzhihua.service_community.entity.ComPbCheckUnit; import com.panzhihua.service_community.service.ComActNeighborCircleTopicService; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.BeanUtils; @@ -30,6 +35,7 @@ import com.panzhihua.service_community.service.ComActNeighborCircleService; import lombok.extern.slf4j.Slf4j; +import org.springframework.util.CollectionUtils; /** * @auther lyq @@ -70,9 +76,11 @@ @Resource private ComPbMemberDAO comPbMemberDAO; @Resource + private ComActNeighborCircleDAO comActNeighborCircleDAO; + @Resource private ComActActivityDAO comActActivityDAO; - @Resource ComActNeighborCircleDAO comActNeighborCircleDAO; - + @Resource + private ComPbCheckUnitDao comPbCheckUnitDao; /** * 分页查询邻里圈列表 * @@ -229,6 +237,18 @@ ComActDO actDO = comActDAO.selectById(circleDetailAppVO.getCommunityId()); if (actDO != null) { circleDetailAppVO.setName(actDO.getName()); + } + } + if(circleDetailAppVO.getOrderType()!=null){ + if(circleDetailAppVO.getOrderType()==2){ + AdministratorsUserVO user1 = this.baseMapper.selectUserByUserId(circleDetailAppVO.getSolveId()); + circleDetailAppVO.setSolveName(user1.getName()); + } + if(circleDetailAppVO.getOrderType()==1){ + ComPbCheckUnit comPbCheckUnit=comPbCheckUnitDao.selectById(circleDetailAppVO.getSolveUnitId()); + if(comPbCheckUnit!=null){ + circleDetailAppVO.setSolveName(comPbCheckUnit.getName()); + } } } @@ -458,6 +478,7 @@ ComActNeighborCircleCommentDO circleCommentDO = comActNeighborCircleCommentDAO.selectById(fabulousAppDTO.getServiceId()); if (circleCommentDO != null) { + circleCommentDO.setFabulousNum(circleCommentDO.getFabulousNum() + 1); comActNeighborCircleCommentDAO.updateById(circleCommentDO); //计算需要增加的热度值 @@ -674,7 +695,7 @@ return R.fail(); } if (comActNeighborCircleDO.getStatus() == 1) { - return R.fail("待审核的邻里圈不能删除"); + return R.fail("待审核的数据不能删除"); } // 邻里圈删除 this.baseMapper.deleteById(id); @@ -704,8 +725,22 @@ AdministratorsUserVO user = this.baseMapper.selectUserByUserId(comActNeighborCircleDO.getReleaseId()); DetailNeighborCircleAdminVO vo = new DetailNeighborCircleAdminVO(); BeanUtils.copyProperties(comActNeighborCircleDO, vo); - vo.setReleaseName(user.getName()); - vo.setImageUrl(user.getImageUrl()); + if(user!=null){ + vo.setReleaseName(user.getName()); + vo.setImageUrl(user.getImageUrl()); + } + if(comActNeighborCircleDO.getOrderType()!=null){ + if(comActNeighborCircleDO.getOrderType()==2){ + AdministratorsUserVO user1 = this.baseMapper.selectUserByUserId(comActNeighborCircleDO.getSolveId()); + vo.setSolveName(user1.getName()); + } + if(comActNeighborCircleDO.getOrderType()==1){ + ComPbCheckUnit comPbCheckUnit=comPbCheckUnitDao.selectById(comActNeighborCircleDO.getSolveUnitId()); + if(comPbCheckUnit!=null){ + vo.setSolveName(comPbCheckUnit.getName()); + } + } + } // 查询话题名称 if (comActNeighborCircleDO.getTopicId() != null) { @@ -998,7 +1033,7 @@ ComPbMemberDO comPbMemberDO=comPbMemberDAO.selectOne(new QueryWrapper<ComPbMemberDO>().lambda().eq(ComPbMemberDO::getPhone,serviceStaticDTO.getPhone()).last("limit 1")); if(comPbMemberDO!=null){ serviceStaticsVO.setWorkActivityList(comActActivityDAO.selectListByRelationId(comPbMemberDO.getCheckUnitId(),serviceStaticDTO.getYear())); - serviceStaticsVO.setServiceActivityList(comActActivityDAO.selectListByCommunityId(comPbMemberDO.getCommunityId(),serviceStaticDTO.getYear())); + serviceStaticsVO.setServiceActivityList(comActActivityDAO.selectListByCommunityId(comPbMemberDO.getCommunityId(),serviceStaticDTO.getYear(),serviceStaticDTO.getPhone())); } } @@ -1006,7 +1041,7 @@ } @Override - public R institutionalUnitServiceAnalysis(Integer year, Integer type, Integer range, Long communityId) { + public R institutionalUnitServiceAnalysis(Integer year, Integer type, Integer range, Long communityId,Integer page,Integer size,String belongTo,Long unitId) { ActivityAnalysisVO activityVO=new ActivityAnalysisVO(); String beginTime=null; String endTime=null; @@ -1019,9 +1054,9 @@ activityVO.setPartyMemberCount(comActDAO.selectUnitCount()); activityVO.setUnitCount(comActDAO.selectMemberCount()); //获取单位活动统计数据(邻里圈) - List<UnitActivityAnalysisVO> unitActivityAnalysisVOS = comActNeighborCircleDAO.institutionalUnitServiceAnalysis(beginTime, endTime, communityId); + List<UnitActivityAnalysisVO> unitActivityAnalysisVOS = comActNeighborCircleDAO.institutionalUnitServiceAnalysis(beginTime, endTime, belongTo,communityId); //获取单位活动统计数据(活动) - List<UnitActivityAnalysisVO> unitActivityAnalysisVOS1 = comActNeighborCircleDAO.institutionalUnitActivityAnalysis(beginTime, endTime, communityId); + List<UnitActivityAnalysisVO> unitActivityAnalysisVOS1 = comActNeighborCircleDAO.institutionalUnitActivityAnalysis(beginTime, endTime, belongTo,communityId); if (unitActivityAnalysisVOS.size()>0){ for (UnitActivityAnalysisVO unitActivityAnalysisVO : unitActivityAnalysisVOS){ if (ObjectUtils.isNotEmpty(unitActivityAnalysisVO)){ @@ -1062,9 +1097,89 @@ } } //获取党员活动统计数据 - List<PartyMemberAnalysisVO> partyMemberAnalysisVOS = comActNeighborCircleDAO.institutionalPartyMemberServiceAnalysis(beginTime, endTime, communityId); - activityVO.setUnitList(unitActivityAnalysisVOS); - activityVO.setPartyMemberList(partyMemberAnalysisVOS); + List<PartyMemberAnalysisVO> partyMemberAnalysisVOS = comActNeighborCircleDAO.institutionalPartyMemberServiceAnalysis(beginTime, endTime, belongTo,communityId,unitId); + List<PartyMemberAnalysisVO> partyMemberAnalysisVOS1 = comActNeighborCircleDAO.institutionalPartyMemberActAnalysis(beginTime, endTime, belongTo,communityId,unitId); + if (partyMemberAnalysisVOS1.size()>0){ + for (PartyMemberAnalysisVO vo : partyMemberAnalysisVOS1) { + if (ObjectUtils.isNotEmpty(vo)){ + if (ObjectUtils.isNotEmpty(vo.getMemberId())){ + Map<String, Integer> param = memberAlreadyAnalysis(vo.getMemberId(), partyMemberAnalysisVOS); + if (param.get("flag")==1){ + Integer serviceTime = vo.getServiceTime(); + Integer serviceTimes = vo.getServiceTimes(); + partyMemberAnalysisVOS.get(param.get("index")).setServiceTime(partyMemberAnalysisVOS.get(param.get("index")).getServiceTime()+serviceTime); + partyMemberAnalysisVOS.get(param.get("index")).setServiceTimes(partyMemberAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes); + }else{ + partyMemberAnalysisVOS.add(vo); + } + } + } + } + } + //统计总时长和总次数 + Integer unitServiceCount=0; + Integer unitServiceTotalTime=0; + Integer memberServiceCount=0; + Integer memberServiceTotalTome=0; + for (UnitActivityAnalysisVO vo : unitActivityAnalysisVOS) { + //避免空指针 + if (ObjectUtils.isNotEmpty(vo)){ + if (ObjectUtils.isNotEmpty(vo.getServiceTime())){ + unitServiceCount+=vo.getServiceTime(); + } + if (ObjectUtils.isNotEmpty(vo.getServiceTimes())){ + unitServiceTotalTime+=vo.getServiceTimes(); + } + } + } + for (PartyMemberAnalysisVO vo : partyMemberAnalysisVOS) { + //避免空指针 + if (ObjectUtils.isNotEmpty(vo)){ + if (ObjectUtils.isNotEmpty(vo.getServiceTime())){ + memberServiceCount+=vo.getServiceTime(); + } + if (ObjectUtils.isNotEmpty(vo.getServiceTimes())){ + memberServiceTotalTome+=vo.getServiceTimes(); + } + } + } + activityVO.setUnitServiceTotalCount(unitServiceCount); + activityVO.setUnitServiceTotalTime(unitServiceTotalTime); + activityVO.setPartyMemberServiceTotalCount(memberServiceCount); + activityVO.setPartyMemberServiceTotalTime(memberServiceTotalTome); + //处理排序 +// if (null != type){ +// if (type.equals(1)){ +// //按时长排序 +// ListUtil.sortByProperty(unitActivityAnalysisVOS, "serviceTime"); +// ListUtil.sortByProperty(partyMemberAnalysisVOS, "serviceTime"); +// }else if (type.equals(2)){ +// //按次数排序 +// ListUtil.sortByProperty(unitActivityAnalysisVOS, "serviceTimes"); +// ListUtil.sortByProperty(partyMemberAnalysisVOS, "serviceTimes"); +// } +// } + //处理分页 + PageVO<List<UnitActivityAnalysisVO>> unitPage=new PageVO<>(); + PageVO<List<PartyMemberAnalysisVO>> memberPage=new PageVO<>(); + if (ObjectUtils.isNotEmpty(page) && ObjectUtils.isNotEmpty(size)){ + //分页处理 + unitPage.setRecordsCount(unitActivityAnalysisVOS.size()); + unitPage.setPage(page); + unitPage.setPages(getPages(unitPage.getRecordsCount(),size )); + memberPage.setPage(page); + memberPage.setRecordsCount(partyMemberAnalysisVOS.size()); + memberPage.setPages(getPages(memberPage.getRecordsCount(), size)); + //处理分页的结果 + unitPage.setRecords(subUnitList((ArrayList) unitActivityAnalysisVOS, page,size)); + memberPage.setRecords(subUnitList((ArrayList)partyMemberAnalysisVOS,page ,size)); + + }else { + unitPage.setRecords(unitActivityAnalysisVOS); + memberPage.setRecords(partyMemberAnalysisVOS); + } + activityVO.setUnitList(unitPage); + activityVO.setPartyMemberList(memberPage); return R.ok(activityVO); } @@ -1098,6 +1213,65 @@ return map; } + /** + * 计算总页数 + * */ + public Integer getPages(Integer record,Integer size){ + if (null != record && null != size){ + int pages = PageUtil.totalPage(record, size); + return pages; + } + return 0; + } + + /** + * 分页截取 + * */ + public List<Object> subUnitList(List<Object> list, int page, int size){ + try { + //计算endIndex是否超出List大小 + final Boolean flag=((page-1)*size+size) > list.size(); + if (1 == page || 0 == page){ + //第一页 + return list.subList(0,size); + }else if (flag){ + return ListUtil.sub(list, (page-1)*size-1, list.size()-1); + } + else { + return list.subList((page-1)*size, (page-1)*size+size); + } + }catch (Exception e){ + //返回原集合 + return list; + } + } + + /** + * 判断党员的统计是是否已存在 + * */ + public Map<String,Integer> memberAlreadyAnalysis(Long memberId,List<PartyMemberAnalysisVO> list){ + Map<String,Integer> map=new HashMap<>(); + if (memberId != null && list.size() > 0){ + for (int i=0;i<list.size();i++) { + PartyMemberAnalysisVO vo = list.get(i); + if (ObjectUtils.isNotEmpty(vo)){ + if (ObjectUtils.isNotEmpty(vo.getMemberId())){ + if (memberId.equals(vo.getMemberId())){ + map.put("index",i ); + map.put("flag",1 ); + return map; + } + } + } + } + } + map.put("flag",0 ); + return map; + } + + + + -- Gitblit v1.7.1