From f9181a9c8125136f597add7c30cb2ff508d54ba7 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 25 七月 2024 17:34:32 +0800
Subject: [PATCH] 2024年07月25日17:33:40

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs |  101 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 91 insertions(+), 10 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
index fbf8818..8bf6a94 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
@@ -23,6 +23,7 @@
             }
         }
         public List<Face> faceList = new List<Face>();
+        public List<Face> VideoDoorLockUserListInfo = new List<Face>();
         /// <summary>
         /// 璋冪敤鑾峰彇浣忓畢瀛愯处鍙峰垪琛�
         /// </summary>
@@ -46,7 +47,7 @@
         /// 鑾峰彇閫昏緫ID鍒楄〃
         /// </summary>
         /// <returns></returns>
-        public ResponsePackNew GetLogicIdList(bool isTip = false)
+        public List<LogicIdData> GetLogicIdList(bool isTip = false)
         {
             var jObject = new JObject { { "homeId", LogicMethod.Current.HomeId } };
             var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_List, "鑾峰彇閫昏緫ID鍒楄〃");
@@ -60,14 +61,22 @@
             {
                 return null;
             }
-            return responsePackNew;
+            List<LogicIdData> dateList = new List<LogicIdData>();
+            try
+            {
+                dateList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<LogicIdData>>(responsePackNew.Data.ToString());
+            }catch (Exception ex)
+            {
+                MainPage.Log($"鑾峰彇閫昏緫ID鍒楄〃寮傚父锛歿ex.Message}");
+            }
+            return dateList;
         }
         /// <summary>
         /// 鑾峰彇鑷姩鍖栬鎯�
         /// </summary>
         /// <param name="listIdList">鑷姩鍖朓D鍒楄〃</param>
         /// <returns></returns>
-        public  ResponsePackNew GetLogic(List<string> listIdList, bool isTip = false)
+        public  ResponsePackNew GetLogic1(List<string> listIdList, bool isTip = false)
         {
             var jArray = new JArray { };
             for (int i = 0; i < listIdList.Count; i++)
@@ -88,6 +97,35 @@
             }
             return responsePackNew;
         }
+
+        /// <summary>
+        /// 鑾峰彇鑷姩鍖栬鎯�
+        /// </summary>
+        /// <param name="listIdList">鑷姩鍖朓D鍒楄〃</param>
+        /// <returns></returns>
+        public List<Logic> GetLogic(List<string> listIdList, bool isTip = false)
+        {
+            var jArray = new JArray { };
+            for (int i = 0; i < listIdList.Count; i++)
+            {
+                jArray.Add(listIdList[i]);
+            }
+            var jObject = new JObject { { "userLogicIds", jArray } };
+            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Info, "鑾峰彇鑷姩鍖栬鎯�");
+            //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+            {
+                RefreshToken();
+                GetLogic(listIdList, isTip);
+            }
+            if (Check(responsePackNew, isTip) == false)
+            {
+                return null;
+            }
+            var logicList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Logic>>(responsePackNew.Data.ToString());
+            return logicList;
+        }
+
         /// <summary>
         /// 娣诲姞鑷姩鍖栧懡浠� 
         /// </summary>
@@ -113,6 +151,14 @@
                 {
                     var inputTypeJOb = new JObject { };
                     inputTypeJOb.Add("sid", dictionary.sid);
+                    if (!string.IsNullOrEmpty(dictionary.hold_time))
+                    {
+                        inputTypeJOb.Add("hold_time", dictionary.hold_time);
+                    }
+                    if (!string.IsNullOrEmpty(dictionary.detect_type))
+                    {
+                        inputTypeJOb.Add("detect_type", dictionary.detect_type);
+                    }
                     inputTypeJOb.Add("condition_type", dictionary.condition_type);
                     if (dictionary.condition_type=="9") {
                         inputTypeJOb.Add("identifier", dictionary.identifier);
@@ -240,6 +286,14 @@
                 {
                     var inputTypeJOb = new JObject { };
                     inputTypeJOb.Add("sid", dictionary.sid);
+                    if (!string.IsNullOrEmpty(dictionary.hold_time))
+                    {
+                        inputTypeJOb.Add("hold_time", dictionary.hold_time);
+                    }
+                    if (!string.IsNullOrEmpty(dictionary.detect_type))
+                    {
+                        inputTypeJOb.Add("detect_type", dictionary.detect_type);
+                    }
                     inputTypeJOb.Add("condition_type", dictionary.condition_type);
                     if (dictionary.condition_type == "9")
                     {
@@ -494,6 +548,30 @@
 
         }
 
+        /// <summary> 
+        ///  鑾峰彇闂ㄩ攣鐢ㄦ埛鍒楄〃(钀ょ煶瑙嗛闂ㄩ攣)
+        /// </summary>
+        /// <param name="deviceId">璁惧</param>
+        /// <returns></returns>
+        public List<Face> GetVideoDoorLockUserListInfo(Function device)
+        {
+            var userList = FuntionControlView.VideoDoorLock.VideDoorLockSend.Current.GetVideoDoorLockUserListInfo(device);
+            List<Face> faceIdList = new List<Face>();
+            for (int i = 0; i < userList.Count; i++)
+            {
+                Face face = new Face();
+                var user = userList[i];
+                face.userId = user.extUserId;
+                face.userName = user.extUserName;
+                faceIdList.Add(face);
+            }
+            VideoDoorLockUserListInfo.Clear();
+            VideoDoorLockUserListInfo.AddRange(faceIdList);
+            return faceIdList;
+        }
+
+      
+
         /// <summary>
         ///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛� 
         /// </summary>
@@ -501,7 +579,7 @@
         /// <param name="api_Url">璇锋眰鍦板潃(涓嶆槸缁濆鍦板潃)</param>
         /// <param name="tag">鏍囪->鎻忚堪鎺ュ彛(鑷畾涔�)</param>
         /// <returns></returns>
-        public ResponsePackNew RequestServerhomeId(object o, string api_Url, string tag,int mTimeout = 3)
+        public ResponsePackNew RequestServerhomeId(object o, string api_Url, string tag,int mTimeout = 8)
         {
             Log($"{DateTime.Now}->鍙戦��->{tag}", api_Url,o.ToString());
             var requestJson = HttpUtil.GetSignRequestJson(o);
@@ -540,20 +618,23 @@
         /// <returns></returns>
         public bool Check(ResponsePackNew r, bool isTip)
         {
+            if (r == null)
+            {
+                r = new ResponsePackNew { message = "娌″洖澶�,璇风‘璁ょ綉缁滄槸鍚︽甯�.", Code = "-1", };
+            }
             if (r.Code == "0" && r.Data != null && r.Data.ToString() != "")
             {
                 return true;
             }
-            if (r.Code != "0")
+            //澶辫触鏃舵槸鍚﹁鎻愮ず
+            if (isTip)
             {
-                //澶辫触鏃舵槸鍚﹁鎻愮ず
-                if (isTip)
-                {
-                    new LogicView.TipPopView().FlashingBox(r.message + $"({r.Code})");
-                }
+                new LogicView.TipPopView().FlashingBox(r.message + $"({r.Code})");
             }
             return false;
         }
+
+
         /// <summary>
         /// 鎵撳嵃鏃ュ織
         /// </summary>

--
Gitblit v1.8.0