102 lines
3.7 KiB
C#
102 lines
3.7 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
using Newtonsoft.Json;
|
|||
|
|
|
|||
|
|
namespace Common
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 与第三方TV云端对接:将语音文字上报
|
|||
|
|
/// </summary>
|
|||
|
|
public static class TVOperation
|
|||
|
|
{
|
|||
|
|
private static log4net.ILog logger = log4net.LogManager.GetLogger(typeof(TVOperation));
|
|||
|
|
//private static readonly string _iptvURL = "http://iot.gooorun.com:8282/uis/smartVoiceSkill/commonSmartPreInterceptor";
|
|||
|
|
//http://192.168.1.210:8888/epg/api/audioControl/control
|
|||
|
|
//private static readonly string _tclURL = "";
|
|||
|
|
//private static readonly string _tclAppKey = "4a4b4c125608";
|
|||
|
|
//private static readonly string _tclAppSecret = "4a4b4c125608";
|
|||
|
|
/// <summary>
|
|||
|
|
/// 远程控制IPTV
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="tvControlToken"></param>
|
|||
|
|
/// <param name="tvControlUrl">控制地址</param>
|
|||
|
|
/// <param name="hotelCode"></param>
|
|||
|
|
/// <param name="roomNumber"></param>
|
|||
|
|
/// <param name="value"></param>
|
|||
|
|
public static bool ReportIPTV(string tvControlToken, string tvControlUrl, string hotelCode, string roomNumber, string value)
|
|||
|
|
{
|
|||
|
|
if (!string.IsNullOrEmpty(tvControlUrl))
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
if (string.IsNullOrEmpty(tvControlToken))
|
|||
|
|
{
|
|||
|
|
tvControlToken = "DEFAULT_TOKEN";
|
|||
|
|
}
|
|||
|
|
IPTVPostData postData = new IPTVPostData()
|
|||
|
|
{
|
|||
|
|
token = tvControlToken,
|
|||
|
|
hotelId = "",//hotelCode
|
|||
|
|
roomId = roomNumber,
|
|||
|
|
value = value
|
|||
|
|
};
|
|||
|
|
string param = Newtonsoft.Json.JsonConvert.SerializeObject(postData);
|
|||
|
|
string result = HttpWebRequestHelper.PostWebRequest(tvControlUrl, param);
|
|||
|
|
IPTVPostDataResult returnResult = JsonConvert.DeserializeObject<IPTVPostDataResult>(result);
|
|||
|
|
if (returnResult.retCode == "1")
|
|||
|
|
{
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
logger.Error(string.Format("酒店({0})客房({1})调用iptv接口({2})失败:{3}", hotelCode, roomNumber, tvControlUrl, returnResult.retMsg));
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
logger.Error(string.Format("酒店({0})客房({1})调用iptv接口({2})失败:{3}", hotelCode, roomNumber, tvControlUrl, ex));
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
logger.Error(string.Format("酒店({0})客房({1})调用iptv接口({2})失败", hotelCode, roomNumber, tvControlUrl));
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 发送数据
|
|||
|
|
/// </summary>
|
|||
|
|
internal class IPTVPostData
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 机顶盒序列号
|
|||
|
|
/// </summary>
|
|||
|
|
public string token { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 酒店ID
|
|||
|
|
/// </summary>
|
|||
|
|
public string hotelId { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 房间ID
|
|||
|
|
/// </summary>
|
|||
|
|
public string roomId { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 用户语句
|
|||
|
|
/// </summary>
|
|||
|
|
public string value { get; set; }
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 返回
|
|||
|
|
/// </summary>
|
|||
|
|
internal class IPTVPostDataResult
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 返回码
|
|||
|
|
/// </summary>
|
|||
|
|
public string retCode { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 返回描述
|
|||
|
|
/// </summary>
|
|||
|
|
public string retMsg { get; set; }
|
|||
|
|
}
|
|||
|
|
}
|