From 3ca7f722f25c1908bc4588c75dbde1f56a8d9877 Mon Sep 17 00:00:00 2001
From: DESKTOP-71BH0QO\L、ming <172680469@qq.com>
Date: 星期五, 26 三月 2021 10:08:46 +0800
Subject: [PATCH] Merge branch 'master' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComOpsAdvServiceImpl.java |   45 ++++++++++++++++++++++++++++++++++++---------
 1 files changed, 36 insertions(+), 9 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 e9f0575..3c10076 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
@@ -79,25 +79,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();
     }
@@ -225,4 +237,19 @@
         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