using Autofac.Core;
|
using Newtonsoft.Json.Serialization;
|
using Newtonsoft.Json;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIDESEA_DTO.Agv;
|
using WIDESEAWCS_Common.APIEnum;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_DTO.Agv;
|
|
namespace WIDESEAWCS_TaskInfoService
|
{
|
public partial class TaskService
|
{
|
// 创建一个使用小驼峰命名法的序列化设置
|
JsonSerializerSettings settings = new JsonSerializerSettings
|
{
|
ContractResolver = new CamelCasePropertyNamesContractResolver()
|
};
|
public WebResponseContent AgvSendTask(AgvTaskSendDTO taskModel, APIEnum SendTask = APIEnum.AgvSendTask)
|
{
|
WebResponseContent content = new WebResponseContent();
|
try
|
{
|
string? apiAddress = _apiInfoRepository.QueryFirst(x => x.ApiCode == SendTask.ToString())?.ApiAddress;
|
if (string.IsNullOrEmpty(apiAddress)) throw new Exception($"未找到发送AGV任务接口,请检查接口配置");
|
string request = JsonConvert.SerializeObject(taskModel, settings);
|
string response = HttpHelper.Post(apiAddress, request);
|
AgvResponseContent agvContent = response.DeserializeObject<AgvResponseContent>() ?? throw new Exception("AGV任务发送未返回结果");
|
if (agvContent.Success)
|
{
|
content.OK();
|
}
|
else
|
{
|
content.Error(agvContent.Message);
|
}
|
}
|
catch (Exception ex)
|
{
|
content.Error(ex.Message);
|
}
|
return content;
|
}
|
/// <summary>
|
/// AGV任务状态刷新/AGV任务完成
|
/// </summary>
|
/// <param name="agvUpdateModel"></param>
|
/// <returns></returns>
|
public AgvResponseContent AgvUpdateTask(AgvUpdateDTO agvUpdateModel)
|
{
|
return new AgvResponseContent();
|
}
|
}
|
}
|