修复bug

This commit is contained in:
zhishi 2026-04-06 21:36:21 +08:00
parent 45c04bd729
commit b169cd92c3

View File

@ -9,13 +9,31 @@ const router = express.Router();
export default router.post( export default router.post(
"/", "/",
validateFields({ validateFields({
id: z.array(z.number()), ids: z.array(z.number()),
}), }),
async (req, res) => { async (req, res) => {
const { id } = req.body; const { ids } = req.body;
await u.db("o_script").whereIn("id", id).delete(); const scriptData = await u.db("o_script").whereIn("id", ids);
await u.db("o_storyboard").whereIn("scriptId", id).delete(); if (scriptData && scriptData.length) {
await u.db("o_video").whereIn("scriptId", id).delete(); 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: "删除剧本成功" })); res.status(200).send(success({ message: "删除剧本成功" }));
}, },
); );