lidongdong
2023-08-24 8c0b5b30e5200e7bd45aa34507c3623e17fcce91
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWorkGuideServiceImpl.java
@@ -1,10 +1,19 @@
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;
@@ -35,6 +44,8 @@
    static String AK = "W3x8DhCWKc2UFIwYgclpRBdL6BeGLLQt"; // 百度地图密钥
    @Resource
    ComActWorkGuideMaterialDAO workGuideMaterialDAO;
    @Resource
    private ComActWorkGuideClassifyDAO comActWorkGuideClassifyDAO;
    @Resource
    ComActDAO comActDAO;
@@ -104,30 +115,34 @@
    }
    @Override
    public R detailWorkGuide(Long workGuideId, Long communityId) {
    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);
        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);
        });
        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);
    }
@@ -145,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);
    }
@@ -155,4 +178,37 @@
            .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));
    }
}