From 28a0c3cfe40a05f2e3e4d8b744724459cff61f09 Mon Sep 17 00:00:00 2001 From: glz <694770232@qq.com> Date: Tue, 23 Jun 2026 17:55:48 +0800 Subject: [PATCH] =?UTF-8?q?refactor(service):=20=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E6=9C=9F=E5=88=8A=E7=9B=B8=E5=85=B3=E5=AE=9E=E4=BD=93=E7=9A=84?= =?UTF-8?q?=E5=85=B3=E8=81=94=E5=88=A0=E9=99=A4=E4=B8=8Eprompt=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E6=98=A0=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 为JournalPageTaskService新增BasePrompt和CustomPrompt字段的赋值映射 2. 为JournalService注入JournalPageTaskAnswerRepository并完善关联删除逻辑,先删除任务答案再删除任务本身 --- .../JournalPageTaskService.cs | 2 ++ .../JournalService.cs | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/QYZH.InteractiveMagazine.Service/JournalPageTaskService.cs b/QYZH.InteractiveMagazine.Service/JournalPageTaskService.cs index 6eaac9f..e4d55ae 100644 --- a/QYZH.InteractiveMagazine.Service/JournalPageTaskService.cs +++ b/QYZH.InteractiveMagazine.Service/JournalPageTaskService.cs @@ -66,6 +66,8 @@ public class JournalPageTaskService(BaseRepository journalRepository, O task.Expression = input.Expression; task.Persuasiveness = input.Persuasiveness; task.AnswerTime = input.AnswerTime; + task.BasePrompt = input.BasePrompt; + task.CustomPrompt = input.CustomPrompt; var no = input.No.Split('-').Select(int.Parse).ToArray(); diff --git a/QYZH.InteractiveMagazine.Service/JournalService.cs b/QYZH.InteractiveMagazine.Service/JournalService.cs index 25dedce..129a5dc 100644 --- a/QYZH.InteractiveMagazine.Service/JournalService.cs +++ b/QYZH.InteractiveMagazine.Service/JournalService.cs @@ -1,4 +1,4 @@ -using Mapster; +using Mapster; using Microsoft.Extensions.Logging; using QYZH.InteractiveMagazine.Common.Extensions; using QYZH.InteractiveMagazine.Infrastructure.OSS; @@ -18,6 +18,7 @@ namespace QYZH.InteractiveMagazine.Service; public class JournalService(BaseRepository JournalPageRepository, BaseRepository JournalPageTaskRepository, + BaseRepository JournalPageTaskAnswerRepository, BaseRepository JournalCatalogRepository, BaseRepository dotFileRepository, BaseRepository dotFileDetailRepository, OssService ossService, ILogger logger) : BaseRepository, IJournalService @@ -210,6 +211,20 @@ public class JournalService(BaseRepository JournalPageRepository, await base.DeleteAsync(d => ids.Contains(d.Id)); await JournalPageRepository.DeleteAsync(d => ids.Contains(d.JournalId)); await JournalCatalogRepository.DeleteAsync(d => ids.Contains(d.JournalId)); + + // 先查询要删除的 JournalPageTask Id 列表 + var taskIds = await JournalPageTaskRepository.Queryable() + .Where(d => ids.Contains(d.JournalId)) + .Select(d => d.Id) + .ToListAsync(); + + // 删除 JournalPageTaskAnswer + if (taskIds.Any()) + { + await JournalPageTaskAnswerRepository.DeleteAsync(d => taskIds.Contains(d.JournalPageTaskId)); + } + + // 再删除 JournalPageTask await JournalPageTaskRepository.DeleteAsync(d => ids.Contains(d.JournalId)); return true; });