From 0464969366317154fdbb51e106ca778b855bdd08 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期六, 17 八月 2024 15:45:28 +0800
Subject: [PATCH] Merge branch 'master' into wxw

---
 Wms/Wms/Controllers/UpApiController.cs |   93 ++++++++++++++++++++++++++++++----------------
 1 files changed, 60 insertions(+), 33 deletions(-)

diff --git a/Wms/Wms/Controllers/UpApiController.cs b/Wms/Wms/Controllers/UpApiController.cs
index e201dcd..b966b0b 100644
--- a/Wms/Wms/Controllers/UpApiController.cs
+++ b/Wms/Wms/Controllers/UpApiController.cs
@@ -15,6 +15,13 @@
 using WMS.DAL;
 using Microsoft.AspNetCore.Authorization;
 using Utility;
+using System.Collections.Generic;
+using System.Reflection.Emit;
+using System.Linq;
+using System.Text;
+using Newtonsoft.Json.Linq;
+using System.Runtime.CompilerServices;
+using System.Threading.Tasks;
 
 namespace Wms.Controllers
 {
@@ -31,7 +38,7 @@
         private readonly IArrivalNoticeServer _arrivalNoticeSvc;
         private readonly IStockCheckServer _stockCheckSvc;//鐩樼偣鍗昐vc 
         private readonly IProcurePlanServer _procurePlanSvc;//閲囪喘鍗昐vs
-        public UpApiController(IOptions<ApiUrlConfig> setting,IExportNoticeServer exNoticeSvc,IArrivalNoticeServer arrivalNoticeServer,IStockCheckServer stockCheckSvc, IProcurePlanServer procurePlanSvc)
+        public UpApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IArrivalNoticeServer arrivalNoticeServer, IStockCheckServer stockCheckSvc, IProcurePlanServer procurePlanSvc)
         {
             _config = setting.Value;
             _exNoticeSvc = exNoticeSvc;
@@ -78,7 +85,7 @@
         /// <param name="model">鍏ュ簱鍗曞彿</param>
         /// <returns></returns>
         [HttpPost]
-        public IActionResult FinishAsn(IdVm model) 
+        public IActionResult FinishAsn(IdVm model)
         {
             try
             {
@@ -125,7 +132,7 @@
                     return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
 
-                _arrivalNoticeSvc.ByPdaFinish(model.Code, model.Code.Substring(0,2) == "AS" ? _config.ErpHost + _config.AsnFinishUrl : _config.ErpHost + _config.SoFinishUrl, int.Parse(userId));
+                _arrivalNoticeSvc.ByPdaFinish(model.Code, model.Code.Substring(0, 2) == "AS" ? _config.ErpHost + _config.AsnFinishUrl : _config.ErpHost + _config.SoFinishUrl, int.Parse(userId));
 
                 return Ok(new { code = 0, count = 0, msg = "鍗曟嵁澶嶆牳骞朵笂浼犳垚鍔�" });
             }
@@ -201,7 +208,7 @@
         /// <param name="model"></param>
         /// <returns></returns>
         [HttpPost]
-        public IActionResult FinishCr(AdjustStockCheckVm model)
+        public async Task<IActionResult> FinishCr(AdjustStockCheckVm model)
         {
             try
             {
@@ -216,27 +223,24 @@
                 {
                     return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
-                bool bolls = false;
+                //bool bolls = false;
                 if (model.Origin == "0")
                 {
-                    bolls = _stockCheckSvc.StockAdjust(model.Id, int.Parse(userId));
+                    await _stockCheckSvc.StockAdjust(model.Id);
                 }
                 else
                 {
-                    bolls = _stockCheckSvc.StockAdjustAuto(model.Id, int.Parse(userId));
+                    await _stockCheckSvc.StockAdjustAuto(model.Id);
                 }
-                if (bolls)
-                {
-                    //绯荤粺瀵规帴鍚庢斁寮�
-                    //var bl =_stockCheckSvc.FinishCr(model.Id,_config.ErpHost + _config.DataChangeUrl, int.Parse(userId));
-                    //if (bl)
-                    //{
-                    return Ok(new { code = 0, count = 0, msg = "鐩樼偣鍗曡皟鏁翠笂浼犳垚鍔�" });
-                    //}
-                    //return Ok(new { code = 1, count = 0, msg = "鍑哄簱鍗曞叧鍗曟垚鍔熶絾涓婁紶澶辫触" });
-                }
+                //绯荤粺瀵规帴鍚庢斁寮�
+                //var bl =_stockCheckSvc.FinishCr(model.Id,_config.ErpHost + _config.DataChangeUrl, int.Parse(userId));
+                //if (bl)
+                //{
+                return Ok(new { code = 0, count = 0, msg = "鐩樼偣鍗曡皟鏁翠笂浼犳垚鍔�" });
+                //}
+                //return Ok(new { code = 1, count = 0, msg = "鍑哄簱鍗曞叧鍗曟垚鍔熶絾涓婁紶澶辫触" });
 
-                return Ok(new { code = 1, msg = "鐩樼偣鍗曡皟鏁村け璐�" });
+                //return Ok(new { code = 1, msg = "鐩樼偣鍗曡皟鏁村け璐�" });
 
             }
             catch (Exception e)
@@ -331,7 +335,7 @@
             {
                 SoResInfo result = _exNoticeSvc.ErpAddExportNotice(model);
                 return Ok(result);
-                
+
             }
             catch (Exception e)
             {
@@ -442,6 +446,7 @@
         /// 娴嬭瘯楠岀鍔犲瘑
         /// </summary>
         /// <returns></returns>
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
         [Verification]
         [HttpPost]
         public IActionResult Demo2(IdVm model)
@@ -463,25 +468,47 @@
             }
         }
 
-        [HttpGet]
-        public IActionResult Demo3()
+        [HttpPost]
+        [ServiceFilter(typeof(ApiResponseActionFilter))]
+        [UnitOfWork]
+        public string Demo3(IdVm model)
         {
-            var result = new ErpModel { Success = -1, Message = "" };
-            try
-            {
-                var time = DateTimeOffset.Now.ToUnixTimeSeconds();
-                result = new ErpModel { Success = 0, Message = time.ToString() };
+            string jsonParams = JsonConvert.SerializeObject(model);
 
-                return Ok(result);
-            }
-            catch (Exception e)
-            {
-                result.Message = e.Message;
-                return Ok(result);
-            }
+            // 鐢熸垚鏃堕棿鎴筹紙Unix 鏃堕棿鎴筹級
+            var timestamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds().ToString();
+
+            // 鐢熸垚绛惧悕
+            var signature = GenerateSignature(jsonParams);
+
+            // 杈撳嚭绛惧悕
+            Console.WriteLine("Generated Signature: " + signature);
+            return signature;
         }
 
+        private static string GenerateSignature(string jsonParams)
+        {
+            var appKey = "90170307d4184844ac2a26b431f79981";
+            // 灏� JSON 瀛楃涓茶浆鎹负 JObject
+            JObject jObject = JObject.Parse(jsonParams);
 
+            // 杩囨护鎺夋暟缁勭被鍨嬬殑灞炴��
+            var filteredProperties = jObject.Properties()
+                .Where(p => p.Value.Type != JTokenType.Array)
+                .ToDictionary(p => p.Name, p => p.Value.ToString());
+
+            // 娣诲姞鏃堕棿鎴筹紙Unix 鏃堕棿鎴筹級
+            var timestamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds().ToString();
+            filteredProperties.Add("timestamp", timestamp);
+            filteredProperties.Add("appKey", appKey);
+
+            // 鏋勫缓寰呯鍚嶅瓧绗︿覆
+            var signatureBaseString = string.Join("&", filteredProperties.OrderBy(p => p.Key).Select(p => p.Key + "=" + p.Value));
+
+            // 璁$畻 MD5 鍊�
+            var computedSignature = Md5Tools.CalcMd5(signatureBaseString);
+            return computedSignature;
+        }
         #endregion
     }
 }

--
Gitblit v1.8.0