From e4cdfe7a09e6bf431965359e319e671f1f17b24e Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期一, 03 六月 2024 11:18:40 +0800
Subject: [PATCH] 花城 议事投票评论删除 评论数不正确2
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWorkGuideServiceImpl.java | 161 +++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 117 insertions(+), 44 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWorkGuideServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWorkGuideServiceImpl.java
index bde8b41..fb0f90a 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWorkGuideServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWorkGuideServiceImpl.java
@@ -1,43 +1,62 @@
package com.panzhihua.service_community.service.impl;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import javax.annotation.Resource;
+
+import com.panzhihua.common.utlis.AgeUtils;
+import com.panzhihua.common.utlis.StringUtils;
+import com.panzhihua.service_community.dao.ComActWorkGuideClassifyDAO;
+import com.panzhihua.service_community.model.dos.ComActWorkGuideClassifyDO;
+import com.panzhihua.common.model.vos.community.ComActWorkGuideAppletsVO;
+import com.panzhihua.common.model.vos.community.ComActWorkGuideDetailAppletsVO;
+import com.panzhihua.service_community.dao.ComActWorkGuideClassifyDAO;
+import com.panzhihua.service_community.service.ComActWorkGuideClassifyService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.model.dtos.community.ComActWorkGuideDTO;
import com.panzhihua.common.model.dtos.community.PageActWorkGuideDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActWorkGuideMaterialVO;
import com.panzhihua.common.model.vos.community.ComActWorkGuideVO;
-import com.panzhihua.common.utlis.DifferentLongListUtil;
+import com.panzhihua.service_community.dao.ComActDAO;
import com.panzhihua.service_community.dao.ComActWorkGuideDAO;
import com.panzhihua.service_community.dao.ComActWorkGuideMaterialDAO;
+import com.panzhihua.service_community.model.dos.ComActDO;
import com.panzhihua.service_community.model.dos.ComActWorkGuideDO;
import com.panzhihua.service_community.model.dos.ComActWorkGuideMaterialDO;
import com.panzhihua.service_community.service.ComActWorkGuideService;
-import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.List;
-import java.util.stream.Collectors;
/**
* @auther llming
* @describe 办事指南
*/
@Service
-public class ComActWorkGuideServiceImpl extends ServiceImpl<ComActWorkGuideDAO, ComActWorkGuideDO> implements ComActWorkGuideService {
+public class ComActWorkGuideServiceImpl extends ServiceImpl<ComActWorkGuideDAO, ComActWorkGuideDO>
+ implements ComActWorkGuideService {
+ static String AK = "W3x8DhCWKc2UFIwYgclpRBdL6BeGLLQt"; // 百度地图密钥
@Resource
ComActWorkGuideMaterialDAO workGuideMaterialDAO;
+ @Resource
+ private ComActWorkGuideClassifyDAO comActWorkGuideClassifyDAO;
+ @Resource
+ ComActDAO comActDAO;
@Override
- public R addWorkGuide(ComActWorkGuideVO workGuideVO, Long userId) {
+ public R addWorkGuide(ComActWorkGuideDTO workGuideDTO, Long userId) {
ComActWorkGuideDO comActWorkGuideDO = new ComActWorkGuideDO();
- BeanUtils.copyProperties(workGuideVO, comActWorkGuideDO);
+ BeanUtils.copyProperties(workGuideDTO, comActWorkGuideDO);
comActWorkGuideDO.setCreateBy(userId);
this.baseMapper.insert(comActWorkGuideDO);
- //保存办事指南材料
- workGuideVO.getMaterials().forEach(material -> {
+ // 保存办事指南材料
+ workGuideDTO.getMaterials().forEach(material -> {
ComActWorkGuideMaterialDO workGuideMaterialDO = new ComActWorkGuideMaterialDO();
workGuideMaterialDO.setMaterialName(material.getMaterialName());
workGuideMaterialDO.setWorkGuideId(comActWorkGuideDO.getId());
@@ -47,44 +66,44 @@
}
@Override
- public R editWorkGuide(ComActWorkGuideVO workGuideVO, Long userId) {
- if (workGuideVO.getId() == 0L) {
+ public R editWorkGuide(ComActWorkGuideDTO workGuideDTO, Long userId) {
+ if (workGuideDTO.getId() == 0L) {
return R.fail("Id有误!");
}
- ComActWorkGuideDO workGuideDO = this.baseMapper.selectById(workGuideVO.getId());
+ ComActWorkGuideDO workGuideDO = this.baseMapper.selectById(workGuideDTO.getId());
if (workGuideDO == null) {
return R.fail("Id有误!");
}
- BeanUtils.copyProperties(workGuideVO, workGuideDO);
+ BeanUtils.copyProperties(workGuideDTO, workGuideDO);
workGuideDO.setUpdateBy(userId);
this.baseMapper.updateById(workGuideDO);
- if (workGuideVO.getMaterials().size() == 0) {//若编辑材料为null,执行删除操作
+ if (workGuideDTO.getMaterials().size() == 0) {// 若编辑材料为null,执行删除操作
workGuideMaterialDAO.delete(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>()
- .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideVO.getId()));
- } else {//若材料不为空,但是少了数据条数,也要执行删除
- List<ComActWorkGuideMaterialDO> workGuideMaterialDOS = workGuideMaterialDAO.selectList(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>()
- .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideVO.getId()));
- //1、筛选vo里面和db里,需要删除的材料数据
- List<Long> voMaterialIds = workGuideVO.getMaterials().stream()
- .filter(materialVo -> materialVo.getId() != null)
- .map(ComActWorkGuideMaterialVO::getId)
- .collect(Collectors.toList());
+ .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideDTO.getId()));
+ } else {// 若材料不为空,但是少了数据条数,也要执行删除
+ List<ComActWorkGuideMaterialDO> workGuideMaterialDOS =
+ workGuideMaterialDAO.selectList(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>()
+ .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideDTO.getId()));
+ // 1、筛选vo里面和db里,需要删除的材料数据
+ List<Long> voMaterialIds =
+ workGuideDTO.getMaterials().stream().filter(materialVo -> materialVo.getId() != null)
+ .map(ComActWorkGuideMaterialVO::getId).collect(Collectors.toList());
List<Long> deleteMaterialIds = workGuideMaterialDOS.stream()
- .filter(workGuideMaterialDO -> !voMaterialIds.contains(workGuideMaterialDO.getId()))
- .map(ComActWorkGuideMaterialDO::getId)
- .collect(Collectors.toList());
+ .filter(workGuideMaterialDO -> !voMaterialIds.contains(workGuideMaterialDO.getId()))
+ .map(ComActWorkGuideMaterialDO::getId).collect(Collectors.toList());
if (deleteMaterialIds.size() != 0) {
workGuideMaterialDAO.deleteBatchIds(deleteMaterialIds);
}
- workGuideVO.getMaterials().forEach(materialsVO -> {
+ workGuideDTO.getMaterials().forEach(materialsVO -> {
if (materialsVO.getId() != null && materialsVO.getId() != 0L) {
- ComActWorkGuideMaterialDO workGuideMaterialDO1 = workGuideMaterialDOS.stream().filter(workGuideMaterialDO -> workGuideMaterialDO.getId()
- .equals(materialsVO.getId())).findFirst().orElse(null);
- if (workGuideMaterialDO1 != null) {//2、如果db有,执行编辑
+ ComActWorkGuideMaterialDO workGuideMaterialDO1 = workGuideMaterialDOS.stream()
+ .filter(workGuideMaterialDO -> workGuideMaterialDO.getId().equals(materialsVO.getId()))
+ .findFirst().orElse(null);
+ if (workGuideMaterialDO1 != null) {// 2、如果db有,执行编辑
workGuideMaterialDO1.setMaterialName(materialsVO.getMaterialName());
workGuideMaterialDAO.updateById(workGuideMaterialDO1);
}
- } else {//3、如果db没有,执行新增
+ } else {// 3、如果db没有,执行新增
ComActWorkGuideMaterialDO newWorkGuideMaterialDO = new ComActWorkGuideMaterialDO();
newWorkGuideMaterialDO.setMaterialName(materialsVO.getMaterialName());
newWorkGuideMaterialDO.setWorkGuideId(workGuideDO.getId());
@@ -96,21 +115,34 @@
}
@Override
- public R detailWorkGuide(Long workGuideId) {
+ public R detailWorkGuide(String workGuideId, String communityId) {
ComActWorkGuideDO workGuideDO = this.baseMapper.selectById(workGuideId);
if (workGuideDO == null) {
return R.fail("Id有误!");
}
ComActWorkGuideVO vo = new ComActWorkGuideVO();
BeanUtils.copyProperties(workGuideDO, vo);
- List<ComActWorkGuideMaterialDO> workGuideMaterialDOS = workGuideMaterialDAO.selectList(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>()
- .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideId));
- workGuideMaterialDOS.forEach(workGuideMaterialDO -> {
- ComActWorkGuideMaterialVO workGuideMaterialVO = new ComActWorkGuideMaterialVO();
- workGuideMaterialVO.setId(workGuideMaterialDO.getId());
- workGuideMaterialVO.setMaterialName(workGuideMaterialDO.getMaterialName());
- vo.getMaterials().add(workGuideMaterialVO);
- });
+
+ if(!StringUtils.isEmpty(communityId))
+ {
+ ComActDO comActDO = comActDAO.selectById(communityId);
+ if (comActDO != null) {
+ vo.setAddress(comActDO.getAddress());
+ vo.setPhone(comActDO.getContactsPhone());
+ vo.setLon(comActDO.getLng());
+ vo.setLat(comActDO.getLat());
+ }
+
+ List<ComActWorkGuideMaterialDO> workGuideMaterialDOS =
+ workGuideMaterialDAO.selectList(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>()
+ .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideId));
+ workGuideMaterialDOS.forEach(workGuideMaterialDO -> {
+ ComActWorkGuideMaterialVO workGuideMaterialVO = new ComActWorkGuideMaterialVO();
+ workGuideMaterialVO.setId(workGuideMaterialDO.getId());
+ workGuideMaterialVO.setMaterialName(workGuideMaterialDO.getMaterialName());
+ vo.getMaterials().add(workGuideMaterialVO);
+ });
+ }
return R.ok(vo);
}
@@ -128,6 +160,14 @@
page.setSize(pageSize);
page.setCurrent(pageNum);
IPage<ComActWorkGuideVO> iPage = this.baseMapper.pageWorkGuide(page, pageActWorkGuideDTO);
+ if (!iPage.getRecords().isEmpty()) {
+ iPage.getRecords().forEach(comActWorkGuideVO -> {
+ ComActWorkGuideClassifyDO comActWorkGuideClassifyDO = comActWorkGuideClassifyDAO.selectById(comActWorkGuideVO.getClassify());
+ if (comActWorkGuideClassifyDO != null) {
+ comActWorkGuideVO.setClassifyName(comActWorkGuideClassifyDO.getClassifyName());
+ }
+ });
+ }
return R.ok(iPage);
}
@@ -135,7 +175,40 @@
public R delectWorkGuide(Long workGuideId) {
this.baseMapper.deleteById(workGuideId);
workGuideMaterialDAO.delete(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>()
- .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideId));
+ .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideId));
return R.ok();
}
+
+ /**
+ * 办事指南列表-按分类查询
+ * @param pageActWorkGuideDTO 请求参数
+ * @return 办事指南分类列表
+ */
+ @Override
+ public R listWorkGuide(PageActWorkGuideDTO pageActWorkGuideDTO){
+ //结果数据集合
+ List<ComActWorkGuideAppletsVO> resultList = new ArrayList<>();
+
+ List<ComActWorkGuideAppletsVO> workGuideClassifyList = comActWorkGuideClassifyDAO.listWorkGuideClassify(pageActWorkGuideDTO.getAreaCode());
+ //通过办事指南分类查询分类下办事指南
+ workGuideClassifyList.forEach(workGuideClassify -> {
+ List<ComActWorkGuideDetailAppletsVO> workGuideList = this.baseMapper.getWorkGuideListByClassifyId(workGuideClassify.getId(),10L);
+ if(workGuideList != null && workGuideList.size() > 0){
+ workGuideClassify.setGuideDetailList(workGuideList);
+ //分类下办事指南数据大于0加入到结果集中向小程序展示
+ resultList.add(workGuideClassify);
+ }
+ });
+ return R.ok(resultList);
+ }
+
+ /**
+ * 根据办事指南分类id查询办事指南列表
+ * @param classifyId 办事指南分类id
+ * @return 办事指南列表数据
+ */
+ @Override
+ public R listWorkGuideByClassifyId(Long classifyId){
+ return R.ok(this.baseMapper.getWorkGuideListByClassifyId(classifyId,null));
+ }
}
--
Gitblit v1.7.1