using System; using AlibabaCloud.OpenApiClient.Models; using AlibabaCloud.SDK.AliGenieip_1_0; using AlibabaCloud.SDK.AliGenieip_1_0.Models; namespace AliAPI { /// /// 阿里api处理类 /// public static class AliOpenApiHelper { /// /// 创建访问客户端 /// /// /// /// 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); } /// /// 自定义场景上报 /// /// /// /// /// 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(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()); } } /// /// 退房重置 /// /// /// /// /// 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(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()); } } /// /// 推送并直接播报欢迎词 /// /// /// /// /// 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(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()); } } /// /// 设置欢迎词 /// /// /// /// /// 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(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()); } } /// /// 播报欢迎词 /// /// /// /// /// 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(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 { /// /// 结果:true成功,false失败 /// public bool result { get; set; } /// /// 提示信息 /// public string msg { get; set; } /// /// 返回数据 /// public string data { get; set; } } }