抖店商品状态机设计
状态枚举
商品状态使用三个字段控制,状态枚举如下
字段 | status | check_status | draft_status |
含义 | 在线状态 | 审核状态 | 草稿状态 |
-2 | 彻底删除,不能恢复 | / | / |
-1 | 系统异常,废弃商品 | / | / |
0 | 在线 | / | 无草稿 |
1 | 下线 | 未提审 | 未提审 |
2 | 删除,可以恢复 | 待审核 | 待审核 |
3 | / | 审核通过 | 审核通过 |
4 | / | 审核未通过 | 审核未通过 |
5 | / | 封禁 | / |
6 | / | / | / |
7 | / | 审核通过,待上架 | / |
常用判断
- 草稿箱:status=0 and check_status=1 and draft_status=1或0
- 在售:status=0&&check_status=3
- 审核中:status=0 and check_status=2 and draft_status=2
- 新版本审核中:status=0 and check_status=3 and draft_status=2
- 封禁中:status=1 and check_status=5 and draft_status=0
- 上架的商品被下架放入仓库中:status=1 and check_status=1 and draft_status=0
- 延迟上架,放入仓库中(start_sale_type=1):status=1 and check_status=7 and draft_status=0
- 删除:status=2 and check_status=1 and draft_status=0
补充说明
因为历史原因,在线(status=0),在这里只是一个可用状态。只有审核通过才能售卖。
- 上架、下架、删除、恢复可由商家操作,是日常管理商品行为
- 上架、下架可由系统操作,如:解除品牌绑定关系,下架关联的商品
- 封禁、解封是系统和运营行为,如:好评率过低系统自动封禁商品、商品违规被封禁
- 商品售卖中,编辑商品时会保存信息到草稿箱,商家提交审核;审核通过后将草稿信息应用到线上,用户可见;审核驳回不影响线上数据,商家可以继续对草稿数据进行修改
- 无论商品进行了上架,恢复,解封等操作,都需要经过商家提审,审核通过后才可以售卖。所有商品可售的必要条件是 通过审核。
- 为什么商品状态要搞3个字段?status:商品状态check_status: 审核状态 与status一起决定了商品是否可售draft_status: 草稿状态 实际上是草稿版本的状态,比如草稿审核通过或拒绝,不影响线上一个简单的场景,上架中的商品,需要编辑提审,不能动status、也不能动check_status,否则会导致线上无法售卖。所以需要draft_status辅助。
Loading...