项目结构采用了star方法,Situation:概括性的总结业务背景和挑战;Task:介绍你负责的任务已经需要达成的目标;Action:项目中你采取的关键行动;Result:项目落地后的实际效果。项目实战第十五讲:商品最复杂的逻辑-使用职责链模式实现类目属性规则引擎
文章目录
-
-
- 1、项目背景
- 2、主要技术
- 3、项目职责
- 4、项目实现
-
- 4.1、数据表设计和整体流程图
- 4.2、整体流程
-
- 4.2.1、创建类目属性
- 4.2.2、更新类目属性
- 4.2.3、渲染商品发布页
- 4.2.3、规则引擎
- Action1:规则引擎使用场景
- Action2:规则引擎可以优化的点
- Action3:落库cspu表时,属性的排序?
- Action4:供应商能添加自定义销售属性吗?
- Action5:类目属性按执行key顺序排列,代码实现逻辑niubility
- Action6:标准里有脏数据,一个类目两个同名属性,且无法去除,解决方案?
- Action7:可以将校验逻辑前置处理,然后将修正数据的规则放后面
- Action8:如果编辑页修改了商品cspu型号,落库后spuId没有被置为空
- Action9:如果供应商填写的自定义属性(属性分组会为”USER_DEFINED“),名称正好等于类目属性中的销售属性,那么数据会被放到OtherAttribute中?
- Action10:发商品时,属性值如果包含空字符串,也正常落库了,这个点需要解决?
- Action11:在OutOfControlAttributeExecutor校验器里面,如果属性值id为空,是没法得到属性值id的?那么属性值id是在哪个地方被赋值的呢?
- Action12:如果商品为反向创建,对于附件类型的属性,协议中心是随意逻辑,导致了商品详情页解析不了
- Action13:类目属性分组与商品属性分组,如果两者不一致,处理逻辑是怎样的?
- 5、项目结果
-
1、项目背景
商品中心规则引擎梳理优化需求
2、主要技术
使用了设计模式
- 1、职责链模式,一次调用每一条规则
- 2、模板模式,提供了拓展点让子类实现
- 3、泛型编程,提供抽象父类
3、项目职责
1、梳理规则引擎业务逻辑
2、优化规则,减小规则引擎执行的rt
4、项目实现
4.1、数据表设计和整体流程图
4.1.2、数据表设计
表1、商品属性表
# 商品属性表
create table item_attributes(
item_id