U8接口调整,改为异步,响应时间5秒

This commit is contained in:
2025-06-22 09:19:56 +08:00
parent 0eb0e1b30e
commit 3858c7af34
4 changed files with 118 additions and 28 deletions

View File

@@ -5,6 +5,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using System.Linq; using System.Linq;
using System.Net.Http;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using U8Server.Util; using U8Server.Util;
@@ -23,7 +24,7 @@ namespace ZR.Service.mes.wms_u8
/// <param name="urlBase"></param> /// <param name="urlBase"></param>
/// <param name="eRP_WMS_InteractiveModels"></param> /// <param name="eRP_WMS_InteractiveModels"></param>
/// <returns></returns> /// <returns></returns>
public ERP_WMS_interactiveModelResult Inbounded(string urlBase,List<ERP_WMS_interactiveModelQuery> eRP_WMS_InteractiveModels) public ERP_WMS_interactiveModelResult Inbounded(string urlBase, List<ERP_WMS_interactiveModelQuery> eRP_WMS_InteractiveModels)
{ {
string url = urlBase + "/wms/mes/inbounded"; string url = urlBase + "/wms/mes/inbounded";
@@ -34,7 +35,7 @@ namespace ZR.Service.mes.wms_u8
headers.Add("sign", GetSign.GetBy16Md5()); headers.Add("sign", GetSign.GetBy16Md5());
string postData = JsonConvert.SerializeObject(eRP_WMS_InteractiveModels); string postData = JsonConvert.SerializeObject(eRP_WMS_InteractiveModels);
Object result = HttpHelper.HttpPost(url, postData, contentType, 30, headers); Object result = HttpHelper.HttpPost(url, postData, contentType, 5, headers);
if (result != null && result is ERP_WMS_interactiveModelResult) if (result != null && result is ERP_WMS_interactiveModelResult)
{ {
return (ERP_WMS_interactiveModelResult)result; return (ERP_WMS_interactiveModelResult)result;
@@ -50,7 +51,7 @@ namespace ZR.Service.mes.wms_u8
/// <param name="urlBase"></param> /// <param name="urlBase"></param>
/// <param name="eRP_WMS_InteractiveModels"></param> /// <param name="eRP_WMS_InteractiveModels"></param>
/// <returns></returns> /// <returns></returns>
public ERP_WMS_interactiveModelResult Outbounded(string urlBase, List<ERP_WMS_interactiveModelQuery> eRP_WMS_InteractiveModels) public ERP_WMS_interactiveModelResult Outbounded(string urlBase, List<ERP_WMS_interactiveModelQuery> eRP_WMS_InteractiveModels)
{ {
string url = urlBase + "/wms/mes/outbounded"; string url = urlBase + "/wms/mes/outbounded";
@@ -61,7 +62,7 @@ namespace ZR.Service.mes.wms_u8
headers.Add("sign", GetSign.GetBy16Md5()); headers.Add("sign", GetSign.GetBy16Md5());
string postData = JsonConvert.SerializeObject(eRP_WMS_InteractiveModels); string postData = JsonConvert.SerializeObject(eRP_WMS_InteractiveModels);
Object result = HttpHelper.HttpPost(url, postData, contentType, 30, headers); Object result = HttpHelper.HttpPost(url, postData, contentType, 5, headers);
if (result != null && result is ERP_WMS_interactiveModelResult) if (result != null && result is ERP_WMS_interactiveModelResult)
{ {
return (ERP_WMS_interactiveModelResult)result; return (ERP_WMS_interactiveModelResult)result;
@@ -69,5 +70,77 @@ namespace ZR.Service.mes.wms_u8
return null; return null;
} }
/// <summary>
/// 入库接口 - 异步版本
/// </summary>
public async Task<ERP_WMS_interactiveModelResult> InboundedAsync(string urlBase, List<ERP_WMS_interactiveModelQuery> eRP_WMS_InteractiveModels)
{
string url = urlBase + "/wms/mes/inbounded";
string contentType = "application/json";
Dictionary<string, string> headers = new Dictionary<string, string>
{
{ "appid", "gN9yId!!lfwaRoi3" },
{ "timestamp", DateTime.Now.ToString("yyyyMMddHHmmss", CultureInfo.InvariantCulture) },
{ "sign", GetSign.GetBy16Md5() }
};
string postData = JsonConvert.SerializeObject(eRP_WMS_InteractiveModels);
try
{
// 调用HttpHelper的异步方法
string resultJson = await HttpHelper.HttpPostAsync(url, postData, contentType, 5, headers);
// 反序列化结果
if (!string.IsNullOrEmpty(resultJson) && resultJson != "异常:*")
{
return JsonConvert.DeserializeObject<ERP_WMS_interactiveModelResult>(resultJson);
}
}
catch (Exception ex)
{
Console.WriteLine($"InboundedAsync 异常: {ex.Message}");
}
return null;
}
/// <summary>
/// 出库接口 - 异步版本
/// </summary>
public async Task<ERP_WMS_interactiveModelResult> OutboundedAsync(string urlBase, List<ERP_WMS_interactiveModelQuery> eRP_WMS_InteractiveModels)
{
string url = urlBase + "/wms/mes/outbounded";
string contentType = "application/json";
Dictionary<string, string> headers = new Dictionary<string, string>
{
{ "appid", "gN9yId!!lfwaRoi3" },
{ "timestamp", DateTime.Now.ToString("yyyyMMddHHmmss", CultureInfo.InvariantCulture) },
{ "sign", GetSign.GetBy16Md5() }
};
string postData = JsonConvert.SerializeObject(eRP_WMS_InteractiveModels);
try
{
// 调用HttpHelper的异步方法
string resultJson = await HttpHelper.HttpPostAsync(url, postData, contentType, 5, headers);
// 反序列化结果
if (!string.IsNullOrEmpty(resultJson) && resultJson != "异常:*")
{
return JsonConvert.DeserializeObject<ERP_WMS_interactiveModelResult>(resultJson);
}
}
catch (Exception ex)
{
Console.WriteLine($"OutboundedAsync 异常: {ex.Message}");
}
return null;
}
} }
} }

View File

@@ -2,6 +2,7 @@
using System.Linq; using System.Linq;
using System.Security.Cryptography; using System.Security.Cryptography;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Infrastructure.Attribute; using Infrastructure.Attribute;
using SqlSugar; using SqlSugar;
using ZR.Model.MES.wms; using ZR.Model.MES.wms;
@@ -213,12 +214,12 @@ namespace ZR.Service.mes.wms
} }
string urlBase = "http://gam.com.cn:8054/"; string urlBase = "http://gam.com.cn:8054/";
ERP_WMS_interactiveService _eRP_WMS_InteractiveService = new(); ERP_WMS_interactiveService _eRP_WMS_InteractiveService = new();
ERP_WMS_interactiveModelResult u8ErpResult = _eRP_WMS_InteractiveService.Inbounded( // 异步发送U8
urlBase, _ = Task.Run(async () => {
u8PackageList var u8ErpResult = await _eRP_WMS_InteractiveService.InboundedAsync(urlBase, u8PackageList);
); //TODO 对U8返回结果进行解析
//TODO 对U8返回结果进行解析 logger.Warn(u8ErpResult);
logger.Warn(u8ErpResult); });
Context.Ado.CommitTran(); Context.Ado.CommitTran();
return result; return result;
} }

