huanghongfa
2021-07-22 02f18587bd8860b305e2c688e20465be166bb48c
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComOpsAdvServiceImpl.java
@@ -1,14 +1,19 @@
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;
@@ -48,7 +53,7 @@
    @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();
@@ -75,25 +80,37 @@
        }
//        查询所有正在使用的跳转内容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);
                    String jumpContent = comOpsAdvJumpDO.getJumpContent();
                    throw new ServiceException(jumpContent+" 已经在使用无法删除");
                    if (!ObjectUtils.isEmpty(comOpsAdvJumpDO)) {
                        String jumpContent = comOpsAdvJumpDO.getJumpContent();
                        throw new ServiceException(jumpContent+" 已经在使用无法删除");
                    }
                }else{
                    notDeleteIds.add(aLong);
                }
            });
        }
        comOpsAdvJumpDAO.delete(null);
        if (!ObjectUtils.isEmpty(notDeleteIds)) {
            comOpsAdvJumpDAO.delete(new QueryWrapper<ComOpsAdvJumpDO>().lambda().notIn(ComOpsAdvJumpDO::getId,notDeleteIds));
        }else{
            comOpsAdvJumpDAO.delete(null);
        }
        comOpsAdvJumpDTOS.forEach(comOpsAdvJumpDTO -> {
            ComOpsAdvJumpDO comOpsAdvJumpDO=new ComOpsAdvJumpDO();
            String jumpContent = comOpsAdvJumpDTO.getJumpContent();
            if (ObjectUtils.isEmpty(jumpContent)) {
                throw new ServiceException("广告跳转内容不能为空");
            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);
            }
            comOpsAdvJumpDO.setJumpContent(jumpContent);
            comOpsAdvJumpDAO.insert(comOpsAdvJumpDO);
        });
        return R.ok();
    }
@@ -158,7 +175,7 @@
     */
    @Override
    public R listadvpos() {
        List<ComOpsAdvPosDO> comOpsAdvPosDOS = comOpsAdvPosDAO.selectList(null);
        List<ComOpsAdvPosDO> comOpsAdvPosDOS = comOpsAdvPosDAO.selectList(new LambdaQueryWrapper<>());
        List<ComOpsAdvPosVO> comOpsAdvPosVOS=new ArrayList<>();
        comOpsAdvPosDOS.forEach(comOpsAdvPosDO -> {
            ComOpsAdvPosVO comOpsAdvPosVO=new ComOpsAdvPosVO();
@@ -175,7 +192,7 @@
     */
    @Override
    public R listAdvjump() {
        List<ComOpsAdvJumpDO> comOpsAdvJumpDOS = comOpsAdvJumpDAO.selectList(null);
        List<ComOpsAdvJumpDO> comOpsAdvJumpDOS = comOpsAdvJumpDAO.selectList(new LambdaQueryWrapper<>());
        List<ComOpsAdvJumpVO> comOpsAdvJumpVOS=new ArrayList<>();
        if (!ObjectUtils.isEmpty(comOpsAdvJumpDOS)) {
            comOpsAdvJumpDOS.forEach(comOpsAdvJumpDO -> {
@@ -186,4 +203,54 @@
        }
        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();
    }
}