| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | 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.model.dtos.community.ComCvtBusinessDTO; |
| | | import com.panzhihua.common.model.dtos.community.PageComCvtBusinessAppletsDTO; |
| | | import com.panzhihua.common.model.dtos.community.PageComCvtBusinessDTO; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.community.ComActVO; |
| | | import com.panzhihua.common.model.vos.community.ComCvtBusinessDetailVO; |
| | | import com.panzhihua.common.model.vos.community.ComCvtBusinessVO; |
| | | import com.panzhihua.service_community.dao.ComActDAO; |
| | | import com.panzhihua.service_community.dao.ComCvtBusinessAreaDAO; |
| | |
| | | import com.panzhihua.service_community.service.ComCvtBusinessAreaService; |
| | | import com.panzhihua.service_community.service.ComCvtBusinessIntroduceService; |
| | | import com.panzhihua.service_community.service.ComCvtBusinessService; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | import com.panzhihua.service_community.service.ComCvtServeService; |
| | | |
| | | /** |
| | | * @description: 便民服务商家接口 |
| | |
| | | * @date: 2021/3/11 11:11 |
| | | */ |
| | | @Service |
| | | public class ComCvtBusinessServiceImpl extends ServiceImpl<ComCvtBusinessDAO, ComCvtBusinessDO> implements ComCvtBusinessService { |
| | | public class ComCvtBusinessServiceImpl extends ServiceImpl<ComCvtBusinessDAO, ComCvtBusinessDO> |
| | | implements ComCvtBusinessService { |
| | | |
| | | @Resource |
| | | private ComCvtBusinessDAO comCvtBusinessDAO; |
| | |
| | | private ComCvtBusinessAreaService comCvtBusinessAreaService; |
| | | @Resource |
| | | private ComCvtBusinessIntroduceService comCvtBusinessIntroduceService; |
| | | @Resource |
| | | private ComCvtServeService comCvtServeService; |
| | | @Resource |
| | | private ComActDAO comActDAO; |
| | | |
| | |
| | | } |
| | | BeanUtils.copyProperties(comCvtBusinessDTO, comCvtBusinessDO); |
| | | comCvtBusinessDAO.updateById(comCvtBusinessDO); |
| | | //删除服务范围 |
| | | comCvtBusinessAreaDAO.delete(new QueryWrapper<ComCvtBusinessAreaDO>().lambda().eq(ComCvtBusinessAreaDO::getBusinessId, comCvtBusinessDO.getId())); |
| | | //删除商家介绍媒体文件 |
| | | comCvtBusinessIntroduceDAO.delete(new QueryWrapper<ComCvtBusinessIntroduceDO>().lambda().eq(ComCvtBusinessIntroduceDO::getBusinessId, comCvtBusinessDO.getId())); |
| | | // 删除服务范围 |
| | | comCvtBusinessAreaDAO.delete(new QueryWrapper<ComCvtBusinessAreaDO>().lambda() |
| | | .eq(ComCvtBusinessAreaDO::getBusinessId, comCvtBusinessDO.getId())); |
| | | // 删除商家介绍媒体文件 |
| | | comCvtBusinessIntroduceDAO.delete(new QueryWrapper<ComCvtBusinessIntroduceDO>().lambda() |
| | | .eq(ComCvtBusinessIntroduceDO::getBusinessId, comCvtBusinessDO.getId())); |
| | | if (comCvtBusinessDTO.getAreaFlag() == 2 && !ObjectUtils.isEmpty(comCvtBusinessDTO.getCommunityIds())) { |
| | | List<ComCvtBusinessAreaDO> comCvtBusinessAreaDOS = new ArrayList<>(); |
| | | comCvtBusinessDTO.getCommunityIds().stream().forEach(areaId -> { |
| | |
| | | } |
| | | ComCvtBusinessVO comCvtBusinessVO = new ComCvtBusinessVO(); |
| | | BeanUtils.copyProperties(comCvtBusinessDO, comCvtBusinessVO); |
| | | List<ComCvtBusinessAreaDO> comCvtBusinessAreaDOS = comCvtBusinessAreaDAO.selectList(new QueryWrapper<ComCvtBusinessAreaDO>().lambda().eq(ComCvtBusinessAreaDO::getBusinessId, comCvtBusinessDO.getId())); |
| | | List<Long> areaIds = comCvtBusinessAreaDOS.stream().map(comCvtBusinessAreaDO -> comCvtBusinessAreaDO.getCommunityId()).collect(Collectors.toList()); |
| | | List<ComActDO> comActDOS = comActDAO.selectBatchIds(areaIds); |
| | | List<ComActDO> comActDOS = new ArrayList<>(); |
| | | |
| | | if (comCvtBusinessDO.getAreaFlag() == 1) { |
| | | LambdaQueryWrapper<ComActDO> lambdaQueryWrapper = |
| | | new LambdaQueryWrapper<ComActDO>().eq(ComActDO::getState, 0); |
| | | comActDOS = comActDAO.selectList(lambdaQueryWrapper); |
| | | } else { |
| | | List<Long> areaIds = comCvtBusinessAreaService.getBusinessServiceAreaIds(comCvtBusinessDO.getId()); |
| | | if (!ObjectUtils.isEmpty(areaIds)) { |
| | | comActDOS = comActDAO.selectBatchIds(areaIds); |
| | | } |
| | | } |
| | | |
| | | if (!ObjectUtils.isEmpty(comActDOS)) { |
| | | List<ComActVO> comActVOS = new ArrayList<>(); |
| | | comActDOS.forEach(comActDO -> { |
| | |
| | | }); |
| | | comCvtBusinessVO.setComActVOS(comActVOS); |
| | | } |
| | | List<ComCvtBusinessIntroduceDO> comCvtBusinessIntroduceDOS = comCvtBusinessIntroduceDAO.selectList(new QueryWrapper<ComCvtBusinessIntroduceDO>().lambda().eq(ComCvtBusinessIntroduceDO::getBusinessId, comCvtBusinessDO.getId())); |
| | | if (!ObjectUtils.isEmpty(comCvtBusinessIntroduceDOS)) { |
| | | List<String> mediaPaths = new ArrayList<>(); |
| | | comCvtBusinessIntroduceDOS.forEach(media -> { |
| | | mediaPaths.add(media.getMediaPath()); |
| | | }); |
| | | comCvtBusinessVO.setMediaPaths(mediaPaths); |
| | | } |
| | | List<String> mediaPaths = comCvtBusinessIntroduceService.getBusinessMediaPaths(id); |
| | | comCvtBusinessVO.setMediaPaths(mediaPaths); |
| | | return R.ok(comCvtBusinessVO); |
| | | } |
| | | |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R deleteComCvtBusiness(Long id) { |
| | | int delete = comCvtBusinessDAO.deleteById(id); |
| | | if (delete==0) { |
| | | if (delete == 0) { |
| | | return R.fail(); |
| | | } |
| | | //删除服务范围 |
| | | comCvtBusinessAreaDAO.delete(new QueryWrapper<ComCvtBusinessAreaDO>().lambda().eq(ComCvtBusinessAreaDO::getBusinessId, id)); |
| | | //删除商家介绍媒体文件 |
| | | comCvtBusinessIntroduceDAO.delete(new QueryWrapper<ComCvtBusinessIntroduceDO>().lambda().eq(ComCvtBusinessIntroduceDO::getBusinessId, id)); |
| | | // 删除服务范围 |
| | | comCvtBusinessAreaDAO |
| | | .delete(new QueryWrapper<ComCvtBusinessAreaDO>().lambda().eq(ComCvtBusinessAreaDO::getBusinessId, id)); |
| | | // 删除商家介绍媒体文件 |
| | | comCvtBusinessIntroduceDAO.delete( |
| | | new QueryWrapper<ComCvtBusinessIntroduceDO>().lambda().eq(ComCvtBusinessIntroduceDO::getBusinessId, id)); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | | public R pageComCvtBusinessByServiceArea(PageComCvtBusinessAppletsDTO comCvtBusinessAppletsDTO) { |
| | | Page page = new Page<>(); |
| | | Long pageNum = comCvtBusinessAppletsDTO.getPageNum(); |
| | | Long pageSize = comCvtBusinessAppletsDTO.getPageSize(); |
| | | if (null == pageNum || 0 == pageNum) { |
| | | pageNum = 1l; |
| | | } |
| | | if (null == pageSize || 0 == pageSize) { |
| | | pageSize = 10l; |
| | | } |
| | | page.setSize(pageSize); |
| | | page.setCurrent(pageNum); |
| | | IPage<ComCvtBusinessVO> iPage = |
| | | comCvtBusinessDAO.pageComCvtBusinessByServiceArea(page, comCvtBusinessAppletsDTO); |
| | | return R.ok(iPage); |
| | | } |
| | | |
| | | @Override |
| | | public R getComCvtBusinessServeDetail(Long id) { |
| | | ComCvtBusinessDO comCvtBusinessDO = comCvtBusinessDAO.selectById(id); |
| | | if (null == comCvtBusinessDO) { |
| | | return R.fail("商家不存在"); |
| | | } |
| | | ComCvtBusinessDetailVO comCvtBusinessDetailVO = new ComCvtBusinessDetailVO(); |
| | | BeanUtils.copyProperties(comCvtBusinessDO, comCvtBusinessDetailVO); |
| | | if (comCvtBusinessDO.getAreaFlag() != 1) { |
| | | List<Long> areaIds = comCvtBusinessAreaService.getBusinessServiceAreaIds(comCvtBusinessDO.getId()); |
| | | List<ComActDO> comActDOS = comActDAO.selectBatchIds(areaIds); |
| | | if (!ObjectUtils.isEmpty(comActDOS)) { |
| | | List<String> comActVOS = new ArrayList<>(); |
| | | comActDOS.forEach(comActDO -> { |
| | | comActVOS.add(comActDO.getName()); |
| | | }); |
| | | comCvtBusinessDetailVO.setComActVOS(comActVOS); |
| | | } |
| | | } |
| | | List<String> mediaPaths = comCvtBusinessIntroduceService.getBusinessMediaPaths(id); |
| | | comCvtBusinessDetailVO.setMediaPaths(mediaPaths); |
| | | comCvtBusinessDetailVO.setCategoryServeVOS(comCvtServeService.getBusinessCategoryServeVOS(id)); |
| | | return R.ok(comCvtBusinessDetailVO); |
| | | } |
| | | } |