From 0b70ef0471c70497af307e4069ed9970a0b69581 Mon Sep 17 00:00:00 2001 From: zpc Date: Tue, 17 Mar 2026 23:24:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(report):=20PDF=E7=94=9F=E6=88=90=E5=90=8E?= =?UTF-8?q?=E6=89=8D=E6=A0=87=E8=AE=B0=E5=B7=B2=E5=AE=8C=E6=88=90=EF=BC=8C?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E5=A2=9E=E5=8A=A0PDF=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ReportGenerationService: 结论持久化后保持Status=3,不再设置Status=4 - PdfGenerationService: PDF生成+COS上传成功后设置Status=4和CompleteTime - ReportQueueConsumer: PDF生成失败时更新Status=5(生成失败) - AssessmentRecordDto: 增加ReportUrl字段 - AssessmentRecordService: 列表查询增加ReportUrl映射 - Admin.Business实体: AssessmentRecord增加ReportUrl属性 - 前端API类型: AssessmentRecordItem增加reportUrl字段 - 后台记录页面: 增加查看PDF和下载PDF按钮 - Core项目: 增加Tencent.QCloud.Cos.Sdk依赖,支持COS上传 --- .../Entities/AssessmentRecord.cs | 6 + .../AssessmentRecord/AssessmentRecordDto.cs | 5 + .../Services/AssessmentRecordService.cs | 3 +- .../src/api/business/assessmentRecord.ts | 1 + .../business/assessment/record/index.vue | 41 ++++- .../BackgroundServices/ReportQueueConsumer.cs | 3 +- .../MiAssessment.Core.csproj | 2 + .../Services/PdfGenerationService.cs | 153 +++++++++++++++++- .../Services/ReportGenerationService.cs | 6 +- .../Modules/ServiceModule.cs | 3 +- 10 files changed, 207 insertions(+), 16 deletions(-) diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Entities/AssessmentRecord.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Entities/AssessmentRecord.cs index f19ccc1..b47005f 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Entities/AssessmentRecord.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Entities/AssessmentRecord.cs @@ -116,6 +116,12 @@ public class AssessmentRecord /// public bool IsDeleted { get; set; } + /// + /// 报告PDF地址 + /// + [MaxLength(500)] + public string? ReportUrl { get; set; } + /// /// 关联的用户 /// diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/AssessmentRecord/AssessmentRecordDto.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/AssessmentRecord/AssessmentRecordDto.cs index a0ba557..bdf19de 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/AssessmentRecord/AssessmentRecordDto.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/AssessmentRecord/AssessmentRecordDto.cs @@ -119,4 +119,9 @@ public class AssessmentRecordDto /// 创建时间 /// public DateTime CreateTime { get; set; } + + /// + /// 报告PDF地址 + /// + public string? ReportUrl { get; set; } } diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Services/AssessmentRecordService.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Services/AssessmentRecordService.cs index f2c9a07..68fed24 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Services/AssessmentRecordService.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Services/AssessmentRecordService.cs @@ -117,7 +117,8 @@ public class AssessmentRecordService : IAssessmentRecordService StartTime = r.StartTime, SubmitTime = r.SubmitTime, CompleteTime = r.CompleteTime, - CreateTime = r.CreateTime + CreateTime = r.CreateTime, + ReportUrl = r.ReportUrl }) .ToListAsync(); diff --git a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/api/business/assessmentRecord.ts b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/api/business/assessmentRecord.ts index 454de53..f19fabd 100644 --- a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/api/business/assessmentRecord.ts +++ b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/api/business/assessmentRecord.ts @@ -33,6 +33,7 @@ export interface AssessmentRecordItem { submitTime: string | null completeTime: string | null createTime: string + reportUrl: string | null } /** 答案详情 */ diff --git a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/assessment/record/index.vue b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/assessment/record/index.vue index e3bfd2e..64b026b 100644 --- a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/assessment/record/index.vue +++ b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/assessment/record/index.vue @@ -108,7 +108,7 @@ - +