diff --git a/CoreCms.Net.IServices/Message/ICoreCmsSmsServices.cs b/CoreCms.Net.IServices/Message/ICoreCmsSmsServices.cs index 3f17ddb0..9ae26667 100644 --- a/CoreCms.Net.IServices/Message/ICoreCmsSmsServices.cs +++ b/CoreCms.Net.IServices/Message/ICoreCmsSmsServices.cs @@ -44,7 +44,7 @@ namespace CoreCms.Net.IServices /// /// /// - Task SendSms(string mobile, string contentBody, SmsOptions smsOptions); + Task SendSms(string mobile, string contentBody, SmsOptions smsOptions); /// /// 校验短信验证码 diff --git a/CoreCms.Net.Model/CoreCms.Net.Model.xml b/CoreCms.Net.Model/CoreCms.Net.Model.xml index 01e1b933..5df591ae 100644 --- a/CoreCms.Net.Model/CoreCms.Net.Model.xml +++ b/CoreCms.Net.Model/CoreCms.Net.Model.xml @@ -12729,6 +12729,41 @@ 短信签名 + + + 短信发送回调结果 + + + + + 调用结果(调用结果:success为成功,faild为失败) + + + + + 调用信息(调用成功返回OK,失败显示失败原因,具体原因见下表) + + + + + 账户余额 + + + + + 任务序号(每次任务对应唯一的任务id) + + + + + 号码个数(发送号码的个数) + + + + + 是否成功 + + LayUIAdmin后端UI回调Json实体 diff --git a/CoreCms.Net.Model/ViewModels/Sms/SMSOptions.cs b/CoreCms.Net.Model/ViewModels/Sms/SMSOptions.cs index f692ac25..0b557372 100644 --- a/CoreCms.Net.Model/ViewModels/Sms/SMSOptions.cs +++ b/CoreCms.Net.Model/ViewModels/Sms/SMSOptions.cs @@ -46,4 +46,42 @@ namespace CoreCms.Net.Model.ViewModels.Sms /// public string Signature { get; set; } } + + /// + /// 短信发送回调结果 + /// + public class SMSReturnData + { + /// + /// 调用结果(调用结果:success为成功,faild为失败) + /// + public string ReturnStatus { set; get; } + + /// + /// 调用信息(调用成功返回OK,失败显示失败原因,具体原因见下表) + /// + public string Message { set; get; } + + /// + /// 账户余额 + /// + public int RemainPoint { set; get; } + + /// + /// 任务序号(每次任务对应唯一的任务id) + /// + public int TaskID { set; get; } + + /// + /// 号码个数(发送号码的个数) + /// + public int SuccessCounts { set; get; } + + /// + /// 是否成功 + /// + public bool IsSuccess { get; set; } = false; + } + + } \ No newline at end of file diff --git a/CoreCms.Net.Services/Message/CoreCmsSmsServices.cs b/CoreCms.Net.Services/Message/CoreCmsSmsServices.cs index eb8489da..94e23ff8 100644 --- a/CoreCms.Net.Services/Message/CoreCmsSmsServices.cs +++ b/CoreCms.Net.Services/Message/CoreCmsSmsServices.cs @@ -26,6 +26,7 @@ using Microsoft.Extensions.Options; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using SqlSugar; +using static SKIT.FlurlHttpClient.Wechat.Api.Models.WxaApiUserLogSearchResponse.Types.Data.Types.RealtimeLog.Types; namespace CoreCms.Net.Services @@ -108,10 +109,10 @@ namespace CoreCms.Net.Services await _dal.InsertAsync(oldLog); } - var str = await SendSms(oldLog.mobile, oldLog.contentBody, smsOptions); - jm.status = true; - //jm.data = str; - jm.msg = "短信发送成功"; + var result = await SendSms(oldLog.mobile, oldLog.contentBody, smsOptions); + + jm.status = result.IsSuccess; + jm.msg = result.IsSuccess ? "发送成功" : result.Message; return jm; } @@ -155,24 +156,34 @@ namespace CoreCms.Net.Services /// /// /// 配置文件 - public async Task SendSms(string mobile, string contentBody, SmsOptions smsOptions) + public async Task SendSms(string mobile, string contentBody, SmsOptions smsOptions) { if (smsOptions.Enabled) { - var str = await smsOptions.ApiUrl.PostUrlEncodedAsync(new + var result = await smsOptions.ApiUrl.PostUrlEncodedAsync(new { action = "send", userid = smsOptions.UserId, account = smsOptions.Account, password = smsOptions.Password, - mobile = mobile, + mobile, content = "【" + smsOptions.Signature + "】" + contentBody, - }).ReceiveString(); - return str; + rt = "json" + }).ReceiveJson(); + result.IsSuccess = result.ReturnStatus == "success"; + return result; } else { - return "短信接口未开启"; + var result = new SMSReturnData() + { + ReturnStatus = "faild", + Message = "短信功能未开启", + RemainPoint = 0, + TaskID = 0, + SuccessCounts = 0 + }; + return result; } } #endregion @@ -354,11 +365,10 @@ namespace CoreCms.Net.Services await _dal.InsertAsync(oldLog); - var result = SendSms(oldLog.mobile, oldLog.contentBody, smsOptions); + var result = await SendSms(oldLog.mobile, oldLog.contentBody, smsOptions); - jm.status = true; - jm.msg = "发送成功"; - //jm.data = result; + jm.status = result.IsSuccess; + jm.msg = result.IsSuccess ? "发送成功" : result.Message; return jm; }