From 2e64c232ab6b51b2cecf1ee96e1e9b709234f326 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期六, 21 八月 2021 16:35:14 +0800
Subject: [PATCH] 随手拍改版接口开发

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComOpsAdvServiceImpl.java |  186 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 176 insertions(+), 10 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..d81ed1f 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,14 +1,27 @@
 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;
@@ -30,6 +43,8 @@
     private ComOpsAdvJumpDAO comOpsAdvJumpDAO;
     @Resource
     private ComOpsAdvDAO comOpsAdvDAO;
+    @Resource
+    private ComOpsAdvPosDAO comOpsAdvPosDAO;
     /**
      * 获取广告跳转内容配置
      *
@@ -38,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();
@@ -65,26 +80,177 @@
         }
 //        查询所有正在使用的跳转内容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