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