From e13a9980ce617db1394a76944186c5d5bd595d5d Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 02 六月 2021 14:37:12 +0800
Subject: [PATCH] 5月需求bug修复

---
 HDL_ON/DAL/Mqtt/MqttClient.cs |   60 ++++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 36 insertions(+), 24 deletions(-)

diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs
index 61ca982..85177d4 100644
--- a/HDL_ON/DAL/Mqtt/MqttClient.cs
+++ b/HDL_ON/DAL/Mqtt/MqttClient.cs
@@ -133,7 +133,7 @@
                 {
                     try
                     {
-                        System.Threading.Thread.Sleep(500);
+                        System.Threading.Thread.Sleep(2000);
                         //杩涘叆鍚庡彴涓嶅鐞�
                         if (MainPage.IsEnterBackground) continue;
                         if (MqttInfoConfig.Current.HomeGatewayInfo == null)
@@ -189,38 +189,38 @@
                     };
                     var topicAlinkStatus = new MqttTopicFilter()
                     {
-                        Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/property/send",
+                        Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/property/send",
                         QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
                     };
                     //App璁㈤槄绾㈠瀹� / 缃戝叧閬ユ帶鍣ㄦ坊鍔犳垚鍔熼�氱煡
                     var pirStatus = new MqttTopicFilter()
                     {
-                        Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/topo/found",
+                        Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/topo/found",
                         QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
                     };
                     //App璁㈤槄閬ユ帶鍣ㄨ嚜瀛︽寜閿涔犳垚鍔熼�氱煡
                     var pirStudy = new MqttTopicFilter()
                     {
-                        Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/irCodeStudyDone/up",
+                        Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/event/irCodeStudyDone/up",
                         QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
                     };
                     #region 鏁版嵁鏇存柊鎺ㄩ�佷富棰�
                     //appHomeRefresh锛氫綇瀹呮暟鎹埛鏂伴�氱煡
                     var appHomeRefresh = new MqttTopicFilter()
                     {
-                        Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appHomeRefresh/up",
+                        Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/event/appHomeRefresh/up",
                         QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
                     };
                     //appRoomRefresh锛氭埧闂存暟鎹埛鏂伴�氱煡
                     var appRoomRefresh = new MqttTopicFilter()
                     {
-                        Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appRoomRefresh/up",
+                        Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/event/appRoomRefresh/up",
                         QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
                     };
                     //appDeviceRefresh锛氳澶囨暟鎹埛鏂伴�氱煡
                     var appDeviceRefresh = new MqttTopicFilter()
                     {
-                        Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appDeviceRefresh/up",
+                        Topic = $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/event/appDeviceRefresh/up",
                         QualityOfServiceLevel = MQTTnet.Protocol.MqttQualityOfServiceLevel.AtMostOnce
                     };
                     #endregion
@@ -258,7 +258,7 @@
             {
                 return;
             }
-            if(DB_ResidenceData.Instance.CurrentRegion == null || DB_ResidenceData.Instance.CurrentRegion.RegionID == null)
+            if (DB_ResidenceData.Instance.CurrentRegion == null || DB_ResidenceData.Instance.CurrentRegion.id == null)
             {
                 return;
             }
@@ -287,7 +287,7 @@
                             try
                             {
                                 var topic = e.ApplicationMessage.Topic;
-                                MainPage.Log($"鏀跺埌mqtt涓婚:{topic}");
+                                //MainPage.Log($"鏀跺埌mqtt涓婚:{topic}");
                                 //涓�绔彛涓婚澶勭悊
                                 if (DB_ResidenceData.Instance.GatewayType == 0 && !DB_ResidenceData.Instance.CheckWhetherGatewayIdIsNull())
                                 {
@@ -326,27 +326,29 @@
                                     ReceiveNotifySqueezeAsync(mMes);
                                 }
                                 //App璁㈤槄绾㈠瀹�/缃戝叧閬ユ帶鍣ㄦ坊鍔犳垚鍔熼�氱煡
-                                else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/topo/found")
+                                else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/topo/found")
                                 {
                                     var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, tuyaEncryptKey);
                                     var revString = Encoding.UTF8.GetString(bytes);
-                                    HDL_ON.UI.UI2.PersonalCenter.PirDevice.Method.controldata = revString;
+                                    HDL_ON.UI.UI2.PersonalCenter.PirDevice.PirMethod.controldata = revString;
                                 }
                                 //App璁㈤槄閬ユ帶鍣ㄨ嚜瀛︽寜閿涔犳垚鍔熼�氱煡
-                                else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/irCodeStudyDone/up")
+                                else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/event/irCodeStudyDone/up")
                                 {
                                     var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, tuyaEncryptKey);
                                     var revString = Encoding.UTF8.GetString(bytes);
-                                    UI.UI2.PersonalCenter.PirDevice.Method.controldata = revString;
+                                    UI.UI2.PersonalCenter.PirDevice.PirMethod.buttondata = revString;
                                 }
                                 #region 鏁版嵁鏇存柊鎺ㄩ�佷富棰�
                                 //appHomeRefresh锛氫綇瀹呮暟鎹埛鏂伴�氱煡
-                                else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appHomeRefresh/up") {
+                                else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/event/appHomeRefresh/up")
+                                {
                                     MainPage.Log("浣忓畢鏁版嵁鍒锋柊閫氱煡");
                                     new HttpServerRequest().GetHomePager();
                                 }
                                 //appRoomRefresh锛氭埧闂存暟鎹埛鏂伴�氱煡
