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; }
|
||
}
|
||
}
|
||
}
|