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