有恶意请求,增加恶意请求的拦截
如题
This commit is contained in:
@@ -537,277 +537,285 @@ namespace Service.Implement
|
||||
/// <param name="wxValidate"></param>
|
||||
public void ChangeRoomStatus(Host host, RoomStatus roomStatus, string wxValidate)
|
||||
{
|
||||
logger.Error("触发状态ID:" + roomStatus.ID);
|
||||
RoomStatusChangedReceiver.SendRoomStatus(host, roomStatus);
|
||||
host.RoomStatus = roomStatus;
|
||||
|
||||
Host host_takeout = null;
|
||||
string Key = CacheKey.HostInfo_Key_HostNumber + "_" + host.HostNumber;
|
||||
object obj = MemoryCacheHelper.Get(Key);
|
||||
if (obj != null)
|
||||
try
|
||||
{
|
||||
host_takeout = (Host)obj;
|
||||
host_takeout.RoomStatus = roomStatus;
|
||||
}
|
||||
logger.Error("触发状态ID:" + roomStatus.ID);
|
||||
RoomStatusChangedReceiver.SendRoomStatus(host, roomStatus);
|
||||
host.RoomStatus = roomStatus;
|
||||
|
||||
if (!string.IsNullOrEmpty(wxValidate))
|
||||
{
|
||||
host.WXValidate = wxValidate;
|
||||
}
|
||||
CurrentRepository.Update(host);
|
||||
|
||||
|
||||
#region 语言重置
|
||||
|
||||
if (roomStatus.ID == 2 || roomStatus.ID == 8)//开房和退房时重置
|
||||
{
|
||||
if (!string.IsNullOrEmpty(host.XiaoDuCUID))
|
||||
Host host_takeout = null;
|
||||
string Key = CacheKey.HostInfo_Key_HostNumber + "_" + host.HostNumber;
|
||||
object obj = MemoryCacheHelper.Get(Key);
|
||||
if (obj != null)
|
||||
{
|
||||
string accessToken = SysOauth2Repository.GetXiaoDuToken();
|
||||
if (!string.IsNullOrEmpty(accessToken) && host.SysHotel.IsPowerOffResetXiaoDu)
|
||||
host_takeout = (Host)obj;
|
||||
host_takeout.RoomStatus = roomStatus;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(wxValidate))
|
||||
{
|
||||
host.WXValidate = wxValidate;
|
||||
}
|
||||
CurrentRepository.Update(host);
|
||||
|
||||
|
||||
#region 语言重置
|
||||
|
||||
if (roomStatus.ID == 2 || roomStatus.ID == 8)//开房和退房时重置
|
||||
{
|
||||
if (!string.IsNullOrEmpty(host.XiaoDuCUID))
|
||||
{
|
||||
string accessToken = SysOauth2Repository.GetXiaoDuToken();
|
||||
if (!string.IsNullOrEmpty(accessToken) && host.SysHotel.IsPowerOffResetXiaoDu)
|
||||
{
|
||||
System.Threading.Tasks.Task.Factory.StartNew(() =>
|
||||
{
|
||||
foreach (string cuid in host.XiaoDuCUID.Split(','))//多个小度英文逗号隔开
|
||||
{
|
||||
XiaoDuOperation.PostWebRequestToXiaoDu(accessToken, cuid, new XiaoDuParamJson() { method = "reset" }, host.SysHotel.Code, host.RoomNumber);//重置小度
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
if (!string.IsNullOrEmpty(host.TianMaoCUID))
|
||||
{
|
||||
System.Threading.Tasks.Task.Factory.StartNew(() =>
|
||||
{
|
||||
foreach (string cuid in host.XiaoDuCUID.Split(','))//多个小度英文逗号隔开
|
||||
foreach (string cuid in host.TianMaoCUID.Split(','))//多个英文逗号隔开
|
||||
{
|
||||
XiaoDuOperation.PostWebRequestToXiaoDu(accessToken, cuid, new XiaoDuParamJson() { method = "reset" }, host.SysHotel.Code, host.RoomNumber);//重置小度
|
||||
TianMaoOperation.PostWebRequestToTianMao("CheckoutWithAK",
|
||||
Newtonsoft.Json.JsonConvert.SerializeObject(new { HotelId = cuid.Split('&')[0], RoomNo = cuid.Split('&')[1] }), host.SysHotel.Code, host.RoomNumber);//重置天猫精灵
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
if (!string.IsNullOrEmpty(host.TianMaoCUID))
|
||||
{
|
||||
System.Threading.Tasks.Task.Factory.StartNew(() =>
|
||||
{
|
||||
foreach (string cuid in host.TianMaoCUID.Split(','))//多个英文逗号隔开
|
||||
{
|
||||
TianMaoOperation.PostWebRequestToTianMao("CheckoutWithAK",
|
||||
Newtonsoft.Json.JsonConvert.SerializeObject(new { HotelId = cuid.Split('&')[0], RoomNo = cuid.Split('&')[1] }), host.SysHotel.Code, host.RoomNumber);//重置天猫精灵
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
if (roomStatus.ID == 8)
|
||||
{
|
||||
#region 退房后空调控制
|
||||
HotelSeason hotelSeason = HotelSeasonRepository.LoadByHotelID(host.SysHotel.ID);//获取该酒店下季节设置记录
|
||||
if (hotelSeason != null)
|
||||
{
|
||||
//条件:1出租后,2取电后,3断电后
|
||||
List<HotelAirControl> list = HotelAirControlRepository.LoadAll(host.SysHotel.ID, 4, true);
|
||||
List<HostModal> hostModals = HostModalRepository.LoadByHostID(host.ID).Where(r => r.Modal.Type == DeviceType.AirConditioner && r.Modal.ActiveIndicator).ToList();//获取启用的空调回路
|
||||
if (list.Count > 0 && hostModals.Count > 0)
|
||||
{
|
||||
System.Reflection.PropertyInfo[] properties = typeof(HotelSeason).GetProperties();//获取所有属性
|
||||
foreach (HotelAirControl item in list)
|
||||
{
|
||||
foreach (System.Reflection.PropertyInfo prop in properties)//遍历属性
|
||||
{
|
||||
if (prop.Name == "Month" + DateTime.Now.Month.ToString() && Convert.ToInt16(prop.GetValue(hotelSeason, null)) == item.Season)//当前月份所属该季节,则发送命令给rcu设置空调
|
||||
{
|
||||
#region 备用方案
|
||||
//var TTT = new Tuple<Host, HotelAirControl, List<HostModal>>(host, item, hostModals);
|
||||
//Task.Factory.StartNew((state) =>
|
||||
// {
|
||||
// System.Threading.Thread.Sleep(item.DelayTime * 1000);//延迟执行
|
||||
|
||||
// Tuple<Host, HotelAirControl, List<HostModal>> NNN = state as Tuple<Host, HotelAirControl, List<HostModal>>;
|
||||
|
||||
// var QQ0 = NNN.Item1;
|
||||
// var QQ1 = NNN.Item2;
|
||||
// var QQ2 = NNN.Item3;
|
||||
// foreach (HostModal hostModal in QQ2)
|
||||
// {
|
||||
// HostModalManager.SetDevice(QQ0, hostModal, QQ1.Status, 0, QQ1.SettingTemp, QQ1.FanSpeed, QQ1.Mode, 0);//0表示不变
|
||||
// }
|
||||
// }, TTT);
|
||||
#endregion
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
//这段代码在生产环境中不管用,很奇怪
|
||||
string KeyMission = System.Guid.NewGuid().ToString("N");
|
||||
MissonData m = new MissonData()
|
||||
{
|
||||
hostnumber = host.HostNumber,
|
||||
mac = host.MAC,
|
||||
};
|
||||
|
||||
m.HostModalList = new List<Tuple<string, DeviceType>>();
|
||||
foreach (HostModal hostModal in hostModals)
|
||||
{
|
||||
var t = new Tuple<string, DeviceType>(hostModal.Modal.ModalAddress, hostModal.Modal.Type);
|
||||
m.HostModalList.Add(t);
|
||||
}
|
||||
m.Status = item.Status;
|
||||
m.SettingTemp = item.SettingTemp;
|
||||
m.FanSpeed = item.FanSpeed;
|
||||
m.Mode = item.Mode;
|
||||
string MKey = "TuiFang_" + KeyMission;
|
||||
CSRedisCacheHelper.Set_Partition<MissonData>(MKey, m, 1);
|
||||
|
||||
DelayExe_Task(host, item.DelayTime, MKey);
|
||||
break;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
if (roomStatus.ID == 2)
|
||||
{
|
||||
#region 出租后空调处理
|
||||
//阿宝
|
||||
//空调 在10分钟无人入住的情况之下,就关闭
|
||||
//启动 一个任务
|
||||
|
||||
#region 阿宝添加的
|
||||
int currenthotelid = host.SysHotel.ID;
|
||||
RoomNobodyHowTo nnn = RoomNoBodyMananger.LoadAll().FirstOrDefault(A => A.CurrentHotelID == currenthotelid);
|
||||
if (nnn != null)
|
||||
{
|
||||
if (!nnn.How.Equals("without"))
|
||||
{
|
||||
string Code = host.SysHotel.Code;
|
||||
string RoomNo = host.RoomNumber;
|
||||
DateTime CreateDate = host.SysHotel.CreatedDate;
|
||||
string CD = CreateDate.ToString("yyyy-MM-dd");
|
||||
int hotel_id = host.SysHotel.ID;
|
||||
int host_id = host.ID;
|
||||
string ti = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
int delaytime = nnn.DelayTime;
|
||||
int sustain = 20;
|
||||
string MissionKey = System.Guid.NewGuid().ToString("N");
|
||||
DateTime starttime = DateTime.Now.AddMinutes(delaytime);
|
||||
DateTime endtime = starttime.AddMinutes(sustain);
|
||||
|
||||
//创建一条任务 插 入数据库
|
||||
KongTiaoTimer k = new KongTiaoTimer();
|
||||
k.HotelID = hotel_id;
|
||||
k.HostID = host_id;
|
||||
k.HotelCode = Code;
|
||||
k.RoomNo = RoomNo;
|
||||
k.MissonKey = MissionKey;
|
||||
k.IsCancel = 0;
|
||||
k.CreateTime = ti;
|
||||
k.StartTime = starttime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
k.EndTime = endtime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
k.CreateDate = CD;
|
||||
|
||||
//string HotelCode, string RoomNo, int host_id,int hotel_id
|
||||
|
||||
MissionRequestData mm = new MissionRequestData();
|
||||
|
||||
mm.DelayTimer = delaytime;
|
||||
mm.KT = k;
|
||||
//mm.HotelCode = Code;
|
||||
//mm.RoomNo = RoomNo;
|
||||
//mm.HotelID = hotel_id;
|
||||
//mm.HostID = host_id;
|
||||
//mm.CreateDate = CD;
|
||||
|
||||
string jsstr = Newtonsoft.Json.JsonConvert.SerializeObject(mm);
|
||||
//k.JsonData = jsstr;
|
||||
k.MissonKey = MissionKey;
|
||||
KongTiaoManager.Save(k);
|
||||
|
||||
//给 任务管理系统 发送消息
|
||||
var client1 = new RestClient(Missionsys_Address);
|
||||
var request1 = new RestRequest("api/index", Method.POST);
|
||||
|
||||
logger.Error("任务管理系统发送了数据:" + Missionsys_Address + "API/Index");
|
||||
//GetRequest ggg = new GetRequest() { creatDate = DateTime.Now.ToString("yyyy-mm-dd"), roomNumber = RoomNo, code = Code };
|
||||
|
||||
|
||||
request1.AddParameter("jsonData", jsstr);
|
||||
|
||||
client1.ExecuteAsync(request1, (response) => { });
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
HotelSeason hotelSeason = HotelSeasonRepository.LoadByHotelID(host.SysHotel.ID);//获取该酒店下季节设置记录
|
||||
if (hotelSeason != null)
|
||||
if (roomStatus.ID == 8)
|
||||
{
|
||||
List<HotelAirControl> list = HotelAirControlRepository.LoadAll(host.SysHotel.ID, 1, true);
|
||||
List<HostModal> hostModals = HostModalRepository.LoadByHostID(host.ID).Where(r => r.Modal.Type == DeviceType.AirConditioner && r.Modal.ActiveIndicator).ToList();//获取启用的空调回路
|
||||
if (list.Count > 0 && hostModals.Count > 0)
|
||||
#region 退房后空调控制
|
||||
HotelSeason hotelSeason = HotelSeasonRepository.LoadByHotelID(host.SysHotel.ID);//获取该酒店下季节设置记录
|
||||
if (hotelSeason != null)
|
||||
{
|
||||
System.Reflection.PropertyInfo[] properties = typeof(HotelSeason).GetProperties();//获取所有属性
|
||||
foreach (HotelAirControl item in list)
|
||||
//条件:1出租后,2取电后,3断电后
|
||||
List<HotelAirControl> list = HotelAirControlRepository.LoadAll(host.SysHotel.ID, 4, true);
|
||||
List<HostModal> hostModals = HostModalRepository.LoadByHostID(host.ID).Where(r => r.Modal.Type == DeviceType.AirConditioner && r.Modal.ActiveIndicator).ToList();//获取启用的空调回路
|
||||
if (list.Count > 0 && hostModals.Count > 0)
|
||||
{
|
||||
foreach (System.Reflection.PropertyInfo prop in properties)//遍历属性
|
||||
System.Reflection.PropertyInfo[] properties = typeof(HotelSeason).GetProperties();//获取所有属性
|
||||
foreach (HotelAirControl item in list)
|
||||
{
|
||||
if (prop.Name == "Month" + DateTime.Now.Month.ToString() && Convert.ToInt16(prop.GetValue(hotelSeason, null)) == item.Season)//当前月份所属该季节,则发送命令给rcu设置空调
|
||||
foreach (System.Reflection.PropertyInfo prop in properties)//遍历属性
|
||||
{
|
||||
var TTT = new Tuple<Host, HotelAirControl, List<HostModal>>(host, item, hostModals);
|
||||
Task.Factory.StartNew((state) =>
|
||||
if (prop.Name == "Month" + DateTime.Now.Month.ToString() && Convert.ToInt16(prop.GetValue(hotelSeason, null)) == item.Season)//当前月份所属该季节,则发送命令给rcu设置空调
|
||||
{
|
||||
#region 备用方案
|
||||
//var TTT = new Tuple<Host, HotelAirControl, List<HostModal>>(host, item, hostModals);
|
||||
//Task.Factory.StartNew((state) =>
|
||||
// {
|
||||
// System.Threading.Thread.Sleep(item.DelayTime * 1000);//延迟执行
|
||||
|
||||
// Tuple<Host, HotelAirControl, List<HostModal>> NNN = state as Tuple<Host, HotelAirControl, List<HostModal>>;
|
||||
|
||||
// var QQ0 = NNN.Item1;
|
||||
// var QQ1 = NNN.Item2;
|
||||
// var QQ2 = NNN.Item3;
|
||||
// foreach (HostModal hostModal in QQ2)
|
||||
// {
|
||||
// HostModalManager.SetDevice(QQ0, hostModal, QQ1.Status, 0, QQ1.SettingTemp, QQ1.FanSpeed, QQ1.Mode, 0);//0表示不变
|
||||
// }
|
||||
// }, TTT);
|
||||
#endregion
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
System.Threading.Thread.Sleep(item.DelayTime * 1000);//延迟执行
|
||||
|
||||
Tuple<Host, HotelAirControl, List<HostModal>> NNN = state as Tuple<Host, HotelAirControl, List<HostModal>>;
|
||||
|
||||
var QQ0 = NNN.Item1;
|
||||
var QQ1 = NNN.Item2;
|
||||
var QQ2 = NNN.Item3;
|
||||
foreach (HostModal hostModal in QQ2)
|
||||
//这段代码在生产环境中不管用,很奇怪
|
||||
string KeyMission = System.Guid.NewGuid().ToString("N");
|
||||
MissonData m = new MissonData()
|
||||
{
|
||||
//host 只需要hostnumber和mac
|
||||
//hostmodal只需要 address //和type
|
||||
//device.Address = hostModal.Modal.ModalAddress;
|
||||
//device.Type = hostModal.Modal.Type;
|
||||
HostModalManager.SetDevice(QQ0, hostModal, QQ1.Status, 0, QQ1.SettingTemp, QQ1.FanSpeed, QQ1.Mode, 0);//0表示不变
|
||||
hostnumber = host.HostNumber,
|
||||
mac = host.MAC,
|
||||
};
|
||||
|
||||
m.HostModalList = new List<Tuple<string, DeviceType>>();
|
||||
foreach (HostModal hostModal in hostModals)
|
||||
{
|
||||
var t = new Tuple<string, DeviceType>(hostModal.Modal.ModalAddress, hostModal.Modal.Type);
|
||||
m.HostModalList.Add(t);
|
||||
}
|
||||
}, TTT);
|
||||
try
|
||||
{
|
||||
//这段代码在生产环境中不管用,很奇怪
|
||||
//string KeyMission = System.Guid.NewGuid().ToString("N");
|
||||
m.Status = item.Status;
|
||||
m.SettingTemp = item.SettingTemp;
|
||||
m.FanSpeed = item.FanSpeed;
|
||||
m.Mode = item.Mode;
|
||||
string MKey = "TuiFang_" + KeyMission;
|
||||
CSRedisCacheHelper.Set_Partition<MissonData>(MKey, m, 1);
|
||||
|
||||
//MissonData m = new MissonData()
|
||||
//{
|
||||
// hostnumber = host.HostNumber,
|
||||
// mac = host.MAC,
|
||||
//};
|
||||
|
||||
//m.HostModalList = new List<Tuple<string, DeviceType>>();
|
||||
//foreach (HostModal hostModal in hostModals)
|
||||
//{
|
||||
// var t = new Tuple<string, DeviceType>(hostModal.Modal.ModalAddress, hostModal.Modal.Type);
|
||||
// m.HostModalList.Add(t);
|
||||
//}
|
||||
//m.Status = item.Status;
|
||||
//m.SettingTemp = item.SettingTemp;
|
||||
//m.FanSpeed = item.FanSpeed;
|
||||
//m.Mode = item.Mode;
|
||||
//string MKey = "Mission_" + KeyMission;
|
||||
//CSRedisCacheHelper.Set_Partition<MissonData>(MKey, m, 1);
|
||||
|
||||
//DelayExe_Task(host, item.DelayTime, KeyMission);
|
||||
break;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
DelayExe_Task(host, item.DelayTime, MKey);
|
||||
break;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
#endregion
|
||||
|
||||
if (roomStatus.ID == 2)
|
||||
{
|
||||
#region 出租后空调处理
|
||||
//阿宝
|
||||
//空调 在10分钟无人入住的情况之下,就关闭
|
||||
//启动 一个任务
|
||||
|
||||
#region 阿宝添加的
|
||||
int currenthotelid = host.SysHotel.ID;
|
||||
RoomNobodyHowTo nnn = RoomNoBodyMananger.LoadAll().FirstOrDefault(A => A.CurrentHotelID == currenthotelid);
|
||||
if (nnn != null)
|
||||
{
|
||||
if (!nnn.How.Equals("without"))
|
||||
{
|
||||
string Code = host.SysHotel.Code;
|
||||
string RoomNo = host.RoomNumber;
|
||||
DateTime CreateDate = host.SysHotel.CreatedDate;
|
||||
string CD = CreateDate.ToString("yyyy-MM-dd");
|
||||
int hotel_id = host.SysHotel.ID;
|
||||
int host_id = host.ID;
|
||||
string ti = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
int delaytime = nnn.DelayTime;
|
||||
int sustain = 20;
|
||||
string MissionKey = System.Guid.NewGuid().ToString("N");
|
||||
DateTime starttime = DateTime.Now.AddMinutes(delaytime);
|
||||
DateTime endtime = starttime.AddMinutes(sustain);
|
||||
|
||||
//创建一条任务 插 入数据库
|
||||
KongTiaoTimer k = new KongTiaoTimer();
|
||||
k.HotelID = hotel_id;
|
||||
k.HostID = host_id;
|
||||
k.HotelCode = Code;
|
||||
k.RoomNo = RoomNo;
|
||||
k.MissonKey = MissionKey;
|
||||
k.IsCancel = 0;
|
||||
k.CreateTime = ti;
|
||||
k.StartTime = starttime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
k.EndTime = endtime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
k.CreateDate = CD;
|
||||
|
||||
//string HotelCode, string RoomNo, int host_id,int hotel_id
|
||||
|
||||
MissionRequestData mm = new MissionRequestData();
|
||||
|
||||
mm.DelayTimer = delaytime;
|
||||
mm.KT = k;
|
||||
//mm.HotelCode = Code;
|
||||
//mm.RoomNo = RoomNo;
|
||||
//mm.HotelID = hotel_id;
|
||||
//mm.HostID = host_id;
|
||||
//mm.CreateDate = CD;
|
||||
|
||||
string jsstr = Newtonsoft.Json.JsonConvert.SerializeObject(mm);
|
||||
//k.JsonData = jsstr;
|
||||
k.MissonKey = MissionKey;
|
||||
KongTiaoManager.Save(k);
|
||||
|
||||
//给 任务管理系统 发送消息
|
||||
var client1 = new RestClient(Missionsys_Address);
|
||||
var request1 = new RestRequest("api/index", Method.POST);
|
||||
|
||||
logger.Error("任务管理系统发送了数据:" + Missionsys_Address + "API/Index");
|
||||
//GetRequest ggg = new GetRequest() { creatDate = DateTime.Now.ToString("yyyy-mm-dd"), roomNumber = RoomNo, code = Code };
|
||||
|
||||
|
||||
request1.AddParameter("jsonData", jsstr);
|
||||
|
||||
client1.ExecuteAsync(request1, (response) => { });
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
HotelSeason hotelSeason = HotelSeasonRepository.LoadByHotelID(host.SysHotel.ID);//获取该酒店下季节设置记录
|
||||
if (hotelSeason != null)
|
||||
{
|
||||
List<HotelAirControl> list = HotelAirControlRepository.LoadAll(host.SysHotel.ID, 1, true);
|
||||
List<HostModal> hostModals = HostModalRepository.LoadByHostID(host.ID).Where(r => r.Modal.Type == DeviceType.AirConditioner && r.Modal.ActiveIndicator).ToList();//获取启用的空调回路
|
||||
if (list.Count > 0 && hostModals.Count > 0)
|
||||
{
|
||||
System.Reflection.PropertyInfo[] properties = typeof(HotelSeason).GetProperties();//获取所有属性
|
||||
foreach (HotelAirControl item in list)
|
||||
{
|
||||
foreach (System.Reflection.PropertyInfo prop in properties)//遍历属性
|
||||
{
|
||||
if (prop.Name == "Month" + DateTime.Now.Month.ToString() && Convert.ToInt16(prop.GetValue(hotelSeason, null)) == item.Season)//当前月份所属该季节,则发送命令给rcu设置空调
|
||||
{
|
||||
var TTT = new Tuple<Host, HotelAirControl, List<HostModal>>(host, item, hostModals);
|
||||
Task.Factory.StartNew((state) =>
|
||||
{
|
||||
System.Threading.Thread.Sleep(item.DelayTime * 1000);//延迟执行
|
||||
|
||||
Tuple<Host, HotelAirControl, List<HostModal>> NNN = state as Tuple<Host, HotelAirControl, List<HostModal>>;
|
||||
|
||||
var QQ0 = NNN.Item1;
|
||||
var QQ1 = NNN.Item2;
|
||||
var QQ2 = NNN.Item3;
|
||||
foreach (HostModal hostModal in QQ2)
|
||||
{
|
||||
//host 只需要hostnumber和mac
|
||||
//hostmodal只需要 address //和type
|
||||
//device.Address = hostModal.Modal.ModalAddress;
|
||||
//device.Type = hostModal.Modal.Type;
|
||||
HostModalManager.SetDevice(QQ0, hostModal, QQ1.Status, 0, QQ1.SettingTemp, QQ1.FanSpeed, QQ1.Mode, 0);//0表示不变
|
||||
}
|
||||
}, TTT);
|
||||
try
|
||||
{
|
||||
//这段代码在生产环境中不管用,很奇怪
|
||||
//string KeyMission = System.Guid.NewGuid().ToString("N");
|
||||
|
||||
//MissonData m = new MissonData()
|
||||
//{
|
||||
// hostnumber = host.HostNumber,
|
||||
// mac = host.MAC,
|
||||
//};
|
||||
|
||||
//m.HostModalList = new List<Tuple<string, DeviceType>>();
|
||||
//foreach (HostModal hostModal in hostModals)
|
||||
//{
|
||||
// var t = new Tuple<string, DeviceType>(hostModal.Modal.ModalAddress, hostModal.Modal.Type);
|
||||
// m.HostModalList.Add(t);
|
||||
//}
|
||||
//m.Status = item.Status;
|
||||
//m.SettingTemp = item.SettingTemp;
|
||||
//m.FanSpeed = item.FanSpeed;
|
||||
//m.Mode = item.Mode;
|
||||
//string MKey = "Mission_" + KeyMission;
|
||||
//CSRedisCacheHelper.Set_Partition<MissonData>(MKey, m, 1);
|
||||
|
||||
//DelayExe_Task(host, item.DelayTime, KeyMission);
|
||||
break;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(ex.Message);
|
||||
logger.Error(ex.StackTrace);
|
||||
}
|
||||
}
|
||||
public class MissonData
|
||||
@@ -1116,7 +1124,7 @@ namespace Service.Implement
|
||||
public static readonly string Missionsys_Address = ConfigurationManager.AppSettings["missionsys_address"];
|
||||
public static readonly string Currentsys_address = ConfigurationManager.AppSettings["currentsys_address"];
|
||||
|
||||
public void TimerECO(string hotelcode,int sheng_jiang_value)
|
||||
public void TimerECO(string hotelcode, int sheng_jiang_value)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user