From f0ac4ec65279aa31d568b933afeb8237bee73a72 Mon Sep 17 00:00:00 2001
From: kyy <3283105747@qq.com>
Date: 星期一, 01 十二月 2025 09:46:54 +0800
Subject: [PATCH] 1、erp接口新增删除接口 2、返回信息解码更换为data.code的返回编码
---
WebApi/Gs.Toolbox/InterfaceUtil.cs | 105 ++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 89 insertions(+), 16 deletions(-)
diff --git a/WebApi/Gs.Toolbox/InterfaceUtil.cs b/WebApi/Gs.Toolbox/InterfaceUtil.cs
index c40aa81..f928d30 100644
--- a/WebApi/Gs.Toolbox/InterfaceUtil.cs
+++ b/WebApi/Gs.Toolbox/InterfaceUtil.cs
@@ -1,8 +1,9 @@
-锘縰sing System.Net.Cache;
-using System.Net;
-using System.Text;
-using Newtonsoft.Json;
+锘匡豢锘縰sing Newtonsoft.Json;
using System.Data.SqlClient;
+using System.Dynamic;
+using System.Net;
+using System.Net.Cache;
+using System.Text;
namespace Gs.Toolbox;
@@ -27,7 +28,29 @@
string strLogGuid = Guid.NewGuid().ToString();
string url = AppSettingsHelper.getValueByKey("TestErpUrl");
if (urlType == 2)
+ {
url = AppSettingsHelper.getValueByKey("TestErpUrl2");
+ }
+ else if (urlType == 3)
+ {
+ url = AppSettingsHelper.getValueByKey("TestErpUrl3");
+ }
+ else if (urlType == 4)
+ {
+ url = AppSettingsHelper.getValueByKey("TestErpUrl4");
+ }
+ else if (urlType == 5)
+ {
+ url = AppSettingsHelper.getValueByKey("TestErpUrl5");
+ }
+ else if (urlType == 6)
+ {
+ url = AppSettingsHelper.getValueByKey("TestErpUrl6");
+ }
+ else if (urlType == 101)
+ {
+ url = AppSettingsHelper.getValueByKey("TestErpUrl101");
+ }
HttpWebRequest request = null;
StreamWriter requestStream = null;
WebResponse response = null;
@@ -38,7 +61,7 @@
request.Method = "POST";
request.ContentType = "application/json";
request.Accept = "*/*";
- request.Timeout = 150000;
+ //request.Timeout = 150000;
request.AllowAutoRedirect = false;
request.ServicePoint.Expect100Continue = false;
HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
@@ -49,11 +72,11 @@
response = request.GetResponse();
if (response != null)
{
- var reader = new StreamReader(response.GetResponseStream(),
- Encoding.UTF8);
+ var reader = new StreamReader(response.GetResponseStream(),Encoding.UTF8);
responseStr = reader.ReadToEnd();
reader.Close();
}
+ // LogHelper.Debug(url, "HttpPostErp response:" + param + "锛宺esponse:" + responseStr.ToString());
}
catch (Exception ex)
{
@@ -67,11 +90,39 @@
requestStream = null;
response = null;
}
+ //{"msg":"鎿嶄綔鎴愬姛","code":200,"data":{"number":"CGSL168397","code":"200","id":"268781"}}
if (_rtn != -1)
{
- Result _result = JsonConvert.DeserializeObject<Result>(responseStr);
- if ("200".Equals(_result.state))
- _rtn = 1;
+ try
+ {
+ Result _result = JsonConvert.DeserializeObject<Result>(responseStr);
+
+ // 銆愪紭鍏堝垽鏂�慸ata.code锛圗RP鐪熸鐨勫鐞嗙粨鏋滐級
+ if (_result?.data != null && "200".Equals(_result.data.code))
+ {
+ _rtn = 1;
+ LogHelper.Debug(url, $"ERP澶勭悊鎴愬姛锛宒ata.code=200, number={_result.data.number}, id={_result.data.id}");
+ }
+ // 銆愰檷绾у垽鏂�戝鏋渄ata涓虹┖锛屽垯鍒ゆ柇澶栧眰code锛堝吋瀹规棫鎺ュ彛锛�
+ /* else if (_result != null && "200".Equals(_result.code))
+ {
+ _rtn = 1;
+ LogHelper.Debug(url, $"ERP澶栧眰杩斿洖鎴愬姛锛宑ode=200锛堟棤data灞傦紝鍙兘鏄棫鎺ュ彛锛�");
+ }*/
+ else
+ {
+ _rtn = -1;
+ string errorMsg = _result?.data?.code != null
+ ? $"ERP澶勭悊澶辫触锛宒ata.code={_result.data.code}"
+ : $"ERP澶勭悊澶辫触锛屽灞俢ode={_result?.code}";
+ LogHelper.Debug(url, errorMsg + $", msg={_result?.msg}, responseStr={responseStr}");
+ }
+ }
+ catch (Exception ex)
+ {
+ _rtn = -1;
+ LogHelper.Debug(url, $"ERP杩斿洖鏁版嵁瑙f瀽澶辫触锛歿ex.Message}, responseStr={responseStr}");
+ }
}
sbLog.Append("," + DateTime.Now.ToString() + "缁撴潫鍙戦��");
if (_rtn > 0)
@@ -102,16 +153,38 @@
return (_rtn, (_rtn > 0 ? strLogGuid : responseStr));
}
}
-
+//{"msg":"鎿嶄綔鎴愬姛","code":200,"data":{"number":"CGSL168397","code":"200","id":"268781"}}
public class Result
{
/// <summary>
- /// 200鎴愬姛锛屽惁鍒欏け璐�
+ /// 200鎴愬姛锛屽惁鍒欏け璐ワ紙澶栧眰code锛�
/// </summary>
- public string? state { get; set; }
public string? msg { get; set; }
+ public string? code { get; set; }
+
+ /// <summary>
+ /// data灞傦紝鍖呭惈鐪熸鐨凟RP澶勭悊缁撴灉
+ /// </summary>
+ public ErpData? data { get; set; }
+}
- public string? status { get; set; }
-
- public string? message { get; set; }
+/// <summary>
+/// ERP杩斿洖鐨刣ata灞傛暟鎹粨鏋�
+/// </summary>
+public class ErpData
+{
+ /// <summary>
+ /// ERP鍗曟嵁缂栧彿
+ /// </summary>
+ public string? number { get; set; }
+
+ /// <summary>
+ /// ERP澶勭悊缁撴灉浠g爜锛�"200"鎴愬姛锛�
+ /// </summary>
+ public string? code { get; set; }
+
+ /// <summary>
+ /// ERP鍗曟嵁ID
+ /// </summary>
+ public string? id { get; set; }
}
\ No newline at end of file
--
Gitblit v1.9.3