|
@@ -1,4 +1,6 @@
|
|
using DotNetCore.CAP;
|
|
using DotNetCore.CAP;
|
|
|
|
+using Hotline.Orders;
|
|
|
|
+using Hotline.Share.Dtos.FlowEngine;
|
|
using Hotline.Share.Dtos.Push;
|
|
using Hotline.Share.Dtos.Push;
|
|
using Hotline.Share.Dtos.Push.FWMessage;
|
|
using Hotline.Share.Dtos.Push.FWMessage;
|
|
using Hotline.Share.Enums.Push;
|
|
using Hotline.Share.Enums.Push;
|
|
@@ -69,7 +71,7 @@ public class PushDomainService : IPushDomainService, IScopeDependency
|
|
|
|
|
|
#region 替换模板内容
|
|
#region 替换模板内容
|
|
//如果模板为空,参数为空则直接用短信内容
|
|
//如果模板为空,参数为空则直接用短信内容
|
|
- if (!string.IsNullOrEmpty(messageDto.TemplateCode) && messageDto.Params.Count > 0)
|
|
|
|
|
|
+ if (!string.IsNullOrEmpty(messageDto.TemplateCode))
|
|
{
|
|
{
|
|
//查询模板信息
|
|
//查询模板信息
|
|
var messageTemplate = await _messageTemplateRepository.GetAsync(p => p.Code == messageDto.TemplateCode, cancellation);
|
|
var messageTemplate = await _messageTemplateRepository.GetAsync(p => p.Code == messageDto.TemplateCode, cancellation);
|
|
@@ -77,19 +79,23 @@ public class PushDomainService : IPushDomainService, IScopeDependency
|
|
throw UserFriendlyException.SameMessage("未找到模板短信!");
|
|
throw UserFriendlyException.SameMessage("未找到模板短信!");
|
|
|
|
|
|
string Template = messageTemplate.Content;
|
|
string Template = messageTemplate.Content;
|
|
- //正则查询模板中需要替换的内容
|
|
|
|
- Regex regex = new(@"\{[a-zA-Z0-9]{1,}\}");
|
|
|
|
- var matches = regex.Matches(Template);
|
|
|
|
- if (matches != null && matches.Count != messageDto.Params.Count)
|
|
|
|
- //参数与需要替换的字符数不匹配
|
|
|
|
- throw UserFriendlyException.SameMessage("模板需要参数与实际传递参数个数不匹配!");
|
|
|
|
- //reason = "模板需要参数与实际传递参数个数不匹配!";
|
|
|
|
-
|
|
|
|
- //根据正则查询出来的匹配项替换内容
|
|
|
|
- for (int i = 0; i < matches.Count; i++)
|
|
|
|
- Template = Template.Replace(matches[i].ToString(), messageDto.Params[i]);
|
|
|
|
|
|
+ if (messageDto.Params != null && messageDto.Params.Count > 0)
|
|
|
|
+ {
|
|
|
|
+ //正则查询模板中需要替换的内容
|
|
|
|
+ Regex regex = new(@"\{[a-zA-Z0-9]{1,}\}");
|
|
|
|
+ var matches = regex.Matches(Template);
|
|
|
|
+ if (matches != null && matches.Count != messageDto.Params.Count)
|
|
|
|
+ //参数与需要替换的字符数不匹配
|
|
|
|
+ throw UserFriendlyException.SameMessage("模板需要参数与实际传递参数个数不匹配!");
|
|
|
|
+ //reason = "模板需要参数与实际传递参数个数不匹配!";
|
|
|
|
+
|
|
|
|
+ //根据正则查询出来的匹配项替换内容
|
|
|
|
+ for (int i = 0; i < matches.Count; i++)
|
|
|
|
+ Template = Template.Replace(matches[i].ToString(), messageDto.Params[i]);
|
|
|
|
|
|
|
|
+ }
|
|
messageDto.Content = Template;
|
|
messageDto.Content = Template;
|
|
|
|
+
|
|
}
|
|
}
|
|
#endregion
|
|
#endregion
|
|
var message = _mapper.Map<Message>(messageDto);
|
|
var message = _mapper.Map<Message>(messageDto);
|