From 351bdda734832d821a9764b0cde8be5d83c4ec50 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 01 十二月 2022 09:56:25 +0800
Subject: [PATCH] 2022年12月01日09:56:23

---
 ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs |   86 ++++++++++++++++++++++---------------------
 1 files changed, 44 insertions(+), 42 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs
index d893657..df2c8d6 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs
@@ -628,11 +628,11 @@
                 //璁块棶鎺ュ彛
                 if (UserCenterResourse.UserInfo.AuthorityNo == 1)
                 {
-                    result1 = await CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync(RequestName, byteData);
+                    result1 = CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync(RequestName, byteData);
                 }
                 else
                 {
-                    result1 = await CommonPage.Instance.RequestZigbeeHttpsByAdmin(RequestName, byteData);
+                    result1 = CommonPage.Instance.RequestZigbeeHttpsByAdmin(RequestName, byteData);
                 }
                 if (result1 != null)
                 {
@@ -662,7 +662,11 @@
             return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<List<Shared.Phone.UserCenter.MemberInfoRes>>>)(async () =>
            {
                var pra = new Shared.Phone.UserCenter.MemberListInfoPra();
-               string result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
+               string result = UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
+               if (result == null)
+               {
+                   return null;
+               }
                var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Shared.Phone.UserCenter.MemberInfoRes>>(result);
                return listInfo;
            }));
@@ -930,9 +934,9 @@
             /// Unlock鍛戒护锛歟rror,invalid schedule浜嬩欢
             /// </summary>
             UnlockInvalidScheduleEvent = 6,
-        }
+        }
         #endregion
-
+
         #region 闂ㄩ攣缂栫▼浜嬩欢閫氱煡
         /// <summary>
         /// 闂ㄩ攣缂栫▼浜嬩欢閫氱煡
@@ -961,7 +965,7 @@
             /// <summary>
             /// 缂栫▼浜嬩欢瑙﹀彂婧�
             /// 甯哥敤锛�
-            /// 0:Keypad(閿洏/瀵嗙爜)锛�3:RFID(灏勯鍗�)锛�15:鎸囩汗
+            /// 0:Keypad(閿洏/瀵嗙爜)锛�3:RFID(灏勯鍗�)锛�15:鎸囩汗 58锛歠ace  59锛氶潤鑴�
             ///涓嶅父鐢細
             /// 1:RF(Zigbee鏃犵嚎)锛�2:Manual(鎵嬪姩)锛�255:Indeterminate(涓嶇‘瀹�)
             /// </summary>
@@ -1114,7 +1118,7 @@
                             result = new DefaultControlResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
                         }
                         else
-                        {
+                        {
                             if (clientDataPassthroughResponseData?.PassData != null)
                             {
                                 var data = clientDataPassthroughResponseData.PassData;
@@ -1246,27 +1250,26 @@
                 var sbString = new System.Text.StringBuilder();
                 foreach (var userId in userIdList)
                 {
-                    string temp = Convert.ToString(userId, 16);
-                    switch (temp.Length)
+                    var tempBytes = new byte[2];
+                    for (int i = 0; i < 2; i++)
                     {
-                        case 1:
-                            userIdStr = "0" + temp + "00";
-                            break;
-                        case 2:
-                            userIdStr = temp + "00";
-                            break;
-                        case 3:
-                            var thirdBit = temp.Substring(temp.Length - 2, 1);
-                            userIdStr = temp + "0" + thirdBit;
-                            break;
-                        case 4:
-                            userIdStr = temp;
-                            break;
+                        tempBytes[i] = (byte)(userId >> (i * 8) & 0xff);
                     }
-                    sbString.Append(userIdStr.ToString().ToUpper());
+                    var curV1 = Convert.ToString(tempBytes[0], 16);
+                    var curV2 = Convert.ToString(tempBytes[1], 16);
+                    if (curV1.Length == 1)
+                    {
+                        curV1 = "0" + curV1;
+                    }
+                    if (curV2.Length == 1)
+                    {
+                        curV2 = "0" + curV2;
+                    }
+
+                    userIdStr = (curV1 + curV2).ToUpper();
                 }
                 data = dataLength + dataComand1 + dataComand2 + dataSerialNum + addDataLength +
-                   delUserTypeStr + sbString;
+                   delUserTypeStr + userIdStr;
             }
             catch { };
 
@@ -1303,28 +1306,27 @@
                         delUserTypeStr = "21";
                         break;
                 }
-                var sbString = new System.Text.StringBuilder();
-                string temp = Convert.ToString(userId, 16);
 
-                switch (temp.Length)
+                var tempBytes = new byte[2];
+                for (int i = 0; i < 2; i++)
                 {
-                    case 1:
-                        userIdStr = "0" + temp + "00";
-                        break;
-                    case 2:
-                        userIdStr = temp + "00";
-                        break;
-                    case 3:
-                        var thirdBit = temp.Substring(temp.Length - 2, 1);
-                        userIdStr = temp + "0" + thirdBit;
-                        break;
-                    case 4:
-                        userIdStr = temp;
-                        break;
+                    tempBytes[i] = (byte)(userId >> (i * 8) & 0xff);
                 }
-                sbString.Append(userIdStr.ToString().ToUpper());
+                var curV1 = Convert.ToString(tempBytes[0], 16);
+                var curV2 = Convert.ToString(tempBytes[1], 16);
+                if (curV1.Length == 1)
+                {
+                    curV1 = "0" + curV1;
+                }
+                if (curV2.Length == 1)
+                {
+                    curV2 = "0" + curV2;
+                }
+
+                userIdStr = (curV1 + curV2).ToUpper();
+
                 data = dataLength + dataComand1 + dataComand2 + dataSerialNum + addDataLength +
-                   delUserTypeStr + sbString;
+                           delUserTypeStr + userIdStr;
             }
             catch { };
 

--
Gitblit v1.8.0