接口逻辑修改

This commit is contained in:
2026-07-01 08:18:07 +08:00
parent fa1acec8af
commit 85a58123be
7 changed files with 722 additions and 627 deletions

View File

@ -42,10 +42,10 @@ public interface IUserAnswerTaskService : IBaseService<JournalPageTaskUserAnswer
/// <summary> /// <summary>
/// 获取跨页题目详情 /// 获取跨页题目详情
/// </summary> /// </summary>
/// <param name="journalPageTaskId">任务Id</param> /// <param name="groupId">任务分组IDJournalPageTaskGroupId</param>
/// <param name="userId">用户Id</param> /// <param name="userId">用户Id</param>
/// <returns>跨页题目详情</returns> /// <returns>跨页题目详情</returns>
Task<CrossPageTaskOutput> GetCrossPageTaskAsync(long journalPageTaskId, long userId); Task<CrossPageTaskOutput> GetCrossPageTaskAsync(long groupId, long userId);
/// <summary> /// <summary>
/// 领取任务积分 /// 领取任务积分

View File

@ -26,21 +26,6 @@ public class BatchClaimPointsOutput
/// </summary> /// </summary>
public int FailCount { get; set; } public int FailCount { get; set; }
/// <summary>
/// 累计获得积分
/// </summary>
public int TotalPoints { get; set; }
/// <summary>
/// 累计获得成长值
/// </summary>
public int TotalGrowthPoints { get; set; }
/// <summary>
/// 领取后积分余额
/// </summary>
public int BalanceAfter { get; set; }
/// <summary> /// <summary>
/// 成功领取详情列表 /// 成功领取详情列表
/// </summary> /// </summary>
@ -58,17 +43,7 @@ public class BatchClaimPointsOutput
public class BatchClaimSuccessItem public class BatchClaimSuccessItem
{ {
/// <summary> /// <summary>
/// 任务分组Id /// 任务编号(从 JournalPageTask.No 字段按 - 分割取索引2前面加"任务"
/// </summary>
public long GroupId { get; set; }
/// <summary>
/// 任务名称
/// </summary>
public string TaskName { get; set; }
/// <summary>
/// 任务编号(从 JournalPageTask.No 字段按 - 分割取索引2
/// </summary> /// </summary>
public string TaskNo { get; set; } public string TaskNo { get; set; }
@ -83,7 +58,7 @@ public class BatchClaimSuccessItem
public int GrowthPoints { get; set; } public int GrowthPoints { get; set; }
/// <summary> /// <summary>
/// 题目得分(从 JournalPageTaskUserAnswer 表获取,该 GroupId 下所有相关任务得分之和) /// 题目得分
/// </summary> /// </summary>
public float Score { get; set; } public float Score { get; set; }
} }

View File

@ -6,37 +6,22 @@ namespace QYZH.InteractiveMagazine.Models.Dto.UserAnswerTaskService;
public class ClaimTaskPointsOutput public class ClaimTaskPointsOutput
{ {
/// <summary> /// <summary>
/// 积分流水记录Id /// 总成长值(主任务的 GrowthPoint
/// </summary> /// </summary>
public long RecordId { get; set; } public int TotalGrowthPoints { get; set; }
/// <summary> /// <summary>
/// 操作前积分余额 /// 总积分(主任务的 Points
/// </summary> /// </summary>
public int PreviousBalance { get; set; } public int TotalPoints { get; set; }
/// <summary> /// <summary>
/// 操作后积分余额 /// 得分(从 JournalPageTaskUserAnswer 表获取JournalPageTaskId == GroupId 的 Score
/// </summary>
public int NewBalance { get; set; }
/// <summary>
/// 实际增加数量
/// </summary>
public int AddedAmount { get; set; }
/// <summary>
/// 任务名称
/// </summary>
public string TaskName { get; set; }
/// <summary>
/// 任务编号(从 JournalPageTask.No 字段按 - 分割取索引2
/// </summary>
public string TaskNo { get; set; }
/// <summary>
/// 题目得分(从 JournalPageTaskUserAnswer 表获取JournalPageTaskId == GroupId 的 Score
/// </summary> /// </summary>
public float Score { get; set; } public float Score { get; set; }
/// <summary>
/// 任务编号(从 JournalPageTask.No 字段按 - 分割取索引2前面加"任务"
/// </summary>
public string TaskNo { get; set; }
} }

View File

@ -1,3 +1,4 @@
using QYZH.InteractiveMagazine.Models.Enum;
using SqlSugar; using SqlSugar;
namespace QYZH.InteractiveMagazine.Models.Entity namespace QYZH.InteractiveMagazine.Models.Entity
@ -104,7 +105,7 @@ namespace QYZH.InteractiveMagazine.Models.Entity
/// Default: /// Default:
/// Nullable:False /// Nullable:False
/// </summary> /// </summary>
public int AnswerStatus { get; set; } public AnswerStatusEnum AnswerStatus { get; set; }
/// <summary> /// <summary>
/// Desc:作答开始时间 /// Desc:作答开始时间

View File

