# #3097 需求调研：商品自动下架规则，例如重量较大、体积较大或需要预订的商品等

来源：https://gitlab.parsec.com.cn/umay/doc-and-issues/-/issues/3097

读取时间：2026-10-01T14:06:53.854019+00:00；当前更新时间：2026-09-28T07:12:09.309Z。

> 当前内容快照，非历史版本。身份提及、电话示例和订单编号经最小化处理；不据此认定需求已实现。

## 当前描述

根据最新的后端代码，调研商品自动下架的具体规则，例如重量较大、体积较大或需要预订的商品等。直接回复到 1 楼。

## 同期可观察评论（当前正文）

### 评论 231698

创建：2026-09-28T07:07:29.232Z；更新：2026-09-28T07:07:29.232Z。

[原评论](https://gitlab.parsec.com.cn/umay/doc-and-issues/-/issues/3097#note_231698)

## 商品自动下架规则调研结论

基于最新后端代码（product-manage-service / product-service / wms-service / order-service，master）调研完成，完整分析文档见 MR !17（`商品自动下架规则-需求调研及分析.md`）。

### 针对三类猜想规则的结论

| 猜想规则 | 是否存在 | 说明 |
|---|---|---|
| 重量较大 → 自动下架 | ✅ 存在 | 上架/索引检查中**包裹重量 > 3kg 不允许上架**，已在架商品在重建索引时会被自动下架（`ProductCheckService.kt:649-656`，`ProductIndexService.kt:201-208`） |
| 体积较大 → 自动下架 | ❌ 不存在 | 体积/长宽高仅用于 AI 包装预估与体积重（长×宽×高/5000）物流计费，无任何下架/拦截逻辑 |
| 需要预订（预售）→ 自动下架 | ❌ 不存在 | 商品模型中没有"预售/预订"属性参与上架状态判断；全库仅 order-service 有已注释掉的预订单超时取消任务 |

### 实际存在的自动下架规则（按触发方式归类）

**1. 1688 商品同步时**（定时同步 + MQ，AlibabaProductSyncService.syncSingleProduct :894 / highSyncProduct :2049）：
- 1688 查不到商品 / 返回 SP0056（已删除）/ 状态非 `published`；
- 无 SKU、无分销价格、有效 SKU 全部为空（某 SKU 可售库存为 0 → 该 SKU 置无效）；
- 最低 SKU 价 = 0、**< 10 元或 ≥ 1300 元 RMB**。

**2. 1688 商品变更通知 MQ**：收到 OFFLINE 通知 → 下架（AlibabaProductNotifyHandleService.handleOffline :91）。

**3. C 端即时校验（product-service）**：购物车实时查询 1688 状态非 published → 下架（ShoppingCartService.kt:504）；详情页无有效 SKU → 下架（ProductService.kt:582、:1638）。

**4. 索引重建时上架检查不通过**（ProductCheckService.onSaleCheck :546，任何重建索引都会执行）：分类禁用、图片/标题未翻译、无主图、无有效 SKU、**重量 > 3kg**、库存 ≤ 0、价格为空/为 0/<10/>1300 RMB、alibabaSaleStatus=false 等；商户商品另有一套 onSaleCheckByMerchant。

**5. OneC 线下自营**（每天 2 点全量同步）：无 SKU / isEnable=false / 已删除 → 拉黑下架；**库存为 0 → 自动下架**。

**6. 淘宝**：同步时无 SKU、状态 CANCEL，或收到取消铺货/删除/OFF 推送 → 下架。

**7. 中免日上**：同步时无 SKU → 下架；采购缺货 → SKU 级下架 + 缺货监控（wms-service 触发 Feign）。

下架统一入口为 `ProductSaleService.offSale`（置 `t_product.status=false` + 记录 offlineReason + 删 ES 索引）。人工下架路径（管理端单个/批量、Excel 导入、拉黑、商户侧操作等）详见文档第五节。

## 固定版本代码关联候选


未核对完整实现；没有路径关联时，不代表需求不存在或已经实现。
