From 30b5770f56f99c1f92e933ad31cf7d2af58b033c Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期三, 02 十二月 2020 16:31:48 +0800 Subject: [PATCH] 20201202 --- HDL_ON/DAL/Server/HttpServerRequest.cs | 407 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 379 insertions(+), 28 deletions(-) diff --git a/HDL_ON/DAL/Server/HttpServerRequest.cs b/HDL_ON/DAL/Server/HttpServerRequest.cs index 421b8e7..f8a99b7 100644 --- a/HDL_ON/DAL/Server/HttpServerRequest.cs +++ b/HDL_ON/DAL/Server/HttpServerRequest.cs @@ -3,10 +3,8 @@ using System.IO; using System.Net; using System.Text; -using HDL_ON.DAL.Mqtt; using HDL_ON.Entity; using Newtonsoft.Json.Linq; -using Shared; namespace HDL_ON.DAL.Server { @@ -408,9 +406,7 @@ /// <returns></returns> public string UpdataUserHeadImage(string fileName) { - FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); - byte[] bytes = new byte[fs.Length]; - fs.Read(bytes, 0, bytes.Length); + byte[] bytes = Shared.IO.FileUtils.ReadFile(fileName); var revertObj = HttpUtil.RequestHttpsUpload(RestSharp.Method.POST, NewAPI.API_POST_Head_Upload, bytes); return revertObj.Code; } @@ -506,6 +502,9 @@ } DB_ResidenceData.residenceData.SaveResidenceData(); UserInfo.Current.SaveUserInfo(); + + //鍒锋柊涓�娆′綇瀹呯綉鍏� + GetHomeGatewayList(); } } @@ -612,42 +611,43 @@ } /// <summary> - /// 鑾峰彇鍒锋柊褰撳墠浣忓畢缃戝叧鎺ュ彛 + /// 鑾峰彇鍒锋柊褰撳墠浣忓畢鐨勭綉鍏冲垪琛� /// </summary> public void GetHomeGatewayList() { - if (string.IsNullOrEmpty(DB_ResidenceData.residenceData.residecenInfo.RegionID)) return; - var nowhomeId = DB_ResidenceData.residenceData.residecenInfo.RegionID; - var requestJson = HttpUtil.GetSignRequestJson(new HomeIdObj() { homeId = nowhomeId }); - var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_GetGatewayList, requestJson); - if (revertObj.Code == StateCode.SUCCESS) + try { - var mHomeGatewayRes = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HomeGatewayInfo>>(revertObj.Data.ToString()); - if (nowhomeId == DB_ResidenceData.residenceData.residecenInfo.RegionID) + if (string.IsNullOrEmpty(DB_ResidenceData.residenceData.residecenInfo.RegionID)) return; + var nowhomeId = DB_ResidenceData.residenceData.residecenInfo.RegionID; + var requestJson = HttpUtil.GetSignRequestJson(new HomeIdObj() { homeId = nowhomeId }); + var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_GetGatewayList, requestJson); + if (revertObj.Code == StateCode.SUCCESS) { - if (mHomeGatewayRes != null) + var mHomeGatewayRes = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HomeGatewayInfo>>(revertObj.Data.ToString()); + if (nowhomeId == DB_ResidenceData.residenceData.residecenInfo.RegionID) { - if (mHomeGatewayRes.Count > 0) + if (mHomeGatewayRes != null) { - DB_ResidenceData.residenceData.residenceGatewayMAC = mHomeGatewayRes[0].mac; + if (mHomeGatewayRes.Count > 0) + { + DB_ResidenceData.residenceData.HomeGateway = mHomeGatewayRes[0]; + DB_ResidenceData.residenceData.SaveResidenceData(); + return; + } } - else - { - DB_ResidenceData.residenceData.residenceGatewayMAC = ""; - - } + //鍏朵綑鎯呭喌娓呯┖缃戝叧淇℃伅 + DB_ResidenceData.residenceData.HomeGateway = null; DB_ResidenceData.residenceData.SaveResidenceData(); } - - if (mHomeGatewayRes != null) - { - //Utlis.WriteLine ("鑾峰緱褰撳墠浣忓畢缃戝叧涓暟锛�" + mHomeGatewayRes.content.Count); - } + } + else + { + //鎻愮ず閿欒 } } - else + catch { - //鎻愮ず閿欒 + } } @@ -709,6 +709,44 @@ }); return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Update, requestJson); } + + #region 鏂版暟鎹垎浜� + /// <summary> + /// 娣诲姞鍒嗕韩 + /// </summary> + /// <param name="addShareObj"></param> + /// <returns></returns> + public ResponsePackNew AddShare(AddShareObj addShareObj) + { + var requestJson = HttpUtil.GetSignRequestJson(addShareObj); + + return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Share_Add, requestJson); + } + + /// <summary> + /// 鍒犻櫎鍒嗕韩 + /// </summary> + /// <param name="deleteShareObj"></param> + /// <returns></returns> + public ResponsePackNew DeleteShare(DeleteShareObj deleteShareObj) + { + var requestJson = HttpUtil.GetSignRequestJson(deleteShareObj); + + return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Share_Delete, requestJson); + } + + /// <summary> + /// 鑾峰彇鍒嗕韩 + /// </summary> + /// <param name="addShareObj"></param> + /// <returns></returns> + public ResponsePackNew GetShare(GetShareObj getShareObj) + { + var requestJson = HttpUtil.GetSignRequestJson(getShareObj); + + return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Share_Delete, requestJson); + } + #endregion /// <summary> /// 鑾峰彇浣忓畢涓嬪瓙璐﹀彿鐨勫叡浜暟鎹垪琛� @@ -1760,5 +1798,318 @@ #endregion + #region Kaede --璁惧鍔熻兘鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� + /// <summary> + /// 鑾峰彇璁惧鍒楄〃 + /// </summary> + /// <returns></returns> + public ResponsePackNew GetDeviceList() + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("gatewayId", DB_ResidenceData.residenceData.HomeGateway.id); + //d.Add("roomId", DB_ResidenceData.residenceData.residecenInfo.RegionID);//鍙帶鍙傛暟锛屽綋闇�瑕佸垎椤佃幏鍙栵紝鎬庝箞鐭ラ亾鍒嗛〉鎬绘暟 + //d.Add("searchType", DB_ResidenceData.residenceData.residecenInfo.RegionID); + //d.Add("pageSize", DB_ResidenceData.residenceData.residecenInfo.RegionID); + //d.Add("pageNo", DB_ResidenceData.residenceData.residecenInfo.RegionID); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetDevcieList, requestJson); + } + /// <summary> + /// 鑾峰彇璁惧璇︽儏鍒楄〃 + /// </summary> + /// <returns></returns> + public ResponsePackNew GetDeviceInfoList(List<string> functionIds) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("deviceIds", functionIds); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetDevcieInfoList, requestJson); + } + /// <summary> + /// 鎺у埗璁惧 + /// </summary> + /// <returns></returns> + public ResponsePackNew ControlDevice(List<ApiAlinkControlActionObj> actionObjs) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("gatewayId", DriverLayer.Control.Ins.GatewayId); + d.Add("actions", actionObjs); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_ControlDevice, requestJson); + } + /// <summary> + /// 璁惧缁戝畾鎴块棿 + /// </summary> + public string BindDeviceToRoom(string deviceId,string roomId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("deviceIds", new List<string>() { deviceId}); + d.Add("roomIds", new List<string>() { roomId}); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_BindDeviceToRoom, requestJson).Code; + } + /// <summary> + /// 璁惧瑙g粦鎴块棿 + /// </summary> + public string UnbindDeviceToRoom(string deviceId, string roomId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("deviceIds", new List<string>() { deviceId }); + d.Add("roomIds", new List<string>() { roomId }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_UnbindDeviceToRoom, requestJson).Code; + } + /// <summary> + /// 璁惧鍚嶇О淇敼 + /// </summary> + public string EditDeviceName(string deviceId, string deviceName) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("deviceId", deviceId); + d.Add("name", deviceName); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_EditDeviceName, requestJson).Code; + } + /// <summary> + /// 鏀惰棌璁惧 + /// </summary> + public string CollectDevice(string deviceId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("deviceId",new List<string>() { deviceId }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CollectDevice, requestJson).Code; + } + /// <summary> + /// 鍙栨秷鏀惰棌璁惧 + /// </summary> + public string CancelCollectDevice(string deviceId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("deviceId", new List<string>() { deviceId }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CancelCollectDevice, requestJson).Code; + } + + #endregion + + #region Kaede --鍦烘櫙鍔熻兘-------------------------- + /// <summary> + /// 鑾峰彇鍦烘櫙鍒楄〃 + /// 鎴块棿ID鍙┖锛岄粯璁ゆ煡璇綇瀹呬笅鎵�鏈夋埧闂� + /// </summary> + /// <param name="roomId">鎴块棿ID</param> + /// <returns></returns> + public ResponsePackNew GetSceneList(string roomId = null) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + if (roomId != null) + { + d.Add("roomId", roomId); + } + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetSecneList, requestJson); + } + /// <summary> + /// 鑾峰彇鍦烘櫙璇︽儏 + /// </summary> + /// <param name="seceneId">鍦烘櫙ID</param> + /// <returns></returns> + public ResponsePackNew GetSceneInfo(string seceneId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("userSceneIds",new List<string>() { seceneId }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetSecneList, requestJson); + } + /// <summary> + /// 娣诲姞鍦烘櫙 + /// </summary> + /// <returns></returns> + public ResponsePackNew AddScene(Scene scene) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("scenes", new List<Scene>() { scene }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_EditSecne, requestJson); + } + /// <summary> + /// 缂栬緫鍦烘櫙 + /// </summary> + /// <param name="scene"></param> + /// <returns></returns> + public ResponsePackNew EditScene(Scene scene) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("scenes", new List<Scene>() { scene }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_EditSecne, requestJson); + } + /// <summary> + /// 鍒犻櫎鍦烘櫙 + /// </summary> + /// <returns></returns> + public string DeleteScene(string userSceneId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("userSceneIds", new List<string>() { userSceneId }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_DeleteSecne, requestJson).Code; + } + /// <summary> + /// 鎵ц鍦烘櫙 + /// </summary> + /// <returns></returns> + public string ExecuteScene(string userSceneId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("userSceneIds", new List<string>() { userSceneId }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_ExecuteSecne, requestJson).Code; + } + /// <summary> + /// 鏀惰棌鍦烘櫙 + /// </summary> + /// <param name="userSceneId"></param> + /// <returns></returns> + public string CollectScene(string userSceneId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("userSceneIds", new List<string>() { userSceneId }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CollectScene, requestJson).Code; + } + /// <summary> + /// 鍙栨秷鏀惰棌鍦烘櫙 + /// </summary> + /// <param name="userSceneId"></param> + /// <returns></returns> + public string CancelCollectScene(string userSceneId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("userSceneIds", new List<string>() { userSceneId }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CancelCollectScene, requestJson).Code; + } + #endregion + + #region Kaede --鎴块棿鍔熻兘-------------------------- + /// <summary> + /// 鑾峰彇鎴块棿鍒楄〃 + /// </summary> + /// <param name="GetType">鑾峰彇绫诲瀷锛歊OOM\FLOOR;涓嶈緭鍏ヨ繑鍥炲叏閮�</param> + /// <returns></returns> + public ResponsePackNew GetRoomList(string GetType = "All") + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + if (GetType != "All") + { + d.Add("roomType", GetType); + } + var requestJson = HttpUtil.GetSignRequestJson(d); + var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetRoomList, requestJson); + var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SpatialInfo>>(pack.Data.ToString()); + if (revData != null) + { + foreach (var spatial in revData) + { + spatial.UpdateSpatialInfoData(); + } + } + return pack; + } + /// <summary> + /// 娣诲姞鎴块棿\妤煎眰 + /// 妤煎眰涔熷睘浜庢埧闂� + /// </summary> + /// <returns></returns> + public ResponsePackNew AddRoom(List<SpatialInfo> rooms) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("rooms", rooms); + + var requestJson = HttpUtil.GetSignRequestJson(d); + var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_AddRoom, requestJson); + var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SpatialInfo>>(pack.Data.ToString()); + if (revData != null) + { + foreach (var spatial in revData) + { + spatial.UpdateSpatialInfoData(); + } + } + return pack; + } + /// <summary> + /// 淇敼鎴块棿淇℃伅 + /// </summary> + /// <returns></returns> + public ResponsePackNew UpdateRoom(List<SpatialInfo> rooms) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("rooms", rooms); + + var requestJson = HttpUtil.GetSignRequestJson(d); + var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_UpdateRoom, requestJson); + var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SpatialInfo>>(pack.Data.ToString()); + if (revData != null) + { + foreach (var spatial in revData) + { + spatial.UpdateSpatialInfoData(); + } + } + return pack; + } + /// <summary> + /// 鍒犻櫎鎴块棿 + /// </summary> + /// <param name="roomIds"></param> + /// <returns></returns> + public ResponsePackNew DeleteRoom(List<string> roomIds) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("ids", roomIds); + + var requestJson = HttpUtil.GetSignRequestJson(d); + var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_DelRoom, requestJson); + return pack; + } + + #endregion } } \ No newline at end of file -- Gitblit v1.8.0