FCS的 用户名和密码 每个酒店不一样

给 浩 哥增加 专门的碳达人接口
This commit is contained in:
2026-03-10 15:57:43 +08:00
parent ed386b0eaf
commit 72fa1a5524
8 changed files with 132 additions and 43 deletions

View File

@@ -599,7 +599,7 @@ namespace WebSite.Controllers
/// </summary>
/// <param name="jsonData"></param>
/// <returns></returns>
//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<string, string> dic = new Dictionary<string, string>();
User us = new User();
us.username = FCSLoginUserName;
us.password = FCSLoginPassWord;
us.oauth_id = 1;
request1.AddJsonBody(us);
Dictionary<string, string> dic = new Dictionary<string, string>();
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<FCS_ReturnInfo>(ddd);
var QQQ = client1.Execute(request1);
string ddd = QQQ.Content;
var FFFA = Newtonsoft.Json.JsonConvert.DeserializeObject<FCS_ReturnInfo>(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<FCS_ReturnInfo>(Key, 1);
if (TokenTakeOut == null)
{
return Json(new { Status = "ok", Message = "NoData" }, JsonRequestBehavior.AllowGet);
}
//string Key = CacheKey.FCSToken;
//var TokenTakeOut = CSRedisCacheHelper.Get_Partition<FCS_ReturnInfo>(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<FCS_OrderData>(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<FCS_ReturnInfo>(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
}
}
/// <summary>
/// 碳达人 宝易软件
/// </summary>
/// <returns></returns>
[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<tandaren_upload>(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<single_tandaren> 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; }

View File

@@ -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
/// <param name="type"></param>
/// <returns></returns>
[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