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