From b02e8275a21dc06bf54b66273485d44e007a2616 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期一, 20 七月 2020 14:50:17 +0800
Subject: [PATCH] 新代码

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

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs
index 75f38c3..0f70087 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
 {
@@ -66,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;
@@ -90,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)
@@ -100,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)
@@ -110,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
@@ -120,29 +119,29 @@
                 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)
         {
-            var listNotShow = new List<string>() { "NotSetAgain" };
-            string resultValue = await UserCenterLogic.GetResponseDataByRequestHttps("FirmwareMana/DetectionPlatformUploadFirmware", false, pra, listNotShow);
+            var listCheck = new List<string> { "NotCheck" };
+            string resultValue = UserCenterLogic.GetResponseDataByRequestHttps("FirmwareMana/DetectionPlatformUploadFirmware", false, pra, listCheck);
             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;
             }
 
             //纭欢鐗堟湰
@@ -151,6 +150,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;
@@ -192,7 +198,7 @@
                 catch { continue; }
             }
 
-            return true;
+            return 1;
         }
 
         #endregion
@@ -219,6 +225,14 @@
                     //瀹冧笉鏄崌绾у浐浠�,  .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;
@@ -341,23 +355,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