130 lines
3.3 KiB
C#
130 lines
3.3 KiB
C#
|
|
namespace QYZH.InteractiveMagazine.Models.Dto.UserAnswerTaskService;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 目录树形结构输出(包含一级目录列表)
|
|||
|
|
/// </summary>
|
|||
|
|
public class CatalogTreeOutput
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 一级目录列表
|
|||
|
|
/// </summary>
|
|||
|
|
public List<FirstLevelCatalogItem> FirstLevelCatalogs { get; set; } = [];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 一级目录项输出
|
|||
|
|
/// </summary>
|
|||
|
|
public class FirstLevelCatalogItem
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 一级目录ID
|
|||
|
|
/// </summary>
|
|||
|
|
public long CatalogId { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 一级目录名称
|
|||
|
|
/// </summary>
|
|||
|
|
public string CatalogName { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 文章篇数(来自二级目录对应的所有有题目的页面数总和)
|
|||
|
|
/// </summary>
|
|||
|
|
public int ArticleCount { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 任务数量(来自二级目录对应的所有任务按GroupId去重后的总和)
|
|||
|
|
/// </summary>
|
|||
|
|
public int TaskCount { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 二级目录列表
|
|||
|
|
/// </summary>
|
|||
|
|
public List<SecondLevelCatalogItem> Children { get; set; } = [];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 二级目录项输出(含页码范围、任务数量、状态、总成长值、总积分及任务列表)
|
|||
|
|
/// </summary>
|
|||
|
|
public class SecondLevelCatalogItem
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 二级目录ID
|
|||
|
|
/// </summary>
|
|||
|
|
public long CatalogId { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 二级目录名称
|
|||
|
|
/// </summary>
|
|||
|
|
public string CatalogName { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 起始页码
|
|||
|
|
/// </summary>
|
|||
|
|
public int StartPage { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 结束页码
|
|||
|
|
/// </summary>
|
|||
|
|
public int EndPage { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 任务数量(按GroupId去重后的数量)
|
|||
|
|
/// </summary>
|
|||
|
|
public int TaskCount { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 状态(格式如:1/2 进行中、0/2 未开始、2/2 已完成)
|
|||
|
|
/// </summary>
|
|||
|
|
public string Status { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 总成长值(该二级目录下所有任务的成长值总和,按GroupId去重)
|
|||
|
|
/// </summary>
|
|||
|
|
public int TotalGrowthPoints { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 总积分(该二级目录下所有任务的积分总和,按GroupId去重)
|
|||
|
|
/// </summary>
|
|||
|
|
public int TotalPoints { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 任务列表(每个任务的详细信息)
|
|||
|
|
/// </summary>
|
|||
|
|
public List<CatalogTaskItem> Tasks { get; set; } = [];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 目录任务项输出(任务详情)
|
|||
|
|
/// </summary>
|
|||
|
|
public class CatalogTaskItem
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 任务分组ID(GroupId)
|
|||
|
|
/// </summary>
|
|||
|
|
public long GroupId { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 任务名称(取主任务的Task字段)
|
|||
|
|
/// </summary>
|
|||
|
|
public string TaskName { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 任务状态(未开始、进行中、已完成)
|
|||
|
|
/// </summary>
|
|||
|
|
public string Status { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 成长值(取主任务的GrowthPoint)
|
|||
|
|
/// </summary>
|
|||
|
|
public int GrowthPoints { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 积分值(取主任务的Points)
|
|||
|
|
/// </summary>
|
|||
|
|
public int Points { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 答题时长(分钟,该GroupId下所有任务的AnswerSeconds累加后转换为分钟)
|
|||
|
|
/// </summary>
|
|||
|
|
public double AnswerMinutes { get; set; }
|
|||
|
|
}
|