Files
Web_TianMaoAPI_RCU_Prod/AliAPI/AliOpenApiHelper.cs
2025-11-20 09:21:07 +08:00

216 lines
8.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using AlibabaCloud.OpenApiClient.Models;
using AlibabaCloud.SDK.AliGenieip_1_0;
using AlibabaCloud.SDK.AliGenieip_1_0.Models;
namespace AliAPI
{
/// <summary>
/// 阿里api处理类
/// </summary>
public static class AliOpenApiHelper
{
/// <summary>
/// 创建访问客户端
/// </summary>
/// <param name="accessKeyId"></param>
/// <param name="accessKeySecret"></param>
/// <returns></returns>
private static Client CreateClient(string accessKeyId, string accessKeySecret)
{
Config config = new Config
{
AccessKeyId = accessKeyId,
AccessKeySecret = accessKeySecret,
};
config.Endpoint = "openapi.aligenie.com";//访问的域名
return new Client(config);
}
/// <summary>
/// 自定义场景上报
/// </summary>
/// <param name="accessKeyId"></param>
/// <param name="accessKeySecret"></param>
/// <param name="jsonData"></param>
/// <returns></returns>
public static APIResultEntity PostCustomScene(string accessKeyId, string accessKeySecret, string jsonData)
{
if (string.IsNullOrEmpty(accessKeyId))
{
return ReturnResult(false, "accessKeyId不能为空");
}
if (string.IsNullOrEmpty(accessKeySecret))
{
return ReturnResult(false, "accessKeySecret不能为空");
}
if (string.IsNullOrEmpty(jsonData))
{
return ReturnResult(false, "jsonData不能为空");
}
try
{
Client client = CreateClient(accessKeyId, accessKeySecret);
ImportHotelConfigRequest req = Newtonsoft.Json.JsonConvert.DeserializeObject<ImportHotelConfigRequest>(jsonData);
ImportHotelConfigResponse resp = client.ImportHotelConfig(req);
return ReturnResult((bool)resp.Body.Result, resp.Body.Message, Newtonsoft.Json.JsonConvert.SerializeObject(resp.Body));
}
catch (Exception ex)
{
return ReturnResult(false, ex.Message, ex.ToString());
}
}
/// <summary>
/// 退房重置
/// </summary>
/// <param name="accessKeyId"></param>
/// <param name="accessKeySecret"></param>
/// <param name="jsonData"></param>
/// <returns></returns>
public static APIResultEntity CheckoutWithAK(string accessKeyId, string accessKeySecret, string jsonData)
{
if (string.IsNullOrEmpty(accessKeyId))
{
return ReturnResult(false, "accessKeyId不能为空");
}
if (string.IsNullOrEmpty(accessKeySecret))
{
return ReturnResult(false, "accessKeySecret不能为空");
}
if (string.IsNullOrEmpty(jsonData))
{
return ReturnResult(false, "jsonData不能为空");
}
try
{
Client client = CreateClient(accessKeyId, accessKeySecret);
CheckoutWithAKRequest req = Newtonsoft.Json.JsonConvert.DeserializeObject<CheckoutWithAKRequest>(jsonData);
CheckoutWithAKResponse resp = client.CheckoutWithAK(req);
return ReturnResult((bool)resp.Body.Result, resp.Body.Message, Newtonsoft.Json.JsonConvert.SerializeObject(resp.Body));
}
catch (Exception ex)
{
return ReturnResult(false, ex.Message, ex.ToString());
}
}
/// <summary>
/// 推送并直接播报欢迎词
/// </summary>
/// <param name="accessKeyId"></param>
/// <param name="accessKeySecret"></param>
/// <param name="jsonData"></param>
/// <returns></returns>
public static APIResultEntity PushWelcome(string accessKeyId, string accessKeySecret, string jsonData)
{
if (string.IsNullOrEmpty(accessKeyId))
{
return new APIResultEntity() { result = false, msg = "accessKeyId不能为空", data = "" };
}
if (string.IsNullOrEmpty(accessKeySecret))
{
return new APIResultEntity() { result = false, msg = "accessKeySecret不能为空", data = "" };
}
if (string.IsNullOrEmpty(jsonData))
{
return new APIResultEntity() { result = false, msg = "jsonData不能为空", data = "" };
}
try
{
Client client = CreateClient(accessKeyId, accessKeySecret);
PushWelcomeRequest req = Newtonsoft.Json.JsonConvert.DeserializeObject<PushWelcomeRequest>(jsonData);
PushWelcomeResponse resp = client.PushWelcome(req);
return ReturnResult((bool)resp.Body.Result, resp.Body.Message, Newtonsoft.Json.JsonConvert.SerializeObject(resp.Body));
}
catch (Exception ex)
{
return ReturnResult(false, ex.Message, ex.ToString());
}
}
/// <summary>
/// 设置欢迎词
/// </summary>
/// <param name="accessKeyId"></param>
/// <param name="accessKeySecret"></param>
/// <param name="jsonData"></param>
/// <returns></returns>
public static APIResultEntity AddOrUpdateWelcomeText(string accessKeyId, string accessKeySecret, string jsonData)
{
if (string.IsNullOrEmpty(accessKeyId))
{
return new APIResultEntity() { result = false, msg = "accessKeyId不能为空", data = "" };
}
if (string.IsNullOrEmpty(accessKeySecret))
{
return new APIResultEntity() { result = false, msg = "accessKeySecret不能为空", data = "" };
}
if (string.IsNullOrEmpty(jsonData))
{
return new APIResultEntity() { result = false, msg = "jsonData不能为空", data = "" };
}
try
{
Client client = CreateClient(accessKeyId, accessKeySecret);
AddOrUpdateWelcomeTextRequest req = Newtonsoft.Json.JsonConvert.DeserializeObject<AddOrUpdateWelcomeTextRequest>(jsonData);
AddOrUpdateWelcomeTextResponse resp = client.AddOrUpdateWelcomeText(req);
return ReturnResult((bool)resp.Body.Result, resp.Body.Message, Newtonsoft.Json.JsonConvert.SerializeObject(resp.Body));
}
catch (Exception ex)
{
return ReturnResult(false, ex.Message, ex.ToString());
}
}
/// <summary>
/// 播报欢迎词
/// </summary>
/// <param name="accessKeyId"></param>
/// <param name="accessKeySecret"></param>
/// <param name="jsonData"></param>
/// <returns></returns>
public static APIResultEntity PushWelcomeTextAndMusic(string accessKeyId, string accessKeySecret, string jsonData)
{
if (string.IsNullOrEmpty(accessKeyId))
{
return new APIResultEntity() { result = false, msg = "accessKeyId不能为空", data = "" };
}
if (string.IsNullOrEmpty(accessKeySecret))
{
return new APIResultEntity() { result = false, msg = "accessKeySecret不能为空", data = "" };
}
if (string.IsNullOrEmpty(jsonData))
{
return new APIResultEntity() { result = false, msg = "jsonData不能为空", data = "" };
}
try
{
Client client = CreateClient(accessKeyId, accessKeySecret);
PushWelcomeTextAndMusicRequest req = Newtonsoft.Json.JsonConvert.DeserializeObject<PushWelcomeTextAndMusicRequest>(jsonData);
PushWelcomeTextAndMusicResponse resp = client.PushWelcomeTextAndMusic(req);
return ReturnResult((bool)resp.Body.Result, resp.Body.Message, Newtonsoft.Json.JsonConvert.SerializeObject(resp.Body));
}
catch (Exception ex)
{
return ReturnResult(false, ex.Message, ex.ToString());
}
}
private static APIResultEntity ReturnResult(bool result, string msg, string data = "")
{
return new APIResultEntity() { result = result, msg = msg, data = data };
}
}
public class APIResultEntity
{
/// <summary>
/// 结果true成功false失败
/// </summary>
public bool result { get; set; }
/// <summary>
/// 提示信息
/// </summary>
public string msg { get; set; }
/// <summary>
/// 返回数据
/// </summary>
public string data { get; set; }
}
}