From 203c3a3ffde6259413d9743f6a723b95b1e7989c Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 06 七月 2023 22:43:05 +0800
Subject: [PATCH] 门锁功能

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs |   89 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 80 insertions(+), 9 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
index 0c1a78e..7274673 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>
@@ -113,6 +114,10 @@
                 {
                     var inputTypeJOb = new JObject { };
                     inputTypeJOb.Add("sid", dictionary.sid);
+                    if (!string.IsNullOrEmpty(dictionary.hold_time))
+                    {
+                        inputTypeJOb.Add("hold_time", dictionary.hold_time);
+                    }
                     inputTypeJOb.Add("condition_type", dictionary.condition_type);
                     if (dictionary.condition_type=="9") {
                         inputTypeJOb.Add("identifier", dictionary.identifier);
@@ -197,6 +202,7 @@
                 logicIfon.Add("pushConfigs", pushConfigsArray);
                 logicjArray.Add(logicIfon);
                  var jObject = new JObject { { "homeId", LogicMethod.Current.HomeId }, { "logics", logicjArray } };
+                string str = jObject.ToString();
                 responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Add, "娣诲姞鑷姩鍖�", 5);
                 //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
                 if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
@@ -239,8 +245,15 @@
                 {
                     var inputTypeJOb = new JObject { };
                     inputTypeJOb.Add("sid", dictionary.sid);
+                    if (!string.IsNullOrEmpty(dictionary.hold_time))
+                    {
+                        inputTypeJOb.Add("hold_time", dictionary.hold_time);
+                    }
                     inputTypeJOb.Add("condition_type", dictionary.condition_type);
-
+                    if (dictionary.condition_type == "9")
+                    {
+                        inputTypeJOb.Add("identifier", dictionary.identifier);
+                    }
                     var conditionArray = new JArray { };
                     foreach (var dic in dictionary.condition)
                     {
@@ -327,7 +340,6 @@
 
                 logicjArray.Add(logicIfon);
                 var jObject = new JObject { { "homeId", LogicMethod.Current.HomeId }, { "logics", logicjArray } };
-
                 string str = jObject.ToString();
                 responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Update, "缂栬緫鏇存柊鑷姩鍖�", 5);
                 //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
@@ -459,16 +471,75 @@
 
         }
 
+        /// <summary> 
+        /// 鑾峰彇浣忓畢宸插綍鍏ヤ汉鑴镐俊鎭�
+        /// </summary>
+        /// <param name="deviceId">鍙瀵硅璁惧id</param>
+        /// <returns></returns>
+        public List<Face> GetHomeFaceList(string deviceId, bool isTip) 
+        {
+            var jObject = new JObject();
+            jObject.Add("homeId", LogicMethod.Current.HomeId);
+            jObject.Add("deviceId", deviceId);
+            var responsePackNew = RequestServerhomeId(jObject, NewAPI.Api_Post_GetListHomeFace, "鑾峰彇浣忓畢宸插綍鍏ヤ汉鑴镐俊鎭�");
+            //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+            {
+                RefreshToken();
+                GetListHomeFace(deviceId, isTip);
+            }
+            if (Check(responsePackNew, isTip) == false)
+            {
+                return new List<Face>();
+            }
+            var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Face>>(responsePackNew.Data.ToString());
+            if (list == null)
+            {
+                list = new List<Face>();
+            }
+            faceList.Clear();
+            faceList.AddRange(list);
+            return list;
+
+        }
+
+        /// <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>
+        /// <param name="o">鍙戦�佹暟鎹�</param>
+        /// <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 = 3)
         {
-            Log($"{DateTime.Now}->鍙戦��->{tag}", o.ToString());
+            Log($"{DateTime.Now}->鍙戦��->{tag}", api_Url,o.ToString());
             var requestJson = HttpUtil.GetSignRequestJson(o);
             var r= HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout);
-            Log($"{DateTime.Now}->鍥炲->{tag}", Newtonsoft.Json.JsonConvert.SerializeObject(r));
+            Log($"{DateTime.Now}->鍥炲->{tag}", "", Newtonsoft.Json.JsonConvert.SerializeObject(r));
             return r;
 
         }
@@ -481,10 +552,10 @@
         /// <returns></returns>
         public  ResponsePackNew RequestServer(object o, string api_Url,string tag)
         {
-            Log($"鍙戦��->{tag}", o.ToString());
+            Log($"鍙戦�佹暟鎹�->{tag}", api_Url, o.ToString());
             var requestJson = HttpUtil.GetSignRequestJson(o);
             var r = HttpUtil.RequestHttpsPost(api_Url, requestJson);
-            Log($"鍥炲->{tag}", Newtonsoft.Json.JsonConvert.SerializeObject(r));
+            Log($"鍥炲鏁版嵁->{tag}", "", Newtonsoft.Json.JsonConvert.SerializeObject(r));
             return r;
         }
         /// <summary>
@@ -521,10 +592,10 @@
         /// </summary>
         /// <param name="tag">鎵撳嵃鏍囪</param>
         /// <param name="content">鎵撳嵃鍐呭</param>
-        public void Log(string tag, string content)
+        public void Log(string tag,string url, string content)
         {
          #if DEBUG
-            Console.WriteLine(tag + $"\r\n鏁版嵁鍐呭->->{content}");
+            Console.WriteLine(tag + $"\r\n{url}\r\n{content}");
          #endif
         }
 

--
Gitblit v1.8.0