需求背景
一、防超卖执行时,当出现如下情况会导致死循环:该SKU会一直命中策略,且目标值一直等于在线值
1、规则的目标值设置为“可用库存”
2、“条件值”(比如5)>“目标值”(比如3)
3、SKU的可用库存变化小
二、影响:导致策略一直重复拉取,造成性能大量浪费
三、真实案例

设计前提
一、问题定位:当前系统中,未校验“可售数策略目标值=可售数在线值”
二、方案选择
方案1:只选“库存变动的SKU”进入队列,技术方案改动大
方案2:在获取“可售数策略目标值”时,判断“可售数策略目标值=可售数在线值”
产品设计
1、后端:可售数策略目标值=可售数在线值,不计算、不调用接口
2、前端:参数“状态”增加枚举“不执行”,参数“状态描述”增加描述内容“可售数策略目标值=在线可售数,为节约资源,故不执行”
包含2个状态相关的优化
1、不执行
2、这种没返回数据,系统后端节点的状态,要失败