增加一些功能,比如 修正重启后,队列消费会报错的问题

This commit is contained in:
2026-04-02 15:16:13 +08:00
parent 182186e1fb
commit c13ab0cb56
25 changed files with 589 additions and 176 deletions

View File

@@ -157,7 +157,7 @@ namespace RCUHost.Implement
//来一个数据,把所有的地址拼接起来
string YiJingChuLiGuo = CacheKey.AllReadyDealWith0E_Prefix + "_" + HostNumberOnly;
MemoryCacheHelper.Delete(YiJingChuLiGuo);
ProcessModal_NEW_NEW(host, status.Devices, isTriggerWelcomeMsg, context.MessageID, context.IsMonitor, context.Data, status,context.RemoteEndPoint.ToString());//更新灯光及其他回路状态
ProcessModal_NEW_NEW(host, status.Devices, isTriggerWelcomeMsg, context.MessageID, context.IsMonitor, context.Data, status, context.RemoteEndPoint.ToString());//更新灯光及其他回路状态
string nnn = VVV1 + VVV2;
if (!string.IsNullOrEmpty(nnn))
{
@@ -224,7 +224,7 @@ namespace RCUHost.Implement
public static string Missionsys_Address = ConfigurationManager.AppSettings["missionsys_address"];
public static string MQTTInfo_report_url = ConfigurationManager.AppSettings["debug_log_report_url"].ToString();
private void ProcessModal_NEW_NEW(Host host, ConcurrentDictionary<string, Device> devices, bool IsTriggerWelcomeMsg, string ContextMessageId, bool ismonitor, byte[] OriginalByteList, Status yuanshidata,string EEndPoint)
private void ProcessModal_NEW_NEW(Host host, ConcurrentDictionary<string, Device> devices, bool IsTriggerWelcomeMsg, string ContextMessageId, bool ismonitor, byte[] OriginalByteList, Status yuanshidata, string EEndPoint)
{
string UUID = "9dc6a0ee-dcf1-4385-b05f-09cb463838cd";
UUID = host.FCS_locationUUID;
@@ -747,83 +747,60 @@ namespace RCUHost.Implement
break;
case "004000001"://取电
#region
#region
//0关闭设备
//1打开设备且当前设备处于关闭状态
//取电
//CommonEntity.DataTongJi.MTakeCardData t = new DataTongJi.MTakeCardData();
//t.HostNUMBER = HOSTNUMBER;
//t.HotelCode = HOTEL_CODE;
//t.Status = Convert.ToByte(device.Value.StatusReceiver);
//t.LastUpdateTime = DateTime.Now;
////不管是断电还是取电都要记录
//if (flag == 1||flag==0)
//{
// string sss = Newtonsoft.Json.JsonConvert.SerializeObject(t);
// CSRedisCacheHelper.Publish("redis-takecard_change", sss);
//}
//断电
//if (flag == 0)
//{
// string sss = Newtonsoft.Json.JsonConvert.SerializeObject(t);
// CSRedisCacheHelper.Publish("redis-takecard_change", sss);
//}
#endregion
//拨卡操作
if (flag == 0 && host.RoomCard != null)
{
host.RoomCard = null;
HostRepository.SetRoomCard(host, null);//拔卡操作
//host.RoomCard = null;
//HostRepository.SetRoomCard(host, null);//拔卡操作
}
else if (flag == 1 && host.RoomCard == null)
{
//CSRedisCacheHelper.HMSet(CacheKey.TakeCardOnLine,host.SysHotel.Code+"###"+ host.RoomNumber);
RoomCardType roomCardType = null;
//RoomCardType roomCardType = null;
#region
string MemoryCardKey = "MemoryRoomCardPrefix_1";
object ooo = MemoryCacheHelper.Get(MemoryCardKey);
if (ooo != null)
{
roomCardType = ooo as RoomCardType;
}
else
{
roomCardType = RoomCardTypeRepository.Get(1);//获取有人房卡类型
MemoryCacheHelper.SlideSet(MemoryCardKey, roomCardType);
}
#endregion
//#region 获取有人房卡类
//string MemoryCardKey = "MemoryRoomCardPrefix_1";
//object ooo = MemoryCacheHelper.Get(MemoryCardKey);
//if (ooo != null)
//{
// roomCardType = ooo as RoomCardType;
//}
//else
//{
// roomCardType = RoomCardTypeRepository.Get(1);//获取有人房卡类型
// MemoryCacheHelper.SlideSet(MemoryCardKey, roomCardType);
//}
//#endregion
#region
RoomCard roomCard = null;
string GetRoomCardBy = "GetRoomCardBy_" + roomCardType.ID + "_" + host.SysHotel.ID;
object ooo1 = MemoryCacheHelper.Get(GetRoomCardBy);
if (ooo1 != null)
{
roomCard = ooo as RoomCard;
}
else
{
roomCard = RoomCardRepository.Get(roomCardType, host.SysHotel.ID);
if (roomCard != null)
{
MemoryCacheHelper.Set(GetRoomCardBy, roomCard);
}
}
#endregion
//#region 获取当前酒店独属 这个房间的
//RoomCard roomCard = null;
//string GetRoomCardBy = "GetRoomCardBy_" + roomCardType.ID + "_" + host.SysHotel.ID;
//object ooo1 = MemoryCacheHelper.Get(GetRoomCardBy);
//if (ooo1 != null)
//{
// roomCard = ooo as RoomCard;
//}
//else
//{
// roomCard = RoomCardRepository.Get(roomCardType, host.SysHotel.ID);
// if (roomCard != null)
// {
// MemoryCacheHelper.Set(GetRoomCardBy, roomCard);
// }
//}
//#endregion
if (roomCard == null)//如果该房卡类型未创建记录,自动创建
{
roomCard = new RoomCard();
roomCard.CardNumber = "1";
roomCard.RoomCardType = roomCardType;
roomCard.HotelID = host.SysHotel.ID;
RoomCardRepository.Save(roomCard);
}
host.RoomCard = roomCard;
HostRepository.SetRoomCard(host, roomCard);//插卡操作
//if (roomCard == null)//如果该房卡类型未创建记录,自动创建
//{
// roomCard = new RoomCard();
// roomCard.CardNumber = "1";
// roomCard.RoomCardType = roomCardType;
// roomCard.HotelID = host.SysHotel.ID;
// RoomCardRepository.Save(roomCard);
//}
//host.RoomCard = roomCard;
//HostRepository.SetRoomCard(host, roomCard);//插卡操作
}
#region
@@ -1722,8 +1699,8 @@ namespace RCUHost.Implement
//只有服务信息才会入库
//bool isonly_serviceinfo = true;
if (hostModal.ModalType == DeviceType.ServiceInfo)
//if (isonly_serviceinfo)
bool bbbaaa = hostModal.Modal.Name.Contains("红外") || hostModal.Modal.Name.Contains("infrared") || hostModal.Modal.Name.Contains("雷达") || hostModal.Modal.Name.Contains("radar");
if (hostModal.ModalType == DeviceType.ServiceInfo && bbbaaa == false)
{
HostModal FinallyData = new HostModal();