From 266e4bf654c55ce2f7e9271048e4625f1b8b49f6 Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期一, 29 十二月 2025 14:36:08 +0800
Subject: [PATCH] Merge branch 'htq20251215' of http://115.159.85.185:8098/r/ZhongRui/ALDbanyunxiangmu into htq20251215

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_BasicService/ESSApiService.cs |   96 +++++++++++++++++++++++++++++++++++------------
 1 files changed, 71 insertions(+), 25 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_BasicService/ESSApiService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_BasicService/ESSApiService.cs"
index 5bc2bc6..0ee3520 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_BasicService/ESSApiService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_BasicService/ESSApiService.cs"
@@ -6,7 +6,10 @@
 using System.Linq;
 using System.Text;
 using System.Text.Json;
+using System.Threading;
 using System.Threading.Tasks;
+using WIDESEA_Core.Helper;
+using WIDESEA_Core.LogHelper;
 using WIDESEA_DTO.Basic;
 using WIDESEA_IBasicService;
 
@@ -25,12 +28,29 @@
         /// <summary>
         /// 瀹瑰櫒娴佸姩閫氱煡
         /// </summary>
-        public async Task MoveContainerAsync(MoveContainerRequest request)
+        public async Task<bool> MoveContainerAsync(MoveContainerRequest request)
         {
-            var url = "conveyor/moveContainer";
-
-            var result = await PostAsync<MoveContainerRequest, ApiResponse<string>>(url, request);
-
+            try
+            {
+                var url = "conveyor/moveContainer";
+                _logger.LogInformation("ESSApiService MoveContainerAsync Request:  " + JsonConvert.SerializeObject(request));
+                var result = await PostAsync<MoveContainerRequest, ApiResponse<string>>(url, request);
+                if (result != null && result.Code == 0)
+                {
+                    //{"code":0,"msg":"success","data":{"107":"TASK_ALREADY_EXIST"}}
+                    if (result.Data.Contains("TASK_ALREADY_EXIST"))
+                    {
+                        return false;
+                    }
+                    return true;
+                }
+                return false;
+            }
+            catch (Exception ex)
+            {
+                _logger.LogInformation("ESSApiService 瀹瑰櫒娴佸姩澶辫触:  " + ex.Message);
+                return false;
+            }
         }
 
         /// <summary>
@@ -40,40 +60,66 @@
         /// <returns></returns>
         public async Task<bool> CreateTaskAsync(TaskModel request)
         {
-            _logger.LogInformation("鍒涘缓浠诲姟Request:  " +  JsonConvert.SerializeObject(request));
-            var url = "task/create";
-
-            var result = await PostAsync<TaskModel, ApiResponse<TasksData>>(url, request);
-            if (result != null && result.Code == 0)
+            try
             {
-                return true;
+                _logger.LogInformation("ESSApiService 鍒涘缓浠诲姟Request:  " + JsonConvert.SerializeObject(request));
+                var url = "task/create";
+
+                var result = await PostAsync<TaskModel, ApiResponse<TasksData>>(url, request);
+                if (result != null && result.Code == 0)
+                {
+                    _logger.LogInformation(result.Serialize());
+
+                    return true;
+                }
+                return false;
             }
-            return false;
+            catch (Exception ex)
+            {
+                _logger.LogInformation("ESSApiService 鍒涘缓浠诲姟澶辫触:  " + ex.Message);
+                return false;
+            }
         }
 
 
 
         private async Task<TResponse> PostAsync<TRequest, TResponse>(string url, TRequest request)
         {
-            string json = JsonConvert.SerializeObject(request, new JsonSerializerSettings
+            TResponse response1 = (TResponse)Activator.CreateInstance(typeof(TResponse));
+            try
             {
-                ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver()
-            });
-            var content = new StringContent(json, Encoding.UTF8, "application/json");
-            var _client = _httpClientFactory.CreateClient("ESSUrl");
-            _client.DefaultRequestHeaders.Clear();
+                string json = JsonConvert.SerializeObject(request, new JsonSerializerSettings
+                {
+                    ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver()
+                });
+                var content = new StringContent(json, Encoding.UTF8, "application/json");
+                var _client = _httpClientFactory.CreateClient("ESSUrl");
+                _client.DefaultRequestHeaders.Clear();
 
-            _client.DefaultRequestHeaders.Add("Accept", "application/json");
+                _client.DefaultRequestHeaders.Add("Accept", "application/json");
 
-            using var response = await _client.PostAsync(url, content);
-            string body = await response.Content.ReadAsStringAsync();
-            _logger.LogInformation($"ESSAPI post :  {_client.BaseAddress}  {url}   {body}" );
-            if (!response.IsSuccessStatusCode)
+                using var response = await _client.PostAsync(url, content);
+                string body = await response.Content.ReadAsStringAsync();
+                _logger.LogInformation($"ESSAPI post :  {_client.BaseAddress}  {url}   {body}");
+                if (!response.IsSuccessStatusCode)
+                {
+                    throw new HttpRequestException(body);
+                }
+
+                response1 = JsonConvert.DeserializeObject<TResponse>(body);
+
+                return response1;
+            }
+            catch (Exception ex)
             {
-                throw new HttpRequestException(body);
+                Logger.Add(request == null ? "" : JsonConvert.SerializeObject(request), response1 == null ? ex.ToString() : JsonConvert.SerializeObject(response1));
+                throw new Exception(ex.Message);
+            }
+            finally
+            {
+                Logger.Add(request == null ? "" : JsonConvert.SerializeObject(request), response1 == null ? "" : JsonConvert.SerializeObject(response1));
             }
 
-            return JsonConvert.DeserializeObject<TResponse>(body);
         }
     }
 }

--
Gitblit v1.9.3