-                                else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appRoomRefresh/up"){
+                                else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/event/appRoomRefresh/up")
+                                {
                                     MainPage.Log("鎴块棿鏁版嵁鍒锋柊閫氱煡");
                                     var roomResult = new HttpServerRequest().GetRoomList();
                                     if (roomResult.Code == StateCode.SUCCESS)
@@ -367,7 +369,8 @@
                                     }
                                 }
                                 //appDeviceRefresh锛氳澶囨暟鎹埛鏂伴�氱煡
-                                else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/event/appDeviceRefresh/up") {
+                                else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/event/appDeviceRefresh/up")
+                                {
                                     MainPage.Log("璁惧鏁版嵁鍒锋柊閫氱煡");
                                     var deviceResult = new HttpServerRequest().GetDeviceList();
                                     if (deviceResult.Code == StateCode.SUCCESS)
@@ -414,11 +417,11 @@
                                 }
                                 #endregion
                                 //A缃戝叧璁惧鐘舵��-鍖呭惈娑傞甫璁惧
-                                else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/property/send")
+                                else if (topic == $"/user/{DB_ResidenceData.Instance.CurrentRegion.id}/app/thing/property/send")
                                 {
                                     var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, tuyaEncryptKey);
                                     var revString = Encoding.UTF8.GetString(bytes);
-                                    Control.Ins.UpdataFunctionStatus(revString, null,true);
+                                    Control.Ins.UpdataFunctionStatus(revString, null, true);
                                 }
                                 //涓�绔彛鏁版嵁瑙f瀽
                                 else
@@ -482,6 +485,8 @@
                 catch (Exception ex)
                 {
                     Utlis.WriteLine($"error:" + ex.Message);
+                    //mqtt杩炴帴寮傚父锛屾竻绌烘湰鍦癿qtt淇℃伅锛屽彲鑳介渶瑕侀噸鏂拌幏鍙栵細wxr
+                    MqttInfoConfig.Current.Refresh();
                 }
                 finally
                 {
@@ -578,13 +583,13 @@
                     MqttInfoConfig.Current.Save();
 
 
-                  
+
                     mqttEncryptKey = MqttInfoConfig.Current.HomeGatewayInfo.aesKey;
                     //瑙e瘑瀵嗛挜瑙勫垯锛氬凡鐜版湁鐨勪綇瀹匢D涓哄熀鍑�,浠庡彸杈逛竴涓�鑾峰彇鍊�,鏈�鍚庡鏋滀笉澶�16浣�,鍒欏線鍙宠ˉ闆�
                     string aesKey = string.Empty;
-                    for (int i = DB_ResidenceData.Instance.CurrentRegion.RegionID.Length - 1; i >= 0; i--)
+                    for (int i = DB_ResidenceData.Instance.CurrentRegion.id.Length - 1; i >= 0; i--)
                     {
-                        aesKey += DB_ResidenceData.Instance.CurrentRegion.RegionID[i].ToString();
+                        aesKey += DB_ResidenceData.Instance.CurrentRegion.id[i].ToString();
                         if (aesKey.Length == 16) { break; }
                     }
                     aesKey = aesKey.PadRight(16, '0');
@@ -623,6 +628,8 @@
                     //閲嶆柊涓績鏈嶅姟鍣ㄨ幏鍙栧弬鏁版爣璁�
                     MqttInfoConfig.Current.IfGetMqttInfoSuccess = false;
                     Console.WriteLine("Connect error: " + ex.Message);
+                    //mqtt杩炴帴寮傚父锛屾竻绌烘湰鍦癿qtt淇℃伅锛屽彲鑳介渶瑕侀噸鏂拌幏鍙栵細wxr
+                    MqttInfoConfig.Current.Refresh();
                 }
                 finally
                 {
@@ -666,7 +673,7 @@
         /// </summary>
         static void ReceiveNotifySqueezeAsync(string mMes)
         {
-            if (mMes == PushSignStr ) return;//鏄嚜宸辩殑鐧诲綍鎺ㄩ�佷笉澶勭悊//鎴栬�呭綋鍓嶄笉鏄繙绋嬮摼鎺ョ姸鎬�
+            if (mMes == PushSignStr) return;//鏄嚜宸辩殑鐧诲綍鎺ㄩ�佷笉澶勭悊//鎴栬�呭綋鍓嶄笉鏄繙绋嬮摼鎺ョ姸鎬�
             //娴嬭瘯璐﹀彿锛屼笉鎸や笅绾�
             switch (UserInfo.Current.AccountString)
             {
@@ -682,6 +689,8 @@
                 case "13602944661":
                 case "18778381374":
                 case "18316672920":
+                case "15971583093":
+                case "15626203746":
                     return;
             }
 
@@ -813,9 +822,12 @@
         /// <returns></returns>
         static async Task GetMqttInfoAndMQTTConnectAsync()
         {
-            var mqttInfoRequestResult_Obj = new Server.HttpServerRequest().GetMqttRemoteInfo(GetRandomKey());
+            var mqttInfoRequestResult_Obj = new HttpServerRequest().GetMqttRemoteInfo(GetRandomKey());
             if (mqttInfoRequestResult_Obj != null)
             {
+                MainPage.Log($"鑾峰彇mqtt info 鎴愬姛 /r/n clientId:{mqttInfoRequestResult_Obj.clientId}/r/n passWord:{mqttInfoRequestResult_Obj.passWord} /r/n url:{mqttInfoRequestResult_Obj.url}/r/n userName:{mqttInfoRequestResult_Obj.userName}");
+
+
                 MqttInfoConfig.Current.mMqttInfo = mqttInfoRequestResult_Obj;
                 await MQTTConnectAsync();
                 //1.鍒ゆ柇鏄惁缁戝畾浜嗙綉鍏筹紝鑾峰彇缃戝叧杩滅▼杩炴帴鐨勫姞瀵咾EY
@@ -984,4 +996,4 @@
 
 
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0