From dee21bf452a8979d0515d13e534fbb69ed9715dd Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 01 九月 2020 15:33:13 +0800
Subject: [PATCH] 上传一个版本

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceHardInfoLogic.cs |  251 +-------------------------------------------------
 1 files changed, 6 insertions(+), 245 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceHardInfoLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceHardInfoLogic.cs
index 03de7f2..ce0fe1a 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceHardInfoLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceHardInfoLogic.cs
@@ -31,14 +31,6 @@
             }
         }
 
-        /// <summary>
-        /// 璁惧鑾峰彇纭欢淇℃伅鍚庣殑鍥炶皟鍑芥暟
-        /// </summary>
-        private Dictionary<string, Action<CommonDevice, CommonDevice.DeviceStatusReportData>> dicDeviceHardInfoBackAction = new Dictionary<string, Action<CommonDevice, CommonDevice.DeviceStatusReportData>>();
-        /// 鑾峰彇纭欢淇℃伅鐨勫璞¤澶�
-        /// </summary>
-        private HashSet<string> hsGetHardInfoDevice = new HashSet<string>();
-
         #endregion
 
         #region 鈻� 涓诲叆鍙e嚱鏁癬________________________
@@ -48,55 +40,13 @@
         /// </summary>
         /// <param name="device">璁惧鍥炶矾</param>
         /// <param name="backAction">鍥炶皟鍑芥暟</param>
