任务描述
需求描述
需求背景
近期业务反馈层级促销失败很多,技术排查发现,是因为亚马逊针对促销活动名称新增了字符数限制导致的

需求内容
1、促销活动名称取值规则调整,并需要重置所有账号组已组装好的活动名称,按新规则提报:
在当前规则上,取消变量2变量4的使用。修改变量1的关键词内容
最新规则是:变量1+发货方式+随机数据+年月日时分秒+6位随机数
注意:
1、在提报到亚马逊时,会按当前组装好的活动名称模板进行更新数据,并且会判断一个层级促销活动最多设置10000listing,如果同一个策略生成超过10000个listing,会拆分多个层级促销组,则促销活动名称尾部会有一个两位数值的序号标记与区分。例如 01 02 03....
2、提报时,如果提报的是指定商品,活动名称会根据策略提报的listing的发货方式标识是FBA还是FBM。自定义策略与通用场景策略的发货方式标识位置会有差异。


2、针对【促销活动名称】新增字符限制,各个站点限制字符数如下:
如果生成好的活动名称,超过字符时。则从变量1的关键词按单词进行截取。其他变量等不做截取操作。
如果变量1全部截取完,还是超出字符限制,则还是继续提报。

3、采集端需要记录亚马逊后台上传失败的报错结果。后端也需要将对应的报错结果显示在对应的【失败原因】


验收标准
暂无
修改地方:
取消 2,4

限制长度string text = string.Join("&&&___", result);
text = configModel.Queue.SiteCode.ToUpper() switch
{
"UK" or "CA" or "US" or "AU" or "SA" or "AE" or "SG" => GetTaskName(text, 100),
"TR" or "BE" or "ES" or "FR" or "NL" or "IT" or "SE" or "DE" or "BR" or "MX" => GetTaskName(text, 50),
"JP" => GetTaskName(text, 33),
"PL" => GetTaskName(text, -1),
_ => GetTaskName(text, -1)
};
/// <summary>
/// 保留指定长度TaskName
/// </summary>
/// <returns></returns>
private string GetTaskName(string text, int length)
{
//恢复正常文本
string newText = text.Replace("&&&___", " ");
if (newText.Length <= length || length == -1)
{
//长度没超过就直接返回
return newText;
}
//长度超了就去除变量1的组合
var spliText = text.Split("&&&___").ToList();
spliText.RemoveAt(0);
newText = string.Join(" ", spliText);
return newText;
}
关键词表:Amazon_AdjustPrice.PercentageOff_Tpl_Txt