using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json;
using System.Text.Json.Nodes;
using System.Threading.Tasks;
namespace VideoAnalysisCore.AICore.GPT.Dto
{
public class VideoKnowRes
{
///
/// 问题解释
///
public float? StartTime { get; set; }
public float? EndTime { get; set; }
/////
///// 持续时间
/////
public float? KeepTime => (EndTime ?? 0) - StartTime ?? 0;
///
/// 主题
///
public string? Theme { get; set; }
///
/// 知识点
///
public string? KnowPoint { get; set; }
///
/// 知识点ID
///
public string? KnowPointId { get; set; }
///
/// 内容总结
///
public string? Content { get; set; }
}
public class FileNameInfo
{
///
/// 问题解释
///
public string? 授课章节 { get; set; }
public string? 授课内容 { get; set; }
}
public class QuestionRes
{
///
/// 对应问题的id
///
public long 问题编号 { get; set; }
///
/// 结果
///
public JsonDocument 结果 { get; set; }
private object? _cached = null;
///
/// 转换结果为对象
///
///
///
public T? ToObject()
{
try
{
if (_cached != null)
return (T)_cached;
var r = 结果.RootElement.GetRawText();
if (r is null)
return default;
_cached = System.Text.Json.JsonSerializer.Deserialize(r);
if (_cached is null)
return default;
return (T)_cached;
}
catch
{
return default;
}
}
///
/// 问题解释
///
public string? 问题解释 { get; set; }
}
///
/// 课堂AI评价
///
public class CourseCriteria
{
///
/// AI解析
///
public string Analyze { get; set; } = string.Empty;
///
/// 问题编号
///
public long Id { get; set; }
///
/// AI评估得分
///
public decimal Score { get; set; }
///
/// 总分
///
public decimal TotalScore { get; set; }
///
/// 及格分数
///
public decimal PassScore { get; set; }
///
/// 提词
///
public string Prompt { get; set; } = string.Empty;
///
/// 改进意见
/// 适用于:差的评价
///
public string? ImprovedMethods { get; set; }
}
public class CheckMessageDto
{
///
/// 打分
///
public decimal Score { get; set; }
///
/// 评分
///
public string Evaluation { get; set; }
}
///
/// 课堂AI评价结果
///
public class AssessmentDto
{
///
/// 优秀的评价
///
public CourseCriteria[]? Merit { get; set; }
///
/// 差的评价
///
public CourseCriteria[]? Bad { get; set; }
///
/// 改进意见
///
public string[]? BadImprovedMethods =>
(Merit?.Select(s => s.ImprovedMethods ?? string.Empty)?.ToArray() ?? [])
.Concat(Bad?.Select(s => s.ImprovedMethods ?? string.Empty)?.ToArray() ?? []).ToArray();
}
}