refactor: 调整期刊实体字段与用户期刊输出映射

1. 移除Journal实体冗余的Title字段,统一使用Name字段
2. 更新UserDto和UsersService中的期刊标题映射逻辑
3. 新增JournalPageTask的四项能力评分字段
4. 新增AI提示词管理的完整服务、控制器与相关DTO
5. 新增用户作答记录实体JournalPageTaskUserAnswer
This commit is contained in:
glz
2026-06-16 08:37:15 +08:00
parent 94799ee189
commit dbf77c7d50
10 changed files with 812 additions and 5 deletions

View File

@ -0,0 +1,116 @@
using QYZH.InteractiveMagazine.Models.Dto;
namespace QYZH.InteractiveMagazine.Models.Dto;
/// <summary>
/// AIPrompt配置创建/更新输入
/// </summary>
public class AiBasePromptInput
{
/// <summary>
/// 配置标识DEFAULT, READING, COMPREHENSION
/// </summary>
public string PromptKey { get; set; } = string.Empty;
/// <summary>
/// 配置名称默认Prompt、阅读理解专用
/// </summary>
public string PromptName { get; set; } = string.Empty;
/// <summary>
/// Prompt模板内容
/// </summary>
public string PromptTemplate { get; set; } = string.Empty;
/// <summary>
/// 配置说明
/// </summary>
public string? Description { get; set; }
/// <summary>
/// 优先级(数值越小优先级越高)
/// </summary>
public int Priority { get; set; }
/// <summary>
/// 是否为默认模板
/// </summary>
public bool IsDefault { get; set; } = true;
}
/// <summary>
/// AIPrompt配置输出
/// </summary>
public class AiBasePromptOutput
{
/// <summary>
/// 主键ID
/// </summary>
public long Id { get; set; }
/// <summary>
/// 配置标识
/// </summary>
public string PromptKey { get; set; } = string.Empty;
/// <summary>
/// 配置名称
/// </summary>
public string PromptName { get; set; } = string.Empty;
/// <summary>
/// Prompt模板内容
/// </summary>
public string PromptTemplate { get; set; } = string.Empty;
/// <summary>
/// 配置说明
/// </summary>
public string? Description { get; set; }
/// <summary>
/// 优先级
/// </summary>
public int Priority { get; set; }
/// <summary>
/// 是否为默认模板
/// </summary>
public bool IsDefault { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string? CreatedBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreatedAt { get; set; }
/// <summary>
/// 更新人
/// </summary>
public string? UpdatedBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime? UpdatedAt { get; set; }
}
/// <summary>
/// AIPrompt配置分页查询输入
/// </summary>
public class AiBasePromptQueryInput : PageQueryModel
{
/// <summary>
/// 配置标识(精确匹配)
/// </summary>
public string? PromptKey { get; set; }
/// <summary>
/// 配置名称(模糊查询)
/// </summary>
public string? PromptName { get; set; }
}