diff --git a/CRICS_V3_1124.suo b/CRICS_V3_1124.suo index c552fa1..b7c5f86 100644 Binary files a/CRICS_V3_1124.suo and b/CRICS_V3_1124.suo differ diff --git a/CommonEntity/FCS.cs b/CommonEntity/FCS.cs index 5e809ab..c7aa7b1 100644 --- a/CommonEntity/FCS.cs +++ b/CommonEntity/FCS.cs @@ -184,7 +184,9 @@ namespace CommonEntity var FFFA = Newtonsoft.Json.JsonConvert.DeserializeObject(ddd); - string TokenKey = CacheKey.FCSToken; + //string TokenKey = CacheKey.FCSToken; + + string TokenKey = CacheKey.FCSToken + "_" + HotelCode; CSRedisCacheHelper.Set_Partition(TokenKey, FFFA, 1); } } @@ -345,7 +347,9 @@ namespace CommonEntity //logger.Error("FCS push data"); if (!string.IsNullOrEmpty(location_UUID)) { - string Key = CacheKey.FCSToken; + //string Key = CacheKey.FCSToken; + + string Key = CacheKey.FCSToken + "_" + code; var TokenTakeOut = CSRedisCacheHelper.Get_Partition(Key, 1); if (TokenTakeOut == null) { diff --git a/Dao/ISysHotelRepository.cs b/Dao/ISysHotelRepository.cs index e29ff13..e1592f4 100644 --- a/Dao/ISysHotelRepository.cs +++ b/Dao/ISysHotelRepository.cs @@ -24,5 +24,7 @@ namespace Dao List GetNeedData(); List IsExistsSomeDeviceRoomModal(int id, string roomnum, string start_address, string end_address); + + List get_fcs_hotels(); } } diff --git a/Dao/Implement/SysHotelRepository.cs b/Dao/Implement/SysHotelRepository.cs index a568922..a24e728 100644 --- a/Dao/Implement/SysHotelRepository.cs +++ b/Dao/Implement/SysHotelRepository.cs @@ -207,5 +207,11 @@ namespace Dao.Implement { return LoadAll().Where(r => r.ETV_HotelID.Equals(hotelid) && r.IsDeleted != true).OrderBy(r => r.Sort).FirstOrDefault(); } + + + public List get_fcs_hotels() + { + return LoadAll().Where(r => r.IsDeleted != true && (r.FCSLoginUrl != "" && r.FCSLoginUrl != null)).ToList(); + } } } diff --git a/Service/ISysHotelManager.cs b/Service/ISysHotelManager.cs index fb2b8a6..b0fdc9e 100644 --- a/Service/ISysHotelManager.cs +++ b/Service/ISysHotelManager.cs @@ -27,5 +27,7 @@ namespace Service List GetNeedData(); List IsExistsSomeDeviceRoomModal(int id, string roomnum, string start_address, string end_address); + + List get_fcs_hotel(); } } diff --git a/Service/Implement/SysHotelManager.cs b/Service/Implement/SysHotelManager.cs index e91e5d0..cebff61 100644 --- a/Service/Implement/SysHotelManager.cs +++ b/Service/Implement/SysHotelManager.cs @@ -168,5 +168,11 @@ namespace Service.Implement { return ((ISysHotelRepository)(this.CurrentRepository)).GetByETV_HotelId(hotelid); } + + + public List get_fcs_hotel() + { + return ((ISysHotelRepository)(this.CurrentRepository)).get_fcs_hotels(); + } } } diff --git a/WebSite/Controllers/ApiController.cs b/WebSite/Controllers/ApiController.cs index 41ae302..dd23829 100644 --- a/WebSite/Controllers/ApiController.cs +++ b/WebSite/Controllers/ApiController.cs @@ -599,7 +599,7 @@ namespace WebSite.Controllers /// /// /// - + //public ActionResult GetRoomAirList_Deprecate(string jsonData) public ActionResult GetRoomAirList(string jsonData) { @@ -3855,7 +3855,7 @@ namespace WebSite.Controllers } catch (Exception ex) { - logger.Error("定时升级出错:"+ex.Message); + logger.Error("定时升级出错:" + ex.Message); return Json(new { IsSuccess = false, Data = ex.Message }); } } @@ -3875,7 +3875,7 @@ namespace WebSite.Controllers HostUpdateController hh = new HostUpdateController(); logger.Error("开始升级: " + fileName + " host_list: " + lll); //升级 - hh.ShengJI_NEW(host_list, fileName, HostManager,roomTypeID); + hh.ShengJI_NEW(host_list, fileName, HostManager, roomTypeID); } [HttpPost()] @@ -3954,7 +3954,7 @@ namespace WebSite.Controllers HostUpdateController hh = new HostUpdateController(); logger.Error("开始升级: " + fileName + " host_list: " + lll); //升级 - return hh.新改造(host_list, fileName,roomTypeID,HostManager); + return hh.新改造(host_list, fileName, roomTypeID, HostManager); } #endregion @@ -4172,22 +4172,27 @@ namespace WebSite.Controllers { try { - var client1 = new RestClient(FCSLoginUrl); - var request1 = new RestRequest("/api/security/authenticate", Method.POST); + var list = SysHotelManager.get_fcs_hotel(); + foreach (var item in list) + { + var code = item.Code; + var client1 = new RestClient(FCSLoginUrl); + var request1 = new RestRequest("/api/security/authenticate", Method.POST); - Dictionary dic = new Dictionary(); - User us = new User(); - us.username = FCSLoginUserName; - us.password = FCSLoginPassWord; - us.oauth_id = 1; - request1.AddJsonBody(us); + Dictionary dic = new Dictionary(); + User us = new User(); + us.username = item.FCSLoginUserName; + us.password = item.FCSLoginPassWord; + us.oauth_id = 1; + request1.AddJsonBody(us); - var QQQ = client1.Execute(request1); - string ddd = QQQ.Content; - var FFFA = Newtonsoft.Json.JsonConvert.DeserializeObject(ddd); + var QQQ = client1.Execute(request1); + string ddd = QQQ.Content; + var FFFA = Newtonsoft.Json.JsonConvert.DeserializeObject(ddd); - string TokenKey = CacheKey.FCSToken; - CSRedisCacheHelper.Set_Partition(TokenKey, FFFA, 1); + string TokenKey = CacheKey.FCSToken + "_" + code; + CSRedisCacheHelper.Set_Partition(TokenKey, FFFA, 1); + } } catch (Exception) { @@ -4298,16 +4303,18 @@ namespace WebSite.Controllers { try { - string Key = CacheKey.FCSToken; - var TokenTakeOut = CSRedisCacheHelper.Get_Partition(Key, 1); - if (TokenTakeOut == null) - { - return Json(new { Status = "ok", Message = "NoData" }, JsonRequestBehavior.AllowGet); - } + + //string Key = CacheKey.FCSToken; + //var TokenTakeOut = CSRedisCacheHelper.Get_Partition(Key, 1); + //if (TokenTakeOut == null) + //{ + // return Json(new { Status = "ok", Message = "NoData" }, JsonRequestBehavior.AllowGet); + //} var dic = CSRedisCacheHelper.HMGetAll(3, CacheKey.FCSOrder); foreach (var item in dic) { var OrderData = JsonConvert.DeserializeObject(item.Value); + var code = OrderData.HotelCode; var CleanUUID = OrderData.ItemUUID; var HostNUMBER = OrderData.HostNUMBER; var PropertyID = OrderData.PropertyID; @@ -4319,6 +4326,15 @@ namespace WebSite.Controllers var client1 = new RestClient(FCSLoginUrl); var request1 = new RestRequest("/job/status", Method.POST); + + + + string Key = CacheKey.FCSToken + "_" + code; + var TokenTakeOut = CSRedisCacheHelper.Get_Partition(Key, 1); + if (TokenTakeOut == null) + { + continue; + } request1.AddHeader("token", TokenTakeOut.data.access_token); request1.AddHeader("property", PropertyID); request1.AddJsonBody(ooo); @@ -6274,6 +6290,56 @@ namespace WebSite.Controllers } } + /// + /// 碳达人 宝易软件 + /// + /// + [HttpPost()] + public ActionResult SaveRoomTypeModal_CarbonVIP() + { + try + { + + byte[] byts = new byte[Request.InputStream.Length]; + Request.InputStream.Read(byts, 0, byts.Length); + string jsonData = System.Text.Encoding.UTF8.GetString(byts); + var uuu = JsonConvert.DeserializeObject(jsonData); + int roomtypeid = uuu.roomtype_id; + var lll = uuu.CarbonVIPList; + var rlist = RoomTypeModalManager.LoadAll(roomtypeid, 1); + foreach (var item in lll) + { + var add = item.ModalAddress; + var up = item.IsUploadBaoJing; + var modal = rlist.FirstOrDefault(A => A.ModalAddress.Equals(add)); + if (modal != null) + { + modal.IsUploadBaoJing = up; + RoomTypeModalManager.Update(modal);//新增房型下单个回路 + Task.Factory.StartNew((state) => + { + var mmm = (RoomTypeModal)state; + UpdateHostModals(mmm); + }, modal);//更新主机回路 + } + } + return Json(new { IsSuccess = true, Message = HttpContext.InnerLanguage("SaveSuccess") }); + } + catch (Exception ex) + { + return Json(new { IsSuccess = false, Message = HttpContext.InnerLanguage("SaveFailedBecause") + ex.Message }); + } + } + public class tandaren_upload + { + public int roomtype_id { get; set; } + public List CarbonVIPList { get; set; } + } + public class single_tandaren + { + public string ModalAddress { get; set; } + public bool IsUploadBaoJing { get; set; } + } public class BaoYiModel { public int id { get; set; } diff --git a/WebSite/Controllers/RoomTypeController.cs b/WebSite/Controllers/RoomTypeController.cs index d2ea0c8..0a9ffd5 100644 --- a/WebSite/Controllers/RoomTypeController.cs +++ b/WebSite/Controllers/RoomTypeController.cs @@ -188,9 +188,9 @@ namespace WebSite.Controllers Beep = false, Abnormal = false, Color = rm.Color, - TCLDeviceName="", - MultipleTCLName="", - MultipleGroupID=0 + TCLDeviceName = "", + MultipleTCLName = "", + MultipleGroupID = 0 }); } } @@ -267,7 +267,7 @@ namespace WebSite.Controllers } //编辑回路 [Authorize] - public ActionResult RoomTypeModalEdit(int id, int roomTypeId, DeviceType deviceType, string modalAddress = "", string outlet = "", string name = "", string color = "", string aliasName="", string multipleTCLName="", int multipleGroupID=0) + public ActionResult RoomTypeModalEdit(int id, int roomTypeId, DeviceType deviceType, string modalAddress = "", string outlet = "", string name = "", string color = "", string aliasName = "", string multipleTCLName = "", int multipleGroupID = 0) { RoomTypeModal roomTypeModal = null; if (id != 0) @@ -275,12 +275,12 @@ namespace WebSite.Controllers roomTypeModal = RoomTypeModalManager.Get(id); if (string.IsNullOrEmpty(roomTypeModal.MultipleTCLName)) { - roomTypeModal.MultipleTCLName = ""; + roomTypeModal.MultipleTCLName = ""; } if (string.IsNullOrEmpty(roomTypeModal.TCLDeviceName)) { - roomTypeModal.TCLDeviceName = ""; + roomTypeModal.TCLDeviceName = ""; } } else @@ -302,9 +302,9 @@ namespace WebSite.Controllers Sort = 1, Color = color, SourceType = 0, - TCLDeviceName="", - MultipleGroupID=0, - MultipleTCLName="" + TCLDeviceName = "", + MultipleGroupID = 0, + MultipleTCLName = "" }; } return View(roomTypeModal); @@ -361,7 +361,7 @@ namespace WebSite.Controllers /// /// [Authorize] - public ActionResult SaveRoomTypeModal(int id, int roomTypeID, string modalAddress, string outlet, string name, string englishName, int power, string twName, string aliasName, DeviceType type, int sort, string color,string MultipleGroupID,string MultipleTCLName,string TCLDeviceName)//int lowPower, DeviceSubtype? subtype, int sort) + public ActionResult SaveRoomTypeModal(int id, int roomTypeID, string modalAddress, string outlet, string name, string englishName, int power, string twName, string aliasName, DeviceType type, int sort, string color, string MultipleGroupID, string MultipleTCLName, string TCLDeviceName)//int lowPower, DeviceSubtype? subtype, int sort) { try { @@ -397,7 +397,7 @@ namespace WebSite.Controllers roomTypeModal.MultipleTCLName = MultipleTCLName; roomTypeModal.TCLDeviceName = TCLDeviceName; int a = 0; - int.TryParse(MultipleGroupID,out a); + int.TryParse(MultipleGroupID, out a); roomTypeModal.MultipleGroupID = a; RoomTypeModalManager.Save(roomTypeModal);//新增房型下单个回路 string logDetail = "【" + (Language == Language.CN ? roomTypeModal.Name : roomTypeModal.EnglishName) + "】"; @@ -428,7 +428,7 @@ namespace WebSite.Controllers roomTypeModal.MultipleTCLName = MultipleTCLName; roomTypeModal.TCLDeviceName = TCLDeviceName; int a = 0; - int.TryParse(MultipleGroupID,out a); + int.TryParse(MultipleGroupID, out a); roomTypeModal.MultipleGroupID = a; RoomTypeModalManager.Update(roomTypeModal);//更新房型下回路 string logDetail = "【" + (Language == Language.CN ? roomTypeModal.Name : roomTypeModal.EnglishName) + "】"; @@ -833,13 +833,16 @@ namespace WebSite.Controllers { foreach (var host in hosts) { - System.Threading.Tasks.Task.Factory.StartNew(() => + if (!string.IsNullOrEmpty(host.XiaoDuCUID)) { - foreach (string cuid in host.XiaoDuCUID.Split(','))//多个小度英文逗号隔开 + System.Threading.Tasks.Task.Factory.StartNew(() => { - XiaoDuOperation.PostWebRequestToXiaoDu(accessToken, cuid, new XiaoDuParamJson() { method = "deviceSync", isNoBlocked = 1 }, host.SysHotel.Code, host.RoomNumber);//更新技能 - } - }); + foreach (string cuid in host.XiaoDuCUID.Split(','))//多个小度英文逗号隔开 + { + XiaoDuOperation.PostWebRequestToXiaoDu(accessToken, cuid, new XiaoDuParamJson() { method = "deviceSync", isNoBlocked = 1 }, host.SysHotel.Code, host.RoomNumber);//更新技能 + } + }); + } } } if (!string.IsNullOrEmpty(hotelCode)) @@ -1208,7 +1211,7 @@ namespace WebSite.Controllers var roomType = RoomTypeManager.Get(roomTypeID); if (roomType == null) { - throw new ApplicationException("房型不能为空"); + throw new ApplicationException("房型不能为空"); } var sysHotel = SysHotelManager.Get(roomType.HotelID); RoomTypeProgramFiles entity = new RoomTypeProgramFiles