using Newtonsoft.Json;
|
using System.Collections.Generic;
|
using WIDESEA_Core;
|
using WIDESEA_Core.Helper;
|
using WIDESEA_IBasicService;
|
using WIDESEA_DTO.MES;
|
|
namespace WIDESEA_BasicService
|
{
|
/// <summary>
|
/// MES服务实现 - 陕西顷刻能源科技MES系统对接
|
/// </summary>
|
public class MesService : IMesService
|
{
|
private readonly HttpClientHelper _httpClient;
|
private readonly string _baseUrl;
|
private readonly string _authorization;
|
|
private const string BindContainerPath = "/EquipmentService/api/v1/BindContainer";
|
private const string UnBindContainerPath = "/EquipmentService/api/v1/UnBindContainer";
|
private const string ContainerNgReportPath = "/EquipmentService/api/v1/ContainerNgReport";
|
private const string InboundInContainerPath = "/EquipmentService/api/v1/InboundInContainer";
|
private const string OutboundInContainerPath = "/EquipmentService/api/v1/OutboundInContainer";
|
|
public MesService(HttpClientHelper httpClient)
|
{
|
_httpClient = httpClient;
|
_baseUrl = AppSettings.Get("MES:BaseUrl").TrimEnd('/');
|
_authorization = AppSettings.Get("MES:Authorization");
|
}
|
|
private HttpRequestConfig BuildConfig()
|
{
|
return new HttpRequestConfig
|
{
|
Headers = new Dictionary<string, string>
|
{
|
{ "Authorization", _authorization }
|
},
|
TimeoutMs = 30000,
|
MaxRetryCount = 0,
|
EnableLogging = true
|
};
|
}
|
|
private HttpResponseResult<MesResponse> Post<T>(string url, T request)
|
{
|
string json = JsonConvert.SerializeObject(request);
|
return _httpClient.Post<MesResponse>(url, json, "application/json", BuildConfig());
|
}
|
|
public HttpResponseResult<MesResponse> BindContainer(BindContainerRequest request)
|
{
|
return Post(_baseUrl + BindContainerPath, request);
|
}
|
|
public HttpResponseResult<MesResponse> UnBindContainer(UnBindContainerRequest request)
|
{
|
return Post(_baseUrl + UnBindContainerPath, request);
|
}
|
|
public HttpResponseResult<MesResponse> ContainerNgReport(ContainerNgReportRequest request)
|
{
|
return Post(_baseUrl + ContainerNgReportPath, request);
|
}
|
|
public HttpResponseResult<MesResponse> InboundInContainer(InboundInContainerRequest request)
|
{
|
return Post(_baseUrl + InboundInContainerPath, request);
|
}
|
|
public HttpResponseResult<MesResponse> OutboundInContainer(OutboundInContainerRequest request)
|
{
|
return Post(_baseUrl + OutboundInContainerPath, request);
|
}
|
}
|
}
|