From e7f03acfa5ee4ad4fd6d1ee9e9ae9a5655488f6d Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期二, 09 十一月 2021 17:04:46 +0800
Subject: [PATCH] 1109修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComOpsAdvServiceImpl.java |  234 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 205 insertions(+), 29 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComOpsAdvServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComOpsAdvServiceImpl.java
index 75906d0..befc432 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComOpsAdvServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComOpsAdvServiceImpl.java
@@ -1,22 +1,36 @@
 package com.panzhihua.service_community.service.impl;
 
-import com.panzhihua.common.exceptions.ServiceException;
-import com.panzhihua.common.model.dtos.AppletesBackstageConfigDTO;
-import com.panzhihua.common.model.dtos.advertisement.ComOpsAdvJumpDTO;
-import com.panzhihua.common.model.vos.R;
-import com.panzhihua.common.model.vos.advertisement.ComOpsAdvJumpVO;
-import com.panzhihua.service_community.dao.ComOpsAdvDAO;
-import com.panzhihua.service_community.dao.ComOpsAdvJumpDAO;
-import com.panzhihua.service_community.model.dos.ComOpsAdvJumpDO;
-import com.panzhihua.service_community.service.ComOpsAdvService;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+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 javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
+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.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;
 
 /**
  * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -30,6 +44,9 @@
     private ComOpsAdvJumpDAO comOpsAdvJumpDAO;
     @Resource
     private ComOpsAdvDAO comOpsAdvDAO;
+    @Resource
+    private ComOpsAdvPosDAO comOpsAdvPosDAO;
+
     /**
      * 获取广告跳转内容配置
      *
@@ -37,11 +54,11 @@
      */
     @Override
     public R getJumpContent() {
-        List<ComOpsAdvJumpVO> comOpsAdvJumpVOS=new ArrayList<>();
-        List<ComOpsAdvJumpDO> comOpsAdvJumpDOS = comOpsAdvJumpDAO.selectList(null);
+        List<ComOpsAdvJumpVO> comOpsAdvJumpVOS = new ArrayList<>();
+        List<ComOpsAdvJumpDO> comOpsAdvJumpDOS = comOpsAdvJumpDAO.selectList(new QueryWrapper<>());
         if (!ObjectUtils.isEmpty(comOpsAdvJumpDOS)) {
             comOpsAdvJumpDOS.forEach(comOpsAdvJumpDO -> {
-                ComOpsAdvJumpVO comOpsAdvJumpVO=new ComOpsAdvJumpVO();
+                ComOpsAdvJumpVO comOpsAdvJumpVO = new ComOpsAdvJumpVO();
                 comOpsAdvJumpVO.setId(comOpsAdvJumpDO.getId());
                 comOpsAdvJumpVO.setJumpContent(comOpsAdvJumpDO.getJumpContent());
                 comOpsAdvJumpVOS.add(comOpsAdvJumpVO);
@@ -53,7 +70,8 @@
     /**
      * 编辑运营后台系统配置
      *
-     * @param appletesBackstageConfigDTO 编辑内容
+     * @param appletesBackstageConfigDTO
+     *            编辑内容
      * @return 编辑结果
      */
     @Override
@@ -63,28 +81,186 @@
         if (ObjectUtils.isEmpty(comOpsAdvJumpDTOS)) {
             return R.fail("广告跳转内容不能为空");
         }
-//        查询所有正在使用的跳转内容id
-        List<Long> ids=comOpsAdvDAO.selectAllBeUsedContent();
-        List<Long> collect = comOpsAdvJumpDTOS.stream().map(comOpsAdvJumpDTO -> comOpsAdvJumpDTO.getId()).collect(Collectors.toList());
+        // 查询所有正在使用的跳转内容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();
     }
+
+    /**
+     * 首页广告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();
+    }
 }

--
Gitblit v1.7.1