| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | 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.panzhihua.common.exceptions.ServiceException; |
| | | import com.panzhihua.common.model.dtos.AppletesBackstageConfigDTO; |
| | | import com.panzhihua.common.model.dtos.advertisement.ComOpsAdvDTO; |
| | | import com.panzhihua.common.model.dtos.advertisement.ComOpsAdvJumpDTO; |
| | | import com.panzhihua.common.model.dtos.advertisement.PageComOpsAdvDTO; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.advertisement.ComOpsAdvJumpVO; |
| | | import com.panzhihua.common.model.vos.advertisement.ComOpsAdvPosVO; |
| | | import com.panzhihua.common.model.vos.advertisement.ComOpsAdvVO; |
| | | import com.panzhihua.common.model.vos.community.ComMngStructOtherBuildVO; |
| | | import com.panzhihua.service_community.dao.ComOpsAdvDAO; |
| | | import com.panzhihua.service_community.dao.ComOpsAdvJumpDAO; |
| | | import com.panzhihua.service_community.dao.ComOpsAdvPosDAO; |
| | | import com.panzhihua.service_community.model.dos.ComOpsAdvDO; |
| | | import com.panzhihua.service_community.model.dos.ComOpsAdvJumpDO; |
| | | import com.panzhihua.service_community.model.dos.ComOpsAdvPosDO; |
| | | import com.panzhihua.service_community.service.ComOpsAdvService; |
| | | 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.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @program: springcloud_k8s_panzhihuazhihuishequ |
| | |
| | | public class ComOpsAdvServiceImpl implements ComOpsAdvService { |
| | | @Resource |
| | | private ComOpsAdvJumpDAO comOpsAdvJumpDAO; |
| | | @Resource |
| | | private ComOpsAdvDAO comOpsAdvDAO; |
| | | @Resource |
| | | private ComOpsAdvPosDAO comOpsAdvPosDAO; |
| | | /** |
| | | * 获取广告跳转内容配置 |
| | | * |
| | |
| | | @Override |
| | | public R getJumpContent() { |
| | | List<ComOpsAdvJumpVO> comOpsAdvJumpVOS=new ArrayList<>(); |
| | | List<ComOpsAdvJumpDO> comOpsAdvJumpDOS = comOpsAdvJumpDAO.selectList(null); |
| | | List<ComOpsAdvJumpDO> comOpsAdvJumpDOS = comOpsAdvJumpDAO.selectList(new QueryWrapper<>()); |
| | | if (!ObjectUtils.isEmpty(comOpsAdvJumpDOS)) { |
| | | comOpsAdvJumpDOS.forEach(comOpsAdvJumpDO -> { |
| | | ComOpsAdvJumpVO comOpsAdvJumpVO=new ComOpsAdvJumpVO(); |
| | |
| | | } |
| | | return R.ok(comOpsAdvJumpVOS); |
| | | } |
| | | |
| | | /** |
| | | * 编辑运营后台系统配置 |
| | | * |
| | | * @param appletesBackstageConfigDTO 编辑内容 |
| | | * @return 编辑结果 |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R putJumpContent(AppletesBackstageConfigDTO appletesBackstageConfigDTO) { |
| | | List<ComOpsAdvJumpDTO> comOpsAdvJumpDTOS = appletesBackstageConfigDTO.getComOpsAdvJumpDTOS(); |
| | | if (ObjectUtils.isEmpty(comOpsAdvJumpDTOS)) { |
| | | return R.fail("广告跳转内容不能为空"); |
| | | } |
| | | // 查询所有正在使用的跳转内容id |
| | | List<Long> ids=comOpsAdvDAO.selectAllBeUsedContent(); |
| | | List<Long> notDeleteIds=new ArrayList<>(); |
| | | List<Long> collect = comOpsAdvJumpDTOS.stream().map(comOpsAdvJumpDTO -> comOpsAdvJumpDTO.getId()).collect(Collectors.toList()); |
| | | if (!ObjectUtils.isEmpty(ids)) { |
| | | ids.forEach(aLong -> { |
| | | if (!collect.contains(aLong)) { |
| | | ComOpsAdvJumpDO comOpsAdvJumpDO = comOpsAdvJumpDAO.selectById(aLong); |
| | | if (!ObjectUtils.isEmpty(comOpsAdvJumpDO)) { |
| | | String jumpContent = comOpsAdvJumpDO.getJumpContent(); |
| | | throw new ServiceException(jumpContent+" 已经在使用无法删除"); |
| | | } |
| | | }else{ |
| | | notDeleteIds.add(aLong); |
| | | } |
| | | }); |
| | | } |
| | | if (!ObjectUtils.isEmpty(notDeleteIds)) { |
| | | comOpsAdvJumpDAO.delete(new QueryWrapper<ComOpsAdvJumpDO>().lambda().notIn(ComOpsAdvJumpDO::getId,notDeleteIds)); |
| | | }else{ |
| | | comOpsAdvJumpDAO.delete(null); |
| | | } |
| | | comOpsAdvJumpDTOS.forEach(comOpsAdvJumpDTO -> { |
| | | Long id = comOpsAdvJumpDTO.getId(); |
| | | if (!ids.contains(id)) { |
| | | ComOpsAdvJumpDO comOpsAdvJumpDO=new ComOpsAdvJumpDO(); |
| | | String jumpContent = comOpsAdvJumpDTO.getJumpContent(); |
| | | if (ObjectUtils.isEmpty(jumpContent)) { |
| | | throw new ServiceException("广告跳转内容不能为空"); |
| | | } |
| | | comOpsAdvJumpDO.setJumpContent(jumpContent); |
| | | comOpsAdvJumpDAO.insert(comOpsAdvJumpDO); |
| | | } |
| | | }); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 首页广告banner |
| | | * |
| | | * @return 广告列表 |
| | | */ |
| | | @Override |
| | | public R listAdvertisement() { |
| | | List<ComOpsAdvDO> comOpsAdvDOS = comOpsAdvDAO.selectList(new QueryWrapper<ComOpsAdvDO>().last(" where SYSDATE() BETWEEN on_at and off_at ")); |
| | | List<ComOpsAdvVO> comOpsAdvVOS=new ArrayList<>(); |
| | | if (!ObjectUtils.isEmpty(comOpsAdvDOS)) { |
| | | comOpsAdvDOS.forEach(comOpsAdvDO -> { |
| | | ComOpsAdvVO comOpsAdvVO=new ComOpsAdvVO(); |
| | | BeanUtils.copyProperties(comOpsAdvDO,comOpsAdvVO); |
| | | comOpsAdvVOS.add(comOpsAdvVO); |
| | | }); |
| | | } |
| | | return R.ok(comOpsAdvVOS); |
| | | } |
| | | |
| | | /** |
| | | * 新增广告 |
| | | * |
| | | * @param comOpsAdvDTO |
| | | * @return 新增结果 |
| | | */ |
| | | @Override |
| | | public R addAdvertisement(ComOpsAdvDTO comOpsAdvDTO) { |
| | | ComOpsAdvDO comOpsAdvDO=new ComOpsAdvDO(); |
| | | BeanUtils.copyProperties(comOpsAdvDTO,comOpsAdvDO); |
| | | int insert = comOpsAdvDAO.insert(comOpsAdvDO); |
| | | if (insert>0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | /** |
| | | * 编辑广告 |
| | | * |
| | | * @param comOpsAdvDTO 编辑内容 |
| | | * @return 编辑结果 |
| | | */ |
| | | @Override |
| | | public R putAdvertisement(ComOpsAdvDTO comOpsAdvDTO) { |
| | | ComOpsAdvDO comOpsAdvDO=new ComOpsAdvDO(); |
| | | BeanUtils.copyProperties(comOpsAdvDTO,comOpsAdvDO); |
| | | int update = comOpsAdvDAO.updateById(comOpsAdvDO); |
| | | if (update>0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | /** |
| | | * 广告位置下拉列表 |
| | | * |
| | | * @return 位置集合 |
| | | */ |
| | | @Override |
| | | public R listadvpos() { |
| | | List<ComOpsAdvPosDO> comOpsAdvPosDOS = comOpsAdvPosDAO.selectList(new LambdaQueryWrapper<>()); |
| | | List<ComOpsAdvPosVO> comOpsAdvPosVOS=new ArrayList<>(); |
| | | comOpsAdvPosDOS.forEach(comOpsAdvPosDO -> { |
| | | ComOpsAdvPosVO comOpsAdvPosVO=new ComOpsAdvPosVO(); |
| | | BeanUtils.copyProperties(comOpsAdvPosDO,comOpsAdvPosVO); |
| | | comOpsAdvPosVOS.add(comOpsAdvPosVO); |
| | | }); |
| | | return R.ok(comOpsAdvPosVOS); |
| | | } |
| | | |
| | | /** |
| | | * 跳转内容下拉集合 |
| | | * |
| | | * @return 跳转集合 |
| | | */ |
| | | @Override |
| | | public R listAdvjump() { |
| | | List<ComOpsAdvJumpDO> comOpsAdvJumpDOS = comOpsAdvJumpDAO.selectList(new LambdaQueryWrapper<>()); |
| | | List<ComOpsAdvJumpVO> comOpsAdvJumpVOS=new ArrayList<>(); |
| | | if (!ObjectUtils.isEmpty(comOpsAdvJumpDOS)) { |
| | | comOpsAdvJumpDOS.forEach(comOpsAdvJumpDO -> { |
| | | ComOpsAdvJumpVO comOpsAdvJumpVO=new ComOpsAdvJumpVO(); |
| | | BeanUtils.copyProperties(comOpsAdvJumpDO,comOpsAdvJumpVO); |
| | | comOpsAdvJumpVOS.add(comOpsAdvJumpVO); |
| | | }); |
| | | } |
| | | return R.ok(comOpsAdvJumpVOS); |
| | | } |
| | | |
| | | /** |
| | | * 分页查询广告 |
| | | * |
| | | * @param pageComOpsAdvDTO 查询内容 |
| | | * @return 查询结果 ComOpsAdvVO |
| | | */ |
| | | @Override |
| | | public R pageAdvertisement(PageComOpsAdvDTO pageComOpsAdvDTO) { |
| | | Page page = new Page<>(); |
| | | Long pageNum = pageComOpsAdvDTO.getPageNum(); |
| | | Long pageSize = pageComOpsAdvDTO.getPageSize(); |
| | | if (null==pageNum||0==pageNum) { |
| | | pageNum = 1l; |
| | | } |
| | | if (null==pageSize||0==pageSize) { |
| | | pageSize = 10l; |
| | | } |
| | | page.setSize(pageSize); |
| | | page.setCurrent(pageNum); |
| | | IPage<ComOpsAdvVO> iPage = comOpsAdvDAO.pageAdvertisement(page, pageComOpsAdvDTO); |
| | | return R.ok(iPage); |
| | | } |
| | | |
| | | /** |
| | | * 广告详情 |
| | | * |
| | | * @param id 主键 |
| | | * @return 广告内容 ComOpsAdvVO |
| | | */ |
| | | @Override |
| | | public R detailAdvertisement(Long id) { |
| | | ComOpsAdvVO comOpsAdvVO=comOpsAdvDAO.detailAdvertisement(id); |
| | | return R.ok(comOpsAdvVO); |
| | | } |
| | | |
| | | /** |
| | | * 删除广告 |
| | | * |
| | | * @param id 主键 |
| | | * @return 删除结果 |
| | | */ |
| | | @Override |
| | | public R deleteAdvertisement(Long id) { |
| | | int delete = comOpsAdvDAO.deleteById(id); |
| | | if (delete>0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | } |