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.Globalization;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using U8Server.Util;
@@ -23,7 +24,7 @@ namespace ZR.Service.mes.wms_u8
/// <param name="urlBase"></param>
/// <param name="eRP_WMS_InteractiveModels"></param>
/// <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";
@@ -34,7 +35,7 @@ namespace ZR.Service.mes.wms_u8
headers.Add("sign", GetSign.GetBy16Md5());
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)
{
return (ERP_WMS_interactiveModelResult)result;
@@ -50,7 +51,7 @@ namespace ZR.Service.mes.wms_u8
/// <param name="urlBase"></param>
/// <param name="eRP_WMS_InteractiveModels"></param>
/// <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";
@@ -61,7 +62,7 @@ namespace ZR.Service.mes.wms_u8
headers.Add("sign", GetSign.GetBy16Md5());
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)
{
return (ERP_WMS_interactiveModelResult)result;
@@ -69,5 +70,77 @@ namespace ZR.Service.mes.wms_u8
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.Security.Cryptography;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Infrastructure.Attribute;
using SqlSugar;
using ZR.Model.MES.wms;
@@ -213,12 +214,12 @@ namespace ZR.Service.mes.wms
}
string urlBase = "http://gam.com.cn:8054/";
ERP_WMS_interactiveService _eRP_WMS_InteractiveService = new();
ERP_WMS_interactiveModelResult u8ErpResult = _eRP_WMS_InteractiveService.Inbounded(
urlBase,
u8PackageList
);
//TODO 对U8返回结果进行解析
logger.Warn(u8ErpResult);
// 异步发送U8
_ = Task.Run(async () => {
var u8ErpResult = await _eRP_WMS_InteractiveService.InboundedAsync(urlBase, u8PackageList);
//TODO 对U8返回结果进行解析
logger.Warn(u8ErpResult);
});
Context.Ado.CommitTran();
return result;
}

View File

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

View File

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