From b169cd92c3501debf98f960b341e0e1863b25857 Mon Sep 17 00:00:00 2001 From: zhishi <1951671751@qq.com> Date: Mon, 6 Apr 2026 21:36:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routes/script/delScript.ts | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/src/routes/script/delScript.ts b/src/routes/script/delScript.ts index 0bcf1e5..e60bdc7 100644 --- a/src/routes/script/delScript.ts +++ b/src/routes/script/delScript.ts @@ -9,13 +9,31 @@ const router = express.Router(); export default router.post( "/", validateFields({ - id: z.array(z.number()), + ids: z.array(z.number()), }), async (req, res) => { - const { id } = req.body; - await u.db("o_script").whereIn("id", id).delete(); - await u.db("o_storyboard").whereIn("scriptId", id).delete(); - await u.db("o_video").whereIn("scriptId", id).delete(); + const { ids } = req.body; + const scriptData = await u.db("o_script").whereIn("id", ids); + if (scriptData && scriptData.length) { + const scriptProjectId = new Set(scriptData.map((item) => item.projectId)); + await u.db("o_agentWorkData").whereIn("projectId", Array.from(scriptProjectId)).whereIn("episodesId", ids).delete(); + } + const storyboardData = await u.db("o_storyboard").whereIn("scriptId", ids); + if (storyboardData.length) { + await Promise.all( + storyboardData.map(async (item) => { + try { + item.filePath && (await u.oss.deleteFile(item.filePath)); + } catch (e) {} + }), + ); + const storyboardIds = storyboardData.map((item) => item.id); + await u.db("o_assets2Storyboard").whereIn("storyboardId", storyboardIds).delete(); + } + await u.db("o_scriptAssets").whereIn("scriptId", ids).delete(); + await u.db("o_script").whereIn("id", ids).delete(); + await u.db("o_storyboard").whereIn("scriptId", ids).delete(); + await u.db("o_video").whereIn("scriptId", ids).delete(); res.status(200).send(success({ message: "删除剧本成功" })); }, );