From b2fce0dc7dc4ea5dec9792a2bc3ceb9d33d6e07b Mon Sep 17 00:00:00 2001 From: lidongdong <1459917685@qq.com> Date: 星期一, 04 九月 2023 13:59:52 +0800 Subject: [PATCH] 修改后台社区动态加载不出来 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java | 1286 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 1,049 insertions(+), 237 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 6dafef1..5d8bfc6 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,41 +1,43 @@ package com.panzhihua.service_community.service.impl; -import java.util.Date; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.util.PageUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.PageVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.neighbor.*; -import com.panzhihua.common.model.vos.neighbor.*; -import com.panzhihua.common.utlis.DateUtils; -import com.panzhihua.common.utlis.StringUtils; -import com.panzhihua.service_community.dao.ComActNeighborCircleCommentDAO; import com.panzhihua.common.model.vos.user.AdministratorsUserVO; -import com.panzhihua.service_community.dao.ComActNeighborCircleCommentReplyDAO; -import com.panzhihua.service_community.dao.ComActNeighborCircleDAO; -import com.panzhihua.service_community.dao.ComActNeighborCircleFabulousDAO; -import com.panzhihua.service_community.model.dos.ComActNeighborCircleCommentDO; -import com.panzhihua.service_community.model.dos.ComActNeighborCircleCommentReplyDO; -import com.panzhihua.service_community.model.dos.ComActNeighborCircleDO; -import com.panzhihua.service_community.model.dos.ComActNeighborCircleFabulousDO; -import com.panzhihua.service_community.service.ComActNeighborCircleBrowseService; +import com.panzhihua.common.service.user.UserService; +import com.panzhihua.common.utlis.*; import com.panzhihua.service_community.dao.*; +import com.panzhihua.service_community.entity.ComPbCheckUnit; +import com.panzhihua.service_community.entity.SysUser; import com.panzhihua.service_community.model.dos.*; +import com.panzhihua.service_community.service.ComActNeighborCircleBrowseService; import com.panzhihua.service_community.service.ComActNeighborCircleService; +import com.panzhihua.service_community.service.ComActNeighborCircleTopicService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; - -import javax.annotation.Resource; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; -import java.util.List; +import static com.panzhihua.common.utlis.PayUtil.makeUUID; /** * @auther lyq @@ -44,22 +46,19 @@ */ @Slf4j @Service -public class ComActNeighborCircleServiceImpl extends ServiceImpl<ComActNeighborCircleDAO, ComActNeighborCircleDO> implements ComActNeighborCircleService { - - @Resource - private ComActNeighborCircleBrowseService comActNeighborCircleBrowseService; +public class ComActNeighborCircleServiceImpl extends ServiceImpl<ComActNeighborCircleDAO, ComActNeighborCircleDO> + implements ComActNeighborCircleService { @Resource ComActNeighborCircleFabulousDAO neighborCircleFabulousDAO; - @Resource ComActNeighborCircleBrowseDAO neighborCircleBrowseDAO; - @Resource ComActNeighborCircleCommentDAO neighborCircleCommentDAO; - @Resource ComActNeighborCircleCommentReplyDAO neighborCircleCommentReplyDAO; + @Resource + private ComActNeighborCircleBrowseService comActNeighborCircleBrowseService; @Resource private ComActNeighborCircleCommentDAO comActNeighborCircleCommentDAO; @Resource @@ -68,28 +67,118 @@ private ComActNeighborCircleFabulousDAO comActNeighborCircleFabulousDAO; @Resource private ComActNeighborCircleBrowseDAO comActNeighborCircleBrowseDAO; - + @Resource + private ComActDAO comActDAO; + @Resource + private ComActNeighborCircleTopicMapper comActNeighborCircleTopicMapper; + @Resource + private ComActNeighborCircleTopicService comActNeighborCircleTopicService; + @Resource + private UserService userService; + @Resource + private ComPbMemberDAO comPbMemberDAO; + @Resource + private ComActNeighborCircleDAO comActNeighborCircleDAO; + @Resource + private ComActActivityDAO comActActivityDAO; + @Resource + private ComPbCheckUnitDao comPbCheckUnitDao; + @Resource + private SysUserDao sysUserDao; /** * 分页查询邻里圈列表 - * @param neighborCircleAppDTO 请求参数 - * @return 邻里圈列表 + * + * @param neighborCircleAppDTO + * 请求参数 + * @return 邻里圈列表 */ @Override - public R pageNeighborByApp(ComActNeighborCircleAppDTO neighborCircleAppDTO){ + 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()); +// } +// } +// } +// } + Long communityId = neighborCircleAppDTO.getCommunityId(); + if(null != communityId){ + List<Long> communityIds = comActDAO.selectIds(communityId); + if (CollUtil.isEmpty(communityIds)) { + communityIds = new ArrayList<>(); + communityIds.add(communityId); + } + neighborCircleAppDTO.setCommunityIds(communityIds); + } Page userPage = new Page(neighborCircleAppDTO.getPageNum(), neighborCircleAppDTO.getPageSize()); IPage<ComActNeighborCircleAppVO> doPager = this.baseMapper.pageNeighborByApp(userPage, neighborCircleAppDTO); - if(!doPager.getRecords().isEmpty()){ - for (ComActNeighborCircleAppVO circleAppVO:doPager.getRecords()) { - //查询点赞信息 - ComActNeighborCircleFabulousDO circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( - new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,circleAppVO.getId()) - .eq(ComActNeighborCircleFabulousDO::getUserId,neighborCircleAppDTO.getUserId()) - .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.llq)); - if(circleFabulousDO != null && circleFabulousDO.getIsEffective().equals(ComActNeighborCircleFabulousDO.isEffective.yes)){ - circleAppVO.setHaveSign(1); - }else{ - circleAppVO.setHaveSign(2); + if (!doPager.getRecords().isEmpty()) { + for (ComActNeighborCircleAppVO circleAppVO : doPager.getRecords()) { + if (neighborCircleAppDTO.getUserId() != 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); + } } + + if (circleAppVO.getType() != null && circleAppVO.getType().equals(ComActNeighborCircleDO.type.admin)) { + ComActDO actDO = comActDAO.selectById(circleAppVO.getCommunityId()); + if (actDO != null) { + circleAppVO.setName(actDO.getName()); + } + } + + } + } + 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); @@ -97,86 +186,160 @@ /** * 用户发布邻里圈审核 - * @param addNeighborCircleAppDTO 邻里圈请求参数 - * @return 发布结果 + * + * @param addNeighborCircleAppDTO + * 邻里圈请求参数 + * @return 发布结果 */ @Override - public R addNeighborByApp(AddComActNeighborCircleAppDTO addNeighborCircleAppDTO){ - //新增邻里圈审核 + public R addNeighborByApp(AddComActNeighborCircleAppDTO addNeighborCircleAppDTO) { + // 新增邻里圈审核 ComActNeighborCircleDO neighborCircleDO = new ComActNeighborCircleDO(); - BeanUtils.copyProperties(addNeighborCircleAppDTO,neighborCircleDO); - if(addNeighborCircleAppDTO.getUserId() != null){ + BeanUtils.copyProperties(addNeighborCircleAppDTO, neighborCircleDO); + if (addNeighborCircleAppDTO.getUserId() != null) { neighborCircleDO.setReleaseId(addNeighborCircleAppDTO.getUserId()); } - if(addNeighborCircleAppDTO.getCommunityId() != null){ + if (addNeighborCircleAppDTO.getCommunityId() != null) { neighborCircleDO.setCommunityId(addNeighborCircleAppDTO.getCommunityId()); } - if(StringUtils.isNotEmpty(addNeighborCircleAppDTO.getPhone())){ + if (StringUtils.isNotEmpty(addNeighborCircleAppDTO.getPhone())) { neighborCircleDO.setReleasePhone(addNeighborCircleAppDTO.getPhone()); } + + //判断当前邻里圈是否需要审核 + 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{ + } else { return R.fail("发布失败"); } } /** * 查看邻里圈详情 - * @param neighborCircleAppDTO 请求参数 - * @return 邻里圈详情 + * + * @param neighborCircleAppDTO + * 请求参数 + * @return 邻里圈详情 */ @Override - public R neighborDetailByApp(ComActNeighborCircleDetailAppDTO neighborCircleAppDTO){ + public R neighborDetailByApp(ComActNeighborCircleDetailAppDTO neighborCircleAppDTO) { - //查询邻里圈详情 - ComActNeighborCircleDetailAppVO circleDetailAppVO = this.baseMapper.neighborDetailByApp(neighborCircleAppDTO.getCircleId()); - if(circleDetailAppVO == null){ + // 查询邻里圈详情 + ComActNeighborCircleDetailAppVO circleDetailAppVO = + this.baseMapper.neighborDetailByApp(neighborCircleAppDTO.getCircleId()); + if (circleDetailAppVO == null) { return R.fail("未找到邻里圈信息"); } - //查询邻里圈点赞信息 - ComActNeighborCircleFabulousDO circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( - new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,circleDetailAppVO.getId()) - .eq(ComActNeighborCircleFabulousDO::getUserId,neighborCircleAppDTO.getUserId()) - .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.llq)); - if(circleFabulousDO != null && circleFabulousDO.getIsEffective().equals(ComActNeighborCircleFabulousDO.isEffective.yes)){ - circleDetailAppVO.setHaveSign(1); - }else{ - circleDetailAppVO.setHaveSign(2); + if (circleDetailAppVO.getType() != null + && circleDetailAppVO.getType().equals(ComActNeighborCircleDO.type.admin)) { + 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(SensitiveUtil.replaceName(user1.getName())); + } + if(circleDetailAppVO.getOrderType()==1){ + ComPbCheckUnit comPbCheckUnit=comPbCheckUnitDao.selectById(circleDetailAppVO.getSolveUnitId()); + if(comPbCheckUnit!=null){ + circleDetailAppVO.setSolveName(comPbCheckUnit.getName()); + } + } } - //查询邻里圈下评论列表 - IPage<ComActNeighborCircleCommentAppVO> circleCommentAppPage = comActNeighborCircleCommentDAO.pageNeighborCommentByApp( - new Page(neighborCircleAppDTO.getPageNum(),neighborCircleAppDTO.getPageSize()),neighborCircleAppDTO); - if(!circleCommentAppPage.getRecords().isEmpty()){ - for (ComActNeighborCircleCommentAppVO circleCommentVo:circleCommentAppPage.getRecords()) { - //查询点赞信息 - ComActNeighborCircleFabulousDO circleCommentFabulousDO = comActNeighborCircleFabulousDAO.selectOne( - new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,circleCommentVo.getId()) - .eq(ComActNeighborCircleFabulousDO::getUserId,neighborCircleAppDTO.getUserId()) - .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.pl)); - if(circleCommentFabulousDO != null && circleCommentFabulousDO.getIsEffective().equals(ComActNeighborCircleFabulousDO.isEffective.yes)){ - circleCommentVo.setHaveSign(1); - }else{ - circleCommentVo.setHaveSign(2); + if (neighborCircleAppDTO.getUserId() != null) { + // 查询邻里圈点赞信息 + ComActNeighborCircleFabulousDO circleFabulousDO = + comActNeighborCircleFabulousDAO.selectOne(new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda() + .eq(ComActNeighborCircleFabulousDO::getParentId, circleDetailAppVO.getId()) + .eq(ComActNeighborCircleFabulousDO::getUserId, neighborCircleAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType, ComActNeighborCircleFabulousDO.type.llq) + .eq(ComActNeighborCircleFabulousDO::getIsEffective, + ComActNeighborCircleFabulousDO.isEffective.yes)); + if (circleFabulousDO != null) { + circleDetailAppVO.setHaveSign(1); + } else { + circleDetailAppVO.setHaveSign(2); + } + } + ComActActivityDO comActActivityDO=comActActivityDAO.selectOne(new QueryWrapper<ComActActivityDO>().lambda().eq(ComActActivityDO::getRelationId,neighborCircleAppDTO.getCircleId())); + if(comActActivityDO!=null){ + circleDetailAppVO.setActivityDate(comActActivityDO.getCreateAt()); + circleDetailAppVO.setActivityId(comActActivityDO.getId()); + circleDetailAppVO.setActivityName(comActActivityDO.getActivityName()); + } + // 查询邻里圈下评论列表 + IPage<ComActNeighborCircleCommentAppVO> circleCommentAppPage = + comActNeighborCircleCommentDAO.pageNeighborCommentByApp( + new Page(neighborCircleAppDTO.getPageNum(), neighborCircleAppDTO.getPageSize()), neighborCircleAppDTO); + if (!circleCommentAppPage.getRecords().isEmpty()) { + for (ComActNeighborCircleCommentAppVO circleCommentVo : circleCommentAppPage.getRecords()) { + + if (neighborCircleAppDTO.getUserId() != null) { + // 查询点赞信息 + ComActNeighborCircleFabulousDO circleCommentFabulousDO = + comActNeighborCircleFabulousDAO.selectOne(new QueryWrapper<ComActNeighborCircleFabulousDO>() + .lambda().eq(ComActNeighborCircleFabulousDO::getParentId, circleCommentVo.getId()) + .eq(ComActNeighborCircleFabulousDO::getUserId, neighborCircleAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType, ComActNeighborCircleFabulousDO.type.pl) + .eq(ComActNeighborCircleFabulousDO::getIsEffective, + ComActNeighborCircleFabulousDO.isEffective.yes)); + if (circleCommentFabulousDO != null) { + circleCommentVo.setHaveSign(1); + } else { + circleCommentVo.setHaveSign(2); + } } - //查询评论下评论回复 - List<ComActNeighborCircleCommentReplyAppVO> commentReplyAppVOS = comActNeighborCircleCommentReplyDAO.getCircleCommentReplyList(circleCommentVo.getId()); - if(!commentReplyAppVOS.isEmpty()){ - for (ComActNeighborCircleCommentReplyAppVO commentReplyVO:commentReplyAppVOS) { - //查询点赞信息 - ComActNeighborCircleFabulousDO circleReplyFabulousDO = comActNeighborCircleFabulousDAO.selectOne( - new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,commentReplyVO.getId()) - .eq(ComActNeighborCircleFabulousDO::getUserId,neighborCircleAppDTO.getUserId()) - .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.hf)); - if(circleReplyFabulousDO != null && circleReplyFabulousDO.getIsEffective().equals(ComActNeighborCircleFabulousDO.isEffective.yes)){ - commentReplyVO.setHaveSign(1); - }else{ - commentReplyVO.setHaveSign(2); + + // 查询评论下评论回复 + List<ComActNeighborCircleCommentReplyAppVO> commentReplyAppVOS = + comActNeighborCircleCommentReplyDAO.getCircleCommentReplyList(circleCommentVo.getId()); + if (!commentReplyAppVOS.isEmpty()) { + List<ComActNeighborCircleCommentReplyAppVO> newCommentReplyAppVOS = new ArrayList<>(); + if (neighborCircleAppDTO.getUserId() != null) { + int i = 0; + for (ComActNeighborCircleCommentReplyAppVO commentReplyVO : commentReplyAppVOS) { + if (i >= 2) { + break; + } + // 查询点赞信息 + ComActNeighborCircleFabulousDO circleReplyFabulousDO = comActNeighborCircleFabulousDAO + .selectOne(new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda() + .eq(ComActNeighborCircleFabulousDO::getParentId, commentReplyVO.getId()) + .eq(ComActNeighborCircleFabulousDO::getUserId, neighborCircleAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType, ComActNeighborCircleFabulousDO.type.hf) + .eq(ComActNeighborCircleFabulousDO::getIsEffective, + ComActNeighborCircleFabulousDO.isEffective.yes)); + if (circleReplyFabulousDO != null) { + commentReplyVO.setHaveSign(1); + } else { + commentReplyVO.setHaveSign(2); + } + newCommentReplyAppVOS.add(commentReplyVO); + i++; } } - circleCommentVo.setCircleCommentReplyAppList(commentReplyAppVOS); + circleCommentVo.setCircleCommentReplyAppList(newCommentReplyAppVOS); + circleCommentVo.setCommentReplyNum(commentReplyAppVOS.size()); } } } @@ -186,13 +349,30 @@ @Override public R pageNeighborByAdmin(ComActNeighborCircleAdminDTO neighborCircleAdminDTO) { + Long communityId = neighborCircleAdminDTO.getCommunityId(); + if(null != communityId){ + List<Long> communityIds = comActDAO.selectIds(communityId); + if (CollUtil.isEmpty(communityIds)) { + communityIds = new ArrayList<>(); + communityIds.add(communityId); + } + neighborCircleAdminDTO.setCommunityIds(communityIds); + } 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()); + doPager.getRecords().forEach(data -> { + if(data.getUserType()!=null){ + if (data.getUserType() != 1) { + data.setReleaseName(data.getCommunityName()); + } } }); + return R.ok(doPager); + } + @Override + public R pageNeighborByBigScreen(ComActNeighborCircleAdminDTO neighborCircleAdminDTO) { + Page page = new Page(neighborCircleAdminDTO.getPageNum(), neighborCircleAdminDTO.getPageSize()); + IPage<ComActNeighborCircleAdminVO> doPager = this.baseMapper.pageNeighborByBigScreen(page, neighborCircleAdminDTO); return R.ok(doPager); } @@ -208,7 +388,8 @@ comActNeighborCircleDO.setCommunityId(adminUser.getCommunityId()); comActNeighborCircleDO.setReleaseContent(addVO.getReleaseContent()); comActNeighborCircleDO.setReleaseImages(addVO.getReleaseImages()); - comActNeighborCircleDO.setStatus(1); + comActNeighborCircleDO.setType(2); + comActNeighborCircleDO.setStatus(2); comActNeighborCircleDO.setCommentNum(0); comActNeighborCircleDO.setFabulousNum(0); comActNeighborCircleDO.setForwardNum(0); @@ -218,6 +399,7 @@ comActNeighborCircleDO.setLastCommentNum(0); comActNeighborCircleDO.setLastFabulousNum(0); comActNeighborCircleDO.setLastViewsNum(0); + comActNeighborCircleDO.setBelongType(addVO.getBelongType()); this.baseMapper.insert(comActNeighborCircleDO); return R.ok(); } @@ -229,206 +411,321 @@ return R.fail("id有误!"); } neighborCircleDO.setStatus(editVO.getStatus()); - if(editVO.getRefuseReason()!=null){ + if (editVO.getRefuseReason() != null) { neighborCircleDO.setRefuseReason(editVO.getRefuseReason()); } this.baseMapper.updateById(neighborCircleDO); - return R.ok(); + + if(editVO.getStatus().equals(EditNeighborCircleAdminVO.status.xs) && neighborCircleDO.getTopicId() != null){ + //给邻里圈话题添加邻里圈数量 + comActNeighborCircleTopicMapper.addCount(neighborCircleDO.getTopicId()); + } + return R.ok(neighborCircleDO.getReleaseId()); } /** * 用户查询邻里圈列表 - * @param neighborCircleAppDTO 请求参数 - * @return 邻里圈列表 + * + * @param neighborCircleAppDTO + * 请求参数 + * @return 邻里圈列表 */ @Override - public R neighborExamineByApp(ComActNeighborCircleAppDTO neighborCircleAppDTO){ + public R neighborExamineByApp(ComActNeighborCircleAppDTO neighborCircleAppDTO) { IPage<ComActNeighborCircleAppVO> neighborCircleIPage = this.baseMapper.neighborExamineByApp( - new Page<>(neighborCircleAppDTO.getPageNum(),neighborCircleAppDTO.getPageSize()),neighborCircleAppDTO.getUserId()); + new Page<>(neighborCircleAppDTO.getPageNum(), neighborCircleAppDTO.getPageSize()), + neighborCircleAppDTO.getUserId(),neighborCircleAppDTO.getBelongType()); + if (!neighborCircleIPage.getRecords().isEmpty()) { + for (ComActNeighborCircleAppVO circleAppVO : neighborCircleIPage.getRecords()) { + // 查询点赞信息 + 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); + } + } + } return R.ok(neighborCircleIPage); } /** * 邻里圈点赞 - * @param fabulousAppDTO 请求参数 - * @return 点赞结果 + * + * @param fabulousAppDTO + * 请求参数 + * @return 点赞结果 */ @Override @Transactional(rollbackFor = Exception.class) - public R neighborFabulousByApp(ComActNeighborFabulousAppDTO fabulousAppDTO){ + public R neighborFabulousByApp(ComActNeighborFabulousAppDTO fabulousAppDTO) { ComActNeighborCircleFabulousDO circleFabulousDO = new ComActNeighborCircleFabulousDO(); circleFabulousDO.setUserId(fabulousAppDTO.getUserId()); circleFabulousDO.setType(fabulousAppDTO.getType()); circleFabulousDO.setParentId(fabulousAppDTO.getServiceId()); - //判断点赞类型 - if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.llq)){ - //增加邻里圈点赞数量 + // 判断点赞类型 + if (fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.llq)) { + + ComActNeighborCircleFabulousDO oldCircleFabulousDO = + comActNeighborCircleFabulousDAO.selectOne(new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda() + .eq(ComActNeighborCircleFabulousDO::getType, ComActNeighborFabulousAppDTO.type.llq) + .eq(ComActNeighborCircleFabulousDO::getParentId, fabulousAppDTO.getServiceId()) + .eq(ComActNeighborCircleFabulousDO::getIsEffective, ComActNeighborCircleFabulousDO.isEffective.yes) + .eq(ComActNeighborCircleFabulousDO::getUserId, fabulousAppDTO.getUserId())); + if (oldCircleFabulousDO != null) { + return R.fail("您已点赞"); + } + + // 增加邻里圈点赞数量 ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(fabulousAppDTO.getServiceId()); - if(neighborCircleDO != null){ + 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()); } - //添加邻里圈浏览记录 - comActNeighborCircleBrowseService.addBrowseRecord(fabulousAppDTO.getServiceId(),fabulousAppDTO.getUserId()); - }else if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.pl)){ - //增加邻里圈评论点赞数量 - ComActNeighborCircleCommentDO circleCommentDO = comActNeighborCircleCommentDAO.selectById(fabulousAppDTO.getServiceId()); - if(circleCommentDO != null){ + // 添加邻里圈浏览记录 + comActNeighborCircleBrowseService.addBrowseRecord(fabulousAppDTO.getServiceId(), + fabulousAppDTO.getUserId()); + } else if (fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.pl)) { + ComActNeighborCircleFabulousDO oldCircleFabulousDO = + comActNeighborCircleFabulousDAO.selectOne(new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda() + .eq(ComActNeighborCircleFabulousDO::getType, ComActNeighborFabulousAppDTO.type.pl) + .eq(ComActNeighborCircleFabulousDO::getParentId, fabulousAppDTO.getServiceId()) + .eq(ComActNeighborCircleFabulousDO::getIsEffective, + ComActNeighborCircleFabulousDO.isEffective.yes)); + if (oldCircleFabulousDO != null) { + return R.fail("您已点赞"); + } + // 增加邻里圈评论点赞数量 + ComActNeighborCircleCommentDO circleCommentDO = + comActNeighborCircleCommentDAO.selectById(fabulousAppDTO.getServiceId()); + 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)){ - //增加邻里圈评论回复点赞数量 - ComActNeighborCircleCommentReplyDO circleCommentReplyDO = comActNeighborCircleCommentReplyDAO.selectById(fabulousAppDTO.getServiceId()); - if(circleCommentReplyDO != null){ + } else if (fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.hf)) { + ComActNeighborCircleFabulousDO oldCircleFabulousDO = + comActNeighborCircleFabulousDAO.selectOne(new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda() + .eq(ComActNeighborCircleFabulousDO::getType, ComActNeighborFabulousAppDTO.type.hf) + .eq(ComActNeighborCircleFabulousDO::getParentId, fabulousAppDTO.getServiceId()) + .eq(ComActNeighborCircleFabulousDO::getIsEffective, + ComActNeighborCircleFabulousDO.isEffective.yes)); + if (oldCircleFabulousDO != null) { + return R.fail("您已点赞"); + } + // 增加邻里圈评论回复点赞数量 + ComActNeighborCircleCommentReplyDO circleCommentReplyDO = + comActNeighborCircleCommentReplyDAO.selectById(fabulousAppDTO.getServiceId()); + 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()); } } - if(comActNeighborCircleFabulousDAO.insert(circleFabulousDO) > 0){ + if (comActNeighborCircleFabulousDAO.insert(circleFabulousDO) > 0) { return R.ok(); - }else{ + } else { return R.fail("点赞失败"); } } /** * 邻里圈转发 - * @param forwardAppDTO 请求参数 - * @return 转发结果 + * + * @param forwardAppDTO + * 请求参数 + * @return 转发结果 */ @Override - public R neighborForwardByApp(ComActNeighborForwardAppDTO forwardAppDTO){ + public R neighborForwardByApp(ComActNeighborForwardAppDTO forwardAppDTO) { - //添加邻里圈浏览记录 - comActNeighborCircleBrowseService.addBrowseRecord(forwardAppDTO.getCircleId(),forwardAppDTO.getUserId()); + if (forwardAppDTO.getUserId() != null) { + // 添加邻里圈浏览记录 + comActNeighborCircleBrowseService.addBrowseRecord(forwardAppDTO.getCircleId(), forwardAppDTO.getUserId()); + } ComActNeighborCircleDO circleDO = this.baseMapper.selectById(forwardAppDTO.getCircleId()); - if(circleDO == null){ + if (circleDO == null) { 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{ + } else { return R.fail("转发失败"); } } /** * 邻里圈评论 - * @param commentAppDTO 请求参数 - * @return 评论结果 + * + * @param commentAppDTO + * 请求参数 + * @return 评论结果 */ @Override @Transactional(rollbackFor = Exception.class) - public R neighborCommentByApp(ComActNeighborCommentAppDTO commentAppDTO){ + public R neighborCommentByApp(ComActNeighborCommentAppDTO commentAppDTO) { ComActNeighborCircleCommentDO circleCommentDO = new ComActNeighborCircleCommentDO(); - //查询邻里圈更新邻里圈评论数量 + // 查询邻里圈更新邻里圈评论数量 ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(commentAppDTO.getCircleId()); - if(neighborCircleDO == null){ + if (neighborCircleDO == null) { return R.fail("没有找到邻里圈"); } neighborCircleDO.setCommentNum(neighborCircleDO.getCommentNum() + 1); 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()); circleCommentDO.setContent(commentAppDTO.getContent()); - if(neighborCircleDO.getReleaseId().equals(commentAppDTO.getUserId())){ + if (neighborCircleDO.getReleaseId().equals(commentAppDTO.getUserId())) { circleCommentDO.setIsRelease(ComActNeighborCircleCommentDO.isRelease.yes); } - if(comActNeighborCircleCommentDAO.insert(circleCommentDO) > 0){ + if (comActNeighborCircleCommentDAO.insert(circleCommentDO) > 0) { + SysUser sysUser=sysUserDao.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId,neighborCircleDO.getSolveId())); + if(sysUser!=null) { + try { + WxXCXTempSend util = new WxXCXTempSend(); + if (neighborCircleDO.getBelongType()==2){ + WxUtil.sendLongTimeTemplate(sysUser.getOpenid(),util.getAccessToken(),"你有一条新的评价信息",neighborCircleDO.getReleaseContent().length()>10?neighborCircleDO.getReleaseContent().substring(0,10)+"..":neighborCircleDO.getReleaseContent(),"packageB/pages/partySecond/problemDetails/index?id="+neighborCircleDO.getId()+"&type=888"); + } + if (neighborCircleDO.getBelongType()==3){ + WxUtil.sendLongTimeTemplate(sysUser.getOpenid(),util.getAccessToken(),"你有一条新的评价信息",neighborCircleDO.getReleaseContent().length()>10?neighborCircleDO.getReleaseContent().substring(0,10)+"..":neighborCircleDO.getReleaseContent(),"packageB/pages/partySecond/problemDetails/index?id="+neighborCircleDO.getId()+"&type=777"); + } + } catch (Exception e) { + e.printStackTrace(); + } + } return R.ok(); - }else{ + } else { return R.fail("评论失败"); } } /** * 邻里圈回复 - * @param replyAppDTO 请求参数 - * @return 回复结果 + * + * @param replyAppDTO + * 请求参数 + * @return 回复结果 */ @Override - public R neighborReplyByApp(ComActNeighborReplyAppDTO replyAppDTO){ + public R neighborReplyByApp(ComActNeighborReplyAppDTO replyAppDTO) { ComActNeighborCircleCommentReplyDO circleCommentReplyDO = new ComActNeighborCircleCommentReplyDO(); - //查询邻里圈更新邻里圈评论数量 + // 查询邻里圈更新邻里圈评论数量 ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(replyAppDTO.getCircleId()); - if(neighborCircleDO == null){ + if (neighborCircleDO == null) { return R.fail("没有找到邻里圈"); } 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()); circleCommentReplyDO.setReplyContent(replyAppDTO.getContent()); - if(neighborCircleDO.getReleaseId().equals(replyAppDTO.getUserId())){ + if (neighborCircleDO.getReleaseId().equals(replyAppDTO.getUserId())) { circleCommentReplyDO.setIsRelease(1); } - //判断回复类型 - if(replyAppDTO.getType().equals(ComActNeighborReplyAppDTO.type.pl)){ - //查询评论信息 - ComActNeighborCircleCommentDO circleCommentDO = comActNeighborCircleCommentDAO.selectById(replyAppDTO.getServiceId()); - if(circleCommentDO != null){ + // 判断回复类型 + if (replyAppDTO.getType().equals(ComActNeighborReplyAppDTO.type.pl)) { + // 查询评论信息 + ComActNeighborCircleCommentDO circleCommentDO = + comActNeighborCircleCommentDAO.selectById(replyAppDTO.getServiceId()); + if (circleCommentDO != null) { circleCommentReplyDO.setCommentId(replyAppDTO.getServiceId()); circleCommentReplyDO.setParentId(0L); circleCommentReplyDO.setParentUserId(circleCommentDO.getUserId()); } - }else if(replyAppDTO.getType().equals(ComActNeighborReplyAppDTO.type.hf)){ - //查询上级回复信息 - ComActNeighborCircleCommentReplyDO parentCommentReplyDO = comActNeighborCircleCommentReplyDAO.selectById(replyAppDTO.getServiceId()); - if(parentCommentReplyDO != null){ + } else if (replyAppDTO.getType().equals(ComActNeighborReplyAppDTO.type.hf)) { + // 查询上级回复信息 + ComActNeighborCircleCommentReplyDO parentCommentReplyDO = + comActNeighborCircleCommentReplyDAO.selectById(replyAppDTO.getServiceId()); + if (parentCommentReplyDO != null) { circleCommentReplyDO.setCommentId(parentCommentReplyDO.getCommentId()); circleCommentReplyDO.setParentId(parentCommentReplyDO.getId()); circleCommentReplyDO.setParentUserId(parentCommentReplyDO.getUserId()); } } - if(comActNeighborCircleCommentReplyDAO.insert(circleCommentReplyDO) > 0){ + if (comActNeighborCircleCommentReplyDAO.insert(circleCommentReplyDO) > 0) { return R.ok(); - }else{ + } else { return R.fail("回复失败"); } } @Override - public R timeTaskCircleFlow(){ - Date oldDate = DateUtils.addDay(new Date(),-3); - //查询所有状态正常的邻里圈 - List<ComActNeighborCircleDO> circleDOList = this.baseMapper.selectList( - new QueryWrapper<ComActNeighborCircleDO>().lambda().eq(ComActNeighborCircleDO::getStatus,ComActNeighborCircleDO.status.xs)); - if(!circleDOList.isEmpty()){ - //遍历查询到的邻里圈,更新邻里圈内近3天的评论数,点赞数,浏览量 - for (ComActNeighborCircleDO neighborCircleDO:circleDOList) { - //查询邻里圈近3天的评论数 - int commentCount = comActNeighborCircleCommentDAO.selectCount( - new QueryWrapper<ComActNeighborCircleCommentDO>().lambda().eq(ComActNeighborCircleCommentDO::getCircleId,neighborCircleDO.getId())); - //查询邻里圈近3天的评论回复数 - int commentReplyCount = comActNeighborCircleCommentReplyDAO.selectCount( - new QueryWrapper<ComActNeighborCircleCommentReplyDO>().lambda() - .eq(ComActNeighborCircleCommentReplyDO::getCircleId,neighborCircleDO.getId())); - //查询邻里圈近3天的点赞数 - int fabulousCount = comActNeighborCircleFabulousDAO.selectCount(new QueryWrapper<ComActNeighborCircleFabulousDO>() - .lambda().eq(ComActNeighborCircleFabulousDO::getCircleId,neighborCircleDO.getId()) - .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes)); - //查询邻里圈近3天的浏览量 - int browseCount = comActNeighborCircleBrowseDAO.selectCount( - new QueryWrapper<ComActNeighborCircleBrowseDO>().lambda().eq(ComActNeighborCircleBrowseDO::getNeighborId,neighborCircleDO.getId())); - //更新邻里圈信息 + public R timeTaskCircleFlow() { + Date oldDate = DateUtils.addDay(new Date(), -3); + // 查询所有状态正常的邻里圈 + List<ComActNeighborCircleDO> circleDOList = + this.baseMapper.selectList(new QueryWrapper<ComActNeighborCircleDO>().lambda() + .eq(ComActNeighborCircleDO::getStatus, ComActNeighborCircleDO.status.xs)); + if (!circleDOList.isEmpty()) { + // 遍历查询到的邻里圈,更新邻里圈内近3天的评论数,点赞数,浏览量 + for (ComActNeighborCircleDO neighborCircleDO : circleDOList) { + // 查询邻里圈近3天的评论数 + int commentCount = + comActNeighborCircleCommentDAO.selectCount(new QueryWrapper<ComActNeighborCircleCommentDO>() + .lambda().eq(ComActNeighborCircleCommentDO::getCircleId, neighborCircleDO.getId())); + // 查询邻里圈近3天的评论回复数 + int commentReplyCount = comActNeighborCircleCommentReplyDAO + .selectCount(new QueryWrapper<ComActNeighborCircleCommentReplyDO>().lambda() + .eq(ComActNeighborCircleCommentReplyDO::getCircleId, neighborCircleDO.getId())); + // 查询邻里圈近3天的点赞数 + int fabulousCount = + comActNeighborCircleFabulousDAO.selectCount(new QueryWrapper<ComActNeighborCircleFabulousDO>() + .lambda().eq(ComActNeighborCircleFabulousDO::getCircleId, neighborCircleDO.getId()) + .eq(ComActNeighborCircleFabulousDO::getIsEffective, + ComActNeighborCircleFabulousDO.isEffective.yes)); + // 查询邻里圈近3天的浏览量 + int browseCount = + comActNeighborCircleBrowseDAO.selectCount(new QueryWrapper<ComActNeighborCircleBrowseDO>().lambda() + .eq(ComActNeighborCircleBrowseDO::getNeighborId, neighborCircleDO.getId())); + // 更新邻里圈信息 neighborCircleDO.setLastCommentNum(commentCount + commentReplyCount); neighborCircleDO.setLastFabulousNum(fabulousCount); neighborCircleDO.setLastViewsNum(browseCount); @@ -446,36 +743,62 @@ return R.fail(); } if (comActNeighborCircleDO.getStatus() == 1) { - return R.fail("待审核的邻里圈不能删除"); + return R.fail("待审核的数据不能删除"); } - //邻里圈删除 + // 邻里圈删除 this.baseMapper.deleteById(id); - //邻里圈评论删除 - neighborCircleCommentDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleCommentDO>() - .eq(ComActNeighborCircleCommentDO::getCircleId, id)); - //邻里圈回复删除 + // 邻里圈评论删除 + neighborCircleCommentDAO.delete( + new LambdaQueryWrapper<ComActNeighborCircleCommentDO>().eq(ComActNeighborCircleCommentDO::getCircleId, id)); + // 邻里圈回复删除 neighborCircleCommentReplyDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleCommentReplyDO>() - .eq(ComActNeighborCircleCommentReplyDO::getCircleId, id)); - //邻里圈浏览器记录 - neighborCircleBrowseDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleBrowseDO>() - .eq(ComActNeighborCircleBrowseDO::getNeighborId, id)); - //邻里圈点赞删除 + .eq(ComActNeighborCircleCommentReplyDO::getCircleId, id)); + // 邻里圈浏览器记录 + neighborCircleBrowseDAO.delete( + new LambdaQueryWrapper<ComActNeighborCircleBrowseDO>().eq(ComActNeighborCircleBrowseDO::getNeighborId, id)); + // 邻里圈点赞删除 neighborCircleFabulousDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleFabulousDO>() - .eq(ComActNeighborCircleFabulousDO::getCircleId,id)); + .eq(ComActNeighborCircleFabulousDO::getCircleId, id)); return R.ok(); } @Override public R detailNeighborByAdmin(Long id) { - ComActNeighborCircleDO comActNeighborCircleDO = this.baseMapper.selectById(id); - AdministratorsUserVO user = this.baseMapper.selectUserByUserId(comActNeighborCircleDO.getReleaseId()); + ComActNeighborCircleDetailAppVO comActNeighborCircleDO = baseMapper.neighborDetailByApp(id); if (comActNeighborCircleDO == null) { return R.fail("id有误"); } + AdministratorsUserVO user = this.baseMapper.selectUserByUserId(comActNeighborCircleDO.getReleaseId()); DetailNeighborCircleAdminVO vo = new DetailNeighborCircleAdminVO(); BeanUtils.copyProperties(comActNeighborCircleDO, vo); - vo.setReleaseName(user.getName()); + 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) { + ComActNeighborCircleTopicDO circleTopicDO = + comActNeighborCircleTopicMapper.selectById(comActNeighborCircleDO.getTopicId()); + if(circleTopicDO!=null && !StringUtils.isEmpty(circleTopicDO.getName())) + { + vo.setTopicName(circleTopicDO.getName()); + } + + } return R.ok(vo); } @@ -485,41 +808,56 @@ if (comActNeighborCircleDO == null) { return R.fail("id有误"); } - Page<ComActNeighborCircleCommentDO> page = new Page<>(dto.getPageNum(),dto.getPageSize()); - //1、先查询所有该邻里圈_的评论 - IPage<ComActNeighborCommentByAdminVO> commentDOIPage = neighborCircleCommentDAO.selectPageDetailNeighborComment(page,dto); + Page<ComActNeighborCircleCommentDO> page = new Page<>(dto.getPageNum(), dto.getPageSize()); + // 1、先查询所有该邻里圈_的评论 + IPage<ComActNeighborCommentByAdminVO> commentDOIPage = + neighborCircleCommentDAO.selectPageDetailNeighborComment(page, dto); return R.ok(commentDOIPage); } @Override public R changeCommentStatusByAdmin(ChangeCommentStatusByAdminVO dto) { ComActNeighborCircleCommentDO commentDO = neighborCircleCommentDAO.selectById(dto.getId()); - if(commentDO==null){ + if (commentDO == null) { return R.fail("id有误!"); } commentDO.setStatus(dto.getStatus()); neighborCircleCommentDAO.updateById(commentDO); + + // 查询邻里圈更新邻里圈评论数量 + ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(commentDO.getCircleId()); + if (neighborCircleDO != null) { + if (dto.getStatus().equals(2)) { + neighborCircleDO.setCommentNum(neighborCircleDO.getCommentNum() - 1); + } else { + neighborCircleDO.setCommentNum(neighborCircleDO.getCommentNum() + 1); + } + this.baseMapper.updateById(neighborCircleDO); + } return R.ok(); } @Override public R detailNeighborCommentByAdmin(Long id) { ComActNeighborCircleCommentDO commentDO = neighborCircleCommentDAO.selectById(id); - if(commentDO==null){ + if (commentDO == null) { return R.fail("id有误!"); } AdministratorsUserVO user = this.baseMapper.selectUserByUserId(commentDO.getUserId()); ComActNeighborCommentByAdminVO vo = new ComActNeighborCommentByAdminVO(); - BeanUtils.copyProperties(commentDO,vo); - vo.setUserName(user.getName()); + BeanUtils.copyProperties(commentDO, vo); + String name = user.getName() == null ? user.getNickName() : user.getName(); + vo.setUserName(name); + vo.setUserPhone(user.getPhone()); return R.ok(vo); } @Override public R detailNeighborCommentAllReply(DetailNeighborCommentReplyByAdminDTO dto) { - Page<ComActNeighborCircleCommentReplyDO> page = new Page<>(dto.getPageNum(),dto.getPageSize()); - Page<ComActNeighborCommentReplyByAdminVO> replyPage = neighborCircleCommentReplyDAO.selectListByComment(page, dto); - replyPage.getRecords().forEach(reply->{ + Page<ComActNeighborCircleCommentReplyDO> page = new Page<>(dto.getPageNum(), dto.getPageSize()); + Page<ComActNeighborCommentReplyByAdminVO> replyPage = + neighborCircleCommentReplyDAO.selectListByComment(page, dto); + replyPage.getRecords().forEach(reply -> { }); return R.ok(replyPage); @@ -528,12 +866,12 @@ @Override public R detailNeighborCommentReply(Long id) { ComActNeighborCircleCommentReplyDO replyDO = neighborCircleCommentReplyDAO.selectById(id); - if(replyDO==null){ + if (replyDO == null) { return R.fail("id有误!"); } AdministratorsUserVO user = this.baseMapper.selectUserByUserId(replyDO.getUserId()); ComActNeighborCommentReplyByAdminVO vo = new ComActNeighborCommentReplyByAdminVO(); - BeanUtils.copyProperties(replyDO,vo); + BeanUtils.copyProperties(replyDO, vo); vo.setUserName(user.getName()); vo.setUserPhone(user.getPhone()); return R.ok(vo); @@ -541,8 +879,9 @@ @Override public R changeCommentReplyStatusByAdmin(ChangeCommentReplyStatusByAdminVO changeStatusReplyVO) { - ComActNeighborCircleCommentReplyDO replyDO = neighborCircleCommentReplyDAO.selectById(changeStatusReplyVO.getId()); - if(replyDO==null){ + ComActNeighborCircleCommentReplyDO replyDO = + neighborCircleCommentReplyDAO.selectById(changeStatusReplyVO.getId()); + if (replyDO == null) { return R.fail("id有误!"); } replyDO.setStatus(changeStatusReplyVO.getStatus()); @@ -552,40 +891,86 @@ /** * 邻里圈取消点赞 - * @param fabulousAppDTO 请求参数 - * @return 取消点赞结果 + * + * @param fabulousAppDTO + * 请求参数 + * @return 取消点赞结果 */ @Override - public R neighborFabulousCancelByApp(ComActNeighborFabulousAppDTO fabulousAppDTO){ + @Transactional(rollbackFor = Exception.class) + public R neighborFabulousCancelByApp(ComActNeighborFabulousAppDTO fabulousAppDTO) { ComActNeighborCircleFabulousDO circleFabulousDO = null; - //查询邻里圈点赞信息 - if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.llq)){ - //查询点赞信息 - circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( - new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,fabulousAppDTO.getServiceId()) - .eq(ComActNeighborCircleFabulousDO::getUserId,fabulousAppDTO.getUserId()) - .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.llq)); - if(circleFabulousDO == null){ + // 查询邻里圈点赞信息 + if (fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.llq)) { + // 查询点赞信息 + circleFabulousDO = + comActNeighborCircleFabulousDAO.selectOne(new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda() + .eq(ComActNeighborCircleFabulousDO::getParentId, fabulousAppDTO.getServiceId()) + .eq(ComActNeighborCircleFabulousDO::getUserId, fabulousAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType, ComActNeighborCircleFabulousDO.type.llq) + .eq(ComActNeighborCircleFabulousDO::getIsEffective, + ComActNeighborCircleFabulousDO.isEffective.yes)); + if (circleFabulousDO == null) { return R.fail("未查询到点赞信息"); } - }else if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.pl)){ - circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( - new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,fabulousAppDTO.getServiceId()) - .eq(ComActNeighborCircleFabulousDO::getUserId,fabulousAppDTO.getUserId()) - .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.pl)); - if(circleFabulousDO == null){ + + // 减少邻里圈点赞数量 + ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(fabulousAppDTO.getServiceId()); + 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 = + comActNeighborCircleFabulousDAO.selectOne(new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda() + .eq(ComActNeighborCircleFabulousDO::getParentId, fabulousAppDTO.getServiceId()) + .eq(ComActNeighborCircleFabulousDO::getUserId, fabulousAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType, ComActNeighborCircleFabulousDO.type.pl) + .eq(ComActNeighborCircleFabulousDO::getIsEffective, + ComActNeighborCircleFabulousDO.isEffective.yes)); + if (circleFabulousDO == null) { return R.fail("未查询到点赞信息"); } - }else if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.hf)){ - circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( - new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,fabulousAppDTO.getServiceId()) - .eq(ComActNeighborCircleFabulousDO::getUserId,fabulousAppDTO.getUserId()) - .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.hf)); - if(circleFabulousDO == null){ + + // 减少邻里圈评论点赞数量 + ComActNeighborCircleCommentDO circleCommentDO = + comActNeighborCircleCommentDAO.selectById(fabulousAppDTO.getServiceId()); + 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 = + comActNeighborCircleFabulousDAO.selectOne(new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda() + .eq(ComActNeighborCircleFabulousDO::getParentId, fabulousAppDTO.getServiceId()) + .eq(ComActNeighborCircleFabulousDO::getUserId, fabulousAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType, ComActNeighborCircleFabulousDO.type.hf) + .eq(ComActNeighborCircleFabulousDO::getIsEffective, + ComActNeighborCircleFabulousDO.isEffective.yes)); + if (circleFabulousDO == null) { return R.fail("未查询到点赞信息"); + } + // 减少邻里圈评论回复点赞数量 + ComActNeighborCircleCommentReplyDO circleCommentReplyDO = + comActNeighborCircleCommentReplyDAO.selectById(fabulousAppDTO.getServiceId()); + 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){ + if (circleFabulousDO != null) { circleFabulousDO.setIsEffective(ComActNeighborCircleFabulousDO.isEffective.no); comActNeighborCircleFabulousDAO.updateById(circleFabulousDO); } @@ -594,20 +979,447 @@ /** * 添加邻里圈浏览记录 - * @param addBrowseAppDTO 请求参数 - * @return 返回参数 + * + * @param addBrowseAppDTO + * 请求参数 + * @return 返回参数 */ @Override @Transactional(rollbackFor = Exception.class) - public R neighborAddBrowseByApp(ComActNeighborAddBrowseAppDTO addBrowseAppDTO){ - //添加邻里圈浏览记录 - comActNeighborCircleBrowseService.addBrowseRecord(addBrowseAppDTO.getCircleId(),addBrowseAppDTO.getUserId()); - //更新邻里圈记录 + public R neighborAddBrowseByApp(ComActNeighborAddBrowseAppDTO addBrowseAppDTO) { + // 添加邻里圈浏览记录 + comActNeighborCircleBrowseService.addBrowseRecord(addBrowseAppDTO.getCircleId(), addBrowseAppDTO.getUserId()); + // 更新邻里圈记录 ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(addBrowseAppDTO.getCircleId()); - if(neighborCircleDO != null){ + 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 回复列表 + */ + @Override + public R neighborCommentReplyByApp(ComActNeighborCommentReplyAppDTO commentReplyAppDTO) { + IPage<ComActNeighborCommentReplyAppVO> neighborCircleIPage = this.baseMapper.neighborCommentReplyByApp( + new Page<>(commentReplyAppDTO.getPageNum(), commentReplyAppDTO.getPageSize()), + commentReplyAppDTO.getCommentId()); + if (!neighborCircleIPage.getRecords().isEmpty()) { + for (ComActNeighborCommentReplyAppVO commentReplyAppVO : neighborCircleIPage.getRecords()) { + if (commentReplyAppDTO.getUserId() != null) { + // 查询点赞信息 + ComActNeighborCircleFabulousDO circleFabulousDO = + comActNeighborCircleFabulousDAO.selectOne(new QueryWrapper<ComActNeighborCircleFabulousDO>() + .lambda().eq(ComActNeighborCircleFabulousDO::getParentId, commentReplyAppVO.getId()) + .eq(ComActNeighborCircleFabulousDO::getUserId, commentReplyAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType, ComActNeighborCircleFabulousDO.type.hf) + .eq(ComActNeighborCircleFabulousDO::getIsEffective, + ComActNeighborCircleFabulousDO.isEffective.yes)); + if (circleFabulousDO != null) { + commentReplyAppVO.setHaveSign(1); + } else { + commentReplyAppVO.setHaveSign(2); + } + } + } + } + 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.getSolveStatus() == 3){ + comActNeighborCircleDO.setSolveTime(new Date()); + } + if(comActNeighborCircleDO.getOrderStatus()!=null){ + comActNeighborCircleDO.setOrderTime(new Date()); + } + if(StringUtils.isNotEmpty(comActNeighborCircleDO.getComment())){ + comActNeighborCircleDO.setCommentTime(new Date()); + } + int result=this.baseMapper.updateById(comActNeighborCircleDO); + if(result>0){ + ComActNeighborCircleDO comActNeighborCircleDO1=this.baseMapper.selectById(comActNeighborCircleDO.getId()); + if(comActNeighborCircleDO.getOrderStatus()!=null){ + SysUser sysUser=sysUserDao.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId,comActNeighborCircleDO1.getReleaseId())); + if(sysUser!=null) { + try { + WxXCXTempSend util = new WxXCXTempSend(); + if (comActNeighborCircleDO1.getBelongType()==2){ + WxUtil.sendLongTimeTemplate(sysUser.getOpenid(),util.getAccessToken(),"你反馈的问题已被人认领",comActNeighborCircleDO1.getReleaseContent().length()>10?comActNeighborCircleDO1.getReleaseContent().substring(0,10)+"..":comActNeighborCircleDO1.getReleaseContent(),"packageB/pages/partySecond/problemDetails/index?id="+comActNeighborCircleDO.getId()+"&type=888"); + } + if (comActNeighborCircleDO1.getBelongType()==3){ + WxUtil.sendLongTimeTemplate(sysUser.getOpenid(),util.getAccessToken(),"你反馈的需求已被人认领",comActNeighborCircleDO1.getReleaseContent().length()>10?comActNeighborCircleDO1.getReleaseContent().substring(0,10)+"..":comActNeighborCircleDO1.getReleaseContent(),"packageB/pages/partySecond/problemDetails/index?id="+comActNeighborCircleDO.getId()+"&type=777"); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } + if(comActNeighborCircleDO.getSolveStatus()==3){ + SysUser sysUser=sysUserDao.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId,comActNeighborCircleDO1.getReleaseId())); + if(sysUser!=null) { + try { + WxXCXTempSend util = new WxXCXTempSend(); + if (comActNeighborCircleDO1.getBelongType()==2){ + WxUtil.sendLongTimeTemplate(sysUser.getOpenid(),util.getAccessToken(),"你反馈的问题已被人处理",comActNeighborCircleDO1.getReleaseContent().length()>10?comActNeighborCircleDO1.getReleaseContent().substring(0,10)+"..":comActNeighborCircleDO1.getReleaseContent(),"packageB/pages/partySecond/problemDetails/index?id="+comActNeighborCircleDO.getId()+"&type=888"); + } + if (comActNeighborCircleDO1.getBelongType()==3){ + WxUtil.sendLongTimeTemplate(sysUser.getOpenid(),util.getAccessToken(),"你反馈的需求已被人处理",comActNeighborCircleDO1.getReleaseContent().length()>10?comActNeighborCircleDO1.getReleaseContent().substring(0,10)+"..":comActNeighborCircleDO1.getReleaseContent(),"packageB/pages/partySecond/problemDetails/index?id="+comActNeighborCircleDO.getId()+"&type=777"); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } + if(comActNeighborCircleDO.getSolveStatus()==4){ + SysUser sysUser=sysUserDao.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId,comActNeighborCircleDO1.getSolveId())); + if(sysUser!=null) { + try { + WxXCXTempSend util = new WxXCXTempSend(); + if (comActNeighborCircleDO1.getBelongType()==2){ + WxUtil.sendLongTimeTemplate(sysUser.getOpenid(),util.getAccessToken(),"你有一条新的评价信息",comActNeighborCircleDO1.getReleaseContent().length()>10?comActNeighborCircleDO1.getReleaseContent().substring(0,10)+"..":comActNeighborCircleDO1.getReleaseContent(),"packageB/pages/partySecond/problemDetails/index?id="+comActNeighborCircleDO.getId()+"&type=888"); + } + if (comActNeighborCircleDO1.getBelongType()==3){ + WxUtil.sendLongTimeTemplate(sysUser.getOpenid(),util.getAccessToken(),"你有一条新的评价信息",comActNeighborCircleDO1.getReleaseContent().length()>10?comActNeighborCircleDO1.getReleaseContent().substring(0,10)+"..":comActNeighborCircleDO1.getReleaseContent(),"packageB/pages/partySecond/problemDetails/index?id="+comActNeighborCircleDO.getId()+"&type=777"); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } + return R.ok(result); + } + return R.fail(); + } + + @Override + public R serviceStatic(ServiceStaticDTO serviceStaticDTO) { + ServiceStaticsVO serviceStaticsVO = new ServiceStaticsVO(); + if (serviceStaticDTO.getCheckUnitId() != null) { + serviceStaticsVO = + this.baseMapper.selectStatsCheckUnit(serviceStaticDTO.getCheckUnitId(), serviceStaticDTO.getYear()); + serviceStaticsVO.setServiceDetailStaticsList(this.baseMapper.selectServiceDetailList(serviceStaticDTO.getCheckUnitId(), + serviceStaticDTO.getYear(), serviceStaticDTO.getServiceType())); + } else { + serviceStaticsVO = this.baseMapper.selectStatsUser(serviceStaticDTO.getPhone(), serviceStaticDTO.getYear()); + ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectOne(new QueryWrapper<ComPbMemberDO>().lambda() + .eq(ComPbMemberDO::getPhone, serviceStaticDTO.getPhone()).last("limit 1")); + Long checkUnitId = null; + if (comPbMemberDO != null) { + checkUnitId = comPbMemberDO.getCheckUnitId(); + } + serviceStaticsVO.setServiceDetailStaticsList(this.baseMapper.selectServiceDetailListForPersonal(checkUnitId, serviceStaticDTO.getPhone(), + serviceStaticDTO.getYear(), serviceStaticDTO.getServiceType())); + } + return R.ok(serviceStaticsVO); + } + + @Override + 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; + if (null != year){ + //设置开始,截止时间 + beginTime=year.toString().concat("-01-01"); + endTime=year.toString().concat("-12-31"); + } + //统计党员,单位总数 + activityVO.setPartyMemberCount(comActDAO.selectUnitCount()); + activityVO.setUnitCount(comActDAO.selectMemberCount()); + //获取单位活动统计数据(邻里圈) + List<UnitActivityAnalysisVO> unitActivityAnalysisVOS = comActNeighborCircleDAO.institutionalUnitServiceAnalysis(beginTime, endTime, belongTo,communityId); + //获取单位活动统计数据(活动) + List<UnitActivityAnalysisVO> unitActivityAnalysisVOS1 = comActNeighborCircleDAO.institutionalUnitActivityAnalysis(beginTime, endTime, belongTo,communityId); + if (unitActivityAnalysisVOS.size()>0){ + for (UnitActivityAnalysisVO unitActivityAnalysisVO : unitActivityAnalysisVOS){ + if (ObjectUtils.isNotEmpty(unitActivityAnalysisVO)){ + if (ObjectUtils.isNotEmpty(unitActivityAnalysisVO.getUnitId())){ + //设置单位名称 + unitActivityAnalysisVO.setUnitName(comActDAO.selectUnitName(unitActivityAnalysisVO.getUnitId())); + //统计活动表中的活动信息 + } + if (ObjectUtils.isNotEmpty(unitActivityAnalysisVO.getCommunityId())){ + unitActivityAnalysisVO.setCommunityName(comActDAO.selectById(unitActivityAnalysisVO.getCommunityId()).getName()); + } + } + } + } + //活动表数据处理 + if (unitActivityAnalysisVOS1.size()>0){ + for (UnitActivityAnalysisVO vo : unitActivityAnalysisVOS1) { + if(ObjectUtils.isNotEmpty(vo)){ + if (ObjectUtils.isNotEmpty(vo.getUnitId())){ + //判断邻里圈统计中是否已有该单位数据 + Map<String, Integer> param = alreadyAnalysis(vo.getUnitId(), unitActivityAnalysisVOS); + if (param.get("flag")==1){ + //已有数据,将时长,次数相加 + Integer serviceTime = vo.getServiceTime(); + Integer serviceTimes = vo.getServiceTimes(); + unitActivityAnalysisVOS.get(param.get("index")).setServiceTime(unitActivityAnalysisVOS.get(param.get("index")).getServiceTime()+serviceTime); + unitActivityAnalysisVOS.get(param.get("index")).setServiceTimes(unitActivityAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes); + }else { + //新数据,获取单位,社区名 + vo.setUnitName(comActDAO.selectUnitName(vo.getUnitId())); + if (ObjectUtils.isNotEmpty(vo.getCommunityId())) { + vo.setCommunityName(comActDAO.selectById(vo.getCommunityId()).getName()); + } + unitActivityAnalysisVOS.add(vo); + } + } + } + } + } + //获取党员活动统计数据 + 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); + + } + + + @Override + public R serviceStaticBackstage(ServiceStaticBackstageDTO serviceStaticDTO) { + return null; + } + + @Override + public R selectCount(Integer type, String phone,Long communityId) { + return R.ok(this.baseMapper.selectCount(type,phone,communityId)); + } + + /** + * 分页查询可关联清单列表 + * @param neighborCircleAppDTO + * @return + */ + @Override + public R pageRelationList(ComActNeighborCircleAppDTO neighborCircleAppDTO) { + Page userPage = new Page(neighborCircleAppDTO.getPageNum(), neighborCircleAppDTO.getPageSize()); + IPage<ComActNeighborCircleAppVO> doPager = this.baseMapper.pageRelationList(userPage, neighborCircleAppDTO); + if (!doPager.getRecords().isEmpty()) { + for (ComActNeighborCircleAppVO circleAppVO : doPager.getRecords()) { + if (neighborCircleAppDTO.getUserId() != 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); + } + } + if (circleAppVO.getType() != null && circleAppVO.getType().equals(ComActNeighborCircleDO.type.admin)) { + ComActDO actDO = comActDAO.selectById(circleAppVO.getCommunityId()); + if (actDO != null) { + circleAppVO.setName(actDO.getName()); + } + } + } + } + return R.ok(doPager); + } + + /** + * 判断活动统计列表中是否已有该单位的数据 + * */ + public Map<String,Integer> alreadyAnalysis(Long unitId,List<UnitActivityAnalysisVO> list){ + Map<String,Integer> map=new HashMap<>(); + if (list.size()>0){ + for (int i=0;i<list.size();i++) { + UnitActivityAnalysisVO vo = list.get(i); + if (ObjectUtils.isNotEmpty(vo)){ + if (ObjectUtils.isNotEmpty(vo.getUnitId())){ + if (unitId.equals(vo.getUnitId())){ + map.put("index",i ); + map.put("flag",1 ); + return map; + } + } + } + } + } + map.put("flag",0 ); + 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