feat: 新增AI自动批改功能,完善任务评分体系
1. 添加AI评分配置节点到appsettings.json 2. 新增NeedAiProcess字段控制是否使用AI批改 3. 扩展答题记录实体,新增理解力、判断力、表达力、说服力评分字段 4. 实现期刊任务AI自动批改消费者逻辑,支持重试机制和图片处理 5. 优化实体类注释和代码结构 6. 新增Dockerfile用于容器化部署
This commit is contained in:
@ -2,9 +2,9 @@ using SqlSugar;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
{
|
||||
///<summary>
|
||||
///杂志任务用户作答记录;
|
||||
///</summary>
|
||||
/// <summary>
|
||||
/// 杂志任务用户作答记录
|
||||
/// </summary>
|
||||
[SugarTable("JournalPageTaskUserAnswer")]
|
||||
public class JournalPageTaskUserAnswer : SqlSugarBaseEntity
|
||||
{
|
||||
@ -12,204 +12,231 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
/// Desc:书id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public long JournalId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:书页id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public long JournalPageId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:任务id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public long JournalPageTaskId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:任务分组id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public long JournalPageTaskGroupId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:用户id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:作答结果
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public string Result { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:积分
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public float Points { get; set; }
|
||||
/// </summary>
|
||||
public int Points { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:成长值
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public float GrowthPoints { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:题目得分
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public float Score { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:理解力评分
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public float Comprehension { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:判断力评分
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public float Judgment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:表达力评分
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public float Expression { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:说服力评分
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public float Persuasiveness { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:题目作答图片地址
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public string QuestionAnswerUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:答案图片地址
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public string AnswerUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:页面作答图片地址
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public string PageAnswerUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:乐观锁
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public int Revision { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:作答状态
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public int AnswerStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:作答开始时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public DateTime AnswerStartTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:作答结束时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public DateTime AnswerEndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:作答耗时(秒)
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public int AnswerSeconds { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:图像识别结果
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public int ImageRecognition { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:书页序号
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public int JournalPageNum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:修改次数
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public int Modify { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:最后标签id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public long LastTag { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:点读书页序号
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public int DotPageNum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:页面结果图片地址
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public string PageResultUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:题型
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public string Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:点读书页编号
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public string DotPageNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:页面作答点读图片地址
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public string PageAnswerDotUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:中断次数
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public int BreakCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:中断时间记录
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public string BreakTimes { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:作业状态
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
/// </summary>
|
||||
public string AssignmentStatus { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -46,7 +46,7 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
/// <summary>
|
||||
/// Points awarded.
|
||||
/// </summary>
|
||||
public float Points { get; set; }
|
||||
public int Points { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Growth points awarded.
|
||||
@ -58,6 +58,26 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
/// </summary>
|
||||
public float Score { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Comprehension score.
|
||||
/// </summary>
|
||||
public float Comprehension { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Judgment score.
|
||||
/// </summary>
|
||||
public float Judgment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Expression score.
|
||||
/// </summary>
|
||||
public float Expression { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Persuasiveness score.
|
||||
/// </summary>
|
||||
public float Persuasiveness { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Question answer image URL.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user