
任务描述
需求描述
需求详情:智能选品新品提报稳定提升 (zhcxkj.com)
一、背景
智能选品提报问题汇总
1)es同步到DB慢,es资源分配问题--线上跟进问题,李育贵定位解决
2)类目提报数据没有提报,提报的图片报错--线上跟进问题,张家添定位解决
3)漏数据问题(es有100w,DB只有30w),已添加日志及优化--线上跟进问题,张家添定位跟进。
4)推荐高频词统计问题,已加日志--线上跟进问题,邓颖协助张家添跟踪。
5)满足2000个数量才提报的逻辑,目前手动触发;改成所有源数据处理加工完成之后系统自动提报。--见需求说明。
业务价值:提升智能选品稳定性,减少人工干预
二、需求说明
2.1、智能选品-新品推送ES资源保证正常
操作位置:智能选品ES
处理方案:架构师李育贵进行定位解决
2.2、智能选品推荐流程
卡点:1)数据采集入库不及时。2)ES同步到DB漏数据问题。3)ERP提报数量不足1200。4)类目提报数据没有提报,提报的图片报错。
处理方案:开发进行分析,张家添进行定位排查解决;需进行关键节点梳理
2.3、新增提报源数据入库完成状态与
1、源数据入库完成新增采集完成状态:周度ABA数据/月度ABA数据/商机探测器数据/新品排行数据/003店铺数据。
2、ERP新品数据提报完成状态:周度ABA数据/月度ABA数据/商机探测器数据/新品排行数据/003店铺数据。
2.4、新品提报按类型分配优化
1、现状:目前是等数量有2000个可提报的数量,手动去触发进行分配。
2、优化逻辑:所有数据(周度ABA数据/商机探测器数据/新品排行数据/003店铺数据)处理完成则直接提报,不用人工触发。
验收标准
暂无
2、增加提报状态表putqueue_status_amazon,增加反查Sif关键词表putqueue_asin_sifkeyword
2.1 提报状态表putqueue_status_amazon的语句
SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for putqueue_status_amazon
-- ----------------------------
DROP TABLE IF EXISTS `putqueue_status_amazon`;
CREATE TABLE `putqueue_status_amazon` (
`Id` int(0) NOT NULL AUTO_INCREMENT COMMENT '记录ID,自增ID',
`SiteCode` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '站点',
`DataCycle` tinyint(0) NOT NULL COMMENT '周期类型\r\n(1:月份,2:天,3:星期,4:季度)\r\n周期类型\r\n(1:月份,2:天,3:星期,4:季度)\r\n周期类型 1:月份,2:天,3:星期,4:季度',
`CycleTime` int(0) NOT NULL COMMENT '周期时间\r\n\r\n月份格式:YYYYMM\r\n天格式:YYYYMMDD\r\n星期格式:YYYYWeek\r\n季度格式:YYYYQuarter\r\n(Week为第几周,Quarter为第几季度)',
`CycleStartDate` date NOT NULL COMMENT '周期开始日期',
`CycleEndDate` date NOT NULL COMMENT '周期结束日期',
`AsinStatus` tinyint(0) NOT NULL COMMENT 'Asin信息准备状态\r\n\r\n0:待处理\r\n1:已完成\r\n2:处理失败\r\n3:部分完成(最迟完成时间 周二下班前 )',
`AsinTime` datetime(0) NULL DEFAULT NULL COMMENT 'Asin信息准备完成时间',
`KeywordsRank` int(0) NOT NULL DEFAULT 0 COMMENT 'ABA新品关键词排名,用于记录保存数据的节点',
`GetNewAbaStatus` tinyint(0) NOT NULL DEFAULT 0 COMMENT 'ABA新品准备状态\r\n\r\n0:待处理\r\n1:已完成\r\n2:处理失败\r\n3:部分完成(最迟完成时间 周二下班前 )',
`GetNewAbaTime` datetime(0) NULL DEFAULT NULL COMMENT 'ABA新品准备完成时间',
`PutNewAbaStatus` tinyint(0) NOT NULL DEFAULT 0 COMMENT 'ABA新品提报完成状态\r\n\r\n0:待处理\r\n1:已完成\r\n2:处理失败\r\n3:部分完成(最迟完成时间 周三下班前 )',
`PutNewAbaTime` datetime(0) NULL DEFAULT NULL COMMENT 'ABA新品提报完成时间',
`GetSeasonStatus` tinyint(0) NOT NULL DEFAULT 0 COMMENT '季节性产品准备状态\r\n\r\n0:待处理\r\n1:已完成\r\n2:处理失败\r\n3:部分完成(最迟完成时间 每月2号前 )',
`GetSeasonTime` datetime(0) NULL DEFAULT NULL COMMENT '季节性产品准备完成时间',
`PutSeasonStatus` tinyint(0) NOT NULL DEFAULT 0 COMMENT '季节性产品提报完成状态\r\n\r\n0:待处理\r\n1:已完成\r\n2:处理失败\r\n3:部分完成(最迟完成时间 周二前 )',
`PutSeasonTime` datetime(0) NULL DEFAULT NULL COMMENT '季节性产品提报完成时间',
`GetNicheStatus` tinyint(0) NOT NULL DEFAULT 0 COMMENT '类目准备状态\r\n\r\n0:待处理\r\n1:已完成\r\n2:处理失败\r\n3:部分完成(最迟完成时间 周一早上 )',
`GetNicheTime` datetime(0) NULL DEFAULT NULL COMMENT '类目准备完成时间',
`PutNicheStatus` tinyint(0) NOT NULL DEFAULT 0 COMMENT '类目提报完成状态\r\n\r\n0:待处理\r\n1:已完成\r\n2:处理失败\r\n3:部分完成(最迟完成时间 周一前 )',
`PutNicheTime` datetime(0) NULL DEFAULT NULL COMMENT '类目提报完成时间',
`Get003Status` tinyint(0) NOT NULL DEFAULT 0 COMMENT '003店铺准备状态\r\n\r\n0:待处理\r\n1:已完成\r\n2:处理失败\r\n3:部分完成(最迟完成时间 周一早上 )',
`Get003Time` datetime(0) NULL DEFAULT NULL COMMENT '003店铺准备完成时间',
`Put003Status` tinyint(0) NOT NULL DEFAULT 0 COMMENT '003店铺提报完成状态\r\n\r\n0:待处理\r\n1:已完成\r\n2:处理失败\r\n3:部分完成(最迟完成时间 周一早上 )',
`Put003Time` datetime(0) NULL DEFAULT NULL COMMENT '003店铺提报完成时间',
`GetNewRankStatus` tinyint(0) NOT NULL DEFAULT 0 COMMENT '新品排名准备状态\r\n\r\n0:待处理\r\n1:已完成\r\n2:处理失败\r\n3:部分完成(最迟完成时间 周一早上 )',
`GetNewRankTime` datetime(0) NULL DEFAULT NULL COMMENT '新品排名准备完成时间',
`PutNewRankStatus` tinyint(0) NOT NULL DEFAULT 0 COMMENT '新品排名提报完成状态\r\n\r\n0:待处理\r\n1:已完成\r\n2:处理失败\r\n3:部分完成(最迟完成时间 周一下班前 )',
`PutNewRankTime` datetime(0) NULL DEFAULT NULL COMMENT '新品排名提报完成时间',
`AddTime` datetime(0) NOT NULL COMMENT '入库时间',
`Remarks` json NULL COMMENT '备注',
PRIMARY KEY (`Id`) USING BTREE,
UNIQUE INDEX `idx_unique`(`SiteCode`, `DataCycle`, `CycleTime`) USING BTREE COMMENT '唯一键'
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '提报状态表' ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;
2.2、反查Sif关键词表putqueue_asin_sifkeyword的语句
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for putqueue_asin_sifkeyword
-- ----------------------------
DROP TABLE IF EXISTS `putqueue_asin_sifkeyword`;
CREATE TABLE `putqueue_asin_sifkeyword` (
`Id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT '记录ID,自增ID',
`Asin` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ASIN',
`SiteCode` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '站点名',
`HashWord` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '搜索词哈希值',
`SearchWord` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '搜索词',
`SearchWordCn` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '搜索词中文',
`SearchWordRank` int(0) NOT NULL DEFAULT 0 COMMENT '搜索词排名',
`UpdateTime` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`AddTime` datetime(0) NOT NULL COMMENT '入库时间',
PRIMARY KEY (`Id`) USING BTREE,
UNIQUE INDEX `idx_unique`(`Asin`, `SiteCode`) USING BTREE COMMENT '唯一键'
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '反查Sif关键词表' ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;
3、核心代码
3.1,以站点去分配数据


3.2、提报控制,看是否有分配数量的记录