128 lines
4.4 KiB
C#
128 lines
4.4 KiB
C#
|
|
using APT.BaseData.Domain.Entities.FM;
|
|||
|
|
using APT.BaseData.Domain.IServices.OP;
|
|||
|
|
using APT.Infrastructure.Api;
|
|||
|
|
using APT.Infrastructure.Core;
|
|||
|
|
using Newtonsoft.Json;
|
|||
|
|
using System;
|
|||
|
|
using System.Net;
|
|||
|
|
|
|||
|
|
namespace APT.BaseData.Services.Services.OP
|
|||
|
|
{
|
|||
|
|
public class OPSmsService : CommonService, IOPSmsService
|
|||
|
|
{
|
|||
|
|
public OPSmsService(IRepository repository) : base(repository)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public bool SendNote(T_FM_NOTICE note)
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//Random r = new Random();
|
|||
|
|
//JSMSClient _smsClient = new JSMSClient("1cad1e6d2e226662f6388989", "692e9b7d38266a4f7220252d");
|
|||
|
|
//if (string.IsNullOrEmpty(note.MESSAGE_TEMPLATE_ID))
|
|||
|
|
//{
|
|||
|
|
// JSMSResult result = _smsClient.SendTemplateMessage(new TemplateMessage
|
|||
|
|
// {
|
|||
|
|
// Mobile = note.TEL,
|
|||
|
|
// TemplateId = 148580,//模板id是在极光平台上申请的
|
|||
|
|
// TemplateParameters = new Dictionary<string, string>
|
|||
|
|
// {
|
|||
|
|
// { "date", note.CREATE_TIME.GetValueOrDefault().ToString("MM-dd HH:mm") },//报警时间
|
|||
|
|
// { "msg",note.MESSAGE},
|
|||
|
|
// { "msgid",r.Next(1,100).ToString()},//描述
|
|||
|
|
// { "server","optiEnergy"}//报警端
|
|||
|
|
// }
|
|||
|
|
// });
|
|||
|
|
// return result.Succeeded;
|
|||
|
|
//}
|
|||
|
|
//else
|
|||
|
|
//{
|
|||
|
|
// JSMSResult result = _smsClient.SendTemplateMessage(new TemplateMessage
|
|||
|
|
// {
|
|||
|
|
// Mobile = note.TEL,
|
|||
|
|
// TemplateId = Convert.ToInt32(note.MESSAGE_TEMPLATE_ID),//模板id是在极光平台上申请的
|
|||
|
|
// TemplateParameters = new Dictionary<string, string>
|
|||
|
|
// {
|
|||
|
|
// { "code",note.MESSAGE}
|
|||
|
|
// }
|
|||
|
|
// });
|
|||
|
|
// return result.Succeeded;
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
this.ThrowError("010001", $"{ex.Message};{ex.Source};{ex.StackTrace};{ex.InnerException}");
|
|||
|
|
}
|
|||
|
|
return true;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
public bool SendMessage(string phoneNumber, string code)
|
|||
|
|
{
|
|||
|
|
//try
|
|||
|
|
//{
|
|||
|
|
// T_FM_NOTICE notice = new T_FM_NOTICE()
|
|||
|
|
// {
|
|||
|
|
// ORG_ID = new Guid(LibUtils.ToString(ConfigurationManager.WexinSettings["OrgId"]).ToString()),
|
|||
|
|
// MESSAGE = $"您的手机验证码:{code},有效期1分钟,请勿泄露。如非本人操作,请忽略此短信。谢谢!",
|
|||
|
|
// TEL = phoneNumber,
|
|||
|
|
// NOTICE_TYPE = 0,
|
|||
|
|
// //MESSAGE_TEMPLATE_ID = "148580"
|
|||
|
|
// };
|
|||
|
|
// this.AddEntity(notice);
|
|||
|
|
//}
|
|||
|
|
//catch (Exception ex)
|
|||
|
|
//{
|
|||
|
|
// throw ex;
|
|||
|
|
//}
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 极光短信返回实体类。
|
|||
|
|
/// </summary>
|
|||
|
|
private class JSMSResult
|
|||
|
|
{
|
|||
|
|
//{\"msg_id\":605999989525}
|
|||
|
|
//{"error":{"code":50013,"message":"invalid temp_id"}}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 发送成功消息Id。
|
|||
|
|
/// </summary>
|
|||
|
|
public long Msg_Id { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 错误信息。
|
|||
|
|
/// </summary>
|
|||
|
|
public ErrorResult Error { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 是否发送成功。
|
|||
|
|
/// </summary>
|
|||
|
|
public bool Succeeded { get; private set; }
|
|||
|
|
|
|||
|
|
//public static implicit operator JSMSResult(HttpResponse response)
|
|||
|
|
//{
|
|||
|
|
// var result = JsonConvert.DeserializeObject<JSMSResult>(response.Content);
|
|||
|
|
// result.Succeeded = response.StatusCode == HttpStatusCode.OK;
|
|||
|
|
// return result;
|
|||
|
|
//}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 极光短信错误实体类
|
|||
|
|
/// </summary>
|
|||
|
|
private class ErrorResult
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 错误编码。
|
|||
|
|
/// </summary>
|
|||
|
|
public int Code { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 错误消息
|
|||
|
|
/// </summary>
|
|||
|
|
public string Message { get; set; }
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|