From 24de88ebbbb3597bb2043840bc685e3d59363967 Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期一, 07 七月 2025 16:48:39 +0800 Subject: [PATCH] 优化轮询ERP信息流程、添加AGV接口报文打印、执行中任务强制取消的功能 --- api/ErpController.cs | 114 +++++++++++++++++++-------------------------------------- 1 files changed, 38 insertions(+), 76 deletions(-) diff --git a/api/ErpController.cs b/api/ErpController.cs index 88e60c0..a9d9dbb 100644 --- a/api/ErpController.cs +++ b/api/ErpController.cs @@ -26,10 +26,13 @@ LogHelper.Info("瑙﹀彂API锛氬叆搴撴暟鎹悓姝� + JsonConvert.SerializeObject(model), "API"); //var headers = Request.Headers; - //return ProcessInboundData(headers, model); // 濡傛灉瑕佹眰瀵笻TTP鎶ユ枃瀛楁鏍¢獙锛屼娇鐢ㄨ繖琛屼唬鐮�+ //var checkRes = CheckHeaders(headers); + //if (!checkRes.isSuccess) { + // return CreateErrorResponse(checkRes.code, checkRes.message); + //} - //return ApiHelper.InboundDataSync(model); - return NormalProcessInboundData(model); // 鏆傛椂浣跨敤鍘熸湰鐨勯�杈�+ var res = ApiHelper.InboundDataSync(model); + return CreateSuccessResponse(res); } /// <summary> @@ -43,32 +46,19 @@ LogHelper.Info("瑙﹀彂API锛氬嚭搴撳彂鏂欏悓姝� + JsonConvert.SerializeObject(model), "API"); //var headers = Request.Headers; - //return ProcessOutboundData(headers, model); // 濡傛灉瑕佹眰瀵笻TTP鎶ユ枃瀛楁鏍¢獙锛屼娇鐢ㄨ繖琛屼唬鐮�- - //return ApiHelper.OutboundDataSync(model); - return NormalProcessOutboundData(model); // 鏆傛椂浣跨敤鍘熸湰鐨勯�杈�+ //var checkRes = CheckHeaders(headers); + //if (!checkRes.isSuccess) { + // return CreateErrorResponse(checkRes.code, checkRes.message); + //} + + var res = ApiHelper.OutboundDataSync(model); + return CreateSuccessResponse(res); } - private IHttpActionResult NormalProcessInboundData(InboundDataSyncInfo model) { - var data = ApiHelper.InboundDataSync(model); - return ResponseMessage(new HttpResponseMessage(HttpStatusCode.OK) { - Headers = { }, - Content = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json") - }); - } - - private IHttpActionResult NormalProcessOutboundData(OutboundDataSyncInfo model) { - var data = ApiHelper.OutboundDataSync(model); - return ResponseMessage(new HttpResponseMessage(HttpStatusCode.OK) { - Headers = { }, - Content = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json") - }); - } - - private IHttpActionResult ProcessInboundData(System.Net.Http.Headers.HttpRequestHeaders headers, InboundDataSyncInfo model) { + private CheckHeadersResult CheckHeaders(System.Net.Http.Headers.HttpRequestHeaders headers) { // 蹇呴』瀛楁楠岃瘉 if (!headers.Contains("sourceAppCode") || !headers.Contains("serviceId") || !headers.Contains("msgSendTime")) { - return CreateErrorResponse("2003", "缂哄皯蹇呰璇锋眰澶村弬鏁�); + return CreateCheckHeadersResult(false, "2003", "缂哄皯蹇呰璇锋眰澶村弬鏁�); } var headerModel = new { @@ -79,60 +69,18 @@ MsgSendTime = headers.GetValues("msgSendTime").First() }; - // 2. 楠岃瘉Header + // 楠岃瘉Header var validationResult = ValidateHeaders(headerModel); if (validationResult != null) { return validationResult; } - // 3. 璇诲彇Body - //string requestBody = await Request.Content.ReadAsStringAsync(); // 涓嶉渶瑕佸紓姝ヨ鍙栵紝鐩存帴鐢╩odel - - // 4. 楠岃瘉Body + // 楠岃瘉Body if (Request.Content.Headers.ContentLength > 2 * 1024 * 1024) { - return CreateErrorResponse("2102", "娑堟伅鍐呭杩囬暱锛岃秴杩�M"); + return CreateCheckHeadersResult(false, "2102", "娑堟伅鍐呭杩囬暱锛岃秴杩�M"); } - // 5. 澶勭悊涓氬姟閫昏緫 - var result = ApiHelper.InboundDataSync(model); - - // 6. 杩斿洖鎴愬姛鍝嶅簲 - return CreateSuccessResponse(result); - } - - private IHttpActionResult ProcessOutboundData(System.Net.Http.Headers.HttpRequestHeaders headers, OutboundDataSyncInfo model) { - // 蹇呴』瀛楁楠岃瘉 - if (!headers.Contains("sourceAppCode") || !headers.Contains("serviceId") || !headers.Contains("msgSendTime")) { - return CreateErrorResponse("2003", "缂哄皯蹇呰璇锋眰澶村弬鏁�); - } - - var headerModel = new { - SourceAppCode = headers.GetValues("sourceAppCode").First(), - Password = headers.Contains("password") ? headers.GetValues("password").First() : null, - ServiceId = headers.GetValues("serviceId").First(), - MsgToken = headers.Contains("msgToken") ? headers.GetValues("msgToken").First() : null, - MsgSendTime = headers.GetValues("msgSendTime").First() - }; - - // 2. 楠岃瘉Header - var validationResult = ValidateHeaders(headerModel); - if (validationResult != null) { - return validationResult; - } - - // 3. 璇诲彇Body - //string requestBody = await Request.Content.ReadAsStringAsync(); - - // 4. 楠岃瘉Body - if (Request.Content.Headers.ContentLength > 2 * 1024 * 1024) { - return CreateErrorResponse("2102", "娑堟伅鍐呭杩囬暱锛岃秴杩�M"); - } - - // 5. 澶勭悊涓氬姟閫昏緫 - var result = ApiHelper.OutboundDataSync(model); - - // 6. 杩斿洖鎴愬姛鍝嶅簲 - return CreateSuccessResponse(result); + return CreateCheckHeadersResult(true); } private IHttpActionResult CreateSuccessResponse(object data) { @@ -149,22 +97,22 @@ }); } - private IHttpActionResult ValidateHeaders(dynamic headers) { + private CheckHeadersResult ValidateHeaders(dynamic headers) { // 瀹炵幇鎵�湁Header楠岃瘉閫昏緫 if (!IsRegisteredApp(headers.SourceAppCode, headers.Password)) { - return CreateErrorResponse("2201", "婧愯皟鐢ㄧ郴缁熸湭娉ㄥ唽"); + return CreateCheckHeadersResult(false, "2201", "婧愯皟鐢ㄧ郴缁熸湭娉ㄥ唽"); } if (!IsValidService(headers.ServiceId)) { - return CreateErrorResponse("2202", "浠g悊鏈嶅姟鏈敞鍐�); + return CreateCheckHeadersResult(false, "2202", "浠g悊鏈嶅姟鏈敞鍐�); } if (!IsValidDateTime(headers.MsgSendTime)) { - return CreateErrorResponse("2101", "鏃堕棿鏍煎紡鏍¢獙澶辫触"); + return CreateCheckHeadersResult(false, "2101", "鏃堕棿鏍煎紡鏍¢獙澶辫触"); } if (!string.IsNullOrEmpty(headers.MsgToken) && headers.MsgToken.Length > 32) { - return CreateErrorResponse("2104", "娑堟伅浠ょ墝杩囬暱锛岃秴杩�2浣�); + return CreateCheckHeadersResult(false, "2104", "娑堟伅浠ょ墝杩囬暱锛岃秴杩�2浣�); } return null; @@ -181,5 +129,19 @@ private bool IsValidDateTime(string dataTime) { return true; } + + private CheckHeadersResult CreateCheckHeadersResult(bool isSuccess, string code = "", string message = "") { + return new CheckHeadersResult { + code = code, + message = message, + isSuccess = isSuccess + }; + } + } + + public class CheckHeadersResult { + public bool isSuccess { get; set; } + public string code { get; set; } + public string message { get; set; } } } \ No newline at end of file -- Gitblit v1.9.1