From ade5917841b0fdcb1df7353ef7c56b1a1bdc9282 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 22 九月 2020 10:03:32 +0800
Subject: [PATCH] 删除 Gateway.Ios文件

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs |  118 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 59 insertions(+), 59 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs
index c9dd905..0bade2f 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs
@@ -1,7 +1,6 @@
 锘縰sing System;
 using System.Collections.Generic;
 using System.Text;
-using System.Threading.Tasks;
 
 namespace Shared.Phone.UserCenter
 {
@@ -18,50 +17,47 @@
         public static void DoUpdateNextFirmware()
         {
             //涓嬩竴涓鎵ц鏇存柊鐨勭綉鍏�
-            GatewayFirmwareUpdateControl gwControl = null;
-            foreach (var contr in FirmwareUpdateResourse.dicGatewayUpdateList.Values)
+            HdlDeviceUpdateCommonLogic gwControl = null;
+            //涓嬩竴涓鎵ц鏇存柊鐨勮澶�
+            HdlDeviceUpdateCommonLogic deviceControl = null;
+            foreach (var contr in FirmwareUpdateResourse.dicUpdateList.Values)
             {
                 //濡傛灉鍒殑杩樺湪鍗囩骇涓�,鍒欎笉鍐嶅鐞�
                 if (contr.IsFinishUpdate == false)
                 {
                     return;
                 }
-                //濡傛灉杩欎釜缃戝叧鏄湪绛夊緟鍒楄〃鐨勮瘽
+                //濡傛灉杩欎釜鍦ㄧ瓑寰呭垪琛ㄧ殑璇�
                 if (contr.UpdateStatu == UpdateStatuMode.Wait && gwControl == null)
                 {
-                    //涓嬩竴涓崌绾х殑灏辨槸瀹冧簡
-                    gwControl = contr;
+                    if (contr.ClassDiv == 1 && gwControl == null)
+                    {
+                        //涓嬩竴涓崌绾х殑灏辨槸瀹冧簡
+                        gwControl = contr;
+                    }
+                    else if (contr.ClassDiv == 2 && deviceControl == null)
+                    {
+                        //涓嬩竴涓崌绾х殑灏辨槸瀹冧簡
+                        deviceControl = contr;
+                    }
                 }
             }
 
-            HdlDeviceUpdateLogic deviceControl = null;
-            foreach (var contr in FirmwareUpdateResourse.dicDeviceUpdateList.Values)
+            HdlThreadLogic.Current.RunThread(() =>
             {
-                //濡傛灉鍒殑杩樺湪鍗囩骇涓�,鍒欎笉鍐嶅鐞�
-                if (contr.IsFinishUpdate == false)
+                if (gwControl != null)
                 {
+                    //寮�濮嬫墽琛屾洿鏂版搷浣�
+                    gwControl.DoStartUpdate();
                     return;
                 }
-                //濡傛灉杩欎釜璁惧鏄湪绛夊緟鍒楄〃鐨勮瘽
-                if (contr.UpdateStatu == UpdateStatuMode.Wait && deviceControl == null)
+
+                if (deviceControl != null)
                 {
-                    //涓嬩竴涓崌绾х殑灏辨槸瀹冧簡
-                    deviceControl = contr;
+                    //寮�濮嬫墽琛屾洿鏂版搷浣�
+                    deviceControl.DoStartUpdate();
                 }
-            }
-
-            if (gwControl != null)
-            {
-                //寮�濮嬫墽琛屾洿鏂版搷浣�
-                gwControl.DoStartUpdate();
-                return;
-            }
-
-            if (deviceControl != null)
-            {
-                //寮�濮嬫墽琛屾洿鏂版搷浣�
-                deviceControl.DoStartUpdate();
-            }
+            });
         }
 
         #endregion
@@ -69,18 +65,18 @@
         #region 鈻� 娣诲姞鍗囩骇鍥轰欢淇℃伅___________________
 
         /// <summary>
