From 7be877418cd43a80d4e4c4b7413d287e36534b8d Mon Sep 17 00:00:00 2001 From: TianMaiCheng <746290578@qq.com> Date: Wed, 31 Dec 2025 14:19:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=BA=9BBUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BUG1,给天猫上传的设备名字如何为空,天猫就会报错。2 网页上显示的 门开门关,其实本质上是 门磁,现在直接 用门磁的值来表示门开门关 --- CRICS_V3_1124.suo | Bin 12780544 -> 12780544 bytes WebSite/Controllers/ApiController.cs | 14 +++++++++++-- WebSite/Controllers/IoTController.cs | 4 ++++ WebSite/Controllers/RoomStatusController.cs | 21 ++++++++++++++++++-- WebSite/Global.asax.cs | 8 -------- 5 files changed, 35 insertions(+), 12 deletions(-) diff --git a/CRICS_V3_1124.suo b/CRICS_V3_1124.suo index 1030c1f4a82ec6b2b6a2e9abb5549b2b70fe3f74..4725f480d06716093d108e3809370401c6c682d9 100644 GIT binary patch delta 55126 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
Mq5pAn{=@f;psYK3C~c;AyFWm>;!?DVtuC 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 diff --git a/WebSite/Controllers/ApiController.cs b/WebSite/Controllers/ApiController.cs index f29592f..b0b6e62 100644 --- a/WebSite/Controllers/ApiController.cs +++ b/WebSite/Controllers/ApiController.cs @@ -890,13 +890,23 @@ namespace WebSite.Controllers else { scene = RoomTypeSceneManager.Get(int.Parse(sceneID)); - HttpContext.Cache.Insert(KKK, scene, null, Cache.NoAbsoluteExpiration, new TimeSpan(0, 30, 0)); + if (scene != null) + { + HttpContext.Cache.Insert(KKK, scene, null, Cache.NoAbsoluteExpiration, new TimeSpan(0, 30, 0)); + } } if (scene == null) { return Json(new { IsSuccess = false, Result = "房号[" + roomNumber + "]无效的场景" }, JsonRequestBehavior.AllowGet); } - LightControlManager.ApplyScene(host, scene); + //LightControlManager.ApplyScene(host, scene); + string repeat = Guid.NewGuid().ToString("N"); + for (int i = 0; i < 3; i++) + { + Thread.Sleep(200); + // LightControlManager.ApplyScene(host, scene); + LightControlManager.ApplyScene_Repeat(repeat, host, scene); + } SaveSystemLog(AuthorityID, HttpContext.InnerLanguage("SceneControl"), string.Format("打开客房{0}{1}场景", roomNumber, scene.Name), true, "api", hotelID); diff --git a/WebSite/Controllers/IoTController.cs b/WebSite/Controllers/IoTController.cs index cb9e801..7dbb2f5 100644 --- a/WebSite/Controllers/IoTController.cs +++ b/WebSite/Controllers/IoTController.cs @@ -4038,6 +4038,10 @@ namespace WebSite.Controllers devicesItem = new Domain.IoTAliGenieEntity.DevicesItem(); devicesItem.number = hostModal.Modal.ModalAddress; devicesItem.deviceName = hostModal.Modal.Name; + if (string.IsNullOrEmpty(hostModal.Modal.Name)) + { + continue; + } if (!string.IsNullOrEmpty(hostModal.Modal.AliasName)) { devicesItem.aliasList = new List(hostModal.Modal.AliasName.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries));//别名不为空才添加 diff --git a/WebSite/Controllers/RoomStatusController.cs b/WebSite/Controllers/RoomStatusController.cs index 9afe869..b251f38 100644 --- a/WebSite/Controllers/RoomStatusController.cs +++ b/WebSite/Controllers/RoomStatusController.cs @@ -423,8 +423,9 @@ namespace WebSite.Controllers roomModel.HostStatus = is_online; roomModel.RoomNumber = room.RoomNumber; - roomModel.RoomStatus = room.RoomStatus; roomModel.LockStatusName = (room.LockStatus == 1 ? HttpContext.InnerLanguage("LockOn") : HttpContext.InnerLanguage("LockOff")); + + roomModel.RoomStatus = room.RoomStatus; if (room.DoorLock)//房门开还是房门关 { roomModel.RoomStatus += "(" + HttpContext.InnerLanguage("DoorOpen") + ")";//"," + roomModel.LockStatusName + @@ -591,13 +592,29 @@ namespace WebSite.Controllers else { services = HostModalManager.Load(room.HostID, DeviceType.ServiceInfo).Where(r => r.Modal.ActiveIndicator).ToList(); - HttpContext.Cache.Insert(KKServiceInfo,services,null,DateTime.Now.AddMinutes(30),Cache.NoSlidingExpiration); + HttpContext.Cache.Insert(KKServiceInfo, services, null, DateTime.Now.AddMinutes(30), Cache.NoSlidingExpiration); } roomModel.Services = new List(); foreach (var service in services) { string ServiceKey = CacheKey.HostModalStatus_Prefix + "_" + hostID + "_" + service.Modal.ModalAddress; var service_cache_data = CSRedisCacheHelper.Get_Partition(ServiceKey); + if (service_cache_data != null) + { + //之前的门磁服务有的时候会错误判断,使用这个,会准确很高 + if (service.Modal.ModalAddress.Equals("004000013")) + { + roomModel.RoomStatus = room.RoomStatus; + if (service_cache_data.Status == 1)//房门开还是房门关 + { + roomModel.RoomStatus += "(" + HttpContext.InnerLanguage("DoorOpen") + ")";//"," + roomModel.LockStatusName + + } + else + { + roomModel.RoomStatus += "(" + HttpContext.InnerLanguage("DoorClose") + ")";//"," + roomModel.LockStatusName + + } + } + } if (service_cache_data != null && service_cache_data.Status == 1) { roomModel.Services.Add(new ServiceModel diff --git a/WebSite/Global.asax.cs b/WebSite/Global.asax.cs index 6e9e1fd..d961b9c 100644 --- a/WebSite/Global.asax.cs +++ b/WebSite/Global.asax.cs @@ -837,14 +837,6 @@ namespace WebSite Context.ApplicationInstance.CompleteRequest(); return; } - // 频率限制(可选) - if (IsMaliciousRequestRate(ip)) - { - Response.StatusCode = 429; // Too Many Requests - Context.ApplicationInstance.CompleteRequest(); - //Response.End(); - return; - } } catch (Exception ex) {