需求背景
关联需求 #33503 已实现亚马逊搜索查询绩效(SQP)API 数据获取功能,其中在创建 SQP 报告前,需要根据 amazon_child_reports_salestrafficreport 表中的数据判断指定“站点 + ASIN”是否满足以下条件:Sessions之和 >= 5 或 TotalOrderItems之和 >= 1
实现时将上述指标理解为“按月汇总后判断”,与原业务预期不一致
需求内容
业务原需求文档:https://alidocs.dingtalk.com/i/nodes/gwva2dxOW4KamqXNhkM1eoBn8bkz3BRL?utm_scene=person_space
将 SQP 报告获取资格的判断周期由错误的“按月汇总”修正为“按目标周汇总”,并正确处理目标周跨月、跨年的情况。
修复后,每个目标周独立判断:
- WeeklySessions = 按站点+ASIN维度,根据业务写入任务表【amazon_sqp_report_task】字段【>=week_start_date 且 <=week_end_date】的时间,取报告【amazon_child_reports_salestrafficreport_N】字段【ReportsDate】,统计Sessions之和
- WeeklyTotalOrderItems = 按站点+ASIN维度,根据业务写入任务表【amazon_sqp_report_task】字段【>=week_start_date 且 <=week_end_date】的时间,取报告【amazon_child_reports_salestrafficreport_N】字段【ReportsDate】,统计TotalOrderItems之和
【week_start_date 】<=【ReportsDate】<=【week_end_date】
筛选满足条件: WeeklySessions >= 5 或 WeeklyTotalOrderItems >= 1的进行获取SQP报告
注意:
当目标周跨月或者跨年时,不能只查询周起始日期所在月,也不能分别按月份判断。系统应读取目标周涉及的所有月份数据,合并后按整周汇总一次。

技术优化内容:
1、调用亚马逊创建报告接口时,入参中的ASIN字段(字符串类型)增加ASIN,以空格分隔,但不能超过200个字符(最多传18个ASIN)
2、以卖家ID维度执行调用亚马逊接口,每个卖家ID、每个接口在单个调度周期内只执行一次,等待下次调度再次执行(调度周期间隔1分钟)
3、根据流量进行筛选时,使用到的数据,改为提前批量获取好(原先是遍历的时候获取)
4、根据流量进行筛选时,原先流量数据按月范围获取改为任务对应的周起始时间和周结束时间获取,跨月时需要注意分隔时间段来获取
5、原先获取报告接口后单个回写任务信息改为批量回写
6、批量创建报告时,对于没有对应报告内容的任务,状态设置为NoData