hl-api-changelog/changelogs/2026-04/0415-product-action-split.md

2.0 KiB

产品状态变更接口拆分

日期: 2026-04-15 服务: hl-product-service-v2 影响: 管理端产品管理


变更概要

POST /admin/product/item/{id}/action 接口拆分为2个独立接口,前端不再需要传动作码,后端自动判断。旧接口保留但已废弃。


新增接口

1. 上架/下架切换

POST /admin/product/item/{id}/toggle-publish

请求体(可选):

{
  "remark": "备注原因(可选)"
}

后端自动逻辑:

当前状态 普通用户 超管(SUPER_ADMIN)
草稿/已驳回/已下架 提交上架审批→待审核 直接上架→已上架
已上架 申请下架审批→待审核 强制下架→已下架
待审核 撤回→草稿 撤回→草稿

审批流程: 普通用户上架/下架会自动提交企微OA审批,审批通过后自动变更状态,无需前端处理。

响应:

{
  "code": 200,
  "message": "操作成功",
  "data": null
}

2. 完成设计(仅定制产品)

POST /admin/product/item/{id}/complete

请求体(可选):

{
  "remark": "备注(可选)"
}

限制: 仅 productType=CUSTOM 的草稿产品可调用,其他类型返回500。

响应:

{
  "code": 200,
  "message": "完成设计成功",
  "data": null
}

废弃接口

POST /admin/product/item/{id}/action

状态: @Deprecated,暂时保留兼容,后续版本移除。

请尽快迁移到上述2个新接口。


人群优惠bug修复

GET /admin/product/item/{id} 返回的 crowdBenefit 对象之前只有 tips 字段,现在完整返回所有字段:

{
  "crowdBenefit": {
    "childTicket": "HALF_PRICE",
    "childAccommodation": "NO_BED",
    "childMeal": "HALF",
    "elderTicket": "FREE",
    "elderAccommodation": "SAME_AS_ADULT",
    "tips": "3岁以下免费"
  }
}

前端无需改动,之前缺失的字段现在正常返回。