Compare commits
2 Commits
8b773cbfe1
...
21051dd199
| Author | SHA1 | Date | |
|---|---|---|---|
| 21051dd199 | |||
| 1eb986177d |
@ -50,10 +50,10 @@ public interface IUserAnswerTaskService : IBaseService<JournalPageTaskUserAnswer
|
||||
/// <summary>
|
||||
/// 领取任务积分
|
||||
/// </summary>
|
||||
/// <param name="journalPageTaskId">任务Id</param>
|
||||
/// <param name="journalPageTaskGroupId">任务分组Id(JournalPageTask.GroupId)</param>
|
||||
/// <param name="userId">用户Id</param>
|
||||
/// <returns>领取结果</returns>
|
||||
Task<ClaimTaskPointsOutput> ClaimTaskPointsAsync(long journalPageTaskId, long userId);
|
||||
Task<ClaimTaskPointsOutput> ClaimTaskPointsAsync(long journalPageTaskGroupId, long userId);
|
||||
|
||||
/// <summary>
|
||||
/// 批量领取任务积分(一键领取)
|
||||
@ -75,7 +75,7 @@ public interface IUserAnswerTaskService : IBaseService<JournalPageTaskUserAnswer
|
||||
/// 新增学生
|
||||
/// </summary>
|
||||
/// <param name="input">新增学生参数</param>
|
||||
/// <param name="userId">当前登录用户Id(WxUserId)</param>
|
||||
/// <param name="wxUserId">当前登录用户微信UserId(WxUserId)</param>
|
||||
/// <returns>新增学生结果</returns>
|
||||
Task<bool> AddStudentAsync(AddStudentInput input, long userId);
|
||||
Task<bool> AddStudentAsync(AddStudentInput input, long wxUserId);
|
||||
}
|
||||
|
||||
@ -8,7 +8,7 @@ public class BatchClaimPointsInput
|
||||
/// <summary>
|
||||
/// 任务分组Id列表(JournalPageTaskGroupId)
|
||||
/// </summary>
|
||||
public List<long> GroupIds { get; set; } = new();
|
||||
public List<long> GroupIds { get; set; } = [];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -31,15 +31,56 @@ public class BatchClaimPointsOutput
|
||||
/// </summary>
|
||||
public int TotalPoints { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 累计获得成长值
|
||||
/// </summary>
|
||||
public int TotalGrowthPoints { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 领取后积分余额
|
||||
/// </summary>
|
||||
public int BalanceAfter { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 成功领取详情列表
|
||||
/// </summary>
|
||||
public List<BatchClaimSuccessItem> SuccessItems { get; set; } = [];
|
||||
|
||||
/// <summary>
|
||||
/// 失败详情
|
||||
/// </summary>
|
||||
public List<BatchClaimFailItem> FailItems { get; set; } = new();
|
||||
public List<BatchClaimFailItem> FailItems { get; set; } = [];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 批量领取成功项
|
||||
/// </summary>
|
||||
public class BatchClaimSuccessItem
|
||||
{
|
||||
/// <summary>
|
||||
/// 任务分组Id
|
||||
/// </summary>
|
||||
public long GroupId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 任务名称
|
||||
/// </summary>
|
||||
public string TaskName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 积分值
|
||||
/// </summary>
|
||||
public int Points { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 成长值
|
||||
/// </summary>
|
||||
public int GrowthPoints { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 题目得分(从 JournalPageTaskUserAnswer 表获取,该 GroupId 下所有相关任务得分之和)
|
||||
/// </summary>
|
||||
public float Score { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -29,4 +29,9 @@ public class ClaimTaskPointsOutput
|
||||
/// 任务名称
|
||||
/// </summary>
|
||||
public string TaskName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 题目得分(从 JournalPageTaskUserAnswer 表获取,跨页题目为所有相关任务得分之和)
|
||||
/// </summary>
|
||||
public float Score { get; set; }
|
||||
}
|
||||
|
||||
@ -6,7 +6,12 @@ namespace QYZH.InteractiveMagazine.Models.Dto.UserAnswerTaskService;
|
||||
public class CrossPageTaskOutput
|
||||
{
|
||||
/// <summary>
|
||||
/// 栏目名称
|
||||
/// 一级栏目名称
|
||||
/// </summary>
|
||||
public string FirstLevelCatalogName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 栏目名称(二级栏目/文章名称)
|
||||
/// </summary>
|
||||
public string CatalogName { get; set; }
|
||||
|
||||
|
||||
@ -6,7 +6,12 @@ namespace QYZH.InteractiveMagazine.Models.Dto.UserAnswerTaskService;
|
||||
public class UserAnswerTaskListOutput
|
||||
{
|
||||
/// <summary>
|
||||
/// 目录名称
|
||||
/// 一级栏目名称
|
||||
/// </summary>
|
||||
public string FirstLevelCatalogName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 目录名称(二级栏目)
|
||||
/// </summary>
|
||||
public string CatalogName { get; set; }
|
||||
|
||||
|
||||
@ -64,6 +64,13 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
/// </summary>
|
||||
public float GrowthPoints { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:题目得分
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public float Score { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:题目作答图片地址
|
||||
/// Default:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -193,10 +193,10 @@ public class UserAnswerTaskController : WeChatBaseController
|
||||
/// <summary>
|
||||
/// 领取任务积分
|
||||
/// </summary>
|
||||
/// <param name="journalPageTaskId">任务Id</param>
|
||||
/// <param name="journalPageTaskGroupId">任务分组Id(JournalPageTask.GroupId)</param>
|
||||
/// <returns>领取结果</returns>
|
||||
[HttpPost("claim-points/{journalPageTaskId:long}")]
|
||||
public async Task<BaseResponse<ClaimTaskPointsOutput>> ClaimTaskPointsAsync([Required] long journalPageTaskId)
|
||||
[HttpPost("claim-points/{journalPageTaskGroupId:long}")]
|
||||
public async Task<BaseResponse<ClaimTaskPointsOutput>> ClaimTaskPointsAsync([Required] long journalPageTaskGroupId)
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -206,22 +206,22 @@ public class UserAnswerTaskController : WeChatBaseController
|
||||
return BaseResponse<ClaimTaskPointsOutput>.Fail(ResultCode.DENY, "未获取到用户信息");
|
||||
}
|
||||
|
||||
if (journalPageTaskId <= 0)
|
||||
if (journalPageTaskGroupId <= 0)
|
||||
{
|
||||
return BaseResponse<ClaimTaskPointsOutput>.Fail(ResultCode.PARAM_ERROR, "任务Id不能为空");
|
||||
return BaseResponse<ClaimTaskPointsOutput>.Fail(ResultCode.PARAM_ERROR, "任务分组Id不能为空");
|
||||
}
|
||||
|
||||
var result = await _userAnswerTaskService.ClaimTaskPointsAsync(journalPageTaskId, userId);
|
||||
var result = await _userAnswerTaskService.ClaimTaskPointsAsync(journalPageTaskGroupId, userId);
|
||||
return Success(result);
|
||||
}
|
||||
catch (BusinessException ex)
|
||||
{
|
||||
_logger.LogWarning(ex, "领取任务积分业务异常,JournalPageTaskId: {JournalPageTaskId}, UserId: {UserId}", journalPageTaskId, GetCurrentUserId());
|
||||
_logger.LogWarning(ex, "领取任务积分业务异常,JournalPageTaskGroupId: {JournalPageTaskGroupId}, UserId: {UserId}", journalPageTaskGroupId, GetCurrentUserId());
|
||||
return BaseResponse<ClaimTaskPointsOutput>.Fail(ex.Message);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "领取任务积分失败,JournalPageTaskId: {JournalPageTaskId}, UserId: {UserId}", journalPageTaskId, GetCurrentUserId());
|
||||
_logger.LogError(ex, "领取任务积分失败,JournalPageTaskGroupId: {JournalPageTaskGroupId}, UserId: {UserId}", journalPageTaskGroupId, GetCurrentUserId());
|
||||
return BaseResponse<ClaimTaskPointsOutput>.Fail("领取任务积分失败,请稍后重试");
|
||||
}
|
||||
}
|
||||
@ -309,7 +309,7 @@ public class UserAnswerTaskController : WeChatBaseController
|
||||
return BaseResponse<bool>.Fail(ResultCode.DENY, "未获取到用户信息");
|
||||
}
|
||||
|
||||
var result = await _userAnswerTaskService.AddStudentAsync(input, userId);
|
||||
var result = await _userAnswerTaskService.AddStudentAsync(input, GetCurrentWxUserId().Value);
|
||||
return Success(result);
|
||||
}
|
||||
catch (BusinessException ex)
|
||||
|
||||
Reference in New Issue
Block a user