添加查询缓存

有一些效果,原来10分钟就会崩溃的,现在延长了一个小时,不过有的时候,还是会崩溃
This commit is contained in:
2025-12-29 15:03:58 +08:00
parent 1ec13289dc
commit f9fe3a36e6
11 changed files with 550 additions and 280 deletions

View File

@@ -565,28 +565,41 @@ namespace Service.Implement
{
if (!string.IsNullOrEmpty(host.XiaoDuCUID))
{
string accessToken = SysOauth2Repository.GetXiaoDuToken();
string accessToken = "";
string KKK = CacheKey.DuOSToken;
var ooo = MemoryCacheHelper.Get(KKK);
if (ooo != null)
{
accessToken = ooo.ToString();
}
else
{
accessToken = SysOauth2Repository.GetXiaoDuToken();
MemoryCacheHelper.Set(KKK,accessToken,DateTimeOffset.Now.AddMinutes(20));
}
if (!string.IsNullOrEmpty(accessToken) && host.SysHotel.IsPowerOffResetXiaoDu)
{
System.Threading.Tasks.Task.Factory.StartNew(() =>
foreach (string cuid in host.XiaoDuCUID.Split(','))//多个小度英文逗号隔开
{
foreach (string cuid in host.XiaoDuCUID.Split(','))//多个小度英文逗号隔开
{
XiaoDuOperation.PostWebRequestToXiaoDu(accessToken, cuid, new XiaoDuParamJson() { method = "reset" }, host.SysHotel.Code, host.RoomNumber);//重置小度
}
});
XiaoDuOperation.PostWebRequestToXiaoDu(accessToken, cuid, new XiaoDuParamJson() { method = "reset" }, host.SysHotel.Code, host.RoomNumber);//重置小度
}
//Task.Factory.StartNew(() =>
//{
//});
}
}
if (!string.IsNullOrEmpty(host.TianMaoCUID))
{
System.Threading.Tasks.Task.Factory.StartNew(() =>
foreach (string cuid in host.TianMaoCUID.Split(','))//多个英文逗号隔开
{
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);//重置天猫精灵
}
});
TianMaoOperation.PostWebRequestToTianMao("CheckoutWithAK",
Newtonsoft.Json.JsonConvert.SerializeObject(new { HotelId = cuid.Split('&')[0], RoomNo = cuid.Split('&')[1] }), host.SysHotel.Code, host.RoomNumber);//重置天猫精灵
}
//Task.Factory.StartNew(() =>
//{
//});
}
}
@@ -595,12 +608,34 @@ namespace Service.Implement
if (roomStatus.ID == 8)
{
#region 退
HotelSeason hotelSeason = HotelSeasonRepository.LoadByHotelID(host.SysHotel.ID);//获取该酒店下季节设置记录
HotelSeason hotelSeason = null;
string KKKOne = "HotelSeason_" + host.SysHotel.ID;
var ooss = MemoryCacheHelper.Get(KKKOne);
if (ooss != null)
{
hotelSeason = ooss as HotelSeason;
}
else
{
hotelSeason = HotelSeasonRepository.LoadByHotelID(host.SysHotel.ID);//获取该酒店下季节设置记录
MemoryCacheHelper.Set(KKKOne, hotelSeason, DateTimeOffset.Now.AddMinutes(20));
}
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();//获取启用的空调回路
string KKK = "HostModalRepository_" + host.ID;
List<HostModal> hostModals = null;
var ooo = MemoryCacheHelper.Get(KKK);
if (ooo != null)
{
hostModals = ooo as List<HostModal>;
}
else
{
hostModals = HostModalRepository.LoadByHostID(host.ID).Where(r => r.Modal.Type == DeviceType.AirConditioner && r.Modal.ActiveIndicator).ToList();//获取启用的空调回路
MemoryCacheHelper.Set(KKK, hostModals, DateTimeOffset.Now.AddMinutes(20));
}
if (list.Count > 0 && hostModals.Count > 0)
{
System.Reflection.PropertyInfo[] properties = typeof(HotelSeason).GetProperties();//获取所有属性