mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 14:53:26 +08:00
【优化】调整短信发送回调xml到json格式,并直接返回发送失败后的异常提示。
This commit is contained in:
@@ -44,7 +44,7 @@ namespace CoreCms.Net.IServices
|
||||
/// <param name="mobile"></param>
|
||||
/// <param name="contentBody"></param>
|
||||
/// <param name="smsOptions"></param>
|
||||
Task<string> SendSms(string mobile, string contentBody, SmsOptions smsOptions);
|
||||
Task<SMSReturnData> SendSms(string mobile, string contentBody, SmsOptions smsOptions);
|
||||
|
||||
/// <summary>
|
||||
/// 校验短信验证码
|
||||
|
||||
@@ -12729,6 +12729,41 @@
|
||||
短信签名
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:CoreCms.Net.Model.ViewModels.Sms.SMSReturnData">
|
||||
<summary>
|
||||
短信发送回调结果
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:CoreCms.Net.Model.ViewModels.Sms.SMSReturnData.ReturnStatus">
|
||||
<summary>
|
||||
调用结果(调用结果:success为成功,faild为失败)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:CoreCms.Net.Model.ViewModels.Sms.SMSReturnData.Message">
|
||||
<summary>
|
||||
调用信息(调用成功返回OK,失败显示失败原因,具体原因见下表)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:CoreCms.Net.Model.ViewModels.Sms.SMSReturnData.RemainPoint">
|
||||
<summary>
|
||||
账户余额
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:CoreCms.Net.Model.ViewModels.Sms.SMSReturnData.TaskID">
|
||||
<summary>
|
||||
任务序号(每次任务对应唯一的任务id)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:CoreCms.Net.Model.ViewModels.Sms.SMSReturnData.SuccessCounts">
|
||||
<summary>
|
||||
号码个数(发送号码的个数)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:CoreCms.Net.Model.ViewModels.Sms.SMSReturnData.IsSuccess">
|
||||
<summary>
|
||||
是否成功
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:CoreCms.Net.Model.ViewModels.UI.AdminUiCallBack">
|
||||
<summary>
|
||||
LayUIAdmin后端UI回调Json实体
|
||||
|
||||
@@ -46,4 +46,42 @@ namespace CoreCms.Net.Model.ViewModels.Sms
|
||||
/// </summary>
|
||||
public string Signature { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 短信发送回调结果
|
||||
/// </summary>
|
||||
public class SMSReturnData
|
||||
{
|
||||
/// <summary>
|
||||
/// 调用结果(调用结果:success为成功,faild为失败)
|
||||
/// </summary>
|
||||
public string ReturnStatus { set; get; }
|
||||
|
||||
/// <summary>
|
||||
/// 调用信息(调用成功返回OK,失败显示失败原因,具体原因见下表)
|
||||
/// </summary>
|
||||
public string Message { set; get; }
|
||||
|
||||
/// <summary>
|
||||
/// 账户余额
|
||||
/// </summary>
|
||||
public int RemainPoint { set; get; }
|
||||
|
||||
/// <summary>
|
||||
/// 任务序号(每次任务对应唯一的任务id)
|
||||
/// </summary>
|
||||
public int TaskID { set; get; }
|
||||
|
||||
/// <summary>
|
||||
/// 号码个数(发送号码的个数)
|
||||
/// </summary>
|
||||
public int SuccessCounts { set; get; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否成功
|
||||
/// </summary>
|
||||
public bool IsSuccess { get; set; } = false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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
|
||||
/// <param name="mobile"></param>
|
||||
/// <param name="contentBody"></param>
|
||||
/// <param name="smsOptions">配置文件</param>
|
||||
public async Task<string> SendSms(string mobile, string contentBody, SmsOptions smsOptions)
|
||||
public async Task<SMSReturnData> 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<SMSReturnData>();
|
||||
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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user