333
This commit is contained in:
76
MyCode.Project.Domain/Businesses/Sms/SmsSendResult.cs
Normal file
76
MyCode.Project.Domain/Businesses/Sms/SmsSendResult.cs
Normal file
@@ -0,0 +1,76 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MyCode.Project.Domain.Businesses.Sms
|
||||
{
|
||||
/// <summary>
|
||||
/// 短信发送结果
|
||||
/// </summary>
|
||||
public class SmsSendResult
|
||||
{
|
||||
/// <summary>
|
||||
/// 返回码。0:成功,-1:失败
|
||||
/// </summary>
|
||||
[JsonProperty("code")]
|
||||
public string Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 消息
|
||||
/// </summary>
|
||||
[JsonProperty("message")]
|
||||
public string Message { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 错误原因
|
||||
/// </summary>
|
||||
[JsonProperty("cause")]
|
||||
public string Cause { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否请求成功
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsSuccess()
|
||||
{
|
||||
return Code == "0";
|
||||
}
|
||||
}
|
||||
|
||||
//{"code":"107","msgId":"","time":"20230511160907","errorMsg":"手机号码格式错误"}
|
||||
public class SmsSend253Result
|
||||
{
|
||||
/// <summary>
|
||||
/// 返回码。0:成功,非0都是:失败
|
||||
/// </summary>
|
||||
[JsonProperty("code")]
|
||||
public string Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 错误消息内容
|
||||
/// </summary>
|
||||
|
||||
public string ErrorMsg { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 时间戳
|
||||
/// </summary>
|
||||
|
||||
public string time { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否请求成功
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsSuccess()
|
||||
{
|
||||
return Code == "0";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
89
MyCode.Project.Domain/Businesses/Sms/SmsTemplateBase.cs
Normal file
89
MyCode.Project.Domain/Businesses/Sms/SmsTemplateBase.cs
Normal file
@@ -0,0 +1,89 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MyCode.Project.Domain.Businesses.Sms
|
||||
{
|
||||
/// <summary>
|
||||
/// 短信模板基类
|
||||
/// </summary>
|
||||
public abstract class SmsTemplateBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 参数字典
|
||||
/// </summary>
|
||||
protected Dictionary<string, object> ParamDict = new Dictionary<string, object>();
|
||||
|
||||
/// <summary>
|
||||
/// 短信模板
|
||||
/// </summary>
|
||||
protected string Template { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 接收手机号码
|
||||
/// </summary>
|
||||
public string Phone { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 初始化一个<see cref="SmsTemplateBase"/>类型的实例
|
||||
/// </summary>
|
||||
/// <param name="template">短信模板</param>
|
||||
protected SmsTemplateBase(string template)
|
||||
{
|
||||
Template = template;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置 短信模板
|
||||
/// </summary>
|
||||
/// <param name="template">短信模板</param>
|
||||
public void SetTemplate(string template)
|
||||
{
|
||||
Template = template;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加参数
|
||||
/// </summary>
|
||||
/// <param name="key">键</param>
|
||||
/// <param name="value">值</param>
|
||||
protected void Add(string key, object value)
|
||||
{
|
||||
if (string.IsNullOrEmpty(key))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (value ==null || string.IsNullOrEmpty(value.ToString()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
ParamDict.Add(key, value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 初始化参数值
|
||||
/// </summary>
|
||||
protected abstract void InitParamValue();
|
||||
|
||||
/// <summary>
|
||||
/// 格式化模板
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string FormatTemplate()
|
||||
{
|
||||
InitParamValue();
|
||||
var tpl = Template;
|
||||
foreach (var param in ParamDict)
|
||||
{
|
||||
var value = param.Value.ToString();
|
||||
tpl = tpl.Replace(param.Key, value);
|
||||
}
|
||||
|
||||
return tpl;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
using MyCode.Project.Infrastructure.Constant;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MyCode.Project.Infrastructure.Constant.GlobalConfig;
|
||||
|
||||
namespace MyCode.Project.Domain.Businesses.Sms.Templates
|
||||
{
|
||||
/// <summary>
|
||||
/// 短信-消费成功模板
|
||||
/// </summary>
|
||||
public class SmsConsumptionSuccessTemplate : SmsTemplateBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 会员
|
||||
/// </summary>
|
||||
public string Member { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 金额
|
||||
/// </summary>
|
||||
public decimal Amount { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 积分
|
||||
/// </summary>
|
||||
public int Integral { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 微信公众号名
|
||||
/// </summary>
|
||||
public string WechatPublic { get; set; } = WechatConfigConst.WechatPublic;
|
||||
|
||||
/// <summary>
|
||||
/// 初始化一个<see cref="SmsConsumptionSuccessTemplate"/>类型的实例
|
||||
/// </summary>
|
||||
public SmsConsumptionSuccessTemplate() : base(SmsTemplateConfigConst.ConsumptionSuccess)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 初始化参数值
|
||||
/// </summary>
|
||||
protected override void InitParamValue()
|
||||
{
|
||||
Add(LxmConst.SmsTemplate.MEMBER_KEY, Member);
|
||||
Add(LxmConst.SmsTemplate.AMOUNT_KEY, Amount.ToString("F"));
|
||||
Add(LxmConst.SmsTemplate.INTEGRAL_KEY, Integral);
|
||||
Add(LxmConst.SmsTemplate.WECHAT_PUBLIC_KEY, WechatPublic);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
using MyCode.Project.Infrastructure.Constant;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MyCode.Project.Domain.Businesses.Sms.Templates
|
||||
{
|
||||
/// <summary>
|
||||
/// 短信-预约成功模板
|
||||
/// </summary>
|
||||
public class SmsPreOrderSuccessTemplate : SmsTemplateBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 订单时间
|
||||
/// </summary>
|
||||
public DateTime OrderTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 店铺
|
||||
/// </summary>
|
||||
public string Shop { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 服务
|
||||
/// </summary>
|
||||
public string Service { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 微信公众号名
|
||||
/// </summary>
|
||||
public string WechatPublic { get; set; } = WechatConfigConst.WechatPublic;
|
||||
|
||||
/// <summary>
|
||||
/// 初始化一个<see cref="SmsPreOrderSuccessTemplate"/>类型的实例
|
||||
/// </summary>
|
||||
public SmsPreOrderSuccessTemplate() : base(SmsTemplateConfigConst.PreOrderSuccess)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 初始化参数
|
||||
/// </summary>
|
||||
protected override void InitParamValue()
|
||||
{
|
||||
Add(LxmConst.SmsTemplate.MONTH_KEY, OrderTime.Month);
|
||||
Add(LxmConst.SmsTemplate.DAY_KEY, OrderTime.Day);
|
||||
Add(LxmConst.SmsTemplate.SHOP_KEY, Shop);
|
||||
Add(LxmConst.SmsTemplate.SERVICE_KEY, Service);
|
||||
Add(LxmConst.SmsTemplate.WECHAT_PUBLIC_KEY, WechatPublic);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using MyCode.Project.Infrastructure.Constant;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MyCode.Project.Domain.Businesses.Sms.Templates
|
||||
{
|
||||
/// <summary>
|
||||
/// 短信-充值成功模板
|
||||
/// </summary>
|
||||
public class SmsRechangeSuccessTemplate : SmsTemplateBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 充值金额
|
||||
/// </summary>
|
||||
public decimal Amount { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 余额
|
||||
/// </summary>
|
||||
public decimal Balance { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 微信公众号名
|
||||
/// </summary>
|
||||
public string WechatPublic { get; set; } = WechatConfigConst.WechatPublic;
|
||||
|
||||
/// <summary>
|
||||
/// 初始化一个<see cref="SmsRechangeSuccessTemplate"/>类型的实例
|
||||
/// </summary>
|
||||
public SmsRechangeSuccessTemplate() : base(SmsTemplateConfigConst.RechangeSuccess)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 初始化参数
|
||||
/// </summary>
|
||||
protected override void InitParamValue()
|
||||
{
|
||||
Add(LxmConst.SmsTemplate.RECHARGE_AMOUNT_KEY, Amount.ToString("F"));
|
||||
Add(LxmConst.SmsTemplate.BALANCE_KEY, Balance.ToString("F"));
|
||||
Add(LxmConst.SmsTemplate.WECHAT_PUBLIC_KEY, WechatPublic);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
using MyCode.Project.Infrastructure.Constant;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MyCode.Project.Domain.Businesses.Sms.Templates
|
||||
{
|
||||
/// <summary>
|
||||
/// 短信-服务完成模板 亲爱的顾客,您在本店享受了【{s100}】服务,剩余服务【{s100}】,详情请打开小程序查看;小程序链接 {s50}
|
||||
/// </summary>
|
||||
public class SmsServiceFinishTemplate : SmsTemplateBase
|
||||
{
|
||||
|
||||
public string CouponName { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 享受了【{s100}】服务
|
||||
/// </summary>
|
||||
public string ServiceString { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 剩余服务【{s100}】
|
||||
/// </summary>
|
||||
public string RemainingService { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 小程序链接 {s50}
|
||||
/// </summary>
|
||||
public string AppHtml { get; set; } = WechatConfigConst.AppHtml;//"【BINF流行美】"
|
||||
|
||||
/// <summary>
|
||||
/// 初始化一个<see cref="SmsServiceFinishTemplate"/>类型的实例
|
||||
/// </summary>
|
||||
public SmsServiceFinishTemplate() : base(SmsTemplateConfigConst.ServiceFinish)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 初始化参数值
|
||||
/// </summary>
|
||||
protected override void InitParamValue()
|
||||
{
|
||||
Add(LxmConst.SmsTemplate.ServiceString, ServiceString);
|
||||
Add(LxmConst.SmsTemplate.RemainingService, RemainingService);
|
||||
Add(LxmConst.SmsTemplate.AppHtml, AppHtml);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user