-        public void SetAllHardFirmwareInfoToDevice(CommonDevice device, Action<CommonDevice, CommonDevice.DeviceStatusReportData> backAction = null)
+        public void SetAllHardFirmwareInfoToDevice(CommonDevice device)
         {
             if (device == null)
             {
                 return;
             }
-            lock (hsGetHardInfoDevice)
-            {
-                //鍏堢Щ闄�
-                this.RemoveDeviceHardInfoThread(device);
 
-                string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
-                this.hsGetHardInfoDevice.Add(mainkeys);
-
-                if (backAction != null)
-                {
-                    //鍥炶皟鍑芥暟
-                    this.dicDeviceHardInfoBackAction[mainkeys] = backAction;
-                }
-                //璁剧疆璁惧鐨勭‖浠朵俊鎭�(闇�瑕佺瓑寰呮帹閫佸悗鎵嶄細鏇存敼)
-                this.SetHardFirmwareInfoToDevice(device);
-            }
-        }
-
-        /// <summary>
-        /// 璁剧疆璁惧鐨勭‖浠朵俊鎭�(闇�瑕佺瓑寰呮帹閫佸悗鎵嶄細鏇存敼)
-        /// </summary>
-        /// <param name="device"></param>
-        private void SetHardFirmwareInfoToDevice(CommonDevice device)
-        {
-            if (HdlGatewayReceiveLogic.Current.IsEsixt("DeviceGetHardFirmwareInfo") == false)
-            {
-                //娣诲姞浜嬩欢
-                HdlGatewayReceiveLogic.Current.AddAttributeEvent("DeviceGetHardFirmwareInfo", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, this.SetHardFirmwareInfoByInterfaceResult);
-            }
-            //鍙戦�佸懡浠�
-            this.SetHardFirmwareInfoComand(device);
-        }
-
-        #endregion
-
-        #region 鈻� 鍙戦�佸懡浠__________________________
-
-        /// <summary>
-        /// 鍙戦�佽幏鍙栫‖浠朵俊鎭殑鍛戒护
-        /// </summary>
-        /// <param name="device"></param>
-        public void SetHardFirmwareInfoComand(CommonDevice device)
-        {
             var jObject = new Newtonsoft.Json.Linq.JObject
             {
                 { "DeviceAddr",device.DeviceAddr },
@@ -108,217 +58,28 @@
             {
                new Newtonsoft.Json.Linq.JObject
                {
-                 { "AttriButeId", 4}
+                 { "AttriButeId", 4}//鐢熶骇鍟嗗悕瀛�
                },
                new Newtonsoft.Json.Linq.JObject
                {
-                 { "AttriButeId", 5}
+                 { "AttriButeId", 5}//鍨嬪彿鐮�(涔熷彨妯″潡ID)
                },
                new Newtonsoft.Json.Linq.JObject
                {
-                 { "AttriButeId", 6}
+                 { "AttriButeId", 6}//鐢熶骇鏃ユ湡
                },
                   new Newtonsoft.Json.Linq.JObject
                {
-                 { "AttriButeId", 7}
+                 { "AttriButeId", 7}//鐢垫簮
                },
                new Newtonsoft.Json.Linq.JObject
                {
-                 { "AttriButeId", 13}
+                 { "AttriButeId", 13}//搴忓垪鍙�
                }
             };
             var data = new Newtonsoft.Json.Linq.JObject { { "AttriBute", attriBute } };
             jObject.Add("Data", data);
             device.Gateway?.Send(("GetDeviceStatus"), jObject.ToString());
-        }
-
-        #endregion
-
-        #region 鈻� 璁剧疆灞炴�__________________________
-
-        /// <summary>
-        /// 璁剧疆璁惧鐨勭‖浠朵俊鎭� -1:寮傚父  0:鎺ㄩ�佺殑杩欎釜涓滆タ骞朵笉鏄‖浠朵俊鎭�  1:姝e父
-        /// </summary>
-        /// <param name="report">涓婃姤淇℃伅</param>
-        /// <param name="device">璁惧瀵硅薄</param>
-        /// <returns></returns>
-        public int SetHardFirmwareInfo(CommonDevice.DeviceStatusReportData report, CommonDevice device)
-        {
-            if (report == null)
-            {
-                return -1;
-            }
-            //灞炴�ф槸鍚︽敼鍙�
-            bool AttriButeChanged = false;
-            //鏄惁鏄纭殑鎺ㄩ�佹暟鎹�
-            bool isRightData = false;
-            foreach (var data in report.AttriBute)
-            {
-                //鐢熶骇鍟嗗悕瀛�
-                if (data.AttributeId == 4)
-                {
-                    isRightData = true;
-                    if (data.AttriButeDataHex.Length > 2)
-                    {
-                        var value = UserCenterLogic.TranslateHexadecimalIntoText(data.AttriButeDataHex.Substring(2));
-                        if (device.ManufacturerName != value)
-                        {
-                            //灞炴�у彉鏇翠簡
-                            AttriButeChanged = true;
-                        }
-                        device.ManufacturerName = value;
-                    }
-                }
-                //鍨嬪彿鐮�(涔熷彨妯″潡ID)
-                if (data.AttributeId == 5)
-                {
-                    isRightData = true;
-                    if (data.AttriButeDataHex.Length > 2)
-                    {
-                        var value = UserCenterLogic.TranslateHexadecimalIntoText(data.AttriButeDataHex.Substring(2));
-                        if (device.ModelIdentifier != value)
-                        {
-                            //灞炴�у彉鏇翠簡
-                            AttriButeChanged = true;
-                        }
-                        device.ModelIdentifier = value;
-                    }
-                }
-                //鐢熶骇鏃ユ湡
-                if (data.AttributeId == 6)
-                {
-                    isRightData = true;
-                    if (data.AttriButeDataHex.Length > 2)
-                    {
-                        var value = UserCenterLogic.TranslateHexadecimalIntoText(data.AttriButeDataHex.Substring(2));
-                        if (device.ProductionDate != value)
-                        {
-                            //灞炴�у彉鏇翠簡
-                            AttriButeChanged = true;
-                        }
-                        device.ProductionDate = value;
-                    }
-                }
-                //鐢垫簮
-                if (data.AttributeId == 7)
-                {
-                    isRightData = true;
-                    device.PowerSource = data.AttriButeData;
-                }
-                //搴忓垪鍙�
-                if (data.AttributeId == 13)
-                {
-                    isRightData = true;
-                    if (data.AttriButeDataHex.Length > 2)
-                    {
-                        string value;
-                        if (Common.LocalDevice.Current.IsHdlDevice(device) == false)
-                        {
-                            //绗笁鏂硅澶�
-                            value = data.AttriButeDataHex.Substring(2);
-                        }
-                        else
-                        {
-                            //娌充笢璁惧
-                            value = UserCenterLogic.TranslateHexadecimalIntoText(data.AttriButeDataHex.Substring(2));
-                        }
-                        if (device.SerialNumber != value)
-                        {
-                            //灞炴�у彉鏇翠簡
-                            AttriButeChanged = true;
-                        }
-                        device.SerialNumber = value;
-                    }
-                }
-            }
-            if (isRightData == false)
-            {
-                //杩欎釜涓嶆槸纭欢淇℃伅鐨勬帹閫�
-                return 0;
-            }
-
-            //濡傛灉灞炴�у彉鏇翠簡
-            if (AttriButeChanged == true)
-            {
-                if (device.IsCustomizeImage == false)
-                {
-                    //UI閲嶆柊鐢熸垚
-                    device.IconPath = string.Empty;
-                    device.ReSave();
-                }
-            }
-            return 1;
-        }
-
-        #endregion
-
-        #region 鈻� 鎺ュ彛鎺ㄩ�佸鐞哶______________________
-
-        /// <summary>
-        /// 鏍规嵁鎺ュ彛鎺ㄩ�佺殑淇℃伅锛岃缃澶囩‖浠朵俊鎭�
-        /// </summary>
-        /// <param name="device"></param>
-        private void SetHardFirmwareInfoByInterfaceResult(CommonDevice device)
-        {
-            string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
-            if (this.hsGetHardInfoDevice.Contains(mainKeys) == false)
-            {
-                //鎺ㄩ�佺殑杩欎釜涓滆タ骞朵笉鏄寚瀹氱殑璁惧
-                return;
-            }
-            //璁剧疆璁惧纭欢淇℃伅
-            var localDevice = Common.LocalDevice.Current.GetDevice(mainKeys);
-            if (localDevice == null)
-            {
-                return;
-            }
-            lock (hsGetHardInfoDevice)
-            {
-                //-1:寮傚父  0:鎺ㄩ�佺殑杩欎釜涓滆タ骞朵笉鏄‖浠朵俊鎭�  1:姝e父
-                if (this.SetHardFirmwareInfo(device.DeviceStatusReport, localDevice) != 1)
-                {
-                    return;
-                }
-                localDevice.ReSave();
-
-                this.hsGetHardInfoDevice.Remove(mainKeys);
-                if (this.dicDeviceHardInfoBackAction.ContainsKey(mainKeys) == true)
-                {
-                    var action = this.dicDeviceHardInfoBackAction[mainKeys];
-                    //璋冪敤鍥炶皟鍑芥暟
-                    action?.Invoke(device, device.DeviceStatusReport);
-                    //鐒跺悗绉婚櫎
-                    this.dicDeviceHardInfoBackAction.Remove(mainKeys);
-                    action = null;
-                }
-            }
-        }
-
-        #endregion
-
-        #region 鈻� 绉婚櫎鐩戝惉绾跨▼_______________________
-
-        /// <summary>
-        /// 绉婚櫎鑾峰彇璁惧纭欢淇℃伅鐨勭洃鍚嚎绋�
-        /// </summary>
-        /// <param name="device"></param>
-        public void RemoveDeviceHardInfoThread(CommonDevice device)
-        {
-            lock (hsGetHardInfoDevice)
-            {
-                string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
-                if (this.hsGetHardInfoDevice.Contains(mainKeys) == true)
-                {
-                    this.hsGetHardInfoDevice.Remove(mainKeys);
-                }
-                if (this.dicDeviceHardInfoBackAction.ContainsKey(mainKeys) == true)
-                {
-                    var action = this.dicDeviceHardInfoBackAction[mainKeys];
-                    //鐒跺悗绉婚櫎
-                    this.dicDeviceHardInfoBackAction.Remove(mainKeys);
-                    action = null;
-                }
-            }
         }
 
         #endregion

--
Gitblit v1.8.0