|
|
|
@ -2390,7 +2390,86 @@ namespace OpenAuth.App.ServiceApp
|
|
|
|
|
WarningTitle = req.WarningTitle,
|
|
|
|
|
WarningContent = req.WarningContent
|
|
|
|
|
};
|
|
|
|
|
await Repository.ChangeRepository<SugarRepositiry<LasaAiInspection>>().InsertAsync(aiInspection);
|
|
|
|
|
using var db = Repository.AsSugarClient();
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
db.Ado.BeginTran();
|
|
|
|
|
// 更新
|
|
|
|
|
await db.Updateable(aiInspection).IgnoreNullColumns().ExecuteCommandAsync();
|
|
|
|
|
|
|
|
|
|
var task = await db.Queryable<LasaTask>()
|
|
|
|
|
.Where(x => x.Id == req.TaskId)
|
|
|
|
|
.FirstAsync();
|
|
|
|
|
var algoInstances = await db
|
|
|
|
|
.Queryable<LasaAlgoInstance>()
|
|
|
|
|
.Where(x => x.Id == req.AlgoInstanceId)
|
|
|
|
|
.ToListAsync();
|
|
|
|
|
var tagsIds = algoInstances.Select(x => x.Tags).ToList();
|
|
|
|
|
var algo = await db
|
|
|
|
|
.Queryable<LasaAlgorithmsRepository>()
|
|
|
|
|
.Where(x => x.Id == algoInstances.First().AlgoIds)
|
|
|
|
|
.FirstAsync();
|
|
|
|
|
dynamic json = new
|
|
|
|
|
ExpandoObject();
|
|
|
|
|
var x = SnowFlakeSingle.instance;
|
|
|
|
|
var pushUrl = $"rtmp://box.wisestcity.com:1935/live/{x.NextId()}";
|
|
|
|
|
json.rtmp_url = req.RtmpUrl;
|
|
|
|
|
json.push_url = pushUrl;
|
|
|
|
|
json.imgsz = 640;
|
|
|
|
|
json.frame_skip = 1;
|
|
|
|
|
json.model_name = algo.Path;
|
|
|
|
|
json.taskname = task.TaskName;
|
|
|
|
|
json.taskid = req.TaskId;
|
|
|
|
|
var taskRecord = new LasaTask()
|
|
|
|
|
{
|
|
|
|
|
Id = req.TaskId,
|
|
|
|
|
Status = 1,
|
|
|
|
|
PushUrl = pushUrl
|
|
|
|
|
};
|
|
|
|
|
await db.Updateable(taskRecord).IgnoreNullColumns().ExecuteCommandAsync();
|
|
|
|
|
var tag = await db
|
|
|
|
|
.Queryable<LasaModelLabel>()
|
|
|
|
|
.Where(x => tagsIds.Contains(x.Id))
|
|
|
|
|
.Select(x => x.EnumValue)
|
|
|
|
|
.ToArrayAsync();
|
|
|
|
|
json.tag = tag;
|
|
|
|
|
var content = new StringContent(json, Encoding.UTF8, "application/json");
|
|
|
|
|
using var httpClient = new HttpClient();
|
|
|
|
|
var response = await httpClient.PostAsync("http://192.168.10.131:9025/start_detection", content);
|
|
|
|
|
db.Ado.CommitTran();
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
db.Ado.RollbackTran();
|
|
|
|
|
throw new Exception("调用智能巡检失败");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return new Response<bool>()
|
|
|
|
|
{
|
|
|
|
|
Result = true
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<Response<bool>> EndHandFlyTask(string taskid)
|
|
|
|
|
{
|
|
|
|
|
var task = new LasaTask()
|
|
|
|
|
{
|
|
|
|
|
Id = taskid,
|
|
|
|
|
Status = 5 // 成功
|
|
|
|
|
};
|
|
|
|
|
using var db = Repository.AsSugarClient();
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
db.Ado.BeginTran();
|
|
|
|
|
await db.Updateable(task).IgnoreNullColumns().ExecuteCommandAsync();
|
|
|
|
|
db.Ado.CommitTran();
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
db.Ado.RollbackTran();
|
|
|
|
|
throw new Exception("结束任务失败");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return new Response<bool>()
|
|
|
|
|
{
|
|
|
|
|
Result = true
|
|
|
|
|