From f8d23dcf8d6501482db1a5180325194232afe96c Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期五, 18 七月 2025 17:30:09 +0800
Subject: [PATCH] 封装部分业务代码,继续优化日志打印流程

---
 dispatch/GZRobot.cs |  113 +++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 83 insertions(+), 30 deletions(-)

diff --git a/dispatch/GZRobot.cs b/dispatch/GZRobot.cs
index a5306ea..0e58b2a 100644
--- a/dispatch/GZRobot.cs
+++ b/dispatch/GZRobot.cs
@@ -28,9 +28,17 @@
             var result = apiHelper.Post(baseUrl + "api/engine/tasks/iostates/", JsonConvert.SerializeObject(data));
             var dataResult = JsonConvert.DeserializeObject<gzResult<IOStatesInfoResult>>(result);
         }
-
+        /// <summary>
+        /// 鍒涘缓鍥借嚜浠诲姟
+        /// </summary>
+        /// <param name="taskNo"></param>
+        /// <param name="priority"></param>
+        /// <param name="param"></param>
+        /// <param name="ts"></param>
+        /// <param name="created_user"></param>
+        /// <returns></returns>
         public static int CreateOrder(string taskNo, int priority, string param, string ts = "churuku", string created_user = "hanhe") {
-            LogHelper.Info($"CreateOrder鍙傛暟淇℃伅:taskNo:{taskNo},priority:{priority},param:{param},ts:{ts}锛宑reated_user锛歿created_user}", "API");
+            LogHelper.Info($"CreateOrder鍙傛暟淇℃伅:taskNo:{taskNo},priority:{priority},param:{param},ts:{ts},created_user:{created_user}", "API");
             var msg = "";
             var orderId = 0;
             var data = new OrderInfo() { order_name = taskNo, priority = priority, dead_line = DateTime.Now, ts_name = ts, parameters = param, created_user = created_user };
@@ -42,11 +50,18 @@
             if (response != "") {
                 try {
                     var dataResult = JsonConvert.DeserializeObject<gzResult<OrderInfoResult>>(response);
-                    if (dataResult.code == 0) {
+                    //if (dataResult.code == 0) {
+                    //    orderId = dataResult.data[0].in_order_id;
+                    //}
+
+                    // 杩斿洖鍙傛暟涓�code鐩墠涓嶅啀浣跨敤,鍙�杩噈sg瀛楁鍒ゆ柇鏄惁鎴愬姛,濡傛灉msg涓衡�success鈥濆垯琛ㄧず鎴愬姛,鍚﹀垯涓烘姤閿欎俊鎭垨涓嶅瓨鍦ㄣ�http code涓�22鏃跺�鐨勬姤閿欎负绯荤粺鎶ラ敊,鍏朵腑鐨刴sg鏃犳硶鍏ㄩ儴鑾峰彇銆�+                    // SELFNOTE: 鐩存帴璋冪敤HttpHelper.Post鏂规硶,鏃犳硶鑾峰彇header,鏆傛椂涓嶈�铏�+                    if (dataResult.msg == "success") {
                         orderId = dataResult.data[0].in_order_id;
                     }
                 }
                 catch (Exception ex) {
+                    LogHelper.InfoEx(ex);
                 }
             }
             else {
@@ -55,29 +70,13 @@
                 LogHelper.Info($"鍒涘缓璁㈠崟澶辫触", "API");
             }
 
-
             return orderId;
         }
-        public static bool CancelOrder(int orderId) {
-            bool result = false;
-            string msg = "";
-            var request = new CancelOrderInfo() { order_list = new List<int>(orderId) };
-            var response = apiHelper.Post(baseUrl + "api/om/order/cancel/", JsonConvert.SerializeObject(request));
-            msg = $"[guozi-CancelOrder] request={request};response={response}";
-            Console.WriteLine(msg);
-            if (response != "") {
-                var dataResult = JsonConvert.DeserializeObject<gzResult<CancelOrderInfoResult>>(response);
-                if (dataResult.code == 0) {
-                    result = true;
-                }
-            }
-            else {
-                msg = "[guozi-CancelOrder]鍙栨秷璁㈠崟澶辫触";
-                Console.WriteLine(msg);
-            }
-            return result;
-        }
-
+        /// <summary>
+        /// 鍙栨秷鍥借嚜浠诲姟
+        /// </summary>
+        /// <param name="orderId"></param>
+        /// <returns></returns>
         public static bool CancelGZOrder(int orderId) {
             bool result = false;
             string msg = "";
@@ -88,9 +87,18 @@
             msg = $"[guozi-CancelOrder] request={requests};response={response}";
             if (response != "") {
                 var dataResult = JsonConvert.DeserializeObject<CancelGZOrderResult>(response);
-                if (dataResult.code == 0) {
-                    msg = "[guozi-CancelOrder]鍙栨秷璁㈠崟鎴愬姛";
-                    Console.WriteLine(msg);
+                //if (dataResult.code == 0) {
+                //    msg = "[guozi-CancelOrder]鍙栨秷璁㈠崟鎴愬姛";
+                //    Console.WriteLine(msg);
+                //    result = true;
+                //    return result;
+                //}
+
+                // 杩斿洖鍙傛暟涓�code鐩墠涓嶅啀浣跨敤,鍙�杩噈sg瀛楁鍒ゆ柇鏄惁鎴愬姛,濡傛灉msg涓衡�success鈥濆垯琛ㄧず鎴愬姛,鍚﹀垯涓烘姤閿欎俊鎭垨涓嶅瓨鍦ㄣ�http code涓�22鏃跺�鐨勬姤閿欎负绯荤粺鎶ラ敊,鍏朵腑鐨刴sg鏃犳硶鍏ㄩ儴鑾峰彇銆�+                // SELFNOTE: 鐩存帴璋冪敤HttpHelper.Post鏂规硶,鏃犳硶鑾峰彇header,鏆傛椂涓嶈�铏�+                // 灏婇噸鏂囨。鐨勭増鏈�+                if (dataResult.msg == "success") { // 鐩墠鍙彇娑堜竴涓换鍔�鎴愬姛鏃犻渶鍐嶆鏌uccess_list鍜宔rror_list
+                    Console.WriteLine("[guozi-CancelOrder]鍙栨秷璁㈠崟鎴愬姛");
                     result = true;
                     return result;
                 }
@@ -101,7 +109,52 @@
             }
             return result;
         }