View File

@@ -1,5 +1,6 @@
using System; using System;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Aliyun.OSS; using Aliyun.OSS;
using Infrastructure.Attribute; using Infrastructure.Attribute;
using Microsoft.AspNetCore.Http.HttpResults; using Microsoft.AspNetCore.Http.HttpResults;
@@ -188,13 +189,13 @@ namespace ZR.Service.mes.wms
} }
string urlBase = "http://gam.com.cn:8054/"; string urlBase = "http://gam.com.cn:8054/";
ERP_WMS_interactiveService _eRP_WMS_InteractiveService = new(); ERP_WMS_interactiveService _eRP_WMS_InteractiveService = new();
ERP_WMS_interactiveModelResult u8ErpResult = _eRP_WMS_InteractiveService.Outbounded( // 后台执行不阻塞主线程
urlBase, _ = Task.Run(async () => {
u8PackageList var u8ErpResult = await _eRP_WMS_InteractiveService.OutboundedAsync(urlBase, u8PackageList);
); // 处理结果...
//TODO 对U8返回结果进行解析 //TODO 对U8返回结果进行解析
logger.Warn(u8ErpResult); logger.Warn(u8ErpResult);
});
return Context.Insertable(model).ExecuteReturnEntity(); return Context.Insertable(model).ExecuteReturnEntity();
} }
@@ -419,12 +420,19 @@ namespace ZR.Service.mes.wms
} }
string urlBase = "http://gam.com.cn:8054/"; string urlBase = "http://gam.com.cn:8054/";
ERP_WMS_interactiveService _eRP_WMS_InteractiveService = new(); ERP_WMS_interactiveService _eRP_WMS_InteractiveService = new();
ERP_WMS_interactiveModelResult u8ErpResult = _eRP_WMS_InteractiveService.Outbounded( // 后台执行不阻塞主线程
urlBase, _ = Task.Run(async () => {
u8PackageList var u8ErpResult = await _eRP_WMS_InteractiveService.OutboundedAsync(urlBase, u8PackageList);
); // 处理结果...
//TODO 对U8返回结果进行解析
logger.Warn(u8ErpResult);
});
/* ERP_WMS_interactiveModelResult u8ErpResult = _eRP_WMS_InteractiveService.Outbounded(
urlBase,
u8PackageList
);*/
//TODO 对U8返回结果进行解析 //TODO 对U8返回结果进行解析
logger.Warn(u8ErpResult); /* logger.Warn(u8ErpResult);*/
return "ok"; return "ok";
} }
} }

View File

@@ -2,6 +2,7 @@ using System;
using System.Data; using System.Data;
using System.Linq; using System.Linq;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Infrastructure.Attribute; using Infrastructure.Attribute;
using Mapster; using Mapster;
using SqlSugar; using SqlSugar;
@@ -622,12 +623,19 @@ namespace ZR.Service.mes.wms
} }
string urlBase = "http://gam.com.cn:8054/"; string urlBase = "http://gam.com.cn:8054/";
ERP_WMS_interactiveService _eRP_WMS_InteractiveService = new(); ERP_WMS_interactiveService _eRP_WMS_InteractiveService = new();
ERP_WMS_interactiveModelResult u8ErpResult = _eRP_WMS_InteractiveService.Outbounded( // 后台执行不阻塞主线程
urlBase, _ = Task.Run(async () => {
u8PackageList var u8ErpResult = await _eRP_WMS_InteractiveService.OutboundedAsync(urlBase, u8PackageList);
); // 处理结果...
//TODO 对U8返回结果进行解析 //TODO 对U8返回结果进行解析
logger.Warn(u8ErpResult); logger.Warn(u8ErpResult);
});
/*
*ERP_WMS_interactiveModelResult u8ErpResult = _eRP_WMS_InteractiveService.Outbounded(
urlBase,
u8PackageList
);
logger.Warn(u8ErpResult);*/
Context.Ado.CommitTran(); Context.Ado.CommitTran();
return (sum_delete, sum_insert); return (sum_delete, sum_insert);
} }