优化接口
This commit is contained in:
@@ -46,13 +46,15 @@ namespace WMS.Web.Api.Controllers
|
||||
private readonly IWebHostEnvironment _env;
|
||||
private readonly ILoginService _loginService;
|
||||
private readonly AppOptions _options;
|
||||
private readonly ISendMessageService _sendMessageService;
|
||||
public TestController(IErpService erpService, IInStockTaskService inStockTaskService, IBoxInventoryRepositories boxInventoryRepositories,
|
||||
IBasicsRepositories transactionRepositories, IOpsService opsService, IBoxService boxService, IBasicsRepositories basicsRepositories,
|
||||
IOutStockTaskRepositories outStockTaskRepositories, IOutStockTaskService outStockTaskService, IOptions<AppOptions> options, ILoginService loginService,
|
||||
IOutStockTaskRepositories outStockTaskRepositories, IOutStockTaskService outStockTaskService, IOptions<AppOptions> options, ILoginService loginService, ISendMessageService sendMessageService,
|
||||
ITakeStockService takeStockService, ITakeStockRepositories takeStockRepositories, IOutStockService outStockService, IInStockTaskRepositories inStockTaskRepositories,
|
||||
IWebHostEnvironment env)
|
||||
{
|
||||
_loginService = loginService;
|
||||
_sendMessageService = sendMessageService;
|
||||
_inStockTaskRepositories = inStockTaskRepositories;
|
||||
_basicsRepositories = basicsRepositories;
|
||||
_options = options?.Value;
|
||||
@@ -329,5 +331,15 @@ namespace WMS.Web.Api.Controllers
|
||||
await _loginService.RefreshTokenNew(oldtoken, retoken);
|
||||
return "";
|
||||
}
|
||||
/// <summary>
|
||||
/// 测试发送
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route("Send")]
|
||||
public async Task<Result> Send()
|
||||
{
|
||||
return await _sendMessageService.Execute();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
@@ -28,7 +28,7 @@
|
||||
},
|
||||
"SoaOptions": {
|
||||
"ModuleID": 25,
|
||||
"Url_V3": "https://dev.uc.v3.f2b211.com", //<EFBFBD><EFBFBD>ʽhttp://uc.v3.f2b211.com
|
||||
"Url_V3": "https://dev.uc.v3.f2b211.com", //正式http://uc.v3.f2b211.com
|
||||
"Url": "http://dev.uc.f2b211.com",
|
||||
"AppId": "100528847652388864",
|
||||
"AppSecret": "fa950a1fe690fe610338084b49db7db9",
|
||||
@@ -49,55 +49,55 @@
|
||||
"Qiniu": {
|
||||
"AccessKey": "dOsTum4a5qvhPTBbZRPX0pIOU7PZWRX7htKjztms",
|
||||
"SecretKey": "KFxsGbnErkALFfeGdMa8QWTdodJbamMX0iznLe-q",
|
||||
"Bucket": "orico-wms-test", //<EFBFBD><EFBFBD>ʽ orico-wms
|
||||
"Url": "https://wmstestfile.f2b211.com/" //<EFBFBD><EFBFBD><EFBFBD><EFBFBD> https://wmstestfile.f2b211.com/ <EFBFBD><EFBFBD>ʽ https://wmsfile.f2b211.com/
|
||||
"Bucket": "orico-wms-test", //正式 orico-wms
|
||||
"Url": "https://wmstestfile.f2b211.com/" //测试 https://wmstestfile.f2b211.com/ 正式 https://wmsfile.f2b211.com/
|
||||
},
|
||||
//<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//定时任务配置项
|
||||
"QuartzJobOptions": {
|
||||
//<EFBFBD>洢<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD>ֵ
|
||||
//存储类型:键和值
|
||||
"JobStoreTypeKey": "quartz.jobStore.type",
|
||||
"JobStoreTypeValue": "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz",
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>mysql:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
||||
//数据库驱动类型-这里是mysql:键和值
|
||||
"JobStoreDriverDelegateTypeKey": "quartz.jobStore.driverDelegateType",
|
||||
"JobStoreDriverDelegateTypeValue": "Quartz.Impl.AdoJobStore.MySQLDelegate, Quartz",
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ:<3A><><EFBFBD><EFBFBD>ֵ
|
||||
//数据库表名前缀:键和值
|
||||
"JobStoreTablePrefixKey": "quartz.jobStore.tablePrefix",
|
||||
"JobStoreTablePrefixValue": "QRTZ_",
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD>ֵ
|
||||
//数据源的名称:键和值
|
||||
"JobStoreDataSourceKey": "quartz.jobStore.dataSource",
|
||||
"JobStoreDataSourceValue": "myDS",
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD>ֵ
|
||||
//连接字符串:键和值
|
||||
"JobStoreConnectionStringKey": "quartz.dataSource.myDS.connectionString",
|
||||
"JobStoreConnectionStringValue": "Server=192.168.1.253; Database=wms_db;User Id=root;password=bf69f5755f97e943;port=3306;CharSet=gb2312;Connect Timeout=150;",
|
||||
|
||||
//mysql<EFBFBD>ṩ<EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD>ֵ
|
||||
//mysql提供器:键和值
|
||||
"JobStoreProviderKey": "quartz.dataSource.myDS.provider",
|
||||
"JobStoreProviderValue": "MySql",
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD>㿪ʼִ<EFBFBD><EFBFBD>
|
||||
//几点开始执行
|
||||
"JobStartHour": [ 15, 11, 1, 0, 0, 10 ],
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>ʼִ<EFBFBD><EFBFBD>
|
||||
//几分钟开始执行
|
||||
"JobStartMinute": [ 30, 39, 30, 20, 5, 5 ],
|
||||
|
||||
//ִ<EFBFBD><EFBFBD>Cron<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>Сʱor<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>or<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>or<EFBFBD><EFBFBD><EFBFBD><EFBFBD>or<EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>
|
||||
//执行Cron表达式:可以是几小时or几分钟or几秒钟or几天or几周;
|
||||
"JobStartExpre": "0 0/30 * * * ?",
|
||||
"JobStartExpreAmount": "0 50 23 * * ?",
|
||||
|
||||
//a.<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD>Ⱥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
||||
//a.是否启用集群:键和值
|
||||
"JobStoreClusteredKey": "quartz.jobStore.clustered",
|
||||
"JobStoreClusteredValue": true,
|
||||
|
||||
//b.<EFBFBD><EFBFBD>Ⱥ<EFBFBD>е<EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD>ڵ㶼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ψһ<EFBFBD><EFBFBD> instanceId
|
||||
// ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AUTO<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>a<EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD>b<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>
|
||||
//b.集群中的每个节点都必须有一个唯一的 instanceId
|
||||
// 通过将“AUTO”设置为该属性的值来完成
|
||||
//备注:a属性和b属性配套使用;如果不开启集群这两个属性去掉
|
||||
"JobStoreInstanceIdKey": "quartz.scheduler.instanceId",
|
||||
"JobStoreInstanceIdValue": "AUTO",
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//以下可以自定义配置
|
||||
"QuartzJobKey": "OpsJob",
|
||||
"QuartzJobValue": "OpsJobGroup",
|
||||
"QuartzJobDescription": "OpsJob",
|
||||
@@ -107,15 +107,15 @@
|
||||
"EmailOptions": {
|
||||
"SmtpServer": "smtp.qiye.aliyun.com",
|
||||
"SmtpPort": 587,
|
||||
"SenderName": "Ԫ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>",
|
||||
"SendTitle": "<EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>֪ͨ",
|
||||
"SenderName": "元创时代",
|
||||
"SendTitle": "【元创时代】-产品入库通知",
|
||||
"SenderEmail": "info@f2b211.com",
|
||||
"SenderEmailPwd": "K4h6GgxZYGMYV1Bb"
|
||||
},
|
||||
"SmsOptions": {
|
||||
"AccessKeyId": "LTAI5tBJg6KeDV2V1NiS7Ngi",
|
||||
"AccessKeySecret": "MAC8bMovSFyCgRQGkfhVcL1jvLJ8cP",
|
||||
"SignName": "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>",
|
||||
"SignName": "深圳市元创时代",
|
||||
"TemplateCode": "SMS_465408787"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -779,5 +779,11 @@
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Api.Controllers.TestController.Send">
|
||||
<summary>
|
||||
测试发送
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
|
||||
@@ -4164,7 +4164,7 @@
|
||||
<param name="content"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.IService.ISendMessageService.SendEmail(System.Collections.Generic.List{MimeKit.MailboxAddress},System.String)">
|
||||
<member name="M:WMS.Web.Domain.IService.ISendMessageService.SendEmail(System.Collections.Generic.List{MimeKit.MailboxAddress},System.String,System.String)">
|
||||
<summary>
|
||||
邮箱发送
|
||||
</summary>
|
||||
@@ -5999,7 +5999,7 @@
|
||||
<param name="content"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Services.SendMessageService.SendEmail(System.Collections.Generic.List{MimeKit.MailboxAddress},System.String)">
|
||||
<member name="M:WMS.Web.Domain.Services.SendMessageService.SendEmail(System.Collections.Generic.List{MimeKit.MailboxAddress},System.String,System.String)">
|
||||
<summary>
|
||||
邮箱发送消息
|
||||
</summary>
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace WMS.Web.Domain.IService
|
||||
/// <param name="toMailList"></param>
|
||||
/// <param name="textBody"></param>
|
||||
/// <returns></returns>
|
||||
Task<Result> SendEmail(List<MailboxAddress> toMailList, string textBody);
|
||||
Task<Result> SendEmail(List<MailboxAddress> toMailList, string textBody, string coustomerName);
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
|
||||
@@ -72,6 +72,7 @@ namespace WMS.Web.Domain.Services
|
||||
SendSmsRequest request = new SendSmsRequest();
|
||||
request.PhoneNumbers = phoneNumbers; // 目标手机号
|
||||
request.SignName = _smsOptions.SignName; // 短信签名
|
||||
//request.SignName = "深圳市元创时代"; // 短信签名
|
||||
request.TemplateCode = _smsOptions.TemplateCode; // 短信模板编号
|
||||
request.TemplateParam = "{\"material\":\"" + content+"\"}"; // 模板参数,根据实际情况填写
|
||||
|
||||
@@ -79,7 +80,7 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
// 发送短信
|
||||
SendSmsResponse response = client.GetAcsResponse(request);
|
||||
_logger.LogInformation("短信发送消息:成功->手机号码:" + phoneNumbers + " 内容:" + content);
|
||||
_logger.LogInformation($"短信发送消息:成功->短信签名:{_smsOptions.SignName}->手机号码:" + phoneNumbers + " 内容:" + content);
|
||||
return true;
|
||||
}
|
||||
catch (ServerException e)
|
||||
@@ -101,19 +102,21 @@ namespace WMS.Web.Domain.Services
|
||||
/// <param name="toMailList"></param>
|
||||
/// <param name="textBody"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> SendEmail(List<MailboxAddress> toMailList,string textBody)
|
||||
public async Task<Result> SendEmail(List<MailboxAddress> toMailList,string textBody,string coustomerName)
|
||||
{
|
||||
// 创建 MimeMessage 实例
|
||||
MimeMessage message = new MimeMessage();
|
||||
message.From.Add(new MailboxAddress(_emailOptions.SenderName, _emailOptions.SenderEmail)); // 设置发件人姓名和邮箱地址
|
||||
//message.From.Add(new MailboxAddress( _emailOptions.SenderName, _emailOptions.SenderEmail)); // 设置发件人姓名和邮箱地址
|
||||
message.From.Add(new MailboxAddress("元创时代", _emailOptions.SenderEmail)); // 设置发件人姓名和邮箱地址
|
||||
//message.To.Add(new MailboxAddress("Recipient Name", "244188119@qq.com")); // 设置收件人姓名和邮箱地址
|
||||
message.To.AddRange(toMailList);
|
||||
message.Subject = _emailOptions.SendTitle+$"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"; // 设置邮件主题
|
||||
//message.Subject = _emailOptions.SendTitle+$"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"; // 设置邮件主题
|
||||
message.Subject =$"【元创时代】-产品入库通知{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"; // 设置邮件主题
|
||||
|
||||
// 创建邮件正文
|
||||
BodyBuilder bodyBuilder = new BodyBuilder();
|
||||
bodyBuilder.TextBody = textBody; // 设置纯文本内容
|
||||
//bodyBuilder.HtmlBody = "<p>This is a <b>test</b> email sent from <i>.NETCore.MailKit</i>.lst</p>"; // 设置 HTML 内容
|
||||
//bodyBuilder.TextBody = textBody; // 设置纯文本内容
|
||||
bodyBuilder.HtmlBody = $"<p>尊敬的{coustomerName},您好,您的以下产品已入库/可安排发货:\r\n<p><p>{textBody}</p>"; // 设置 HTML 内容
|
||||
message.Body = bodyBuilder.ToMessageBody();
|
||||
|
||||
try
|
||||
@@ -223,14 +226,14 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var det in item.Details)
|
||||
{
|
||||
if (i == item.Details.Count)
|
||||
content = det.Specifications + " X 数量" + det.Qty;
|
||||
content = det.Specifications + " X 数量" +Convert.ToInt32(det.Qty);
|
||||
else
|
||||
content = det.Specifications + " X 数量" + det.Qty + ",";
|
||||
content = det.Specifications + " X 数量" + Convert.ToInt32(det.Qty) + ",";
|
||||
i = i + 1;
|
||||
|
||||
}
|
||||
//邮箱
|
||||
await this.SendEmail(item.EmailList, content);
|
||||
await this.SendEmail(item.EmailList, content, item.CustomerName);
|
||||
//短信
|
||||
this.SendSms(item.PhoneNumbers, content);
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
<PackageReference Include="Qiniu" Version="8.0.0" />
|
||||
<PackageReference Include="SkiaSharp" Version="2.80.3" />
|
||||
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="5.5.0" />
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="8.0.0" />
|
||||
<PackageReference Include="Wkhtmltopdf.NetCore" Version="3.0.2" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user