From 0aa54059b26e6641196e9953490dd18616e916e3 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期三, 10 九月 2025 17:26:47 +0800
Subject: [PATCH] 精简修正代码

---
 service/QC/OAJyService.cs |  234 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 126 insertions(+), 108 deletions(-)

diff --git a/service/QC/OAJyService.cs b/service/QC/OAJyService.cs
index c7fb134..d9fd9e3 100644
--- a/service/QC/OAJyService.cs
+++ b/service/QC/OAJyService.cs
@@ -1,21 +1,8 @@
-锘縰sing MES.Service.Models;
-using Microsoft.IdentityModel.Tokens;
-using NewPdaSqlServer.Controllers;
-using NewPdaSqlServer.DB;
-using NewPdaSqlServer.Dto.service;
-using NewPdaSqlServer.entity;
-using NewPdaSqlServer.util;
-using Newtonsoft.Json;
-using SqlSugar;
-using System.Net;
+锘縰sing System.Net;
 using System.Security.Cryptography;
 using System.Text;
-using static Azure.Core.HttpHeader;
-using System.Security.Cryptography;
-using System.Collections.Generic;
-using System.Linq;
-using System.Net.Security;
-using System.Security.Cryptography.X509Certificates;
+using NewPdaSqlServer.DB;
+using Newtonsoft.Json;
 using Org.BouncyCastle.Crypto.Parameters;
 using Org.BouncyCastle.Security;
 