-        /// 娣诲姞鍗囩骇鍥轰欢淇℃伅
+        /// 娣诲姞鍗囩骇鍥轰欢淇℃伅 1:姝e父  -1:娌$綉,鑾峰彇涓嶅埌涓滆タ
         /// </summary>
         /// <param name="levelType">鍥轰欢闃剁骇鍒嗙被</param>
         /// <param name="HardwareVersion">纭欢鐗堟湰</param>
         /// <param name="imgType">闀滃儚绫诲瀷</param>
         /// <returns></returns>
-        public async static Task<bool> AddFirmwareVersionInfo(FirmwareLevelType levelType, string HardwareVersion, string imgType)
+        public static int AddFirmwareVersionInfo(FirmwareLevelType levelType, string HardwareVersion, string imgType)
         {
             //妫�娴嬫湰鍦版槸鍚﹀凡缁忔湁杩欎釜缂撳瓨浜�
             if (IsEsixtFirmwareVersionInfo(levelType, HardwareVersion, imgType) == true)
             {
-                return true;
+                return 1;
             }
             var Pra = new GetFirmwareVersionPra();
             Pra.PageSetting.Page = 1;
@@ -93,7 +89,7 @@
                 Pra.FirmwareManaSecondType = 0;
                 Pra.HardwareVersion = HardwareVersion;
                 Pra.DeviceType = imgType;
-                var result = await GetFirmwareVersionAndSetToMemmory(FirmwareLevelType.Linux, Pra);
+                var result = GetFirmwareVersionAndSetToMemmory(FirmwareLevelType.Linux, Pra);
                 return result;
             }
             else if (levelType == FirmwareLevelType.Coordinator)
@@ -103,7 +99,7 @@
                 Pra.FirmwareManaSecondType = 1;
                 Pra.HardwareVersion = HardwareVersion;
                 Pra.DeviceType = imgType;
-                var result = await GetFirmwareVersionAndSetToMemmory(FirmwareLevelType.Coordinator, Pra);
+                var result = GetFirmwareVersionAndSetToMemmory(FirmwareLevelType.Coordinator, Pra);
                 return result;
             }
             else if (levelType == FirmwareLevelType.VirtualDevice)
@@ -113,7 +109,7 @@
                 Pra.FirmwareManaSecondType = 2;
                 Pra.HardwareVersion = HardwareVersion;
                 Pra.DeviceType = imgType;
-                var result = await GetFirmwareVersionAndSetToMemmory(FirmwareLevelType.VirtualDevice, Pra);
+                var result = GetFirmwareVersionAndSetToMemmory(FirmwareLevelType.VirtualDevice, Pra);
                 return result;
             }
             else
@@ -123,28 +119,28 @@
                 Pra.FirmwareManaSecondType = null;
                 Pra.HardwareVersion = HardwareVersion;
                 Pra.DeviceType = imgType;
-                var result = await GetFirmwareVersionAndSetToMemmory(FirmwareLevelType.ZigbeeDevice, Pra);
+                var result = GetFirmwareVersionAndSetToMemmory(FirmwareLevelType.ZigbeeDevice, Pra);
                 return result;
             }
         }
 
         /// <summary>
-        /// 鑾峰彇浜戠鐨勫浐浠讹紝鐒跺悗瀛樺叆缂撳瓨涓�
+        /// 鑾峰彇浜戠鐨勫浐浠讹紝鐒跺悗瀛樺叆缂撳瓨涓� 1:姝e父  -1:娌$綉,鑾峰彇涓嶅埌涓滆タ
         /// </summary>
         /// <param name="levelType"></param>
         /// <param name="pra"></param>
         /// <returns></returns>