@ -0,0 +1,40 @@
using System.ComponentModel;
namespace QYZH.InteractiveMagazine.Models.Enum
{
/// <summary>
/// 答题状态枚举: 0-未答题1-已答题2-正确3-半对4-错误
/// </summary>
public enum AnswerStatusEnum
{
/// <summary>
/// 未答题
/// </summary>
[Description("未答题")]
None = 0,
/// <summary>
/// 已答题
/// </summary>
[Description("已答题")]
Answer = 1,
/// <summary>
/// 正确
/// </summary>
[Description("正确")]
Correct = 2,
/// <summary>
/// 半对
/// </summary>
[Description("半对")]
HalfRight = 3,
/// <summary>
/// 错误
/// </summary>
[Description("错误")]
Error = 4
}
}

File diff suppressed because it is too large Load Diff

View File

@ -26,6 +26,8 @@ public class UserAnswerTaskController : WeChatBaseController
_logger = logger; _logger = logger;
} }
private const long ConstUserId = 821752253853766;
/// <summary> /// <summary>
/// 获取当前用户的期刊学习进度列表 /// 获取当前用户的期刊学习进度列表
/// </summary> /// </summary>
@ -34,7 +36,7 @@ public class UserAnswerTaskController : WeChatBaseController
public async Task<BaseResponse<List<JournalProgressOutput>>> GetProgressAsync() public async Task<BaseResponse<List<JournalProgressOutput>>> GetProgressAsync()
{ {
try try
{ {
var userId = GetCurrentUserId(); var userId = GetCurrentUserId();
if (userId == 0) if (userId == 0)
{ {
@ -49,7 +51,7 @@ public class UserAnswerTaskController : WeChatBaseController
_logger.LogError(ex, "获取学习进度失败UserId: {UserId}", GetCurrentUserId()); _logger.LogError(ex, "获取学习进度失败UserId: {UserId}", GetCurrentUserId());
return BaseResponse<List<JournalProgressOutput>>.Fail("获取学习进度失败,请稍后重试"); return BaseResponse<List<JournalProgressOutput>>.Fail("获取学习进度失败,请稍后重试");
} }
} }
/// <summary> /// <summary>
@ -158,10 +160,10 @@ public class UserAnswerTaskController : WeChatBaseController
/// <summary> /// <summary>
/// 获取跨页题目详情 /// 获取跨页题目详情
/// </summary> /// </summary>
/// <param name="journalPageTaskId">任务Id</param> /// <param name="groupId">任务分组ID</param>
/// <returns>跨页题目详情</returns> /// <returns>跨页题目详情</returns>
[HttpGet("cross-page-task/{journalPageTaskId:long}")] [HttpGet("cross-page-task/{groupId:long}")]
public async Task<BaseResponse<CrossPageTaskOutput>> GetCrossPageTaskAsync([Required(ErrorMessage ="参数错误")] long journalPageTaskId) public async Task<BaseResponse<CrossPageTaskOutput>> GetCrossPageTaskAsync([Required(ErrorMessage ="参数错误")] long groupId)
{ {
try try
{ {
@ -171,12 +173,12 @@ public class UserAnswerTaskController : WeChatBaseController
return BaseResponse<CrossPageTaskOutput>.Fail(ResultCode.DENY, "未获取到用户信息"); return BaseResponse<CrossPageTaskOutput>.Fail(ResultCode.DENY, "未获取到用户信息");
} }
if (journalPageTaskId <= 0) if (groupId <= 0)
{ {
return BaseResponse<CrossPageTaskOutput>.Fail(ResultCode.PARAM_ERROR, "任务Id不能为空"); return BaseResponse<CrossPageTaskOutput>.Fail(ResultCode.PARAM_ERROR, "任务Id不能为空");
} }
var result = await _userAnswerTaskService.GetCrossPageTaskAsync(journalPageTaskId, userId); var result = await _userAnswerTaskService.GetCrossPageTaskAsync(groupId, userId);
if (result == null) if (result == null)
{ {
return BaseResponse<CrossPageTaskOutput>.Fail("未找到该任务"); return BaseResponse<CrossPageTaskOutput>.Fail("未找到该任务");
@ -186,7 +188,7 @@ public class UserAnswerTaskController : WeChatBaseController
} }
catch (Exception ex) catch (Exception ex)
{ {
_logger.LogError(ex, "获取跨页题目失败JournalPageTaskId: {JournalPageTaskId}, UserId: {UserId}", journalPageTaskId, GetCurrentUserId()); _logger.LogError(ex, "获取跨页题目失败JournalPageTaskGroupId: {groupId}, UserId: {UserId}", groupId, GetCurrentUserId());
return BaseResponse<CrossPageTaskOutput>.Fail("获取跨页题目失败,请稍后重试"); return BaseResponse<CrossPageTaskOutput>.Fail("获取跨页题目失败,请稍后重试");
} }
} }
@ -201,7 +203,7 @@ public class UserAnswerTaskController : WeChatBaseController
{ {
try try
{ {
var userId = GetCurrentUserId(); var userId = ConstUserId;//GetCurrentUserId();
if (userId == 0) if (userId == 0)
{ {
return BaseResponse<ClaimTaskPointsOutput>.Fail(ResultCode.DENY, "未获取到用户信息"); return BaseResponse<ClaimTaskPointsOutput>.Fail(ResultCode.DENY, "未获取到用户信息");