From 62d77d3bb8e7215d9da9ecf6f5aeda0b69f805f8 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期二, 08 十二月 2020 18:57:15 +0800 Subject: [PATCH] 20201208 --- HDL_ON/Entity/Function/Scene.cs | 92 +++++++++++++++++++++------------------------ 1 files changed, 43 insertions(+), 49 deletions(-) diff --git a/HDL_ON/Entity/Function/Scene.cs b/HDL_ON/Entity/Function/Scene.cs index c8d208e..362a245 100644 --- a/HDL_ON/Entity/Function/Scene.cs +++ b/HDL_ON/Entity/Function/Scene.cs @@ -49,6 +49,10 @@ /// </summary> public List<string> roomIds = new List<string>(); /// <summary> + /// 鎵�灞炴埧闂村垪琛� + /// </summary> + public List<string> uids = new List<string>(); + /// <summary> /// 寤舵椂 /// </summary> public int delay = 0; @@ -134,21 +138,18 @@ public List<ScenePushConfig> pushConfigs = new List<ScenePushConfig>(); /// <summary> - /// 鐢熸垚鍦烘櫙sid + /// 鐢熸垚閫昏緫sid鏂规硶 /// </summary> - public void NewSid() + public string NewSid() { - string sSceneid = ""; + string sceneId = ""; try { string sOidBeginsWith = "000101";//鍘傚晢 + 閫氳鏂瑰紡 DateTime dt = DateTime.Now; - - DateTime startTime = TimeZoneInfo.ConvertTimeToUtc(new DateTime(2020, 1, 1)); long m = (long)((dt - startTime).TotalMilliseconds / 10); string sTimeSpan = "00000000"; - byte[] arry = new byte[4]; arry[0] = (byte)(m & 0xFF); @@ -167,25 +168,29 @@ sTimeSpan = "00000000"; } - sSceneid = sOidBeginsWith + sTimeSpan; + sceneId = sOidBeginsWith + sTimeSpan; - sSceneid += "0A"; - sSceneid += "0A01"; - //0A01 鐗╂ā鍨嬩负鍦烘櫙锛� 0001 琛ㄧず 1 鍙峰満鏅姛鑳� - int iTopSceneId = 1; + sceneId += "0A"; + sceneId += "0A01"; + int maxId = 1; - Random random = new Random(); - iTopSceneId = random.Next(0, 255); - iTopSceneId += random.Next(0, 255); - sSceneid += iTopSceneId.ToString("X4");//鍦烘櫙鍙� 涓や釜byte - sSceneid += "1100"; - sid = sSceneid; + for (int i = 0; i < FunctionList.List.scenes.Count; i++) + { + string s = FunctionList.List.scenes[i].sid.Substring(20, 4); + int iThisSceneId = Convert.ToInt16(s, 16); + if (iThisSceneId > maxId) + maxId = iThisSceneId; + } + + sceneId += (maxId + 1).ToString("X4"); + sceneId += "0000"; } catch { - sid = sSceneid; + return sceneId; } + return sceneId; } /// <summary> @@ -230,12 +235,15 @@ /// <summary> /// 淇濆瓨鍔熻兘鏁版嵁 /// </summary> - public void SaveSceneData() + public void SaveSceneData(bool upServer) { + if (upServer) + { + UploadScene(); + } var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this)); FileUtils.WriteFileByBytes(savePath, ssd); MainPage.Log($"Save Scene Data : {savePath}"); - UploadScene(); } /// <summary> @@ -245,44 +253,30 @@ { var pm = new HttpServerRequest(); ResponsePackNew revPack; - if (DeleteSign) + if (string.IsNullOrEmpty(createTime) && string.IsNullOrEmpty(modifyTime)) { - var resCode = pm.DeleteScene(userSceneId); - } - else - { - if (string.IsNullOrEmpty(createTime) && string.IsNullOrEmpty(modifyTime)) + revPack = pm.AddScene(this); + if (revPack.Code == StateCode.SUCCESS) { - revPack = pm.AddScene(this); - if (revPack.Code == StateCode.SUCCESS) - { - var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this)); - FileUtils.WriteFileByBytes(savePath, ssd); - } + var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this)); + FileUtils.WriteFileByBytes(savePath, ssd); } - else if (!string.IsNullOrEmpty(createTime) && !string.IsNullOrEmpty(modifyTime)) + } + else if (!string.IsNullOrEmpty(createTime) && !string.IsNullOrEmpty(modifyTime)) + { + revPack = pm.EditScene(this); + if (revPack.Code == StateCode.SUCCESS) { - revPack = pm.EditScene(this); - if (revPack.Code == StateCode.SUCCESS) + var scenes = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(revPack.Data.ToString()); + var tempScene = scenes.Find((obj) => obj.sid == sid); + if (tempScene != null) { - var scenes = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(revPack.Data.ToString()); - var tempScene = scenes.Find((obj) => obj.sid == sid); - if (tempScene != null) - { - var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(tempScene)); - FileUtils.WriteFileByBytes(savePath, ssd); - } + var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(tempScene)); + FileUtils.WriteFileByBytes(savePath, ssd); } } } } - - /// <summary> - /// 鍒犻櫎鏍囪 - /// 闇�瑕佸垹闄ゆ暟鎹椂锛屾爣璁颁负锛歵rue - /// 鐢变簯绔垹闄ゆ垚鍔熶箣鍚庯紝杩斿洖鏁版嵁鍐嶆竻闄ゆ湰鍦版暟鎹� - /// </summary> - public bool DeleteSign = false; /// <summary> /// 浜戠鏁版嵁鍒涘缓鐨勬椂闂� -- Gitblit v1.8.0