From ecba45c93391066bc30c7bd602c3a7683fbb99a7 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期五, 31 七月 2020 10:56:12 +0800
Subject: [PATCH] 临时备份
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs | 298 -----------------------------------------------------------
1 files changed, 1 insertions(+), 297 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs
index 2bdb33a..285c6f6 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 ZigBee.Device;
namespace Shared.Phone.UserCenter
{
@@ -134,7 +133,7 @@
private static int GetFirmwareVersionAndSetToMemmory(FirmwareLevelType levelType, GetFirmwareVersionPra pra)
{
var listCheck = new List<string> { "NotCheck" };
- string resultValue = UserCenterLogic.GetResponseDataByRequestHttps("FirmwareMana/DetectionPlatformUploadFirmware", false, pra, listCheck, false);
+ string resultValue = UserCenterLogic.GetResponseDataByRequestHttps("FirmwareMana/DetectionPlatformUploadFirmware", false, pra, listCheck);
if (string.IsNullOrEmpty(resultValue) == true)
{
return -1;
@@ -311,45 +310,6 @@
#endregion
- #region 鈻� 鑾峰彇鎸囧畾鍥轰欢鐗堟湰淇℃伅_______________
-
- /// <summary>
- /// 鑾峰彇鎸囧畾鍥轰欢鐨勭増鏈俊鎭�(濡傛灉杩斿洖Null,鍒欒〃绀烘病鏈夎繖涓浐浠�)
- /// </summary>
- /// <param name="levelType">鍥轰欢闃剁骇鍒嗙被</param>
- /// <param name="HardwareVersion">纭欢鐗堟湰</param>
- /// <param name="imgType">闀滃儚绫诲瀷</param>
- /// <param name="nowVersion">鐜板湪鐨勭増鏈�</param>
- /// <returns></returns>
- public static FirmwareVersionInfo GetFirmwareVersionInfo(FirmwareLevelType levelType, string HardwareVersion, string imgType, int nowVersion)
- {
- //闀滃儚绫诲瀷
- var listdata = GetFirmwareVersionListInfo(levelType, HardwareVersion, imgType);
- 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)
- {
- return verInfo;
- }
- }
- return null; ;
- }
-
- #endregion
-
#region 鈻� 鍥轰欢瀛樺湪妫�娴媉______________________
/// <summary>
@@ -377,262 +337,6 @@
return false;
}
return true;
- }
-
- /// <summary>
- /// 妫�娴嬭Ota璁惧鐨勫崌绾у浐浠舵槸鍚﹀瓨鍦�
- /// </summary>
- /// <param name="device">璁惧瀵硅薄</param>
- /// <returns></returns>
- public static bool IsEsixtDeviceFirmwareFile(OTADevice device)
- {
- var fileFullName = GetDeviceFirmwareFile(device);
- return System.IO.File.Exists(fileFullName);
- }
-
- /// <summary>
- /// 鑾峰彇ota鎸囧畾鐨勫崌绾у浐浠跺悕瀛�(鍏ㄨ矾寰�)
- /// </summary>
- /// <param name="device">璁惧瀵硅薄</param>
- /// <returns></returns>
- public static string GetDeviceFirmwareFile(OTADevice device)
- {
- //纭欢鐗堟湰_闀滃儚ID_鍥轰欢鐗堟湰
- string fileName = device.HwVersion + "_" + device.ImgTypeId + "_" + device.ImgVersion;
- return System.IO.Path.Combine(DirNameResourse.FirmwareUpdateDirectory, "Device_" + fileName + ".ota");
- }
-
- /// <summary>
- /// 鑾峰彇缃戝叧Linux鐨勫崌绾у浐浠跺悕瀛�(鍏ㄨ矾寰�)
- /// </summary>
- /// <param name="zbGateway">缃戝叧瀵硅薄</param>
- /// <returns></returns>
- public static string GetGatewayLinuxFirmwareFile(ZbGateway zbGateway)
- {
- string fileName = zbGateway.LinuxHardVersion + "_" + zbGateway.LinuxImageType + "_" + zbGateway.LinuxFirmwareVersion;
- return System.IO.Path.Combine(DirNameResourse.FirmwareUpdateDirectory, "Linux_" + fileName + ".ota");
- }
-
- /// <summary>
- /// 鑾峰彇缃戝叧鍗忚皟鍣ㄧ殑鍗囩骇鍥轰欢鍚嶅瓧(鍏ㄨ矾寰�)
- /// </summary>
- /// <param name="zbGateway">缃戝叧瀵硅薄</param>
- /// <returns></returns>
- public static string GetGatewayCoordinatorFirmwareFile(ZbGateway zbGateway)
- {
- string fileName = zbGateway.CoordinatorHardVersion + "_" + zbGateway.CoordinatorImageId + "_" + zbGateway.CoordinatorFirmwareVersion;
- return System.IO.Path.Combine(DirNameResourse.FirmwareUpdateDirectory, "Coordinator_" + fileName + ".ota");
- }
-
- /// <summary>
- /// 鑾峰彇缃戝叧铏氭嫙椹卞姩鐨勫崌绾у浐浠跺悕瀛�(鍏ㄨ矾寰�)
- /// </summary>
- /// <param name="codeObj">铏氭嫙椹卞姩鏁版嵁</param>
- /// <returns></returns>
- public static string GetGatewayDriveCodeFirmwareFile(ZbGatewayData.DriveCodeObj codeObj)
- {
- string fileName = codeObj.DriveHwVersion + "_" + codeObj.DriveImageType + "_" + codeObj.DriveFwVersion;
- return System.IO.Path.Combine(DirNameResourse.FirmwareUpdateDirectory, "DriveCode_" + fileName + ".ota");
- }
-
- #endregion
-
- #region 鈻� 涓嬭浇妯℃澘鍥轰欢_______________________
-
- /// <summary>
- /// 涓嬭浇妯℃澘涓綉鍏冲拰璁惧鐨勫浐浠�
- /// </summary>
- /// <param name="fullFileName"></param>
- /// <param name="i_Msg"></param>
- public static int DownLoadTemplateDeviceFirmware(string fullFileName, string i_Msg)
- {
- //浠庢ā鏉垮綋涓幏鍙栬澶囧拰缃戝叧瀵硅薄
- var listTempDevice = new List<OTADevice>();
- var listTempGateway = new List<ZbGateway>();
- TemplateData.TemplateCommonLogic.Current.GetDeviceObjectFromTemplate(fullFileName, ref listTempDevice, ref listTempGateway);
-
- //鑾峰彇闇�瑕佷笅杞界殑鍥轰欢鏁版嵁
- var listVersion = GetNeedToDownLoadVersionData(listTempDevice, listTempGateway);
- if (listVersion.Count == 0)
- {
- return 0;
- }
- //鎵撳紑杩涘害鏉�
- ProgressFormBar.Current.Start();
- ProgressFormBar.Current.SetMsg(i_Msg);
- ProgressFormBar.Current.SetValue(0, 1);
-
- System.Threading.Thread.Sleep(1000);
-
- var dicFirmwareName = new Dictionary<string, string>();
- var fileData = HdlFileLogic.Current.ReadFileTextContent(DirNameResourse.FirmwareUpdateList);
- if (fileData != null)
- {
- //鏈湴瀛樻斁鐨勫浐浠跺師鏉ョ殑鍚嶅瓧(鍥犱负璁惧鍗囩骇鏃�,瀹冮渶瑕佽瘑鍒枃浠跺悕瀛楅噷闈㈠寘鍚殑鐗规畩瀛楃)
- //key:纭欢鐗堟湰_闀滃儚ID_鍥轰欢鐗堟湰 value:鍥轰欢鍘熸潵鐨勫悕瀛�
- dicFirmwareName = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>(fileData);
- }
-
- //鍥轰欢瀛樺偍璺緞
- string firmwareDir = DirNameResourse.FirmwareUpdateDirectory;
- int nowCount = 0;
- foreach (var versionData in listVersion)
- {
- nowCount++;
- //鑾峰彇鍗囩骇鍥轰欢淇℃伅
- var result = AddFirmwareVersionInfo(versionData.levelType, versionData.HwVersion, versionData.ImageType);
- if (result == -1)
- {
- ProgressFormBar.Current.Close();
- return -1;
- }
- //鑾峰彇褰撳墠杩欎釜鐗堟湰鐨勫浐浠朵俊鎭�
- var versionFirmware = GetFirmwareVersionInfo(versionData.levelType, versionData.HwVersion, versionData.ImageType, versionData.FirmwareVersion);
- if (versionFirmware == null)
- {
- //浜戠娌℃湁杩欎釜鐗堟湰 杩涘害鍊�
- ProgressFormBar.Current.SetValue(nowCount, listVersion.Count);
- continue;
- }
- //鍘讳笅杞借繖涓浐浠�
- var pra = new { RequestVersion = Common.CommonPage.RequestVersion, DistributedMark = versionFirmware.DistributedMark };
- var byteData = UserCenterLogic.GetByteResponseDataByRequestHttps("FirmwareMana/DownloadPlatformUploadFirmware", false, pra, null, true);
- if (byteData == null)
- {
- ProgressFormBar.Current.Close();
- return -1;
- }
- //淇濆瓨鍥轰欢
- var saveFile = System.IO.Path.Combine(firmwareDir, versionData.FileDiv + versionData.HwVersion + "_" + versionData.ImageType + "_" + versionData.FirmwareVersion + ".ota");
- HdlFileLogic.Current.SaveTextToFile(saveFile, Encoding.UTF8.GetString(byteData));
- dicFirmwareName[saveFile] = versionFirmware.Name;
-
- //杩涘害鍊�
- ProgressFormBar.Current.SetValue(nowCount, listVersion.Count);
- }
- //淇濆瓨鍒楄〃鍚嶅瓧
- HdlFileLogic.Current.SaveFileContent(DirNameResourse.FirmwareUpdateList, dicFirmwareName);
- ProgressFormBar.Current.Close();
-
- return 1;
- }
-
- /// <summary>
- /// 鑾峰彇闇�瑕佷笅杞界殑鍥轰欢鏁版嵁
- /// </summary>
- /// <param name="listDevice">璁惧鍒楄〃</param>
- /// <param name="listGateway">缃戝叧鍒楄〃</param>
- /// <returns></returns>
- private static List<TemplateDeviceVersion> GetNeedToDownLoadVersionData(List<OTADevice> listDevice, List<ZbGateway> listGateway)
- {
- //瀛樺偍璺緞
- string firmwareDir = DirNameResourse.FirmwareUpdateDirectory;
- HdlFileLogic.Current.CreateDirectory(firmwareDir);
-
- var listVersion = new List<TemplateDeviceVersion>();
- var listCheck = new HashSet<string>();
- foreach (var device in listDevice)
- {
- //璁惧鐨勫崌绾у浐浠跺悕瀛�
- var fileFullName = GetDeviceFirmwareFile(device);
- if (System.IO.File.Exists(fileFullName) == false && listCheck.Contains(fileFullName) == false)
- {
- listCheck.Add(fileFullName);
- //璁惧
- listVersion.Add(new TemplateDeviceVersion
- {
- FileDiv = "Device_",
- levelType = FirmwareLevelType.ZigbeeDevice,
- HwVersion = device.HwVersion.ToString(),
- ImageType = device.ImgTypeId.ToString(),
- FirmwareVersion = device.ImgVersion
- });
- }
- }
- foreach (var gateway in listGateway)
- {
- //Linux鐨勫崌绾у浐浠跺悕瀛�
- var fileFullName = GetGatewayLinuxFirmwareFile(gateway);
- if (System.IO.File.Exists(fileFullName) == false && listCheck.Contains(fileFullName) == false)
- {
- listCheck.Add(fileFullName);
- //Linux
- listVersion.Add(new TemplateDeviceVersion
- {
- FileDiv = "Linux_",
- levelType = FirmwareLevelType.Linux,
- HwVersion = gateway.LinuxHardVersion.ToString(),
- ImageType = gateway.LinuxImageType.ToString(),
- FirmwareVersion = gateway.LinuxFirmwareVersion
- });
- }
- //鍗忚皟鍣ㄧ殑鍗囩骇鍥轰欢鍚嶅瓧
- fileFullName = GetGatewayCoordinatorFirmwareFile(gateway);
- if (System.IO.File.Exists(fileFullName) == false && listCheck.Contains(fileFullName) == false)
- {
- listCheck.Add(fileFullName);
- //鍗忚皟鍣�
- listVersion.Add(new TemplateDeviceVersion
- {
- FileDiv = "Coordinator_",
- levelType = FirmwareLevelType.Coordinator,
- HwVersion = gateway.CoordinatorHardVersion.ToString(),
- ImageType = gateway.CoordinatorImageId.ToString(),
- FirmwareVersion = gateway.CoordinatorFirmwareVersion
- });
- }
- //杩欎釜缃戝叧闇�瑕佹湁铏氭嫙椹卞姩杩欎釜涓滆タ鎵嶈
- if (gateway.LinuxImageType != 6)
- {
- //铏氭嫙椹卞姩鍙�
- foreach (var data in gateway.DriveCodeList)
- {
- //铏氭嫙椹卞姩鍙风殑鍗囩骇鍥轰欢鍚嶅瓧
- fileFullName = GetGatewayDriveCodeFirmwareFile(data);
- if (System.IO.File.Exists(fileFullName) == false && listCheck.Contains(fileFullName) == false)
- {
- listCheck.Add(fileFullName);
- //铏氭嫙椹卞姩鍙�
- listVersion.Add(new TemplateDeviceVersion
- {
- FileDiv = "DriveCode_",
- levelType = FirmwareLevelType.VirtualDevice,
- HwVersion = data.DriveHwVersion.ToString(),
- ImageType = data.DriveImageType.ToString(),
- FirmwareVersion = data.DriveFwVersion
- });
- }
- }
- }
- }
- return listVersion;
- }
-
- /// <summary>
- /// 妯℃澘璁惧鐨勭増鏈俊鎭�
- /// </summary>
- private class TemplateDeviceVersion
- {
- /// <summary>
- /// 鏂囦欢鍖哄垎
- /// </summary>
- public string FileDiv = string.Empty;
- /// <summary>
- /// 鍥轰欢闃剁骇鍖哄垎
- /// </summary>
- public FirmwareLevelType levelType;
- /// <summary>
- /// 纭欢鐗堟湰
- /// </summary>
- public string HwVersion = string.Empty;
- /// <summary>
- /// 闀滃儚ID
- /// </summary>
- public string ImageType = string.Empty;
- /// <summary>
- /// 鍥轰欢鐗堟湰
- /// </summary>
- public int FirmwareVersion = 0;
}
#endregion
--
Gitblit v1.8.0