第一节 电商项目的商品都有哪些状态

亮子 | 2025-11-15 08:21:06 | 48 | 0 | 0 | 0

好的,这是一个非常核心的电商业务问题。商品的状态贯穿了从创建到销售、下架乃至删除的整个生命周期。一个设计良好的商品状态机对于电商系统的稳定运营至关重要。

以下是电商项目中常见的商品状态,可以分为几个主要维度:

一、核心生命周期状态(从商家视角)

这些是商品最基本、最常见的一系列状态,通常构成一个状态机。

  1. 草稿 / 未上架

    • 描述:商品信息已创建但尚未完善,或者已保存但不想让前台用户看到。通常用于商家临时保存、待编辑的商品。
    • 触发操作:商家新建商品并保存。
  2. 待审核

    • 描述:商品信息填写完毕,商家提交给平台进行审核。在一些平台型电商(如天猫、京东)或对商品资质要求严格的系统中,此状态是必需的。
    • 触发操作:商家点击“提交审核”。
  3. 审核失败 / 驳回

    • 描述:平台审核人员发现商品信息有问题(如图片不符、类目错误、资质不全等),驳回修改。
    • 触发操作:平台审核人员执行驳回操作。
    • 下一状态:通常退回至“草稿”状态,并附带驳回原因。
  4. 已上架 / 销售中

    • 描述:商品通过审核(或无需审核),已经在前台网站/APP上展示,用户可以看到并购买。这是商品的正常销售状态。
    • 触发操作:商家点击“上架”或审核通过后自动上架。
  5. 已下架 / 仓库中

    • 描述:商品从前台隐藏,用户无法搜索和购买,但商品信息和销售数据等均被保留。商家可以随时再次上架。常见于季节性商品、暂时缺货或需要修改的商品。
    • 触发操作:商家手动点击“下架”。
  6. 强制下架

    • 描述:平台由于违规、投诉等原因,强制将商品下架。与商家自主下架不同,此状态下商家可能无法自行重新上架,需要申诉或整改。
    • 触发操作:平台管理员执行。

二、库存与销售相关状态

这些状态通常与核心状态并行存在,影响商品的可售卖性。

  1. 有库存

    • 描述:商品库存数量大于0,可以正常销售。
  2. 缺货 / 无库存

    • 描述:商品库存为0。此时,即使商品处于“已上架”状态,用户也无法下单购买(或可以下单但无法支付)。系统可以设置自动将缺货商品下架。
    • 下一状态:补货后,自动或手动恢复为“有库存”。
  3. 预售

    • 描述:一种特殊状态,商品尚未正式入库或生产,但允许用户提前下单购买。会有明确的预售截止时间和发货时间。

三、逻辑状态(通常对用户不可见)

这些状态更多是后台逻辑上的标识。

  1. 已删除 / 回收站

    • 描述:商品被删除。通常不是物理删除,而是逻辑删除(在数据库中用is_deleted字段标记)。商品数据依然保留,便于数据统计和恢复。处于此状态的商品完全从前台和后台列表(回收站除外)中消失。
    • 注意:已删除的商品如果曾有订单记录,通常不允许被物理删除。
  2. 锁定库存

    • 描述:这不是商品主状态,而是库存的一个子状态。当用户下单但未支付时,对应的商品库存会被锁定,防止超卖。锁定库存会计入“已占用的库存”,但不计入“可用库存”。

状态流转示意图

一个典型的状态流转可以用下图表示:

graph TD
    A[草稿] -->|提交审核| B(待审核)
    B -->|审核通过| C[已上架/销售中]
    B -->|审核驳回| A
    C -->|商家下架| D[已下架/仓库中]
    D -->|商家上架| C
    C -->|库存为0| E[缺货]
    E -->|补充库存| C
    D -->|删除| F[已删除/回收站]
    F -->|恢复| D
    C -.->|平台强制| G[强制下架]

image.png

实际业务中的扩展与考量

  • 定时上架/下架:商品可以有一个“定时上架”状态,在到达设定时间后自动变为“已上架”。同理也有“定时下架”。
  • 商品组合/套装:套装商品的状态可能依赖于其子商品的状态。
  • 地区性销售:同一商品在不同地区(如不同仓库覆盖范围)可能有不同的上架/下架状态。
  • 活动状态:参与秒杀、拼团等特定活动的商品,在活动期间可能会有独立的状态标识,影响其价格和购买流程。

总结:在设计电商系统的商品状态时,需要根据业务的复杂程度(是自营还是平台型?是否需要强审核?)来定义合适的状态机。清晰的状态划分和流转逻辑是保证电商后台操作顺畅、数据准确的基础。