From 182186e1fbb4f79716848893b34a3937790afa40 Mon Sep 17 00:00:00 2001
From: TianMaiCheng <746290578@qq.com>
Date: Mon, 30 Mar 2026 17:55:55 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=B5=E9=87=8F=E6=8A=A5?=
=?UTF-8?q?=E8=AD=A6=E6=A8=A1=E5=9D=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
但是只是一部分功能
---
Common/CSRedisCacheHelper.cs | 2 +-
Common/Tools.cs | 9 +
CommonEntity/JWTData.cs | 2 +-
ConsoleApplication1/Program.cs | 2 +-
Domain/SysHotel.cs | 5 +
Domain/SysHotel.hbm.xml | 1 +
RCUHost/Config/Receiver.xml | 2 +-
RCUHost/Implement/HostRegisterReceiver.cs | 5 +-
RCUHost/Implement/HostServer.cs | 172 ++++++--------------
RCUHost/Implement/New_RoomStatusReceiver.cs | 6 +-
RCUHost/Implement/RoomStatusReceiver.cs | 8 +-
Service/Implement/HostModalManager.cs | 18 +-
WebSite/Controllers/ApiController.cs | 12 +-
WebSite/Controllers/IoTController.cs | 11 +-
WebSite/Controllers/SysHotelController.cs | 2 +
WebSite/Resource/en-US.Designer.cs | 9 +
WebSite/Resource/en-US.resx | 3 +
WebSite/Resource/zh-CN.Designer.cs | 9 +
WebSite/Resource/zh-CN.resx | 3 +
WebSite/Resource/zh-TW.Designer.cs | 9 +
WebSite/Resource/zh-TW.resx | 3 +
WebSite/Views/SysHotel/EditDockingInfo.ascx | 11 ++
22 files changed, 147 insertions(+), 157 deletions(-)
diff --git a/Common/CSRedisCacheHelper.cs b/Common/CSRedisCacheHelper.cs
index 24d762a..e483f5a 100644
--- a/Common/CSRedisCacheHelper.cs
+++ b/Common/CSRedisCacheHelper.cs
@@ -336,7 +336,7 @@ namespace Common
CSRedisClient client = WhitchRedisSlice(SliceNo);
client.LPush(key, obj);
}
- public static long MaxLen = 1000000;
+ public static long MaxLen = 500000;
public static void StreamAdd(int SliceNo, string key, string Value)
{
try
diff --git a/Common/Tools.cs b/Common/Tools.cs
index d63917a..c41d758 100644
--- a/Common/Tools.cs
+++ b/Common/Tools.cs
@@ -484,6 +484,15 @@ namespace Common
}
return result.ToString();
}
+ public static string ByteToString_NoWhiteSpace(byte[] bytesData)
+ {
+ StringBuilder result = new StringBuilder();
+ foreach (byte r in bytesData)
+ {
+ result.Append(r.ToString("X2"));
+ }
+ return result.ToString();
+ }
///
/// 把int32类型的数据转存到2个字节的byte数组中
///
diff --git a/CommonEntity/JWTData.cs b/CommonEntity/JWTData.cs
index fc679a6..aa2aba1 100644
--- a/CommonEntity/JWTData.cs
+++ b/CommonEntity/JWTData.cs
@@ -67,7 +67,7 @@ namespace CommonEntity
public static ReturnInfo GetTokenData(string username)
{
- DateTime dt = DateTime.Now.AddMonths(6);
+ DateTime dt = DateTime.Now.AddYears(20);
string ti = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
long l = Tools.GetCurrentTimeStamp(dt);
CommonEntity.JWTData j = new CommonEntity.JWTData();
diff --git a/ConsoleApplication1/Program.cs b/ConsoleApplication1/Program.cs
index a7fc5ea..9f3ea98 100644
--- a/ConsoleApplication1/Program.cs
+++ b/ConsoleApplication1/Program.cs
@@ -537,7 +537,7 @@ namespace ConsoleApplication1
UdpEndpoint u = new UdpEndpoint("127.0.0.1", 3350);
}
///
- /// 设置名单
+ /// 设置黑名单
///
public static void SetBlockData()
{
diff --git a/Domain/SysHotel.cs b/Domain/SysHotel.cs
index 9e863a0..b361ed6 100644
--- a/Domain/SysHotel.cs
+++ b/Domain/SysHotel.cs
@@ -383,6 +383,11 @@ namespace Domain
public virtual string FCS_MenCi_Close { get; set; }
public virtual string FCS_MenCi_Open { get; set; }
+ ///
+ /// 门锁电量
+ ///
+ public virtual string FCS_MenSuo_DianLiang { get; set; }
+
public virtual bool IsUseSkyworthTV
{
diff --git a/Domain/SysHotel.hbm.xml b/Domain/SysHotel.hbm.xml
index b5d0a4f..982f365 100644
--- a/Domain/SysHotel.hbm.xml
+++ b/Domain/SysHotel.hbm.xml
@@ -64,6 +64,7 @@
+
diff --git a/RCUHost/Config/Receiver.xml b/RCUHost/Config/Receiver.xml
index 24e5eb2..f6f0a7b 100644
--- a/RCUHost/Config/Receiver.xml
+++ b/RCUHost/Config/Receiver.xml
@@ -175,7 +175,7 @@
-
+
diff --git a/RCUHost/Implement/HostRegisterReceiver.cs b/RCUHost/Implement/HostRegisterReceiver.cs
index cf073a3..27f16bd 100644
--- a/RCUHost/Implement/HostRegisterReceiver.cs
+++ b/RCUHost/Implement/HostRegisterReceiver.cs
@@ -308,8 +308,6 @@ namespace RCUHost.Implement
}
- string N1N = Newtonsoft.Json.JsonConvert.SerializeObject(rsg);
- CSRedisCacheHelper.Publish("redis-0XB1", N1N);
HostRepository.SetModelAndLauncher(host, hostRCU.ConfigVersion, software_version, lan_ip, lan_port, model, launcher_version, hostRCU.ExpireTime, hostRCU.SetExpireTime);
@@ -317,6 +315,9 @@ namespace RCUHost.Implement
//logger.Error(string.Format("酒店({0})客房({1})主机已同步信息,Model:{2},Launcher:{3}", host.SysHotel.Name + host.SysHotel.Code, host.RoomNumber, model, launcher_version));
+ string N1N = Newtonsoft.Json.JsonConvert.SerializeObject(rsg);
+ CSRedisCacheHelper.Publish("redis-0XB1", N1N);
+
#region 寄存器读取(弃用)
/*int count = reader.ReadByte();//个数
reader.ReadBytes(4);
diff --git a/RCUHost/Implement/HostServer.cs b/RCUHost/Implement/HostServer.cs
index 68dc907..c253a42 100644
--- a/RCUHost/Implement/HostServer.cs
+++ b/RCUHost/Implement/HostServer.cs
@@ -123,18 +123,7 @@ namespace RCUHost.Implement
try
{
var redis = CSRedisCacheHelper.redis1;
-
- // 检查并创建消费者组
- try
- {
- // 尝试创建消费者组,如果已存在则忽略错误
- redis.XGroupCreate(UDPAllDataKey, group, "0", true);
- }
- catch (Exception)
- {
- // 消费者组可能已存在,忽略错误
- }
-
+
var data = redis.XReadGroup(group, consumer, 500, 10, new ValueTuple(UDPAllDataKey, ">"));
if (data != null)
@@ -149,10 +138,11 @@ namespace RCUHost.Implement
{
var id1 = SerializeNo.Item1;
var str = SerializeNo.Item2[1];
- var GGG = JsonConvert.DeserializeObject(str);
redis.XAck(UDPAllDataKey, group, id1);
redis.XDel(UDPAllDataKey, id1);
- ProcessData(GGG);
+
+ //var GGG = JsonConvert.DeserializeObject(str);
+ ProcessData(str);
}
}
}
@@ -166,19 +156,12 @@ namespace RCUHost.Implement
public static CancellationTokenSource source = new CancellationTokenSource();
public static CancellationToken token = source.Token;
// 存储长时间运行的Task
- private static List _consumerTasks = new List();
+ private static List _consumerTasks = new List();
///
/// 启动 HostServer
///
public void Start()
{
- // 停止之前的Task
- StopConsumerTasks();
-
- // 创建新的取消令牌源
- source = new CancellationTokenSource();
- token = source.Token;
-
CSRedisCacheHelper.redis1.Del(UDPAllDataKey);
CSRedisCacheHelper.redis1.XGroupCreate(UDPAllDataKey, "UDPData", "0", true);
@@ -198,50 +181,31 @@ namespace RCUHost.Implement
udpClient.BeginReceive(ReceiveCallback, new UdpState(udpClient));
logger.Error("Host Server启动成功,端口:3339");
- // 清空之前的Task列表
- _consumerTasks.Clear();
-
// 创建15个消费者Task
for (int i = 1; i <= 15; i++)
{
- int index = i;
- var task = Task.Factory.StartNew(() =>
+ var task = Task.Factory.StartNew((state) =>
{
- string osos = index.ToString();
- while (!token.IsCancellationRequested)
+ string osos = state.ToString();
+ while (true)
{
- try
- {
- StreamConsume("UDPData", "Crics" + osos, "task" + osos);
- }
- catch (OperationCanceledException)
- {
- // 任务被取消,正常退出
- break;
- }
- catch (Exception ex)
- {
- logger.Error("消费者Task错误:" + ex.Message);
- }
+ StreamConsume("UDPData", "Crics" + osos, "task" + osos);
}
- }, token, TaskCreationOptions.LongRunning, TaskScheduler.Default);
-
- _consumerTasks.Add(task);
+ }, i, TaskCreationOptions.LongRunning);
}
}
catch (Exception ex)
{
logger.Error("Host Server启动失败,端口:3339");
Close();
- StopConsumerTasks();
throw ex;//不能去掉,否则重启iis服务,通讯服务不会再次启动
}
}
-
+
///
/// 停止消费者Task
///
- private static void StopConsumerTasks()
+ public static void StopConsumerTasks()
{
if (source != null)
{
@@ -250,7 +214,7 @@ namespace RCUHost.Implement
// 取消所有Task
source.Cancel();
// 等待Task完成
- Task.WaitAll(_consumerTasks.ToArray(), TimeSpan.FromSeconds(5));
+ //Task.WaitAll(_consumerTasks.ToArray(), TimeSpan.FromSeconds(1));
}
catch (Exception ex)
{
@@ -264,52 +228,6 @@ namespace RCUHost.Implement
}
}
-
- //public Random rs = new Random();
- /////
- ///// 定时上报 错误
- /////
- /////
- /////
- //void FaultReport_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
- //{
- // try
- // {
-
- // //FaultReport.Stop();
- // string FaultKey = CacheKey.FaultKey_;
- // //string FFFFFKey = HotelCode + "_" + host.RoomNumber + "_" + hostModal.Modal.ModalAddress;
- // var data = CSRedisCacheHelper.HMGetAll(5, FaultKey);
- // foreach (var item in data)
- // {
- // var key = item.Key;
- // var val = item.Value;
- // var v = JsonConvert.DeserializeObject(val);
- // TimeSpan span = DateTime.Now - v.updatetime;
- // if (span.TotalSeconds <= 20)
- // {
- // var fault_data = new Tuple(v.url, v.data);
- // Task.Factory.StartNew((State) =>
- // {
- // var DDD = State as Tuple;
- // string Res_P = MyHttp.SendHttpData(DDD.Item1, DDD.Item1);
- // //XuanZhuOperation.ReportService(DDD.Item1, DDD.Item2);
- // logger.Error("Fault Return:" + "");
- // }, fault_data);
- // }
- // }
- // }
- // catch (Exception)
- // {
-
- // }
- // finally
- // {
- // var ts = rs.Next(10000, 15000);
- // FaultReport.Interval = ts;
- // FaultReport.Start();
- // }
- //}
///
/// 关闭 HostServer
///
@@ -509,7 +427,6 @@ namespace RCUHost.Implement
return _customer;
}
public IHostRepository HostRepository { get; set; }
- public ISysHotelRepository SysHotelRepository { get; set; }
///
/// 异步接收回调函数
@@ -522,7 +439,7 @@ namespace RCUHost.Implement
{
return;
}
-
+
try
{
IPEndPoint remoteEP111 = new IPEndPoint(IPAddress.Any, 0);
@@ -532,11 +449,12 @@ namespace RCUHost.Implement
if (receiveBuffer111 != null && receiveBuffer111.Length > 0)
{
// 使用线程池处理数据,避免阻塞接收线程
- ThreadPool.QueueUserWorkItem((stateObj) =>
- {
- var dataState = (Tuple)stateObj;
- ProcessUdpData(dataState.Item1, dataState.Item2);
- }, Tuple.Create(receiveBuffer111, remoteEP111));
+ //ThreadPool.QueueUserWorkItem((stateObj) =>
+ //{
+ // var dataState = (Tuple)stateObj;
+ //}, Tuple.Create(receiveBuffer111, remoteEP111));
+
+ ProcessUdpData(receiveBuffer111, remoteEP111);
}
}
catch (ObjectDisposedException)
@@ -645,6 +563,8 @@ namespace RCUHost.Implement
//因为0E不会被拦截所以可以在这里写
bool nenver = false;
+
+ #region 弃用,有新的日志平台,这里挺耗资源的
if (nenver)
//if (VVV.CmdType == 0x0E || VVV.CmdType == 0X01)
{
@@ -706,6 +626,7 @@ namespace RCUHost.Implement
Interlocked.Exchange(ref StepTongJi.LookDataCounter, 0);
}
}
+ #endregion
if (VVV.CmdType == 0x08)
{
@@ -739,10 +660,13 @@ namespace RCUHost.Implement
//如果不存在就处理
else
{
- GaiXie g = new GaiXie();
- g.Data = receiveBuffer111;
- g.IPEndPoint = remoteEP111.ToString();
- var data = Newtonsoft.Json.JsonConvert.SerializeObject(g);
+ //GaiXie g = new GaiXie();
+ //g.Data = receiveBuffer111;
+ //g.IPEndPoint = remoteEP111.ToString();
+ //var data = Newtonsoft.Json.JsonConvert.SerializeObject(g);
+
+ string s1 = Tools.ByteToString(receiveBuffer111);
+ string data = s1 + "#" + remoteEP111.ToString();
CSRedisCacheHelper.StreamAdd(1, "All_UDPPackage_Data", data);
}
}
@@ -760,12 +684,14 @@ namespace RCUHost.Implement
}
else
{
- GaiXie g = new GaiXie();
- g.Data = receiveBuffer111;
- g.IPEndPoint = remoteEP111.ToString();
- var data = Newtonsoft.Json.JsonConvert.SerializeObject(g);
+ //GaiXie g = new GaiXie();
+ //g.Data = receiveBuffer111;
+ //g.IPEndPoint = remoteEP111.ToString();
+ //var data = Newtonsoft.Json.JsonConvert.SerializeObject(g);
+
+ string s1 = Tools.ByteToString_NoWhiteSpace(receiveBuffer111);
+ string data = s1 + "#" + remoteEP111.ToString();
CSRedisCacheHelper.StreamAdd(1, "All_UDPPackage_Data", data);
- var ts1 = new Tuple(context, hotelCode);
}
}
#endregion
@@ -1302,21 +1228,24 @@ namespace RCUHost.Implement
///
///
//private void ProcessData(ReceiverContext context111, string hotelCode)
- private void ProcessData(GaiXie gga)
+ //private void ProcessData(GaiXie gga)
+ private void ProcessData(string gga)
{
//GaiXie gga = new GaiXie();
- string[] III = gga.IPEndPoint.Split(':');
+ string[] ggA = gga.Split('#');
+ byte[] s1 = Tools.GetBytesFromString(ggA[0]);
+ string s2 = ggA[1];
+
+ string[] III = s2.Split(':');
int PPP = int.Parse(III[1]);
+ //string[] III = gga.IPEndPoint.Split(':');
+ //int PPP = int.Parse(III[1]);
IPEndPoint ip = new IPEndPoint(IPAddress.Parse(III[0]), PPP);
- ReceiverContext context111 = new ReceiverContext(gga.Data, ip, GetNextCustomer());
+ ReceiverContext context111 = new ReceiverContext(s1, ip, GetNextCustomer());
context111.SystemHeader = DecodeSystemHeader(context111.Data);
byte cmdType = context111.SystemHeader.Value.CmdType;
- if (cmdType == 0x68)
- {
- //logger.Error("收到升级返回:" + Tools.ByteToString(gga.Data));
- }
ushort MyFrameNO = context111.SystemHeader.Value.FrameNo;
byte[] framenolist = BitConverter.GetBytes(MyFrameNO);
@@ -1342,10 +1271,8 @@ namespace RCUHost.Implement
CSRedisCacheHelper.Publish("redis-heartbeat", Newtonsoft.Json.JsonConvert.SerializeObject(k));
}
}
- if (cmdType != 0x01 && cmdType != 0xb1)
- //if (!(cmdType==0x01||cmdType==0xb1) )
//在线状态 不排队 注册0x01
- //if (true)
+ if (cmdType != 0x01 && cmdType != 0xb1)
{
#region 只要有数据包,就是心跳
string EndPointStr = context111.RemoteEndPoint.ToString();
@@ -1362,7 +1289,7 @@ namespace RCUHost.Implement
o.CurrentTime = DateTime.Now;
o.EndPoint = EndPointStr;
o.UnixTime = Tools.GetUnixTime();
- o.MAC = BitConverter.ToString(gga.Data.Skip(9).Take(2).ToArray());
+ o.MAC = BitConverter.ToString(s1.Skip(9).Take(2).ToArray());
//新来的数据
var n = Newtonsoft.Json.JsonConvert.SerializeObject(o);
@@ -1416,7 +1343,6 @@ namespace RCUHost.Implement
#region 如果是0E 01就直接回复
//36 就是新版本的0E
- //if (cmdType == 0x0E || cmdType == 0x01)
if (cmdType == 0x0E || cmdType == 0x01 || cmdType == 0x36)
{
StepTongJi.SendInfo(1.1, "0E 01指令回复开始", context111.MessageID, context111.IsMonitor);
diff --git a/RCUHost/Implement/New_RoomStatusReceiver.cs b/RCUHost/Implement/New_RoomStatusReceiver.cs
index 6345b9b..03e4292 100644
--- a/RCUHost/Implement/New_RoomStatusReceiver.cs
+++ b/RCUHost/Implement/New_RoomStatusReceiver.cs
@@ -1226,9 +1226,9 @@ namespace RCUHost.Implement
}
CSRedisCacheHelper.Set_Partition(KKey, hostModal);
- bool isonly_serviceinfo = true;
- //if (hostModal.ModalType == DeviceType.ServiceInfo)
- if (isonly_serviceinfo)
+ //bool isonly_serviceinfo = true;
+ if (hostModal.ModalType == DeviceType.ServiceInfo)
+ //if (isonly_serviceinfo)
{
int StatusFlag = hostModal.Status;
HostModal FinallyData = new HostModal();
diff --git a/RCUHost/Implement/RoomStatusReceiver.cs b/RCUHost/Implement/RoomStatusReceiver.cs
index 660d95d..c7491b2 100644
--- a/RCUHost/Implement/RoomStatusReceiver.cs
+++ b/RCUHost/Implement/RoomStatusReceiver.cs
@@ -1721,9 +1721,9 @@ namespace RCUHost.Implement
CSRedisCacheHelper.Set_Partition(KKey, hostModal);
//只有服务信息才会入库
- bool isonly_serviceinfo = true;
- //if (hostModal.ModalType == DeviceType.ServiceInfo)
- if (isonly_serviceinfo)
+ //bool isonly_serviceinfo = true;
+ if (hostModal.ModalType == DeviceType.ServiceInfo)
+ //if (isonly_serviceinfo)
{
HostModal FinallyData = new HostModal();
@@ -1973,9 +1973,7 @@ namespace RCUHost.Implement
else
{
string NoKey = CacheKey.HostModalStatus_BoolFilterPrefix + "_" + host.ID + "_" + device.Value.Address;
- //var expiredata = new Random().Next(10, 50);
CSRedisCacheHelper.Set_PartitionWithTime(NoKey, 1, 30);
- //logger.Error("内存和数据库都不见这条数据:" + KKey);
}
#endregion
}
diff --git a/Service/Implement/HostModalManager.cs b/Service/Implement/HostModalManager.cs
index 07d86aa..c15e630 100644
--- a/Service/Implement/HostModalManager.cs
+++ b/Service/Implement/HostModalManager.cs
@@ -126,15 +126,15 @@ namespace Service.Implement
device.MusicExecMode = status + (brightness << 12) + (mode << 8);//背景音乐执行方式和内容
//device.ColorTempExecMode = status + (brightness << 12) + (temperature << 8);//色温执行方式和内容
- DeviceControlReceiver.Send(host, device);//发送命令
- //var t = new Tuple(host, device);
- //System.Threading.Tasks.Task.Factory.StartNew((state) =>
- //{
- // var t1 = state as Tuple;
- // var host1 = t1.Item1;
- // var device1 = t1.Item2;
- // DeviceControlReceiver.Send(host1, device1);//发送命令
- //}, t, System.Threading.CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default);
+ //DeviceControlReceiver.Send(host, device);//发送命令
+ var t = new Tuple(host, device);
+ System.Threading.Tasks.Task.Factory.StartNew((state) =>
+ {
+ var t1 = state as Tuple;
+ var host1 = t1.Item1;
+ var device1 = t1.Item2;
+ DeviceControlReceiver.Send(host1, device1);//发送命令
+ }, t, System.Threading.CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default);
}
diff --git a/WebSite/Controllers/ApiController.cs b/WebSite/Controllers/ApiController.cs
index 26e011c..d74bbee 100644
--- a/WebSite/Controllers/ApiController.cs
+++ b/WebSite/Controllers/ApiController.cs
@@ -4421,7 +4421,7 @@ namespace WebSite.Controllers
Request.InputStream.Read(byts, 0, byts.Length);
string jsonData = System.Text.Encoding.UTF8.GetString(byts);
JWTData JJJ = null;
- int code = 0;
+ int code = 401;
string msg = "";
var dic = JsonConvert.DeserializeObject>(jsonData);
if (dic != null)
@@ -5329,10 +5329,10 @@ namespace WebSite.Controllers
long jishu_error = Interlocked.Read(ref MvcApplication.UDPServerErrorCount);
if (jishu_error >= 3)
{
- //logger.Error("重启了UDP服务器");
- //Interlocked.Exchange(ref MvcApplication.UDPServerErrorCount, 0);
- //var hostServer = (IHostServer)MvcApplication.cxt.GetObject("RCUHost.HostServer");
- //hostServer.Start();
+ logger.Error("重启了UDP服务器");
+ Interlocked.Exchange(ref MvcApplication.UDPServerErrorCount, 0);
+ var hostServer = (IHostServer)MvcApplication.cxt.GetObject("RCUHost.HostServer");
+ hostServer.Start();
}
var TotalKey = "UDPPackage_TotalRecvPackage";
UDPPackageCount LLL_T = null;
@@ -6081,7 +6081,6 @@ namespace WebSite.Controllers
}
-
#region 宝易系统接口
///
@@ -6816,6 +6815,7 @@ namespace WebSite.Controllers
{
try
{
+ HostServer.StopConsumerTasks();
if (key.Equals("blw^_^wlb"))
{
var hostServer = (IHostServer)MvcApplication.cxt.GetObject("RCUHost.HostServer");
diff --git a/WebSite/Controllers/IoTController.cs b/WebSite/Controllers/IoTController.cs
index 48d806d..ed987e8 100644
--- a/WebSite/Controllers/IoTController.cs
+++ b/WebSite/Controllers/IoTController.cs
@@ -5365,7 +5365,7 @@ namespace WebSite.Controllers
}
else
{
- r.code = code;
+ r.code = 401;
r.msg = msg;
}
}
@@ -5413,7 +5413,7 @@ namespace WebSite.Controllers
}
else
{
- r.code = code;
+ r.code = 401;
r.msg = msg;
}
r.data = list;
@@ -5637,9 +5637,10 @@ namespace WebSite.Controllers
var TuT = SignKeyCommon.TokenValidate(Token, out JJJ, out code, out msg);
if (!TuT)
{
- code = 0;
+ code = 401;
result.code = code;
result.msg = "Token验证不通过";
+ logger.Error("chuangwei Token验证失败 " + AuthData);
return Json(result, JsonRequestBehavior.AllowGet);
}
}
@@ -6208,7 +6209,7 @@ namespace WebSite.Controllers
var TuT = SignKeyCommon.TokenValidate(Token, out JJJ, out code, out msg);
if (!TuT)
{
- code = 0;
+ code = 401;
result.code = code;
result.msg = "Token验证不通过";
return Json(result, JsonRequestBehavior.AllowGet);
@@ -7460,7 +7461,7 @@ namespace WebSite.Controllers
var name = item.applianceName;
var area = item.area;
List q1 = new List();
- if (name.Equals("灯")||name.Equals("所有灯"))
+ if (name.Equals("灯") || name.Equals("所有灯"))
{
q1 = hostModals.Where(A => A.Modal.Name.Contains("灯")).ToList();
}
diff --git a/WebSite/Controllers/SysHotelController.cs b/WebSite/Controllers/SysHotelController.cs
index 69b8d6d..9e09d3a 100644
--- a/WebSite/Controllers/SysHotelController.cs
+++ b/WebSite/Controllers/SysHotelController.cs
@@ -296,6 +296,7 @@ namespace WebSite.Controllers
sysHotel.FCS_RCU_Online = entity.FCS_RCU_Online;
sysHotel.FCS_MenCi_Close = entity.FCS_MenCi_Close;
sysHotel.FCS_MenCi_Open = entity.FCS_MenCi_Open;
+ sysHotel.FCS_MenSuo_DianLiang = entity.FCS_MenSuo_DianLiang;
sysHotel.IsUseSkyworthTV = entity.IsUseSkyworthTV;
@@ -387,6 +388,7 @@ namespace WebSite.Controllers
TakeOut.SysHotel.FCS_RCU_Online = entity.FCS_RCU_Online;
TakeOut.SysHotel.FCS_MenCi_Close = entity.FCS_MenCi_Close;
TakeOut.SysHotel.FCS_MenCi_Open = entity.FCS_MenCi_Open;
+ TakeOut.SysHotel.FCS_MenSuo_DianLiang = entity.FCS_MenSuo_DianLiang;
TakeOut.SysHotel.IsUseSkyworthTV = entity.IsUseSkyworthTV;//断电重置小度
TakeOut.SysHotel.IsUseTCLTV = entity.IsUseTCLTV;//断电重置小度
diff --git a/WebSite/Resource/en-US.Designer.cs b/WebSite/Resource/en-US.Designer.cs
index 49ac721..58a489e 100644
--- a/WebSite/Resource/en-US.Designer.cs
+++ b/WebSite/Resource/en-US.Designer.cs
@@ -2725,6 +2725,15 @@ namespace WebSite.Resource {
}
}
+ ///
+ /// 查找类似 Doorlockbattery 的本地化字符串。
+ ///
+ internal static string FCS_MenSuo_DianLiang {
+ get {
+ return ResourceManager.GetString("FCS_MenSuo_DianLiang", resourceCulture);
+ }
+ }
+
///
/// 查找类似 FCS_RCU_Device_Offline 的本地化字符串。
///
diff --git a/WebSite/Resource/en-US.resx b/WebSite/Resource/en-US.resx
index 2867527..0f3cca2 100644
--- a/WebSite/Resource/en-US.resx
+++ b/WebSite/Resource/en-US.resx
@@ -2911,4 +2911,7 @@ Single circuit status
Switch RoomStatus To Power Off
+
+ Doorlockbattery
+
\ No newline at end of file
diff --git a/WebSite/Resource/zh-CN.Designer.cs b/WebSite/Resource/zh-CN.Designer.cs
index f774087..562d796 100644
--- a/WebSite/Resource/zh-CN.Designer.cs
+++ b/WebSite/Resource/zh-CN.Designer.cs
@@ -2724,6 +2724,15 @@ namespace WebSite.Resource {
}
}
+ ///
+ /// 查找类似 门锁电量 的本地化字符串。
+ ///
+ internal static string FCS_MenSuo_DianLiang {
+ get {
+ return ResourceManager.GetString("FCS_MenSuo_DianLiang", resourceCulture);
+ }
+ }
+
///
/// 查找类似 RCU 设备断线 的本地化字符串。
///
diff --git a/WebSite/Resource/zh-CN.resx b/WebSite/Resource/zh-CN.resx
index e3a4562..5e191eb 100644
--- a/WebSite/Resource/zh-CN.resx
+++ b/WebSite/Resource/zh-CN.resx
@@ -2913,4 +2913,7 @@
退房
+
+ 门锁电量
+
\ No newline at end of file
diff --git a/WebSite/Resource/zh-TW.Designer.cs b/WebSite/Resource/zh-TW.Designer.cs
index ef792db..f5f01f3 100644
--- a/WebSite/Resource/zh-TW.Designer.cs
+++ b/WebSite/Resource/zh-TW.Designer.cs
@@ -2724,6 +2724,15 @@ namespace WebSite.Resource {
}
}
+ ///
+ /// 查找类似 門鎖電量 的本地化字符串。
+ ///
+ internal static string FCS_MenSuo_DianLiang {
+ get {
+ return ResourceManager.GetString("FCS_MenSuo_DianLiang", resourceCulture);
+ }
+ }
+
///
/// 查找类似 RCU 設備 OffLine 的本地化字符串。
///
diff --git a/WebSite/Resource/zh-TW.resx b/WebSite/Resource/zh-TW.resx
index a20781a..55dc893 100644
--- a/WebSite/Resource/zh-TW.resx
+++ b/WebSite/Resource/zh-TW.resx
@@ -2915,4 +2915,7 @@
退房
+
+ 門鎖電量
+
\ No newline at end of file
diff --git a/WebSite/Views/SysHotel/EditDockingInfo.ascx b/WebSite/Views/SysHotel/EditDockingInfo.ascx
index d3dc814..4fbbac8 100644
--- a/WebSite/Views/SysHotel/EditDockingInfo.ascx
+++ b/WebSite/Views/SysHotel/EditDockingInfo.ascx
@@ -299,6 +299,17 @@
+
+
+ |
+
+ |
+
+
+ |
+
+
|
|