+        /// <summary>
+        /// 鍙栨秷澶氫釜浠诲姟
+        /// </summary>
+        /// <param name="orderIds"></param>
+        /// <returns></returns>
+        public static bool CancelGZOrders(List<int> orderIds) {
+            bool result = false;
+            string msg = "";
+            List<CancelGZOrderInfo> requests = new List<CancelGZOrderInfo>();
+            foreach (var id in orderIds) {
+                var request = new CancelGZOrderInfo() { order_id = id, order_command_type_id = 2 };
+                requests.Add(request);
+            }
+            var response = apiHelper.Put(baseUrl + "api/om/order/order-command/", JsonConvert.SerializeObject(requests));
+            msg = $"[guozi-CancelOrder] request={requests};response={response}";
+            if (response != "") {
+                var dataResult = JsonConvert.DeserializeObject<CancelGZOrderResult>(response);
+                //if (dataResult.code == 0) {
+                //    msg = "[guozi-CancelOrder]鍙栨秷璁㈠崟鎴愬姛";
+                //    Console.WriteLine(msg);
+                //    result = true;
+                //    return result;
+                //}
 
+                // 杩斿洖鍙傛暟涓�code鐩墠涓嶅啀浣跨敤,鍙�杩噈sg瀛楁鍒ゆ柇鏄惁鎴愬姛,濡傛灉msg涓衡�success鈥濆垯琛ㄧず鎴愬姛,鍚﹀垯涓烘姤閿欎俊鎭垨涓嶅瓨鍦ㄣ�http code涓�22鏃跺�鐨勬姤閿欎负绯荤粺鎶ラ敊,鍏朵腑鐨刴sg鏃犳硶鍏ㄩ儴鑾峰彇銆�+                // SELFNOTE: 鐩存帴璋冪敤HttpHelper.Post鏂规硶,鏃犳硶鑾峰彇header,鏆傛椂涓嶈�铏�+                // 灏婇噸鏂囨。鐨勭増鏈�+                if (dataResult.msg == "success") { // 鐩墠鍙彇娑堜竴涓换鍔�鎴愬姛鏃犻渶鍐嶆鏌uccess_list鍜宔rror_list
+                    if (dataResult.success_list.Count == requests.Count && dataResult.error_list.Count == 0) {
+                        Console.WriteLine("[guozi-CancelOrder]鍙栨秷璁㈠崟鎴愬姛");
+                        result = true;
+                        return result;
+                    }
+                    else {
+                        Console.WriteLine("[guozi-CancelOrder]鍙栨秷璁㈠崟閮ㄥ垎澶辫触" + JsonConvert.SerializeObject(dataResult.error_list));
+                        result = true;
+                        return result;
+                    }
+                }
+            }
+            else {
+                msg = "[guozi-CancelOrder]鍙栨秷璁㈠崟澶辫触";
+                Console.WriteLine(msg);
+            }
+            return result;
+        }
 
         /// <summary>
         /// 璁㈠崟鐘舵�鍙嶉
@@ -173,7 +226,6 @@
 
 
         public static QueryOrderResult QueryOrder(int id) {
-            //
             var result = new QueryOrderResult() { agv_list = new List<int> { 0 } };
             string msg = "";
             var response = apiHelper.Get(baseUrl + $"/api/om/order/{id}/");
@@ -311,7 +363,7 @@
         public List<ResultInfo> error_list { get; set; }
         public class ResultInfo { public int order_id { get; set; } }
     }
-    public class cancle
+    public class Cancel
     {
         public List<success_list> success_list { get; set; }
         public List<error_list> error_list { get; set; }
@@ -323,6 +375,7 @@
 
     public class error_list
     {
+        public int order_id { get; set; } // 鏂拌ˉ鍏�     }
     public class CancelGZOrderResult
     {
@@ -330,7 +383,7 @@
         public string version { get; set; }
         public int code { get; set; }
         public string msg { get; set; }
-        public cancle data { get; set; }
+        public Cancel data { get; set; }
         public List<int> success_list { get; set; }
         public List<int> error_list { get; set; }
     }

--
Gitblit v1.9.1