修改方法逻辑、以及业务调整
This commit is contained in:
@ -50,10 +50,10 @@ public interface IUserAnswerTaskService : IBaseService<JournalPageTaskUserAnswer
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 领取任务积分
|
/// 领取任务积分
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="journalPageTaskId">任务Id</param>
|
/// <param name="journalPageTaskGroupId">任务分组Id(JournalPageTask.GroupId)</param>
|
||||||
/// <param name="userId">用户Id</param>
|
/// <param name="userId">用户Id</param>
|
||||||
/// <returns>领取结果</returns>
|
/// <returns>领取结果</returns>
|
||||||
Task<ClaimTaskPointsOutput> ClaimTaskPointsAsync(long journalPageTaskId, long userId);
|
Task<ClaimTaskPointsOutput> ClaimTaskPointsAsync(long journalPageTaskGroupId, long userId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 批量领取任务积分(一键领取)
|
/// 批量领取任务积分(一键领取)
|
||||||
@ -75,7 +75,7 @@ public interface IUserAnswerTaskService : IBaseService<JournalPageTaskUserAnswer
|
|||||||
/// 新增学生
|
/// 新增学生
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="input">新增学生参数</param>
|
/// <param name="input">新增学生参数</param>
|
||||||
/// <param name="userId">当前登录用户Id(WxUserId)</param>
|
/// <param name="wxUserId">当前登录用户微信UserId(WxUserId)</param>
|
||||||
/// <returns>新增学生结果</returns>
|
/// <returns>新增学生结果</returns>
|
||||||
Task<bool> AddStudentAsync(AddStudentInput input, long userId);
|
Task<bool> AddStudentAsync(AddStudentInput input, long wxUserId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,7 +8,7 @@ public class BatchClaimPointsInput
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 任务分组Id列表(JournalPageTaskGroupId)
|
/// 任务分组Id列表(JournalPageTaskGroupId)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<long> GroupIds { get; set; } = new();
|
public List<long> GroupIds { get; set; } = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -31,15 +31,56 @@ public class BatchClaimPointsOutput
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public int TotalPoints { get; set; }
|
public int TotalPoints { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 累计获得成长值
|
||||||
|
/// </summary>
|
||||||
|
public int TotalGrowthPoints { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 领取后积分余额
|
/// 领取后积分余额
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int BalanceAfter { get; set; }
|
public int BalanceAfter { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 成功领取详情列表
|
||||||
|
/// </summary>
|
||||||
|
public List<BatchClaimSuccessItem> SuccessItems { get; set; } = [];
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 失败详情
|
/// 失败详情
|
||||||
/// </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>
|
/// <summary>
|
||||||
|
|||||||
@ -29,4 +29,9 @@ public class ClaimTaskPointsOutput
|
|||||||
/// 任务名称
|
/// 任务名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string TaskName { get; set; }
|
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
|
public class CrossPageTaskOutput
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 栏目名称
|
/// 一级栏目名称
|
||||||
|
/// </summary>
|
||||||
|
public string FirstLevelCatalogName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 栏目名称(二级栏目/文章名称)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CatalogName { get; set; }
|
public string CatalogName { get; set; }
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,12 @@ namespace QYZH.InteractiveMagazine.Models.Dto.UserAnswerTaskService;
|
|||||||
public class UserAnswerTaskListOutput
|
public class UserAnswerTaskListOutput
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 目录名称
|
/// 一级栏目名称
|
||||||
|
/// </summary>
|
||||||
|
public string FirstLevelCatalogName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 目录名称(二级栏目)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CatalogName { get; set; }
|
public string CatalogName { get; set; }
|
||||||
|
|
||||||
|
|||||||
@ -64,6 +64,13 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public float GrowthPoints { get; set; }
|
public float GrowthPoints { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:题目得分
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:False
|
||||||
|
/// </summary>
|
||||||
|
public float Score { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Desc:题目作答图片地址
|
/// Desc:题目作答图片地址
|
||||||
/// Default:
|
/// Default:
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -193,10 +193,10 @@ public class UserAnswerTaskController : WeChatBaseController
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 领取任务积分
|
/// 领取任务积分
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="journalPageTaskId">任务Id</param>
|
/// <param name="journalPageTaskGroupId">任务分组Id(JournalPageTask.GroupId)</param>
|
||||||
/// <returns>领取结果</returns>
|
/// <returns>领取结果</returns>
|
||||||
[HttpPost("claim-points/{journalPageTaskId:long}")]
|
[HttpPost("claim-points/{journalPageTaskGroupId:long}")]
|
||||||
public async Task<BaseResponse<ClaimTaskPointsOutput>> ClaimTaskPointsAsync([Required] long journalPageTaskId)
|
public async Task<BaseResponse<ClaimTaskPointsOutput>> ClaimTaskPointsAsync([Required] long journalPageTaskGroupId)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -206,22 +206,22 @@ public class UserAnswerTaskController : WeChatBaseController
|
|||||||
return BaseResponse<ClaimTaskPointsOutput>.Fail(ResultCode.DENY, "未获取到用户信息");
|
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);
|
return Success(result);
|
||||||
}
|
}
|
||||||
catch (BusinessException ex)
|
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);
|
return BaseResponse<ClaimTaskPointsOutput>.Fail(ex.Message);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
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("领取任务积分失败,请稍后重试");
|
return BaseResponse<ClaimTaskPointsOutput>.Fail("领取任务积分失败,请稍后重试");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -309,7 +309,7 @@ public class UserAnswerTaskController : WeChatBaseController
|
|||||||
return BaseResponse<bool>.Fail(ResultCode.DENY, "未获取到用户信息");
|
return BaseResponse<bool>.Fail(ResultCode.DENY, "未获取到用户信息");
|
||||||
}
|
}
|
||||||
|
|
||||||
var result = await _userAnswerTaskService.AddStudentAsync(input, userId);
|
var result = await _userAnswerTaskService.AddStudentAsync(input, GetCurrentWxUserId().Value);
|
||||||
return Success(result);
|
return Success(result);
|
||||||
}
|
}
|
||||||
catch (BusinessException ex)
|
catch (BusinessException ex)
|
||||||
|
|||||||
Reference in New Issue
Block a user