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