From 0f5621a418ad71a7b68a2d2b23a6b7893b28ae7d Mon Sep 17 00:00:00 2001 From: TianMaiCheng <746290578@qq.com> Date: Thu, 12 Mar 2026 13:37:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8E=E5=8D=97=E5=90=8C=E6=B4=BE=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=20=E9=AB=98=E4=B8=AD=E9=A3=8E=E6=8D=A2=E6=88=90?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=A1=A3=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CRICS_V3_1124.suo | Bin 12780544 -> 12780544 bytes CommonEntity/CacheKey.cs | 4 +++ RCUHost/Implement/HostServer.cs | 43 ++++++++++++++++++++++++--- WebSite/Controllers/ApiController.cs | 34 ++++++++++++++++++++- WebSite/Controllers/IoTController.cs | 2 +- 5 files changed, 77 insertions(+), 6 deletions(-) diff --git a/CRICS_V3_1124.suo b/CRICS_V3_1124.suo index 913694f022795429becec82e6788bb16b7b705b7..8ef3c2a2d94bd4ea263aefbda3b3e918e9632e69 100644 GIT binary patch delta 17963 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 SIO1J|3vq&!zF1dT_WuBnaLG0R diff --git a/CommonEntity/CacheKey.cs b/CommonEntity/CacheKey.cs index 57f2eda..7bd5d48 100644 --- a/CommonEntity/CacheKey.cs +++ b/CommonEntity/CacheKey.cs @@ -128,6 +128,10 @@ namespace CommonEntity public static string FaultKey_ = "FaultKey_"; public static string ServerStartTime = "ServerStartTime"; + /// + /// 济南同派 特殊处理 + /// + public static string JiNan_TongPai_Spec = "jntp_spec"; } public class ChangLiangValue { diff --git a/RCUHost/Implement/HostServer.cs b/RCUHost/Implement/HostServer.cs index cbfbace..f8a962c 100644 --- a/RCUHost/Implement/HostServer.cs +++ b/RCUHost/Implement/HostServer.cs @@ -1260,7 +1260,7 @@ namespace RCUHost.Implement byte cmdType = context111.SystemHeader.Value.CmdType; if (cmdType == 0x68) { - logger.Error("收到升级返回:" + Tools.ByteToString(gga.Data)); + //logger.Error("收到升级返回:" + Tools.ByteToString(gga.Data)); } ushort MyFrameNO = context111.SystemHeader.Value.FrameNo; @@ -1282,7 +1282,7 @@ namespace RCUHost.Implement k.device_id = HostNNN; k.room_id = RoomNUMBER; k.ts_ms = Tools.GetUnixTime_MS(); - k.current_time = CPUData.GetNowPrecise().ToString("yyyy-MM-dd HH:mm:ss.ffffff") ; + k.current_time = CPUData.GetNowPrecise().ToString("yyyy-MM-dd HH:mm:ss.ffffff"); CSRedisCacheHelper.Publish("redis-heartbeat", Newtonsoft.Json.JsonConvert.SerializeObject(k)); } } @@ -1322,7 +1322,11 @@ namespace RCUHost.Implement { CSRedisCacheHelper.Publish("redis-on_off_line", n); } + //6号分区 做离在线数据 + //但是离线的时候,只能得到Key值 CSRedisCacheHelper.Set_PartitionWithTime(EndPointStr, n, 5, 6); + + //所以4号分区再存储一下 详细信息 CSRedisCacheHelper.Set_PartitionWithTime(EndPointStr, n, 20, 4); @@ -1767,6 +1771,7 @@ namespace RCUHost.Implement byte[] framenolist = ts.Item4; byte cmdType = ts.Item5; string EndPoint = ts.Item6; + #region 主机重启 if (cmdType == 0x33) { @@ -1805,6 +1810,8 @@ namespace RCUHost.Implement string mns1 = Newtonsoft.Json.JsonConvert.SerializeObject(ns); CSRedisCacheHelper.Publish("redis-rcu-restart", mns1); } + #endregion + #region 取电 if (cmdType == 0x35) { @@ -1923,7 +1930,6 @@ namespace RCUHost.Implement //P26~P29:通道能耗,单位:Wh(1度电 = 1KWh) //P30~P33:通道总能耗,单位:Wh(1度电 = 1KWh) - #region 定时上报 if (cmdType == 0x36) { @@ -2549,6 +2555,27 @@ namespace RCUHost.Implement int temperature = 0;//设定温度 int currentTemp = 0;//当前温度(室内温度) KongTiaoReport(StatusReceiver, out status, out temperature, out mode, out fanspeed, out currentTemp); + if (hotelCode.Equals("2144")) + { + if (fanspeed == 2 || fanspeed == 3) + { + string KKKSpec = HostNNN + "_" + address; + if (status == 1) + { + string ReportTime111 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + //JiNamTongPaiTeShu j111 = new JiNamTongPaiTeShu(); + //j111.HostNumber = HostNNN; + //j111.Address = address; + //j111.CurrentTime = ReportTime111; + + CSRedisCacheHelper.HMSet(5, CacheKey.JiNan_TongPai_Spec, KKKSpec, ReportTime111); + } + if (status == 0) + { + CSRedisCacheHelper.HDel(5, CacheKey.JiNan_TongPai_Spec, KKKSpec); + } + } + } KongTiao kkk = new KongTiao(); kkk.state = status; @@ -2686,7 +2713,7 @@ namespace RCUHost.Implement } #endregion - //向服务器获取房态 + #region 向服务器获取房态 if (cmdType == 0x32) { try @@ -2714,8 +2741,16 @@ namespace RCUHost.Implement logger.Error("CmdType Error" + ex.StackTrace); } } + #endregion + }, Tuple); } + public struct JiNamTongPaiTeShu + { + public string HostNumber { get; set; } + public string Address { get; set; } + public string CurrentTime { get; set; } + } /// /// 空调上报解析 diff --git a/WebSite/Controllers/ApiController.cs b/WebSite/Controllers/ApiController.cs index dd23829..b78be13 100644 --- a/WebSite/Controllers/ApiController.cs +++ b/WebSite/Controllers/ApiController.cs @@ -6306,7 +6306,7 @@ namespace WebSite.Controllers var uuu = JsonConvert.DeserializeObject(jsonData); int roomtypeid = uuu.roomtype_id; var lll = uuu.CarbonVIPList; - var rlist = RoomTypeModalManager.LoadAll(roomtypeid, 1); + var rlist = RoomTypeModalManager.LoadAll(roomtypeid, 0); foreach (var item in lll) { var add = item.ModalAddress; @@ -6380,6 +6380,38 @@ namespace WebSite.Controllers public bool IsUploadBaoJing { get; set; } } + [HttpPost()] + public ActionResult JiNanTongPai_Spec() + { + try + { + + var dic = CSRedisCacheHelper.HMGetAll(5, CacheKey.JiNan_TongPai_Spec); + foreach (var item in dic) + { + var k = item.Key; + var v = item.Value; + DateTime ti = DateTime.Parse(v); + if (k.Contains("_")) + { + var span = DateTime.Now - ti; + if (span.TotalSeconds >= 60 && span.TotalMinutes <= 75) + { + string[] h_a = k.Split('_'); + Host host = new Host() { HostNumber = h_a[0], MAC = "" }; + HostModal hostModal = new HostModal() { Modal = new RoomTypeModal() { ModalAddress = h_a[1], Type = DeviceType.AirConditioner } }; + HostModalManager.SetDevice(host, hostModal, 0, 0, 0, 0); + } + } + } + return Json(new { IsSuccess = true, Message = HttpContext.InnerLanguage("SaveSuccess") }); + } + catch (Exception ex) + { + return Json(new { IsSuccess = false, Message = HttpContext.InnerLanguage("SaveFailedBecause") + ex.Message }); + } + } + [HttpGet()] public ActionResult GetAllModelName() { diff --git a/WebSite/Controllers/IoTController.cs b/WebSite/Controllers/IoTController.cs index 1eaa19b..3c4a29f 100644 --- a/WebSite/Controllers/IoTController.cs +++ b/WebSite/Controllers/IoTController.cs @@ -1628,7 +1628,7 @@ namespace WebSite.Controllers { string tiaowen = request.header.name; - if (tiaowen.Equals("IncrementTemperatureRequest") || tiaowen.Equals("IncrementTemperatureRequest")) + if (tiaowen.Equals("IncrementTemperatureRequest") || tiaowen.Equals("DecrementTemperatureRequest")) { HostModalManager.SetDevice(host, hostModal, 1, 0); Thread.Sleep(50);