From a6db06c6cba8dd58a79330d0d0c7746ebb972813 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=B7=E6=AD=A6=20=E9=BB=84?= <865114447@qq.com> Date: Mon, 29 Jun 2026 17:16:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=96=B0=E5=A2=9E=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BatchClaimPointsOutput.cs | 5 +++ .../ClaimTaskPointsOutput.cs | 5 +++ .../UserAnswerTaskService.cs | 34 +++++++++++++++++++ 3 files changed, 44 insertions(+) diff --git a/QYZH.InteractiveMagazine.Models/Dto/UserAnswerTaskService/BatchClaimPointsOutput.cs b/QYZH.InteractiveMagazine.Models/Dto/UserAnswerTaskService/BatchClaimPointsOutput.cs index 4054b17..f325be9 100644 --- a/QYZH.InteractiveMagazine.Models/Dto/UserAnswerTaskService/BatchClaimPointsOutput.cs +++ b/QYZH.InteractiveMagazine.Models/Dto/UserAnswerTaskService/BatchClaimPointsOutput.cs @@ -67,6 +67,11 @@ public class BatchClaimSuccessItem /// public string TaskName { get; set; } + /// + /// 任务编号(从 JournalPageTask.No 字段按 - 分割取索引2) + /// + public string TaskNo { get; set; } + /// /// 积分值 /// diff --git a/QYZH.InteractiveMagazine.Models/Dto/UserAnswerTaskService/ClaimTaskPointsOutput.cs b/QYZH.InteractiveMagazine.Models/Dto/UserAnswerTaskService/ClaimTaskPointsOutput.cs index 41f3d12..1b8c131 100644 --- a/QYZH.InteractiveMagazine.Models/Dto/UserAnswerTaskService/ClaimTaskPointsOutput.cs +++ b/QYZH.InteractiveMagazine.Models/Dto/UserAnswerTaskService/ClaimTaskPointsOutput.cs @@ -30,6 +30,11 @@ public class ClaimTaskPointsOutput /// public string TaskName { get; set; } + /// + /// 任务编号(从 JournalPageTask.No 字段按 - 分割取索引2) + /// + public string TaskNo { get; set; } + /// /// 题目得分(从 JournalPageTaskUserAnswer 表获取,JournalPageTaskId == GroupId 的 Score) /// diff --git a/QYZH.InteractiveMagazine.Service/UserAnswerTaskService.cs b/QYZH.InteractiveMagazine.Service/UserAnswerTaskService.cs index d1093cb..7ce542d 100644 --- a/QYZH.InteractiveMagazine.Service/UserAnswerTaskService.cs +++ b/QYZH.InteractiveMagazine.Service/UserAnswerTaskService.cs @@ -1257,6 +1257,22 @@ public class UserAnswerTaskService( OperatorName = "系统" }); + // ============================================ + // 【任务编号计算】 + // 从 JournalPageTask.No 字段按 - 分割,取索引为 2 的部分 + // No 最多出现索引为 3(即最多4段,0-3) + // 例如:"A-B-C-D" → 分割后 ["A","B","C","D"] → 取索引2 = "C" + // ============================================ + string taskNo = string.Empty; + if (!string.IsNullOrEmpty(mainTask.No)) + { + var parts = mainTask.No.Split('-'); + if (parts.Length >= 3) + { + taskNo = parts[2]; + } + } + return new ClaimTaskPointsOutput { RecordId = addPointsResult.RecordId, @@ -1264,6 +1280,7 @@ public class UserAnswerTaskService( NewBalance = addPointsResult.NewBalance, AddedAmount = addPointsResult.AddedAmount, TaskName = mainTask.Task ?? string.Empty, + TaskNo = !string.IsNullOrWhiteSpace(taskNo) ? "任务:"+ taskNo : string.Empty, Score = totalScore }; #endregion @@ -1483,6 +1500,22 @@ public class UserAnswerTaskService( // 获取任务名称 var taskName = mainTask.Task ?? string.Empty; + + // ============================================ + // 【任务编号计算】 + // 从 JournalPageTask.No 字段按 - 分割,取索引为 2 的部分 + // No 最多出现索引为 3(即最多4段,0-3) + // 例如:"A-B-C-D" → 分割后 ["A","B","C","D"] → 取索引2 = "C" + // ============================================ + string taskNo = string.Empty; + if (!string.IsNullOrEmpty(mainTask.No)) + { + var parts = mainTask.No.Split('-'); + if (parts.Length >= 3) + { + taskNo = parts[2]; + } + } #endregion #region 3.7 调用积分服务并记录结果 @@ -1508,6 +1541,7 @@ public class UserAnswerTaskService( { GroupId = groupId, TaskName = taskName, + TaskNo = !string.IsNullOrWhiteSpace(taskNo) ? "任务:" + taskNo : string.Empty, Points = points, GrowthPoints = growthPoints, Score = score