1.1 原有的公共消息重推服务:MsgRetryJobService
1.2. 在该服务的基础上,增加库存同步的消息重推逻辑。MQ队列表【P_Product_Sku_Change】的状态为3的队列,需要重推MQ消息
1.3 在该服务的基础上,增加库存同步的消息重推逻辑。MQ队列表【P_Product_Sku_Change】的状态为0,并且添加时间超过1小时的,需要重推MQ消息
1.4 之前的历史数据,MQ队列表【P_Product_Sku_Change】添加时间超过2个小时,状态为0的,需要手动将该数据的状态设置为3,让消息重推服务,重推MQ消息
1.5 MQ队列表【P_Product_Sku_Change】增加重推MQ消息的次数的字段,每次重推MQ消息,该字段数量累加1,次数达到30或者以上,则将队列状态未改2【2=失败,但是不需要重试】
2. 库存同步-消费端增加逻辑
2.1. 如果查询动态库存的接口【QuerySensitiveInventoryList】返回的状态未失败,则将MQ队列表【P_Product_Sku_Change】的状态改为3,【3=异常重试】
2.2. 如果查询动态库存的接口【QuerySensitiveInventoryList】返回的状态为成功,但是返回的库存数据为空,说明动态库存表没有这一批SKU库存数据,需要新增到动态库存表。
2.3. catch里面,需要将MQ队列表【P_Product_Sku_Change】的状态改为3,【3=异常重试】
2.4 库存同步服务消费端:SyncProductStockDataHandle.cs

1.2和1.3的代码部分
1.5测试结果
2.1和2.3测试结果