| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | 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.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; |
| | |
| | | workGuideMaterialDAO.delete(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>() |
| | | .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideDTO.getId())); |
| | | } else {//若材料不为空,但是少了数据条数,也要执行删除 |
| | | List<ComActWorkGuideMaterialDO> workGuideMaterialDOS = workGuideMaterialDAO.selectList(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>() |
| | | 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> 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()); |
| | | .map(ComActWorkGuideMaterialDO::getId).collect(Collectors.toList()); |
| | | if (deleteMaterialIds.size() != 0) { |
| | | workGuideMaterialDAO.deleteBatchIds(deleteMaterialIds); |
| | | } |
| | | 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); |
| | | 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); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public R detailWorkGuide(Long workGuideId, Long conmunityId) { |
| | | public R detailWorkGuide(Long workGuideId, Long 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(conmunityId); |
| | | ComActDO comActDO = comActDAO.selectById(communityId); |
| | | if (comActDO != null){ |
| | | vo.setAddress(comActDO.getAddress()); |
| | | vo.setPhone(comActDO.getContactsPhone()); |
| | |
| | | vo.setLat(comActDO.getLat()); |
| | | } |
| | | |
| | | List<ComActWorkGuideMaterialDO> workGuideMaterialDOS = workGuideMaterialDAO.selectList(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>() |
| | | List<ComActWorkGuideMaterialDO> workGuideMaterialDOS = |
| | | workGuideMaterialDAO.selectList(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>() |
| | | .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideId)); |
| | | workGuideMaterialDOS.forEach(workGuideMaterialDO -> { |
| | | ComActWorkGuideMaterialVO workGuideMaterialVO = new ComActWorkGuideMaterialVO(); |