From cb054a76352b728ea76d31a6a76874eff97cbd4d Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期六, 02 九月 2023 10:06:48 +0800
Subject: [PATCH] 级联删除发布服务及权限

---
 src/main/resources/mapper/data/PublishMapper.xml |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/main/resources/mapper/data/PublishMapper.xml b/src/main/resources/mapper/data/PublishMapper.xml
index 3e6cf74..8dfb4f1 100644
--- a/src/main/resources/mapper/data/PublishMapper.xml
+++ b/src/main/resources/mapper/data/PublishMapper.xml
@@ -134,13 +134,21 @@
     </insert>
 
     <delete id="delete">
-        delete from lf.sys_publish where id = #{id}
+        delete from lf.sys_role_layer where layerid in (select a.id from lf.sys_layer a inner join lf.sys_res b on a.resid = b.id where b.pubid = #{id});
+        delete from lf.sys_role_res where resid in (select id from lf.sys_res where pubid = #{id});
+        delete from lf.sys_layer where resid in (select id from lf.sys_res where pubid = #{id});
+        delete from lf.sys_res where pubid = #{id};
+        delete from lf.sys_meta_pub where pubid = #{id};
+        delete from lf.sys_publish where id = #{id};
     </delete>
 
     <delete id="deletes">
-        delete from lf.sys_publish where id in (${ids});
-        delete from lf.sys_layer where pubid in (${ids});
+        delete from lf.sys_role_layer where layerid in (select a.id from lf.sys_layer a inner join lf.sys_res b on a.resid = b.id where b.pubid in (${ids}));
+        delete from lf.sys_role_res where resid in (select id from lf.sys_res where pubid in (${ids}));
+        delete from lf.sys_layer where resid in (select id from lf.sys_res where pubid in (${ids}));
+        delete from lf.sys_res where pubid in (${ids});
         delete from lf.sys_meta_pub where pubid in (${ids});
+        delete from lf.sys_publish where id in (${ids});
     </delete>
 
     <update id="update">

--
Gitblit v1.9.3