修改代码逻辑,修改配置文件

This commit is contained in:
2026-06-29 15:09:23 +08:00
parent 21051dd199
commit 4f33d81aa3
8 changed files with 706 additions and 344 deletions

View File

@ -34,7 +34,7 @@ public class UserAnswerTaskController : WeChatBaseController
public async Task<BaseResponse<List<JournalProgressOutput>>> GetProgressAsync()
{
try
{
{
var userId = GetCurrentUserId();
if (userId == 0)
{
@ -49,7 +49,8 @@ public class UserAnswerTaskController : WeChatBaseController
_logger.LogError(ex, "获取学习进度失败UserId: {UserId}", GetCurrentUserId());
return BaseResponse<List<JournalProgressOutput>>.Fail("获取学习进度失败,请稍后重试");
}
}
}
/// <summary>
/// 获取目录列表(按一级目录分组,二级目录含完成状态)
@ -57,7 +58,7 @@ public class UserAnswerTaskController : WeChatBaseController
/// <param name="journalId">期刊Id</param>
/// <returns>按一级目录分组的目录列表</returns>
[HttpGet("catalog-list/{journalId:long}")]
public async Task<BaseResponse<List<CatalogListOutput>>> GetCatalogListAsync([Required] long journalId)
public async Task<BaseResponse<List<CatalogListOutput>>> GetCatalogListAsync([Required(ErrorMessage = "参数错误")] long journalId)
{
try
{
@ -88,7 +89,7 @@ public class UserAnswerTaskController : WeChatBaseController
/// <param name="catalogId">一级目录Id</param>
/// <returns>一级目录概览数据</returns>
[HttpGet("catalog-overview/{catalogId:long}")]
public async Task<BaseResponse<CatalogOverviewOutput>> GetCatalogOverviewAsync([Required] long catalogId)
public async Task<BaseResponse<CatalogOverviewOutput>> GetCatalogOverviewAsync([Required(ErrorMessage = "参数错误")] long catalogId)
{
try
{
@ -124,7 +125,7 @@ public class UserAnswerTaskController : WeChatBaseController
/// <param name="catalogId">二级目录Id</param>
/// <returns>答题任务列表</returns>
[HttpGet("task-list/{catalogId:long}")]
public async Task<BaseResponse<UserAnswerTaskListOutput>> GetTaskListAsync([Required] long catalogId)
public async Task<BaseResponse<UserAnswerTaskListOutput>> GetTaskListAsync([Required(ErrorMessage = "参数错误")] long catalogId)
{
try
{
@ -160,7 +161,7 @@ public class UserAnswerTaskController : WeChatBaseController
/// <param name="journalPageTaskId">任务Id</param>
/// <returns>跨页题目详情</returns>
[HttpGet("cross-page-task/{journalPageTaskId:long}")]
public async Task<BaseResponse<CrossPageTaskOutput>> GetCrossPageTaskAsync([Required] long journalPageTaskId)
public async Task<BaseResponse<CrossPageTaskOutput>> GetCrossPageTaskAsync([Required(ErrorMessage ="参数错误")] long journalPageTaskId)
{
try
{
@ -193,10 +194,10 @@ public class UserAnswerTaskController : WeChatBaseController
/// <summary>
/// 领取任务积分
/// </summary>
/// <param name="journalPageTaskGroupId">任务分组IdJournalPageTask.GroupId</param>
/// <param name="groupId">任务分组IdGroupId</param>
/// <returns>领取结果</returns>
[HttpPost("claim-points/{journalPageTaskGroupId:long}")]
public async Task<BaseResponse<ClaimTaskPointsOutput>> ClaimTaskPointsAsync([Required] long journalPageTaskGroupId)
[HttpPost("claim-points/{groupId:long}")]
public async Task<BaseResponse<ClaimTaskPointsOutput>> ClaimTaskPointsAsync([Required(ErrorMessage = "参数错误")] long groupId)
{
try
{
@ -206,22 +207,22 @@ public class UserAnswerTaskController : WeChatBaseController
return BaseResponse<ClaimTaskPointsOutput>.Fail(ResultCode.DENY, "未获取到用户信息");
}
if (journalPageTaskGroupId <= 0)
if (groupId <= 0)
{
return BaseResponse<ClaimTaskPointsOutput>.Fail(ResultCode.PARAM_ERROR, "任务分组Id不能为空");
}
var result = await _userAnswerTaskService.ClaimTaskPointsAsync(journalPageTaskGroupId, userId);
var result = await _userAnswerTaskService.ClaimTaskPointsAsync(groupId, userId);
return Success(result);
}
catch (BusinessException ex)
{
_logger.LogWarning(ex, "领取任务积分业务异常,JournalPageTaskGroupId: {JournalPageTaskGroupId}, UserId: {UserId}", journalPageTaskGroupId, GetCurrentUserId());
_logger.LogWarning(ex, "领取任务积分业务异常,groupId: {groupId}, UserId: {UserId}", groupId, GetCurrentUserId());
return BaseResponse<ClaimTaskPointsOutput>.Fail(ex.Message);
}
catch (Exception ex)
{
_logger.LogError(ex, "领取任务积分失败,JournalPageTaskGroupId: {JournalPageTaskGroupId}, UserId: {UserId}", journalPageTaskGroupId, GetCurrentUserId());
_logger.LogError(ex, "领取任务积分失败,groupId: {groupId}, UserId: {UserId}", groupId, GetCurrentUserId());
return BaseResponse<ClaimTaskPointsOutput>.Fail("领取任务积分失败,请稍后重试");
}
}
@ -265,10 +266,10 @@ public class UserAnswerTaskController : WeChatBaseController
/// <summary>
/// 获取杂志列表
/// </summary>
/// <param name="queryType">查询类型:Bound=已绑定,Unbound=未绑定(添加书籍用),默认是:Bound</param>
/// <param name="queryType">查询类型:bound=已绑定,unbound=未绑定(添加杂志用列表),默认是:bound</param>
/// <returns>杂志列表</returns>
[HttpGet("journal-list")]
public async Task<BaseResponse<List<JournalListOutput>>> GetJournalListAsync([FromQuery] string? queryType = "Bound")
public async Task<BaseResponse<List<JournalListOutput>>> GetJournalListAsync(string? queryType = "bound")
{
try
{
@ -293,6 +294,37 @@ public class UserAnswerTaskController : WeChatBaseController
}
}
/// <summary>
/// 绑定杂志(添加用户与杂志关联)
/// </summary>
/// <param name="journalId">杂志ID</param>
/// <returns>是否绑定成功已绑定过返回false</returns>
[HttpPost("add-user-journal/{journalId:long}")]
public async Task<BaseResponse<bool>> AddUserJournalAsync([Required(ErrorMessage = "参数错误")] long journalId)
{
try
{
var userId = GetCurrentUserId();
if (userId == 0)
{
return BaseResponse<bool>.Fail(ResultCode.DENY, "未获取到用户信息");
}
var result = await _userAnswerTaskService.AddUserJournalAsync(journalId, userId);
return Success(result);
}
catch (BusinessException ex)
{
_logger.LogWarning(ex, "绑定杂志业务异常UserId: {UserId}, JournalId: {JournalId}", GetCurrentUserId(), journalId);
return BaseResponse<bool>.Fail(ex.Message);
}
catch (Exception ex)
{
_logger.LogError(ex, "绑定杂志失败UserId: {UserId}, JournalId: {JournalId}", GetCurrentUserId(), journalId);
return BaseResponse<bool>.Fail("绑定杂志失败,请稍后重试");
}
}
/// <summary>
/// 新增学生
/// </summary>
@ -308,8 +340,11 @@ public class UserAnswerTaskController : WeChatBaseController
{
return BaseResponse<bool>.Fail(ResultCode.DENY, "未获取到用户信息");
}
var result = await _userAnswerTaskService.AddStudentAsync(input, GetCurrentWxUserId().Value);
if (GetCurrentWxUserId() == null)
{
return BaseResponse<bool>.Fail(ResultCode.DENY, "未获取到微信信息");
}
var result = await _userAnswerTaskService.AddStudentAsync(input, GetCurrentWxUserId()!.Value);
return Success(result);
}
catch (BusinessException ex)