@@ -23,65 +10,30 @@
 
 public class OAJyService : RepositoryNoEntity
 {
-    private readonly HttpClient _client = new HttpClient();
-
     private const string APPID = "303233EF-AC39-40C1-8364-AC989C6258A5";
+
     private const string SECRET = "30b41949-bcfb-48f8-9847-feb6e043fe72";
+
     // private const string SPK = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApobID/gwmD9OofMG1gEcE94NCMeTYUq1cam/7ADZmxHCVpF143GaHWhqDdY0TTVbcUElsQ71DzAG2j3itWlIJBK5fVGwCo3sPpAvUDdKMh+Uivcp7yxdy/IDRA/PS4JARuEyM4cVJLhIOU2KnSlbIkheeoDkDgfaxu9kKrWnozJLiYraVTVDz9PdRX7fQdP+Zu/xB9txAGw4kvOm9HwgrzaSRdZEhisTJ5yyoNW/dLXtWKXA0cKhKOOIFu12TOrv/It6hl1ShTUuy79Pa51M9Oc2dEfVs1tluNXPWo1uFXQbBaJxdqZEJJlK7iW2uQFIao2O4XFHYThwy2+6116LtwIDAQAB";
     private const string HOST = "http://192.168.1.149:8099";
 
-    private const string SPK = @"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApobID/gwmD9OofMG1gEcE94NCMeTYUq1cam/7ADZmxHCVpF143GaHWhqDdY0TTVbcUElsQ71DzAG2j3itWlIJBK5fVGwCo3sPpAvUDdKMh+Uivcp7yxdy/IDRA/PS4JARuEyM4cVJLhIOU2KnSlbIkheeoDkDgfaxu9kKrWnozJLiYraVTVDz9PdRX7fQdP+Zu/xB9txAGw4kvOm9HwgrzaSRdZEhisTJ5yyoNW/dLXtWKXA0cKhKOOIFu12TOrv/It6hl1ShTUuy79Pa51M9Oc2dEfVs1tluNXPWo1uFXQbBaJxdqZEJJlK7iW2uQFIao2O4XFHYThwy2+6116LtwIDAQAB";
+    private const string SPK =
+        @"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApobID/gwmD9OofMG1gEcE94NCMeTYUq1cam/7ADZmxHCVpF143GaHWhqDdY0TTVbcUElsQ71DzAG2j3itWlIJBK5fVGwCo3sPpAvUDdKMh+Uivcp7yxdy/IDRA/PS4JARuEyM4cVJLhIOU2KnSlbIkheeoDkDgfaxu9kKrWnozJLiYraVTVDz9PdRX7fQdP+Zu/xB9txAGw4kvOm9HwgrzaSRdZEhisTJ5yyoNW/dLXtWKXA0cKhKOOIFu12TOrv/It6hl1ShTUuy79Pa51M9Oc2dEfVs1tluNXPWo1uFXQbBaJxdqZEJJlK7iW2uQFIao2O4XFHYThwy2+6116LtwIDAQAB";
 
-
-    public static class RsaHelper
-    {
-        public static string Encrypt(string plainText, string publicKeyPem)
-        {
-            //// 灏哖EM鏍煎紡鐨勫叕閽ヨ浆鎹负XML鏍煎紡
-            //var rsa = RSA.Create();
-            //rsa.ImportFromPem(publicKeyPem);  // 浣跨敤.NET 5+ 鍐呯疆PEM瑙f瀽鏂规硶
-
-            //var parameters = rsa.ExportParameters(false);
-            //string publicKeyXml = $"<RSAKeyValue><Modulus>{Convert.ToBase64String(parameters.Modulus)}</Modulus><Exponent>{Convert.ToBase64String(parameters.Exponent)}</Exponent></RSAKeyValue>";
-
-            //using var rsaProvider = new RSACryptoServiceProvider();
-            //rsaProvider.FromXmlString(publicKeyXml);  // 浣跨敤杞崲鍚庣殑XML鏍煎紡鍏挜
-
-            //var data = Encoding.UTF8.GetBytes(plainText);
-            //var encrypted = rsaProvider.Encrypt(data, false);
-            //return Convert.ToBase64String(encrypted);
-
-            RsaKeyParameters publicKeyParam = (RsaKeyParameters)PublicKeyFactory.CreateKey(Convert.FromBase64String(publicKeyPem));
-            string XML = string.Format("<RSAKeyValue><Modulus>{0}</Modulus><Exponent>{1}</Exponent></RSAKeyValue>",
-            Convert.ToBase64String(publicKeyParam.Modulus.ToByteArrayUnsigned()),
-            Convert.ToBase64String(publicKeyParam.Exponent.ToByteArrayUnsigned()));
-            string encryptedContent = string.Empty;
-            using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
-            {
-                rsa.FromXmlString(XML);
-                byte[] encryptedData = rsa.Encrypt(Encoding.Default.GetBytes(plainText), false);
-                encryptedContent = Convert.ToBase64String(encryptedData);
-            }
-            return encryptedContent;
-        }
-    }
+    private readonly HttpClient _client = new();
 
     public string PostDataSSL(string url,
-            Dictionary<string, string> parameters,
-            Dictionary<string, string> headers)
+        Dictionary<string, string> parameters,
+        Dictionary<string, string> headers)
     {
         var request = new HttpRequestMessage(HttpMethod.Post, url);
 
         foreach (var header in headers)
-        {
             request.Headers.Add(header.Key, header.Value);
-        }
 
         // 濡傛灉闇�瑕佽〃鍗曞弬鏁�
         if (parameters.Count > 0)
-        {
             request.Content = new FormUrlEncodedContent(parameters);
-        }
 
         var response = _client.SendAsync(request).Result;
         return response.Content.ReadAsStringAsync().Result;
@@ -89,7 +41,6 @@
 
     public string GetToken()
     {
-
         var userId = "1268";
         var encryptedUserId = RsaHelper.Encrypt(userId, SPK);
         ;
@@ -108,11 +59,9 @@
             if (!string.IsNullOrEmpty(response))
             {
                 var res = JsonConvert.DeserializeObject<dynamic>(response);
-                if (res.status == "true")
-                {
-                    return res.token.ToString();
-                }
+                if (res.status == "true") return res.token.ToString();
             }
+
             return "token涓嶅瓨鍦紒";
         }
         catch (Exception ex)
@@ -192,7 +141,8 @@
         try
         {
             // 鍙傛暟鏍¢獙
-            if (query == null) throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓簄ull");
+            if (query == null)
+                throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓簄ull");
             //if (query.workflowId == null) throw new ArgumentException("workflowId涓嶈兘涓虹┖");
             //if (query.mainData == null) throw new ArgumentException("mainData涓嶈兘涓虹┖");
 
@@ -208,46 +158,47 @@
             //    detailDataDict = ((IEnumerable<KeyValuePair<string, object>>)query.detailData)
             //        .ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
             //}
-    
+
             // 鍔犲瘑澶勭悊
             var userId = "1268";
             var encryptedUserId = RsaHelper.Encrypt(userId, SPK);
-            string strToken = GetToken();
+            var strToken = GetToken();
 
 
             // 鏇挎崲鍘熸湁鐨勬祴mainDataDict璇曟暟鎹瀯寤�
             mainDataDict = BuildMainDataFromQuery(query);
 
-    
+
             // 璋冪敤鏂规硶澧炲姞userid璇锋眰澶�
             var result = SubmitWorkflowRequest(
-                token: strToken,
-                workflowId: 379,
-                mainData: mainDataDict,
+                strToken,
+                379,
+                mainDataDict,
                 requestName: "MES->OA娴嬭瘯娴佺▼鏍囬",
-                otherParams:null,
-                remark:"Test",
-                requestLevel:"",
-                encryptedUserId: encryptedUserId  // 鏂板鍙傛暟
+                otherParams: null,
+                remark: "Test",
+                requestLevel: "",
+                encryptedUserId: encryptedUserId // 鏂板鍙傛暟
             );
             return result;
         }
         catch (Exception ex)
         {
             // 鏇磋缁嗙殑閿欒澶勭悊
-            return new {
+            return new
+            {
                 status = -1,
-                message = $"瀹屾暣閿欒淇℃伅锛歿ex.ToString()}"  // 鏄剧ず瀹屾暣鍫嗘爤
+                message = $"瀹屾暣閿欒淇℃伅锛歿ex}" // 鏄剧ず瀹屾暣鍫嗘爤
             };
         }
     }
 
     // 淇敼鏂规硶绛惧悕
     public dynamic SubmitWorkflowRequest(
-        string token, 
+        string token,
         int workflowId,
         Dictionary<string, object> mainData,
-        string encryptedUserId,  // 鐢ㄦ埛id
+        string encryptedUserId, // 鐢ㄦ埛id
         Dictionary<string, object> detailData = null,
         Dictionary<string, object> otherParams = null,
         string remark = "",
@@ -256,19 +207,22 @@
     {
         try
         {
-            ServicePointManager.ServerCertificateValidationCallback += (s, cert, chain, sslPolicyErrors) => true;
+            ServicePointManager.ServerCertificateValidationCallback +=
+                (s, cert, chain, sslPolicyErrors) => true;
             ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
 
             var url = new Uri($"{HOST}/api/workflow/paService/doCreateRequest");
             var request = WebRequest.Create(url) as HttpWebRequest;
             request.Method = "POST";
             request.Timeout = 20000;
-            request.ContentType = "application/x-www-form-urlencoded";  // 淇敼涓篔SON鏍煎紡
+            request.ContentType =
+                "application/x-www-form-urlencoded"; // 淇敼涓篔SON鏍煎紡
 
             // 鏋勫缓璇锋眰澶�
             request.Headers.Set("appid", APPID);
             request.Headers.Set("token", token);
-            request.Headers.Set("Content-Type", "application/x-www-form-urlencoded");
+            request.Headers.Set("Content-Type",
+                "application/x-www-form-urlencoded");
             request.Headers.Set("userId", encryptedUserId);
             // 鍋囪闇�瑕佸姞瀵嗙殑userid浠庡叾浠栧湴鏂硅幏鍙栵紝杩欓噷闇�瑕佽ˉ鍏呰幏鍙栭�昏緫
 
@@ -277,9 +231,11 @@
             {
                 //["userId"] = "1268",
                 ["workflowId"] = workflowId,
-                ["mainData"] = new List<Dictionary<string, object>> { mainData }, // 鍖呰鎴愭暟缁�
+                ["mainData"] =
+                    new List<Dictionary<string, object>> { mainData }, // 鍖呰鎴愭暟缁�
                 ["detailData"] = null,
-                ["otherParams"] = otherParams ?? new Dictionary<string, object>(),
+                ["otherParams"] =
+                    otherParams ?? new Dictionary<string, object>(),
                 ["remark"] = remark,
                 ["requestLevel"] = requestLevel,
                 ["requestName"] = requestName
@@ -287,7 +243,7 @@
 
             // 搴忓垪鍖栬姹備綋
             var jsonBody = JsonConvert.SerializeObject(requestBody);
-            byte[] byteData = Encoding.UTF8.GetBytes(jsonBody);
+            var byteData = Encoding.UTF8.GetBytes(jsonBody);
 
             // 鍙戦�佽姹�
             using (var stream = request.GetRequestStream())
@@ -302,19 +258,19 @@
                 using (var reader = new StreamReader(stream, Encoding.UTF8))
                 {
                     var responseJson = reader.ReadToEnd();
-                    var result = JsonConvert.DeserializeObject<dynamic>(responseJson);
-                    
+                    var result =
+                        JsonConvert.DeserializeObject<dynamic>(responseJson);
+
                     // 娣诲姞鐘舵�佺爜妫�鏌�
-                    if (response.StatusCode != HttpStatusCode.OK || result.code != "SUCCESS")
-                    {
+                    if (response.StatusCode != HttpStatusCode.OK ||
+                        result.code != "SUCCESS")
                         throw new Exception($"娴佺▼鎻愪氦澶辫触锛歿result.errMsg}");
-                    }
-                    
+
                     return new
                     {
-                        code = result.code,
-                        data = result.data,
-                        errMsg = result.errMsg
+                        result.code,
+                        result.data,
+                        result.errMsg
                     };
                 }
             }
@@ -325,7 +281,8 @@
             using (var reader = new StreamReader(stream))
             {
                 var errorDetails = reader.ReadToEnd();
-                throw new Exception($"璇锋眰澶辫触 [Status: {response.StatusCode}]: {errorDetails}");
+                throw new Exception(
+                    $"璇锋眰澶辫触 [Status: {response.StatusCode}]: {errorDetails}");
             }
         }
         catch (Exception ex)
@@ -342,32 +299,93 @@
         {
             // 琛ㄧ粨鏋勫畾涔�
             ["tableDBName"] = "formtable_main_33",
-            ["workflowRequestTableRecords"] = new List<Dictionary<string, object>>
-            {
-                new Dictionary<string, object>
+            ["workflowRequestTableRecords"] =
+                new List<Dictionary<string, object>>
                 {
-                    ["recordOrder"] = 0,
-                    ["workflowRequestTableFields"] = new List<Dictionary<string, object>>
+                    new()
                     {
-                        new Dictionary<string, object> { ["fieldName"] = "wlbm", ["fieldValue"] = "1.01.01.001" },
-                        new Dictionary<string, object> { ["fieldName"] = "khgys", ["fieldValue"] = "闄堥洩骞�" },
-                        new Dictionary<string, object> { ["fieldName"] = "jzmcwlmc", ["fieldValue"] = "椤剁洊" },
-                        new Dictionary<string, object> { ["fieldName"] = "bhgpqxms", ["fieldValue"] = "澶栬涓嶅悎鏍硷紝灏哄涓嶅悎鏍硷紝棰滆壊涓嶇鍚�" },
-                        new Dictionary<string, object> { ["fieldName"] = "dhdhmes", ["fieldValue"] = "MES001" }
+                        ["recordOrder"] = 0,
+                        ["workflowRequestTableFields"] =
+                            new List<Dictionary<string, object>>
+                            {
+                                new()
+                                {
+                                    ["fieldName"] = "wlbm",
+                                    ["fieldValue"] = "1.01.01.001"
+                                },
+                                new()
+                                {
+                                    ["fieldName"] = "khgys",
+                                    ["fieldValue"] = "闄堥洩骞�"
+                                },
+                                new()
+                                {
+                                    ["fieldName"] = "jzmcwlmc",
+                                    ["fieldValue"] = "椤剁洊"
+                                },
+                                new()
+                                {
+                                    ["fieldName"] = "bhgpqxms",
+                                    ["fieldValue"] = "澶栬涓嶅悎鏍硷紝灏哄涓嶅悎鏍硷紝棰滆壊涓嶇鍚�"
+                                },
+                                new()
+                                {
+                                    ["fieldName"] = "dhdhmes",
+                                    ["fieldValue"] = "MES001"
+                                }
+                            }
                     }
                 }
-            }
         };
 
         return mainData;
     }
 
     // 杈呭姪鏂规硶鐢ㄤ簬瀹夊叏娣诲姞灞炴��
-    private void TryAddProperty(Dictionary<string, object> dict, string key, object value)
+    private void TryAddProperty(Dictionary<string, object> dict, string key,
+        object value)
     {
-        if (value != null)
+        if (value != null) dict[key] = value;
+    }
+
+
+    public static class RsaHelper
+    {
+        public static string Encrypt(string plainText, string publicKeyPem)
         {
-            dict[key] = value;
+            //// 灏哖EM鏍煎紡鐨勫叕閽ヨ浆鎹负XML鏍煎紡
+            //var rsa = RSA.Create();
+            //rsa.ImportFromPem(publicKeyPem);  // 浣跨敤.NET 5+ 鍐呯疆PEM瑙f瀽鏂规硶
+
+            //var parameters = rsa.ExportParameters(false);
+            //string publicKeyXml = $"<RSAKeyValue><Modulus>{Convert.ToBase64String(parameters.Modulus)}</Modulus><Exponent>{Convert.ToBase64String(parameters.Exponent)}</Exponent></RSAKeyValue>";
+
+            //using var rsaProvider = new RSACryptoServiceProvider();
+            //rsaProvider.FromXmlString(publicKeyXml);  // 浣跨敤杞崲鍚庣殑XML鏍煎紡鍏挜
+
+            //var data = Encoding.UTF8.GetBytes(plainText);
+            //var encrypted = rsaProvider.Encrypt(data, false);
+            //return Convert.ToBase64String(encrypted);
+
+            var publicKeyParam =
+                (RsaKeyParameters)PublicKeyFactory.CreateKey(
+                    Convert.FromBase64String(publicKeyPem));
+            var XML = string.Format(
+                "<RSAKeyValue><Modulus>{0}</Modulus><Exponent>{1}</Exponent></RSAKeyValue>",
+                Convert.ToBase64String(publicKeyParam.Modulus
+                    .ToByteArrayUnsigned()),
+                Convert.ToBase64String(publicKeyParam.Exponent
+                    .ToByteArrayUnsigned()));
+            var encryptedContent = string.Empty;
+            using (var rsa = new RSACryptoServiceProvider())
+            {
+                rsa.FromXmlString(XML);
+                var encryptedData =
+                    rsa.Encrypt(Encoding.Default.GetBytes(plainText), false);
+                encryptedContent = Convert.ToBase64String(encryptedData);
+            }
+
+            return encryptedContent;
         }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3