From f555d3d6a3be7d7b50160f9f0ab33e24ee7193fc Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 23 三月 2023 17:39:27 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/data/PublishService.java       |   41 +++++++++++++++++++++++++++++++++++++++++
 src/main/java/com/lf/server/controller/data/PublishController.java |    4 ++--
 src/main/java/com/lf/server/mapper/data/PublishMapper.java         |    8 ++++++++
 src/main/resources/mapper/show/PublishMapper.xml                   |    4 ++++
 4 files changed, 55 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/lf/server/controller/data/PublishController.java b/src/main/java/com/lf/server/controller/data/PublishController.java
index baa75b5..6496a5f 100644
--- a/src/main/java/com/lf/server/controller/data/PublishController.java
+++ b/src/main/java/com/lf/server/controller/data/PublishController.java
@@ -184,13 +184,13 @@
             @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", allowMultiple = true, example = "1")
     })
     @GetMapping(value = "/deletes")
-    public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids) {
+    public ResponseMsg<Integer> deletes(@RequestParam List<Integer> ids, HttpServletRequest req) {
         try {
             if (ids == null || ids.isEmpty()) {
                 return fail("id鏁扮粍涓嶈兘涓虹┖", -1);
             }
 
-            int count = publishService.deletes(StringHelper.join(ids, ","));
+            int count = publishService.deletes(ids, req);
 
             return success(count);
         } catch (Exception ex) {
diff --git a/src/main/java/com/lf/server/mapper/data/PublishMapper.java b/src/main/java/com/lf/server/mapper/data/PublishMapper.java
index 83d6c19..220516e 100644
--- a/src/main/java/com/lf/server/mapper/data/PublishMapper.java
+++ b/src/main/java/com/lf/server/mapper/data/PublishMapper.java
@@ -48,6 +48,14 @@
     public PublishEntity selectById(int id);
 
     /**
+     * 鏍规嵁ID瀛楃涓叉煡璇�
+     *
+     * @param ids ID瀛楃涓�
+     * @return 璁板綍闆嗗悎
+     */
+    public List<PublishEntity> selectByIds(String ids);
+
+    /**
      * 鎻掑叆涓�鏉�
      *
      * @param entity
diff --git a/src/main/java/com/lf/server/service/data/PublishService.java b/src/main/java/com/lf/server/service/data/PublishService.java
index 673b5f8..717d04a 100644
--- a/src/main/java/com/lf/server/service/data/PublishService.java
+++ b/src/main/java/com/lf/server/service/data/PublishService.java
@@ -9,6 +9,8 @@
 import com.lf.server.helper.RestHelper;
 import com.lf.server.helper.StringHelper;
 import com.lf.server.mapper.data.PublishMapper;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -30,6 +32,11 @@
 
     @Autowired
     PublishMapper publishMapper;
+
+    @Autowired
+    FmeService fmeService;
+
+    private final static Log log = LogFactory.getLog(PublishService.class);
 
     @Override
     public Integer selectCount(String name) {
@@ -53,6 +60,11 @@
     @Override
     public PublishEntity selectById(int id) {
         return publishMapper.selectById(id);
+    }
+
+    @Override
+    public List<PublishEntity> selectByIds(String ids) {
+        return publishMapper.selectByIds(ids);
     }
 
     @Override
@@ -146,4 +158,33 @@
 
         return map;
     }
+
+    /**
+     * 鍒犻櫎澶氭潯
+     */
+    public Integer deletes(List<Integer> idList, HttpServletRequest req) {
+        String ids = StringHelper.join(idList, ",");
+
+        deleteRes(ids, req);
+
+        return deletes(ids);
+    }
+
+    /**
+     * 鍒犻櫎璧勬簮
+     */
+    private void deleteRes(String ids, HttpServletRequest req) {
+        List<PublishEntity> list = selectByIds(ids);
+        if (null == list || list.isEmpty()) {
+            return;
+        }
+
+        for (PublishEntity entity : list) {
+            try {
+                fmeService.deleteRes(entity.getRegid(), req);
+            } catch (Exception ex) {
+                log.error(ex.getMessage(), ex);
+            }
+        }
+    }
 }
diff --git a/src/main/resources/mapper/show/PublishMapper.xml b/src/main/resources/mapper/show/PublishMapper.xml
index 555f3e0..18df1e4 100644
--- a/src/main/resources/mapper/show/PublishMapper.xml
+++ b/src/main/resources/mapper/show/PublishMapper.xml
@@ -76,6 +76,10 @@
         where id = #{id}
     </select>
 
+    <select id="selectByIds" resultType="com.lf.server.entity.data.PublishEntity">
+        select * from lf.sys_publish where id in (${ids});
+    </select>
+
     <insert id="insert" parameterType="com.lf.server.entity.data.PublishEntity">
         insert into lf.sys_publish
         (regid,name,url,path,type,status,dirid,depid,min,max,json,create_user,create_time,geom,bak)

--
Gitblit v1.9.3