修复 作业识别模块识别成功后没有写入成功

This commit is contained in:
小肥羊 2026-04-17 14:59:10 +08:00
parent de3bd90822
commit 63041cd019
4 changed files with 47 additions and 25 deletions

View File

@ -2,7 +2,8 @@
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://*:7532"
//"Url": "http://*:7532"
"Url": "http://*:5238"
}
}
},

View File

@ -28,6 +28,7 @@ using static System.Net.Mime.MediaTypeNames;
using VideoAnalysisCore.AICore.GPT.DeepSeek;
using VideoAnalysisCore.AICore.GPT.Gemini;
using static System.Collections.Specialized.BitVector32;
using UserCenter.Model;
namespace VideoAnalysisCore.AICore.GPT
{
@ -520,6 +521,7 @@ namespace VideoAnalysisCore.AICore.GPT
""";
var res = await bset_deepSeekClient.ChatAsync<VideoKnowRes>(taskInfo.Id.ToString(), message, "作业布置识别", ChatGPTType.Deepseek_Chat, 8000);
//部分参数 没补全
if (res is null)
return null;
if (!string.Equals(res.Stage, "作业布置", StringComparison.OrdinalIgnoreCase))
@ -845,8 +847,15 @@ namespace VideoAnalysisCore.AICore.GPT
GradeYear = taskInfo.GradeYear,
}).ToList();
//尝试追加 作业布置分段
if (homework != null && !questionRes.Any(s => s.Stage == StageEnum..ToString()))
tStage.Add(homework.Adapt<VideoTaskStage>());
if (homework != null && !questionRes.Any(s => s.Stage == StageEnum..ToString()))
{
var stag = homework.Adapt<VideoTaskStage>();
stag.VideoTaskId = taskId;
stag.TagId = taskInfo.TagId;
stag.Stage = StageEnum.;
stag.CloudSchoolId = taskInfo.CloudSchoolId;
tStage.Add(stag);
}
await videoTaskStageDB.InsertRangeAsync(tStage);
await videoKonwPointDB.InsertRangeAsync(insertData);
break;

View File

@ -401,14 +401,14 @@ namespace VideoAnalysisCore.Controllers.Dto
public class VideoTaskStageRes
{
/// <summary>
/// 视频封面地址
/// </summary>
public string PreviewUrl { get; set; }
/// <summary>
/// 视频地址
/// </summary>
public string PlayUrl { get; set; }
///// <summary>
///// 视频封面地址
///// </summary>
//public string PreviewUrl { get; set; }
///// <summary>
///// 视频地址
///// </summary>
//public string PlayUrl { get; set; }
/// <summary>
/// id
/// </summary>
@ -419,10 +419,13 @@ namespace VideoAnalysisCore.Controllers.Dto
/// </summary>
public long VideoTaskId { get; set; }
/// <summary>
/// 自定义Id [任务视频自定义id]
/// <see cref="VideoTask.TagId"/>
/// 年份
/// </summary>
public string? TagId { get; set; }
public string? GradeYear { get; set; }
/// <summary>
/// 年份
/// </summary>
public GradeEnum? GradeId { get; set; }
/// <summary>
/// 开始时间

View File

@ -353,12 +353,13 @@ namespace VideoAnalysisCore.Controllers
{
Id = s.Id,
VideoTaskId = s.VideoTaskId,
TagId = s.TagId,
StartTime = s.StartTime,
EndTime = s.EndTime,
Theme = s.Theme,
CloudSchoolId = s.CloudSchoolId,
Stage=s.Stage,
GradeId = s.GradeId,
GradeYear = s.GradeYear?.ToString(),
//PreviewUrl= videoInfoRes.ContainsKey(s.VideoTaskId.ToString())? videoInfoRes[] :
KnowPoints = kpDic.ContainsKey(s.Id) ? kpDic[s.Id] : []
}).ToArray();
@ -386,18 +387,26 @@ namespace VideoAnalysisCore.Controllers
var task =await videoTaskDB.GetByIdAsync(videoTaskId);
if (task is null)
return BadRequest("²ÎÊýÎÞЧ");
var videoInfo = await vodClient.GetPlayInfoAsync(new GetPlayInfoRequest()
try
{
VideoId = task.TagId,
Formats = "mp4",
OutputType = "cdn",
AuthTimeout = 3600 * 24 * 12,
});
if (videoInfo is null || videoInfo.StatusCode != 200 && !videoInfo.Body.PlayInfoList.PlayInfo.Any())
return BadRequest("获取存储的视频信息失败!");
var videoInfo = await vodClient.GetPlayInfoAsync(new GetPlayInfoRequest()
{
VideoId = task.TagId,
Formats = "mp4",
OutputType = "cdn",
AuthTimeout = 3600 * 24 * 12,
});
if (videoInfo is null || videoInfo.StatusCode != 200 && !videoInfo.Body.PlayInfoList.PlayInfo.Any())
return BadRequest("获取存储的视频信息失败!");
return Ok(videoInfo.Body.PlayInfoList.PlayInfo.First().PlayURL);
}
catch (Exception ex )
{
return BadRequest("获取存储的视频信息失败!" + ex.Message);
}
return Ok(videoInfo.Body.PlayInfoList.PlayInfo.First().PlayURL);
}
}