From ccd28a0c35e8fff74da6ef63042fb8a896d78f7f Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期三, 29 六月 2022 09:45:52 +0800 Subject: [PATCH] 单位服务统计 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java | 237 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 216 insertions(+), 21 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 c904152..ebb6550 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 @@ -1,11 +1,16 @@ package com.panzhihua.service_community.service.impl; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; import javax.annotation.Resource; +import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.date.DateUtil; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.common.model.vos.common.ComPbCheckUnitVo; +import com.panzhihua.common.service.user.UserService; +import com.panzhihua.service_community.service.ComActNeighborCircleTopicService; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -15,6 +20,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.constants.NeighborCircleConstants; import com.panzhihua.common.model.dtos.neighbor.*; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.neighbor.*; @@ -60,16 +66,35 @@ private ComActDAO comActDAO; @Resource private ComActNeighborCircleTopicMapper comActNeighborCircleTopicMapper; - + @Resource + private ComActNeighborCircleTopicService comActNeighborCircleTopicService; + @Resource + private UserService userService; + @Resource + private ComPbMemberDAO comPbMemberDAO; + @Resource + private ComActNeighborCircleDAO comActNeighborCircleDAO; /** * 分页查询邻里圈列表 - * + * * @param neighborCircleAppDTO * 请求参数 * @return 邻里圈列表 */ @Override public R pageNeighborByApp(ComActNeighborCircleAppDTO neighborCircleAppDTO) { +// if(neighborCircleAppDTO.getCommunityId()==0L){ +// R<LoginUserInfoVO> loginUserInfoVOR=userService.getUserInfoByUserId(neighborCircleAppDTO.getUserId().toString()); +// if(R.isOk(loginUserInfoVOR)){ +// LoginUserInfoVO loginUserInfoVO=loginUserInfoVOR.getData(); +// if(loginUserInfoVO!=null){ +// ComPbMemberDO comPbMemberDO=comPbMemberDAO.selectOne(new QueryWrapper<ComPbMemberDO>().lambda().eq(ComPbMemberDO::getIdCard,loginUserInfoVO.getIdCard())); +// if(comPbMemberDO!=null){ +// neighborCircleAppDTO.setCommunityId(comPbMemberDO.getCommunityId()); +// } +// } +// } +// } Page userPage = new Page(neighborCircleAppDTO.getPageNum(), neighborCircleAppDTO.getPageSize()); IPage<ComActNeighborCircleAppVO> doPager = this.baseMapper.pageNeighborByApp(userPage, neighborCircleAppDTO); if (!doPager.getRecords().isEmpty()) { @@ -102,9 +127,46 @@ return R.ok(doPager); } + @Override + public R selectSolve(ComActNeighborCircleAppDTO neighborCircleAppDTO) { + IPage<ComActNeighborCircleAppVO> doPager=this.baseMapper.selectSolve(new Page<ComActNeighborCircleDO>(neighborCircleAppDTO.getPageNum(),neighborCircleAppDTO.getPageSize()),neighborCircleAppDTO); + if (!doPager.getRecords().isEmpty()) { + for (ComActNeighborCircleAppVO circleAppVO : doPager.getRecords()) { + if (neighborCircleAppDTO.getSolveId() != null) { + // 查询点赞信息 + ComActNeighborCircleFabulousDO circleFabulousDO = + comActNeighborCircleFabulousDAO.selectOne(new QueryWrapper<ComActNeighborCircleFabulousDO>() + .lambda().eq(ComActNeighborCircleFabulousDO::getParentId, circleAppVO.getId()) + .eq(ComActNeighborCircleFabulousDO::getUserId, neighborCircleAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType, ComActNeighborCircleFabulousDO.type.llq) + .eq(ComActNeighborCircleFabulousDO::getIsEffective, + ComActNeighborCircleFabulousDO.isEffective.yes)); + if (circleFabulousDO != null) { + circleAppVO.setHaveSign(1); + } else { + circleAppVO.setHaveSign(2); + } + } + ComActDO actDO = comActDAO.selectById(circleAppVO.getCommunityId()); + if (circleAppVO.getType() != null && circleAppVO.getType().equals(ComActNeighborCircleDO.type.admin)) { + if (actDO != null) { + circleAppVO.setName(actDO.getName()); + } + } + else { + if (actDO != null) { + circleAppVO.setCommunityName(actDO.getName()); + } + } + + } + } + return R.ok(doPager); + } + /** * 用户发布邻里圈审核 - * + * * @param addNeighborCircleAppDTO * 邻里圈请求参数 * @return 发布结果 @@ -123,7 +185,23 @@ if (StringUtils.isNotEmpty(addNeighborCircleAppDTO.getPhone())) { neighborCircleDO.setReleasePhone(addNeighborCircleAppDTO.getPhone()); } - if (this.baseMapper.insert(neighborCircleDO) > 0) { + //判断当前邻里圈是否需要审核 + if(addNeighborCircleAppDTO.getIsExamine().equals(AddComActNeighborCircleAppDTO.isExamine.no)){ + //当邻里圈不需要审核才进入自动审核 + //判断邻里圈自动审核结果 + if(addNeighborCircleAppDTO.getWxExamineResult().equals(AddComActNeighborCircleAppDTO.isExamine.yes)){ + neighborCircleDO.setStatus(ComActNeighborCircleDO.status.xs); + if(neighborCircleDO.getTopicId() != null){ + //给邻里圈话题添加邻里圈数量 + comActNeighborCircleTopicMapper.addCount(neighborCircleDO.getTopicId()); + } + }else{ + neighborCircleDO.setStatus(ComActNeighborCircleDO.status.bh); + neighborCircleDO.setRefuseReason("内容违规"); + } + } + + if(this.baseMapper.insert(neighborCircleDO) > 0){ return R.ok(); } else { return R.fail("发布失败"); @@ -132,7 +210,7 @@ /** * 查看邻里圈详情 - * + * * @param neighborCircleAppDTO * 请求参数 * @return 邻里圈详情 @@ -236,8 +314,10 @@ Page page = new Page(neighborCircleAdminDTO.getPageNum(), neighborCircleAdminDTO.getPageSize()); IPage<ComActNeighborCircleAdminVO> doPager = this.baseMapper.pageNeighborByAdmin(page, neighborCircleAdminDTO); doPager.getRecords().forEach(data -> { - if (data.getUserType() != 1) { - data.setReleaseName(data.getCommunityName()); + if(data.getUserType()!=null){ + if (data.getUserType() != 1) { + data.setReleaseName(data.getCommunityName()); + } } }); return R.ok(doPager); @@ -266,6 +346,7 @@ comActNeighborCircleDO.setLastCommentNum(0); comActNeighborCircleDO.setLastFabulousNum(0); comActNeighborCircleDO.setLastViewsNum(0); + comActNeighborCircleDO.setBelongType(addVO.getBelongType()); this.baseMapper.insert(comActNeighborCircleDO); return R.ok(); } @@ -281,12 +362,17 @@ neighborCircleDO.setRefuseReason(editVO.getRefuseReason()); } this.baseMapper.updateById(neighborCircleDO); + + if(editVO.getStatus().equals(EditNeighborCircleAdminVO.status.xs) && neighborCircleDO.getTopicId() != null){ + //给邻里圈话题添加邻里圈数量 + comActNeighborCircleTopicMapper.addCount(neighborCircleDO.getTopicId()); + } return R.ok(neighborCircleDO.getReleaseId()); } /** * 用户查询邻里圈列表 - * + * * @param neighborCircleAppDTO * 请求参数 * @return 邻里圈列表 @@ -295,7 +381,7 @@ public R neighborExamineByApp(ComActNeighborCircleAppDTO neighborCircleAppDTO) { IPage<ComActNeighborCircleAppVO> neighborCircleIPage = this.baseMapper.neighborExamineByApp( new Page<>(neighborCircleAppDTO.getPageNum(), neighborCircleAppDTO.getPageSize()), - neighborCircleAppDTO.getUserId()); + neighborCircleAppDTO.getUserId(),neighborCircleAppDTO.getBelongType()); if (!neighborCircleIPage.getRecords().isEmpty()) { for (ComActNeighborCircleAppVO circleAppVO : neighborCircleIPage.getRecords()) { // 查询点赞信息 @@ -318,7 +404,7 @@ /** * 邻里圈点赞 - * + * * @param fabulousAppDTO * 请求参数 * @return 点赞结果 @@ -349,7 +435,11 @@ if (neighborCircleDO != null) { neighborCircleDO.setFabulousNum(neighborCircleDO.getFabulousNum() + 1); neighborCircleDO.setViewsNum(neighborCircleDO.getViewsNum() + 1); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM + NeighborCircleConstants.VIEW_HOT_NUM; + neighborCircleDO.setHotNum(neighborCircleDO.getHotNum() + hotNum); this.baseMapper.updateById(neighborCircleDO); + comActNeighborCircleTopicMapper.addHotNum(neighborCircleDO.getTopicId(),hotNum); circleFabulousDO.setCircleId(neighborCircleDO.getId()); } // 添加邻里圈浏览记录 @@ -371,6 +461,10 @@ if (circleCommentDO != null) { circleCommentDO.setFabulousNum(circleCommentDO.getFabulousNum() + 1); comActNeighborCircleCommentDAO.updateById(circleCommentDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM + NeighborCircleConstants.VIEW_HOT_NUM; + this.baseMapper.addTopicHotNum(circleCommentDO.getCircleId(),hotNum); + this.baseMapper.addHotNum(circleCommentDO.getCircleId(),hotNum); circleFabulousDO.setCircleId(circleCommentDO.getCircleId()); } } else if (fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.hf)) { @@ -389,6 +483,10 @@ if (circleCommentReplyDO != null) { circleCommentReplyDO.setFabulousNum(circleCommentReplyDO.getFabulousNum() + 1); comActNeighborCircleCommentReplyDAO.updateById(circleCommentReplyDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM + NeighborCircleConstants.VIEW_HOT_NUM; + this.baseMapper.addTopicHotNum(circleCommentReplyDO.getCircleId(),hotNum); + this.baseMapper.addHotNum(circleCommentReplyDO.getCircleId(),hotNum); circleFabulousDO.setCircleId(circleCommentReplyDO.getCircleId()); } } @@ -401,7 +499,7 @@ /** * 邻里圈转发 - * + * * @param forwardAppDTO * 请求参数 * @return 转发结果 @@ -419,7 +517,11 @@ return R.fail("没有找到邻里圈"); } circleDO.setForwardNum(circleDO.getForwardNum() + 1); - if (this.baseMapper.updateById(circleDO) > 0) { + if (this.baseMapper.updateById(circleDO) > 0){ + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.VIEW_HOT_NUM; + this.baseMapper.addHotNum(forwardAppDTO.getCircleId(),hotNum); + this.baseMapper.addTopicHotNum(forwardAppDTO.getCircleId(),hotNum); return R.ok(); } else { return R.fail("转发失败"); @@ -428,7 +530,7 @@ /** * 邻里圈评论 - * + * * @param commentAppDTO * 请求参数 * @return 评论结果 @@ -447,6 +549,11 @@ neighborCircleDO.setReplyAt(new Date()); this.baseMapper.updateById(neighborCircleDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.COMMENT_HOT_NUM; + this.baseMapper.addHotNum(commentAppDTO.getCircleId(),hotNum); + this.baseMapper.addTopicHotNum(commentAppDTO.getCircleId(),hotNum); + circleCommentDO.setCircleId(commentAppDTO.getCircleId()); circleCommentDO.setUserId(commentAppDTO.getUserId()); circleCommentDO.setUserPhone(commentAppDTO.getPhone()); @@ -464,7 +571,7 @@ /** * 邻里圈回复 - * + * * @param replyAppDTO * 请求参数 * @return 回复结果 @@ -481,6 +588,11 @@ neighborCircleDO.setCommentNum(neighborCircleDO.getCommentNum() + 1); neighborCircleDO.setReplyAt(new Date()); this.baseMapper.updateById(neighborCircleDO); + + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.COMMENT_HOT_NUM; + this.baseMapper.addHotNum(replyAppDTO.getCircleId(),hotNum); + this.baseMapper.addTopicHotNum(replyAppDTO.getCircleId(),hotNum); circleCommentReplyDO.setCircleId(replyAppDTO.getCircleId()); circleCommentReplyDO.setUserId(replyAppDTO.getUserId()); @@ -585,7 +697,8 @@ @Override public R detailNeighborByAdmin(Long id) { - ComActNeighborCircleDO comActNeighborCircleDO = this.baseMapper.selectById(id); + ComActNeighborCircleDetailAppVO comActNeighborCircleDO = + this.baseMapper.neighborDetailByApp(id); if (comActNeighborCircleDO == null) { return R.fail("id有误"); } @@ -593,6 +706,7 @@ DetailNeighborCircleAdminVO vo = new DetailNeighborCircleAdminVO(); BeanUtils.copyProperties(comActNeighborCircleDO, vo); vo.setReleaseName(user.getName()); + vo.setImageUrl(user.getImageUrl()); // 查询话题名称 if (comActNeighborCircleDO.getTopicId() != null) { @@ -649,6 +763,7 @@ BeanUtils.copyProperties(commentDO, vo); String name = user.getName() == null ? user.getNickName() : user.getName(); vo.setUserName(name); + vo.setUserPhone(user.getPhone()); return R.ok(vo); } @@ -691,12 +806,13 @@ /** * 邻里圈取消点赞 - * + * * @param fabulousAppDTO * 请求参数 * @return 取消点赞结果 */ @Override + @Transactional(rollbackFor = Exception.class) public R neighborFabulousCancelByApp(ComActNeighborFabulousAppDTO fabulousAppDTO) { ComActNeighborCircleFabulousDO circleFabulousDO = null; // 查询邻里圈点赞信息 @@ -718,6 +834,10 @@ if (neighborCircleDO != null) { neighborCircleDO.setFabulousNum(neighborCircleDO.getFabulousNum() - 1); this.baseMapper.updateById(neighborCircleDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM; + this.baseMapper.addHotNum(neighborCircleDO.getId(),-hotNum); + this.baseMapper.addTopicHotNum(neighborCircleDO.getId(),-hotNum); } } else if (fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.pl)) { circleFabulousDO = @@ -737,6 +857,10 @@ if (circleCommentDO != null) { circleCommentDO.setFabulousNum(circleCommentDO.getFabulousNum() - 1); comActNeighborCircleCommentDAO.updateById(circleCommentDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM; + this.baseMapper.addHotNum(circleCommentDO.getCircleId(),-hotNum); + this.baseMapper.addTopicHotNum(circleCommentDO.getCircleId(),-hotNum); } } else if (fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.hf)) { circleFabulousDO = @@ -755,6 +879,10 @@ if (circleCommentReplyDO != null) { circleCommentReplyDO.setFabulousNum(circleCommentReplyDO.getFabulousNum() - 1); comActNeighborCircleCommentReplyDAO.updateById(circleCommentReplyDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM; + this.baseMapper.addHotNum(circleCommentReplyDO.getCircleId(),-hotNum); + this.baseMapper.addTopicHotNum(circleCommentReplyDO.getCircleId(),-hotNum); } } if (circleFabulousDO != null) { @@ -766,7 +894,7 @@ /** * 添加邻里圈浏览记录 - * + * * @param addBrowseAppDTO * 请求参数 * @return 返回参数 @@ -781,13 +909,18 @@ if (neighborCircleDO != null) { neighborCircleDO.setViewsNum(neighborCircleDO.getViewsNum() + 1); this.baseMapper.updateById(neighborCircleDO); + + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM; + this.baseMapper.addHotNum(neighborCircleDO.getId(),hotNum); + this.baseMapper.addTopicHotNum(neighborCircleDO.getId(),hotNum); } return R.ok(); } /** * 分页查询评论下所有回复 - * + * * @param commentReplyAppDTO * 请求参数 * @return 回复列表 @@ -818,4 +951,66 @@ } return R.ok(neighborCircleIPage); } + + /** + * 小程序-删除邻里圈 + * @param circleTopicAppDTO 请求参数 + * @return 删除结果 + */ + @Override + public R deleteNeighborByApp(DeleteNeighborCircleAppDTO circleTopicAppDTO){ + ComActNeighborCircleDO neighborCircleDO = new ComActNeighborCircleDO(); + neighborCircleDO.setId(circleTopicAppDTO.getId()); + neighborCircleDO.setIsDel(ComActNeighborCircleDO.isDel.yes); + if(this.baseMapper.updateById(neighborCircleDO) > 0){ + return R.ok(); + } + return R.fail(); + } + + @Override + public R orderAndSolve(EditNeighborCircleAdminVO editNeighborCircleAdminVO) { + ComActNeighborCircleDO comActNeighborCircleDO=new ComActNeighborCircleDO(); + BeanUtils.copyProperties(editNeighborCircleAdminVO,comActNeighborCircleDO); + if(comActNeighborCircleDO.getSolveStatus()!=null){ + comActNeighborCircleDO.setSolveTime(new Date()); + } + if(comActNeighborCircleDO.getOrderStatus()!=null){ + comActNeighborCircleDO.setOrderTime(new Date()); + } + if(StringUtils.isNotEmpty(comActNeighborCircleDO.getComment())){ + comActNeighborCircleDO.setCommentTime(new Date()); + } + return R.ok(this.baseMapper.updateById(comActNeighborCircleDO)); + } + + @Override + public R institutionalUnitServiceAnalysis(Integer year,Long communityId) { + //根据年份获取一年的开始和结束时间 + String beginTime=null; + String endTime=null; + if (null != year && 0 !=year){ + beginTime= year.toString()+"-01-01" ; + endTime=year.toString()+"-12-31"; + } + //根据communityId分组获取活动时长,活动次数 + List<ComActNeighborCircleAnalysisVO> comActNeighborCircleAnalysisVOS = comActNeighborCircleDAO.institutionalUnitServiceAnalysis(beginTime,endTime,communityId); + //填充单位,社区信息 + if (comActNeighborCircleAnalysisVOS.size()>0){ + for (ComActNeighborCircleAnalysisVO vo : comActNeighborCircleAnalysisVOS) { + if (ObjectUtils.isNotEmpty(vo)){ + if (ObjectUtils.isNotEmpty(vo.getCommunityId())){ + vo.setCommunityName(comActDAO.selectById(vo.getCommunityId()).getName()); + } + if (ObjectUtils.isNotEmpty(vo.getUnitId())){ + vo.setUnitName(comActDAO.getUnitName(vo.getUnitId())); + } + } + } + } + ActivityAnalysisVO activityAnalysisVO=new ActivityAnalysisVO(); + activityAnalysisVO.setDataList(comActNeighborCircleAnalysisVOS); + activityAnalysisVO.setUnitCount(comActDAO.getUnitCount()); + return R.ok(activityAnalysisVO); + } } -- Gitblit v1.7.1