-        private async static Task<bool> GetFirmwareVersionAndSetToMemmory(FirmwareLevelType levelType, GetFirmwareVersionPra pra)
+        private static int GetFirmwareVersionAndSetToMemmory(FirmwareLevelType levelType, GetFirmwareVersionPra pra)
         {
-            string resultValue = await UserCenterLogic.GetResponseDataByRequestHttps("FirmwareMana/DetectionPlatformUploadFirmware", false, pra);
-            if (resultValue == null)
+            string resultValue = UserCenterLogic.GetResponseDataByRequestHttps("FirmwareMana/DetectionPlatformUploadFirmware", false, pra);
+            if (string.IsNullOrEmpty(resultValue) == true)
             {
-                return false;
+                return -1;
             }
             var verResult = Newtonsoft.Json.JsonConvert.DeserializeObject<FirmwareVersionResult>(resultValue);
             if (verResult.PageData.Count == 0)
             {
-                return true;
+                return 1;
             }
 
             //纭欢鐗堟湰
@@ -153,6 +149,13 @@
 
             foreach (var data in verResult.PageData)
             {
+                //鍥轰欢鐗堟湰鏄剧ず锛�
+                //10101 3涓猙yte 鏄剧ず涓猴細ver.1.01.01
+                if (data.FirmwareVersion.Length != 6 && data.FirmwareVersion.Length != 5)
+                {
+                    //闈炴瑙勭殑鍥轰欢鐗堟湰,涓嶅啀鑰冭檻鑼冨洿鍐�
+                    continue;
+                }
                 //纭欢鍒嗙被
                 FirmwareHardInfo hardInfo = null;
                 string hardCode = data.HardwareVersion;
@@ -186,6 +189,7 @@
                     info.Name = data.Name;
                     info.HardwareVersion = hardCode;
                     info.ImagType = imgType;
+                    info.CreatedOnUtc = data.CreatedOnUtc;
                     imgTypeInfo.listVeison.Add(info);
                     //鍥轰欢鐨勪俊鎭鐞�
                     DoAdjustFirmwareInformation(info, data.Remarks);
@@ -193,7 +197,7 @@
                 catch { continue; }
             }
 
-            return true;
+            return 1;
         }
 
         #endregion
@@ -215,6 +219,19 @@
             FirmwareVersionInfo newFirInfo = null;
             foreach (var verInfo in listdata)
             {
+                if (verInfo.Name.EndsWith(".bin") == true)
+                {
+                    //瀹冧笉鏄崌绾у浐浠�,  .bin鏄壒娈婄殑
+                    continue;
+                }
+                int testVersion = Convert.ToInt32(verInfo.FirmwareVersion.ToString().PadLeft(6, '0').Substring(2, 2));
+                if (testVersion % 2 != 0)
+                {
+                    //涓棿閭d釜byte涓哄鏁版椂锛屼唬琛ㄦ槸娴嬭瘯鐗堟湰,鍦ㄦ樉绀烘渶鏂扮増鏈椂,涓嶉渶瑕佹樉绀猴紝浣嗘槸鍦ㄥ巻鍙茬増鏈偅閲屽彲浠ユ樉绀�
+                    //涓棿閭d釜byte涓哄伓鏁版椂,浠h〃鏄寮忕増鏈�
+                    continue;
+                }
+
                 if (verInfo.FirmwareVersion > nowVersion)
                 {
                     nowVersion = verInfo.FirmwareVersion;
@@ -337,23 +354,6 @@
             Info.UpdateContent.AddRange(Arry);
         }
 
-        /// <summary>
-        /// 灏嗗崄鍏繘鍒惰浆涓哄崄杩涘埗
-        /// </summary>
-        /// <param name="text"></param>
-        /// <returns></returns>
-        private static int ConvertHexToInt(string text)
-        {
-            if (text.StartsWith("0x"))
-            {
-                text = text.Substring(2);
-            }
-            try
-            {
-                return Convert.ToInt32(text, 16);
-            }
-            catch { return -1; }
-        }
         #endregion
     }
 }

--
Gitblit v1.8.0