From d616b67bd6ea95562af73a00bf0aab38eec935df Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期五, 11 十二月 2020 13:37:26 +0800 Subject: [PATCH] 2020-12-11 1.取消屏幕常亮。2.优化iOS接收推送处理。 --- HDL_ON/Entity/Room.cs | 226 ++++++++++++++++++++++++++++++------------------------- 1 files changed, 123 insertions(+), 103 deletions(-) diff --git a/HDL_ON/Entity/Room.cs b/HDL_ON/Entity/Room.cs index 7d39796..82f16c8 100644 --- a/HDL_ON/Entity/Room.cs +++ b/HDL_ON/Entity/Room.cs @@ -1,6 +1,7 @@ 锘縰sing System; using System.Collections.Generic; using HDL_ON.DAL.Server; +using Shared; namespace HDL_ON.Entity { @@ -50,35 +51,38 @@ public string roomId = ""; public string roomName = ""; - public string roomImage = ""; + //public string roomImage = ""; + public string roomImage = "Classification/Room/Roombg.png"; public string roomType = ""; public string parentId = ""; public string uid = Guid.NewGuid().ToString(); public string createTime = ""; public string modifyTime = ""; - /// <summary> - /// 鍒犻櫎鏍囪 - /// 闇�瑕佸垹闄ゆ暟鎹椂锛屾爣璁颁负锛歵rue - /// 鐢变簯绔垹闄ゆ垚鍔熶箣鍚庯紝杩斿洖鏁版嵁鍐嶆竻闄ゆ湰鍦版暟鎹� - /// </summary> - public bool DeleteSign = false; + ///// <summary> + ///// 鍒犻櫎鏍囪 20201208锛氬彲娆�:APP鐨勫湪绾垮拰绂荤嚎闂锛屽垰鍒氱‘瀹氫簡锛岀绾挎棤娉曠紪杈戯紝鍙兘鎺у埗 + ///// 闇�瑕佸垹闄ゆ暟鎹椂锛屾爣璁颁负锛歵rue + ///// 鐢变簯绔垹闄ゆ垚鍔熶箣鍚庯紝杩斿洖鏁版嵁鍐嶆竻闄ゆ湰鍦版暟鎹� + ///// </summary> + //public bool DeleteSign = false; - protected void SaveSpatialInfo() + protected ResponsePackNew SaveSpatialInfo() { var pm = new HttpServerRequest(); + var revPack = new ResponsePackNew(); if (string.IsNullOrEmpty(createTime) && string.IsNullOrEmpty(modifyTime)) { - pm.AddRoom(new List<SpatialInfo>() { this }); + revPack = pm.AddRoom(new List<SpatialInfo>() { this }); } else if (string.IsNullOrEmpty(createTime) && !string.IsNullOrEmpty(modifyTime)) { - pm.DeleteRoom(new List<string>() { roomId }); + revPack = pm.DeleteRoom(new List<string>() { roomId }); } else if (!string.IsNullOrEmpty(createTime) && !string.IsNullOrEmpty(modifyTime)) { - pm.UpdateRoom(new List<SpatialInfo>() { this }); + revPack = pm.UpdateRoom(new List<SpatialInfo>() { this }); } + return revPack; } /// <summary> @@ -122,13 +126,6 @@ { foreach (var updateTemp in roomUpdateList) { - var localDelRoom = CurrentSpatial.needDeleteRooms.Find((obj) => obj.roomId == updateTemp.roomId); - if(localDelRoom!= null) - { - DelRoom(localDelRoom); - - continue; - } var localRoom = CurrentSpatial.RoomList.Find((obj) => obj.roomId == updateTemp.roomId); if (localRoom != null) { @@ -139,11 +136,11 @@ localRoom.parentId = updateTemp.parentId; localRoom.createTime = updateTemp.createTime; localRoom.modifyTime = updateTemp.modifyTime; - localRoom.SaveRoomData(); + localRoom.SaveRoomData(false); } }else { - updateTemp.SaveRoomData(); + updateTemp.SaveRoomData(false); } } } @@ -152,7 +149,7 @@ CurrentSpatial.DeleteAllRoom(); foreach(var newRoom in roomUpdateList) { - newRoom.SaveRoomData(); + newRoom.SaveRoomData(false); RoomList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Room>( Newtonsoft.Json.JsonConvert.SerializeObject(newRoom))); } @@ -175,7 +172,6 @@ localFloor = updateTemp; } } - CurrentSpatial.SaveFloorData(); } if(optionType == OptionType.Cover) { @@ -184,9 +180,9 @@ { FloorList.Add(updateTemp); } - var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList)); - FileUtils.WriteFileByBytes(dataSavePath, ssd); } + var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList)); + FileUtils.WriteFileByBytes(dataSavePath, ssd); } } @@ -212,10 +208,10 @@ var floorsDataString = System.Text.Encoding.UTF8.GetString(floorsDataBytes); MainPage.Log(floorsDataString); floors = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SpatialInfo>>(floorsDataString); - if (floors == null) - { - floors = new List<SpatialInfo>(); - } + } + if (floors == null) + { + floors = new List<SpatialInfo>(); } } catch (Exception ex) @@ -253,8 +249,13 @@ /// <param name="floor"></param> public void AddFloor(SpatialInfo floor) { - FloorList.Add(floor); - SaveFloorData(); + if (floor.SaveFloorData() == StateCode.SUCCESS) + { + FloorList.Add(floor); + var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList)); + FileUtils.WriteFileByBytes(dataSavePath, ssd); + MainPage.Log($"Save floor Data"); + } } /// <summary> /// 鏇存柊妤煎眰淇℃伅 @@ -262,7 +263,12 @@ /// <param name="floor"></param> public void UpdateFloor() { - SaveFloorData(); + if(SaveFloorData() == StateCode.SUCCESS) + { + var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList)); + FileUtils.WriteFileByBytes(dataSavePath, ssd); + MainPage.Log($"Save floor Data"); + } } /// <summary> /// 鍒犻櫎妤煎眰 @@ -270,24 +276,41 @@ /// <param name="floor"></param> public void DelFloor(SpatialInfo floor) { - var tRoom = FloorList.Find((obj) => obj.uid == floor.uid); - if (tRoom != null) + if (floor == null) + return; + var pm = new HttpServerRequest(); + var code = pm.DeleteRoom(new List<string>() { floor.roomId }).Code; + if (code == StateCode.SUCCESS) { - FloorList.Remove(floor); - floor.DeleteSign = true; + var tRoom = FloorList.Find((obj) => obj.roomId == floor.roomId); + if (tRoom != null) + { + FloorList.Remove(floor); + } + var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList)); + FileUtils.WriteFileByBytes(dataSavePath, ssd); + MainPage.Log($"Save floor Data"); } - SaveFloorData(); + else + { + Utlis.ShowTip(Language.StringByID(StringId.DeleteFloorFail) + "Code:" + code); + } } /// <summary> /// 淇濆瓨妤煎眰鏁版嵁 /// </summary> - void SaveFloorData() + string SaveFloorData() { - var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList)); - FileUtils.WriteFileByBytes(dataSavePath, ssd); - MainPage.Log($"Save floor Data"); - SaveSpatialInfo(); + var pack = SaveSpatialInfo(); + if (pack.Code == StateCode.SUCCESS) + { + } + else + { + Utlis.ShowTip(Language.StringByID(StringId.EditRoomInfoFail) + "Code:" + pack.Code); + } + return pack.Code; } @@ -319,40 +342,11 @@ var roomDataBytes = FileUtils.ReadFile(filePath); var roomDataString = System.Text.Encoding.UTF8.GetString(roomDataBytes); var room = Newtonsoft.Json.JsonConvert.DeserializeObject<Room>(roomDataString); - if (room != null ) + if (room != null) { - if(room.DeleteSign) - { - needDeleteRooms.Add(room); - }else - { - rooms.Add(room); - } + rooms.Add(room); } } - } - if(needDeleteRooms.Count>0) - { - //鍒犻櫎宸茬粡鏍囪闇�瑕佸垹闄ょ殑鎴块棿 - new System.Threading.Thread(() => - { - var delIds = new List<string>(); - foreach(var delTemp in needDeleteRooms) - { - delIds.Add(delTemp.roomId); - } - var pm = new HttpServerRequest(); - var pack = pm.DeleteRoom(delIds); - if (pack.Code == StateCode.SUCCESS) - { - foreach (var delTemp in needDeleteRooms) - { - FileUtils.DeleteFile(delTemp.dataSavePath); - } - needDeleteRooms.Clear(); - } - }) - { IsBackground = true }.Start(); } } catch (Exception ex) @@ -364,19 +358,15 @@ } } /// <summary> - /// 闇�瑕佸垹闄ょ殑鎴块棿 - /// 鏈湴鏍囪鍒犻櫎浜嗭紝浣嗘槸鏈嶅姟涓婃病鏈夊垹闄� - /// 鏃犳硶涓庢湇鍔″櫒閫氳閫犳垚鍒犻櫎涓嶆垚鍔燂紝閫氳鎴愬姛涔嬪悗瑕侀噸鏂板垹闄� - /// </summary> - List<Room> needDeleteRooms = new List<Room>(); - /// <summary> /// 澧炲姞鎴块棿 /// </summary> /// <param name="room"></param> public void AddRoom(Room room) { - RoomList.Add(room); - room.SaveRoomData(); + if (room.SaveRoomData() == StateCode.SUCCESS) + { + RoomList.Add(room); + } } /// <summary> /// 鍒犻櫎鎴块棿 @@ -386,24 +376,16 @@ { new System.Threading.Thread(() => { - room.DeleteSign = true; - room.SaveRoomData(); - var tRoom = RoomList.Find((obj) => obj.uid == room.uid); - if (tRoom != null) - { - RoomList.Remove(room); - } - var temp = needDeleteRooms.Find((obj) => obj.uid == room.uid); - if (temp != null) - { - needDeleteRooms.Add(room); - } var pm = new HttpServerRequest(); var pack = pm.DeleteRoom(new List<string>() { room.roomId }); if (pack.Code == StateCode.SUCCESS) { + var tRoom = RoomList.Find((obj) => obj.roomId == room.roomId); + if (tRoom != null) + { + RoomList.Remove(room); + } FileUtils.DeleteFile(room.dataSavePath); - needDeleteRooms.Remove(room); } }) { IsBackground = true }.Start(); @@ -446,12 +428,21 @@ /// <summary> /// 淇濆瓨鎴块棿鏁版嵁 /// </summary> - public void SaveRoomData() + public string SaveRoomData(bool upServer = true) { - var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this)); - FileUtils.WriteFileByBytes(dataSavePath, ssd); - MainPage.Log($"Save Room Data {roomName} : {uid}"); - SaveSpatialInfo(); + var packCode = StateCode.SUCCESS; + bool needSave = true; + if (upServer) + { + packCode = SaveSpatialInfo().Code; + } + if (needSave) + { + var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this)); + FileUtils.WriteFileByBytes(dataSavePath, ssd); + MainPage.Log($"Save Room Data {dataSavePath}"); + } + return packCode; } #endregion @@ -467,7 +458,26 @@ roomType = "ROOM"; roomName = "Room"; } - public string backgroundImage = "Classification/Room/Roombg.png"; + //public string backgroundImage = "Classification/Room/Roombg.png"; + public string backgroundImage + { + get + { + if (string.IsNullOrEmpty(roomImage)) + { + return "Classification/Room/Roombg.png"; + } + else + { + return roomImage; + } + } + set + { + roomImage = value; + } + } + /// <summary> /// 妤煎眰 @@ -477,12 +487,22 @@ { get { - if (FloorList.Count > 0) + if (CurrentSpatial.FloorList.Count > 0) { - var f = FloorList.Find((obj) => obj.uid == parentId); + var f = CurrentSpatial.FloorList.Find((obj) => obj.uid == parentId); if (f != null) { return f.roomName + " "; + } + else + { + foreach(var f1 in CurrentSpatial.FloorList) + { + if(f1.uid == parentId) + { + return f.roomName + " "; + } + } } } return ""; @@ -506,7 +526,7 @@ { foreach (var f in DB_ResidenceData.functionList.GetAllFunction()) { - if (f.roomIds.Contains(uid) && uid != null) + if (f.roomIds.Contains(roomId) && roomId != null) { functions.Add(f); } @@ -548,7 +568,7 @@ { foreach (var s in DB_ResidenceData.functionList.scenes) { - if (s.roomIds.Contains(uid) && uid != null) + if (s.roomIds.Contains(roomId) && roomId != null) { scenes.Add(s); } -- Gitblit v1.8.0