优化接口

This commit is contained in:
tongfei
2024-04-11 11:04:15 +08:00
parent 357b3f83de
commit 1c05cf2786
2 changed files with 70 additions and 1 deletions

View File

@@ -6207,6 +6207,20 @@
</summary>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.SendMessageService.MergeProperties(System.Collections.Generic.List{WMS.Web.Core.Dto.SendDataDetailsDto})">
<summary>
合并属性
</summary>
<param details=""></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.SendMessageService.MergeStrings(System.Collections.Generic.List{System.String})">
<summary>
按450个字开始分组
</summary>
<param name="strings"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.QiniuUploadService.Upload(System.String,System.IO.Stream,System.Boolean)">
<summary>
上传文件

View File

@@ -265,7 +265,16 @@ namespace WMS.Web.Domain.Services
if (!sms_result.IsSuccess && sms_result.Message == "isv.PARAM_LENGTH_LIMIT")
{
//分段发送以字数480长度分段
var contentParts = this.SplitContent(content, 480);
//var contentParts = this.SplitContent(content, 480);
//foreach (var partContent in contentParts)
//{
// this.SendSms(item.PhoneNumbers, partContent);
//}
//1.先合并属性:规格和数量
var materials= this.MergeProperties(item.Details);
//2.按450个字分组成多个字符串集合
var contentParts = this.MergeStrings(materials);
foreach (var partContent in contentParts)
{
this.SendSms(item.PhoneNumbers, partContent);
@@ -313,5 +322,51 @@ namespace WMS.Web.Domain.Services
}
return parts;
}
/// <summary>
/// 合并属性
/// </summary>
/// <param details=""></param>
/// <returns></returns>
public List<string> MergeProperties(List<SendDataDetailsDto> details)
{
List<string> result = new List<string>();
foreach (var det in details)
{
result.Add($"{det.Specifications} 数量{Convert.ToInt32(det.Qty)}");
}
return result;
}
/// <summary>
/// 按450个字开始分组
/// </summary>
/// <param name="strings"></param>
/// <returns></returns>
public List<string> MergeStrings(List<string> strings)
{
List<string> result = new List<string>();
StringBuilder currentGroup = new StringBuilder();
foreach (var str in strings)
{
if (currentGroup.Length + str.Length > 450)
{
// 当前字符串超过50个字符将当前分组加入结果集并重置currentGroup
result.Add(currentGroup.ToString());
currentGroup.Clear();
}
// 添加当前字符串到当前分组
currentGroup.Append(str);
}
// 添加最后一个分组
if (currentGroup.Length > 0)
{
result.Add(currentGroup.ToString());
}
return result;
}
}
}