From 1a0a7f736c6d2e7129e7591d40bed67ec7c0f09a Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期五, 05 二月 2021 10:47:42 +0800
Subject: [PATCH] 2021-02-05 1.编译冲突修改

---
 HDL_ON/DAL/DriverLayer/Control.cs |   65 +++++++++++++++++++++++++++++---
 1 files changed, 59 insertions(+), 6 deletions(-)

diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index fe8179b..5d85428 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/HDL_ON/DAL/DriverLayer/Control.cs
@@ -86,6 +86,10 @@
                     {
                         if (IsRemote)//濡傛灉鏄繙绋�
                         {
+                            if(DB_ResidenceData.Instance.HomeGateway == null)
+                            {
+                                return;
+                            }
                             if (!DB_ResidenceData.Instance.HomeGateway.gatewayStatus)//杩滅▼鎯呭喌涓嬶紝缃戝叧鏈摼鎺ユ湇鍔″櫒涓嶈兘淇敼涓婚〉缃戝叧鐘舵��
                             {
                                 new System.Threading.Thread(() => {
@@ -188,6 +192,11 @@
         /// </summary>
         public void SearchLoaclGateway()
         {
+            //2021-01-15 : 浣忓畢娌℃湁缁戝畾缃戝叧鐨勬椂鍊欎笉鐢ㄦ悳绱紝骞朵笖涓嶈兘閾炬帴mqtt
+            if(DB_ResidenceData.Instance.HomeGateway == null)
+            {
+                return;
+            }
             var ggg = DB_ResidenceData.Instance.GatewayType == 0 ? "涓�绔彛" : "A缃戝叧";
             var ggg1 = MainPage.InternetStatus == 1 ? "4G" : "wifi";
             MainPage.Log($"鎼滅储缃戝叧鍒楄〃锛岀綉鍏崇被鍨�:{ggg};缃戠粶绫诲瀷:{ggg1}");
@@ -270,8 +279,9 @@
         /// </summary>
         /// <param name="commandString"></param>
         /// <param name="function"></param>
+        /// <param name="useRemote">鏄惁鐩存帴浣跨敤杩滅▼鍙戦��</param>
         /// <returns></returns>
-        public void SendWriteCommand(Function function, Dictionary<string, string> commandDictionary)
+        public void SendWriteCommand(Function function, Dictionary<string, string> commandDictionary, bool useRemote = false)
         {
             function.controlCounter++;
             function.refreshTime = DateTime.Now;
@@ -300,8 +310,9 @@
 
             MainPage.Log($"鍙戦�佹暟鎹�:{Newtonsoft.Json.JsonConvert.SerializeObject(commandDictionary)}");
 
+            //useRemote = true;
             //杩滅▼閫氳
-            if (Ins.IsRemote)
+            if (Ins.IsRemote || useRemote == true)
             {
                 DAL.Server.HttpServerRequest httpServer = new DAL.Server.HttpServerRequest();
                 //ALink鎺у埗銆丅us鎺у埗浣跨敤鍚屼竴涓帴鍙f帶鍒讹紝鐢变簯绔礋璐hВ鏋�
@@ -370,6 +381,34 @@
         {
             var pm = new DAL.Server.HttpServerRequest();
             var pack = pm.RefreshDeviceStatus(functionIds);
+        }
+        /// <summary>
+        /// 璇诲彇鍔熻兘璇︾粏鏁版嵁
+        /// </summary>
+        /// <param name="functionIds"></param>
+        public void ReadFunctionsInfo(List<string> functionIds)
+        {
+            var pm = new DAL.Server.HttpServerRequest();
+            var pack = pm.GetDeviceInfoList(functionIds);
+            if(pack!= null&& pack.Data!=null)
+            {
+                var ddd = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Function>>(pack.Data.ToString());
+                if(ddd!= null)
+                {
+                    foreach(var function in ddd)
+                    {
+                        var temp = FunctionList.List.GetDeviceFunctionList().Find((obj) => obj.deviceId == function.deviceId);
+                        if(temp!= null)
+                        {
+                            temp = function;
+                            if (SPK.Get3tySpk(SPK.BrandType.Tuya).Contains(temp.spk))
+                            {
+                                Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(temp.sid, temp.status);
+                            }
+                        }
+                    }
+                }
+            }
         }
 
         /// <summary>
@@ -866,14 +905,28 @@
                                     }
                                     break;
                                 case SPK.ElectricTV:
+                                    break;
+                                case SPK.ElectricTuyaAirCleaner:
+                                case SPK.ElectricTuyaFan:
+                                case SPK.ElectricTuyaWeepRobot:
+                                case SPK.ElectricTuyaWaterValve:
+                                    //璁惧鐘舵�佹帹閫�
+                                    var myDevice = Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid,updateTemp.status);
+                                    if (myDevice != null)
+                                    {
+                                        localObj = myDevice;
+                                    }
                                     break;
                                 default:
                                     break;
                             }
-                            HomePage.UpdataFunctionStates(localObj);
-                            RoomPage.UpdataStates(localObj);
-                            FunctionPage.UpdataStates(localObj);
-                            ClassificationPage.UpdataInfo(localObj);
+                            if (localObj != null)
+                            {
+                                HomePage.UpdataFunctionStates(localObj);
+                                RoomPage.UpdataStates(localObj);
+                                FunctionPage.UpdataStates(localObj);
+                                ClassificationPage.UpdataInfo(localObj);
+                            }
                         }
                     }
                     catch (Exception ex)

--
Gitblit v1.8.0