using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Common
{
public static class DuiOperation
{
private static log4net.ILog logger = log4net.LogManager.GetLogger(typeof(DuiOperation));
private static readonly string _uploadURL = "https://gw.duiopen.com";
///
/// 开启设备更新上报
///
///
public static bool OpenUploadApplianceSwitch()
{
StringBuilder sb = new StringBuilder();
sb.Append(_uploadURL);
sb.Append("/dcas/v1/uploadApplianceSwitch");
sb.Append("?apikey=b4b4c81c01e446b4b40f85b196c6aaec");
sb.Append("&skillId=2020120900000014");
try
{
string result = HttpWebRequestHelper.PutWebRequest(sb.ToString(), "{'status':1}");
DuiResult duiResult = Newtonsoft.Json.JsonConvert.DeserializeObject(result);
if (duiResult.errId != 0)
{
logger.Error(string.Format("DUI开启设备更新上报失败,url:{0},errId:{1}", sb.ToString(), duiResult.errId));
return false;
}
return true;
}
catch (Exception ex)
{
logger.Error(string.Format("DUI开启设备更新上报失败,url:{0},原因:{1}", sb.ToString(), ex));
}
return false;
}
///
/// 通知更新技能
///
///
///
///
///
public static bool UploadDeviceFun(string hotelName, string roomNumber, string accessToken)
{
StringBuilder sb = new StringBuilder();
sb.Append(_uploadURL);
sb.Append("/dcas/v1/uploadAppliance");
sb.Append("?apikey=b4b4c81c01e446b4b40f85b196c6aaec");
sb.Append("&skillId=2020120900000014");
//sb.Append("&productId=2020120900000014");
sb.Append("&accessToken=" + accessToken);
sb.Append("&group=" + roomNumber);
sb.Append("&type=notify");
try
{
string result = HttpWebRequestHelper.PutWebRequest(sb.ToString(), "");
DuiResult duiResult = Newtonsoft.Json.JsonConvert.DeserializeObject(result);
if (duiResult.errId != 0)
{
logger.Error(string.Format("DUI酒店({0})客房({1})同步技能失败。errId:{2}", hotelName, roomNumber, duiResult.errId));
return false;
}
//logger.Error(string.Format("DUI酒店({0})客房({1})已通知同步技能。", hotelName, roomNumber));
return true;
}
catch (Exception ex)
{
logger.Error(string.Format("DUI酒店({0})客房({1})调用DUI接口({2})失败:{3}", hotelName, roomNumber, _uploadURL, ex));
}
return false;
}
}
internal class DuiResult
{
public int errId { get; set; }
public int status { get; set; }
}
}