Files
ZQYY.FQ-ETL/docs/api-reference/store_goods_master.md

11 KiB
Raw Permalink Blame History

门店商品库存主数据 — GetGoodsInventoryList

模块:TenantGoods · ODS 表:store_goods_master · 维度表(快照)


一、接口概述

查询门店级商品库存主数据,包括商品基础信息、分类、库存数量、价格/成本、状态开关、销售表现等。每条记录对应一个门店维度的商品,是商品维度的核心维表。与租户商品档案(tenant_goods_master)通过 tenant_goods_id 关联,与库存/销售事实表通过 id(即 site_goods_id)关联。

属性
完整路径 POST /TenantGoods/GetGoodsInventoryList
Base URL https://pc.ficoo.vip/apiprod/admin/v1/
鉴权 Authorization: Bearer <token>
分页 page + limit(最大 100
时间范围 不需要(全量快照)

二、请求

请求体JSON

{
  "goodsSecondCategoryId": [],
  "goodsState": 0,
  "enableStatus": 0,
  "siteId": [2790685415443269],
  "existsGoodsStock": 0,
  "page": 1,
  "limit": 100
}

⚠️ 注意:siteId 参数必须为数组格式 [sid],而非单个整数值。这是本接口的特殊要求。

参数说明

参数 类型 必填 说明
goodsSecondCategoryId array 二级分类 ID 列表,空数组 [] = 全部
goodsState int 商品状态筛选。0 = 全部,1 = 正常,2 = 特殊状态
enableStatus int 启用状态筛选。0 = 全部,1 = 启用
siteId array 门店 ID 数组(如 [2790685415443269])。必须为数组格式
existsGoodsStock int 是否有库存筛选。0 = 全部
page int 页码,从 1 开始
limit int 每页条数,最大 100

三、响应结构

{
  "code": 200,
  "data": {
    "list": [ { ... }, { ... } ],
    "total": 161
  }
}

data.list 中每个对象即为一条门店商品记录,共 45 个字段,按逻辑分组说明如下。


四、响应字段详解45 个字段)

4.1 门店与租户维度

字段 类型 示例 说明
tenant_id int 2790683160709957 租户/品牌 ID所有记录相同
site_id int 2790685415443269 门店 ID与其他业务表一致
siteName string "朗朗桌球" 门店名称,冗余展示字段

4.2 商品标识与分类

字段 类型 示例 说明
id int 2793025851560005 门店商品 ID主键。在其他表中以 site_goods_id / siteGoodsId 出现,用于关联库存、销售记录
tenant_goods_id int 2792178593255301 租户级商品 ID全局商品 ID对应 tenant_goods_master.id。一个全局商品可在多个门店生成多条门店商品
goods_name string "合味道泡面" 商品名称,业务展示字段
goods_category_id int 2791941988405125 一级分类 ID对应分类树主键oneCategoryName 搭配
goods_second_category_id int 2793236829620037 二级分类 ID对应分类树子节点twoCategoryName 搭配
oneCategoryName string "零食" 一级分类名称,与 goods_category_id 一一对应
twoCategoryName string "面" 二级分类名称,与 goods_second_category_id 对应
unit string "桶" 计量单位。常见值:包、瓶、个、份、根、盒、杯、桶、盘、支等
goods_cover string "https://oss.ficoo.vip/..." 商品图片 URLOSS 存储)
pinyin_initial string "HWDPM,GWDPM" 拼音首字母/助记码,多别名逗号分隔,用于前台拼音检索
goods_bar_code string "" 商品条形码EAN 等),当前门店未配置,全部为空

4.3 库存与数量

字段 类型 示例 说明
stock int 18 当前可用库存数量(以 unit 为单位)。可为 0售罄或很大虚拟库存
stock_A int 0 副单位库存数量(双单位场景如箱/瓶)。当前门店未启用,全部为 0
batch_stock_quantity int 43 当前批次库存数量(主单位)。有成本价时 batch_stock_quantity × cost_price ≈ provisional_total_cost
sale_num int 104 当前统计口径下的销售数量(总销量),与 total_sales 一致
total_sales int 104 累计销售数量。当前与 sale_num 相同,字段保留了区间销量 vs 历史总销量的扩展空间
safe_stock int 0 安全库存量(阈值),低于此值可提示补货。当前未设置,全部为 0

4.4 价格、成本与金额

字段 类型 示例 说明
sale_price float 12.0 标准销售价(挂牌价),单位:元(人民币)。实际结算可能打折
cost_price float 0.0 成本价(单件成本),单位:元。部分为 0未录入部分有值如 1.788
cost_price_type int 1 成本价类型:1 = 固定成本价(手工维护),2 = 动态成本价(按采购单平均价结转)
provisional_total_cost float 0.0 暂估总成本,单位:元。有成本价时 ≈ batch_stock_quantity × cost_price
total_purchase_cost float 0.0 总采购成本,单位:元。当前与 provisional_total_cost 相等,字段为后续结算/重算成本保留空间
min_discount_price float 7.0 最低允许成交价(限价),单位:元。0 表示不设置限价。收银改价时系统校验不低于此值
able_discount int 1 是否允许参与折扣:1 = 允许。当前全部为 1

4.5 时间与销售表现

字段 类型 示例 说明
create_time string "2025-07-16 11:52:51" 门店商品档案创建时间
update_time string "2025-11-09 07:23:47" 最后修改时间(价格调整、状态变更等)
days_available int 13 商品在架天数/可售天数。0 表示刚建档/刚启用
average_monthly_sales float 1.32 平均月销量(件/月),辅助补货/品类管理的历史行为指标

4.6 状态与开关

字段 类型 示例 说明
goods_state int 1 商品基本状态:1 = 正常,2 = 特殊状态(新建/停售/未完整启用,通常 stock=0、days_available=0
audit_status int 2 审核状态:2 = 审核通过。其他可能值:0 = 待提交,1 = 待审核,3 = 不通过
enable_status int 1 启用状态:1 = 启用,2 = 停用(未出现)
send_state int 1 上架/可售状态:1 = 可销售/可下单
sale_channel int 1 销售渠道:1 = 门店线下渠道
is_warehousing int 1 是否纳入库存管理:1 = 参与库存管理
is_delete int 0 逻辑删除标志:0 = 未删除,1 = 已删除
freeze int 0 冻结状态:0 = 未冻结。非 0 可能表示"锁库存""禁止出库"
forbid_sell_status int 1 禁止销售状态:1 = 未禁止(允许销售),2 = 被禁止
able_site_transfer int 2 是否允许跨门店调拨:2 = 不允许(绝大多数),0 = 未配置
custom_label_type int 2 自定义标签类型:2 = 使用自定义标签/分类
option_required int 1 是否需要选择规格/选项:1 = 不要求(单规格商品)

4.7 其他辅助

字段 类型 示例 说明
remark string "" 商品备注(口味说明、供应商等),当前未使用
sort int 100 排序权重,用于前端商品列表展示排序

五、响应样例(单条记录)

{
  "siteName": "朗朗桌球",
  "oneCategoryName": "零食",
  "twoCategoryName": "面",
  "id": 2793025851560005,
  "tenant_goods_id": 2792178593255301,
  "site_id": 2790685415443269,
  "tenant_id": 2790683160709957,
  "goods_name": "合味道泡面",
  "goods_cover": "https://oss.ficoo.vip/admin/8M1WM7_1753204221337.jpg",
  "goods_state": 1,
  "goods_category_id": 2791941988405125,
  "unit": "桶",
  "sale_num": 104,
  "cost_price": 0.0,
  "provisional_total_cost": 0.0,
  "total_purchase_cost": 0.0,
  "batch_stock_quantity": 43,
  "sale_price": 12.0,
  "stock_A": 0,
  "stock": 18,
  "create_time": "2025-07-16 11:52:51",
  "is_delete": 0,
  "custom_label_type": 2,
  "goods_second_category_id": 2793236829620037,
  "total_sales": 104,
  "remark": "",
  "audit_status": 2,
  "update_time": "2025-11-09 07:23:47",
  "pinyin_initial": "HWDPM,GWDPM",
  "goods_bar_code": "",
  "able_discount": 1,
  "min_discount_price": 7.0,
  "sort": 100,
  "freeze": 0,
  "days_available": 13,
  "average_monthly_sales": 1.32,
  "safe_stock": 0,
  "send_state": 1,
  "enable_status": 1,
  "sale_channel": 1,
  "able_site_transfer": 2,
  "cost_price_type": 1,
  "forbid_sell_status": 1,
  "is_warehousing": 1,
  "option_required": 1
}

六、跨表关联

与租户商品档案(tenant_goods_master

本表字段 关联表字段 说明
tenant_goods_id id 门店商品 → 品牌级商品。一个全局商品可在多个门店生成多条门店商品
goods_category_id goods_category_id 一级分类 ID 一致
goods_second_category_id goods_second_category_id 二级分类 ID 一致

与门店销售记录(store_goods_sales_records

本表字段 关联表字段 说明
id site_goods_id 门店商品主键 → 销售明细中的商品 ID
tenant_goods_id tenant_goods_id 全局商品 ID 一致

本表是维表,销售记录是事实表。

与库存汇总(goods_stock_summary

本表字段 关联表字段 说明
id siteGoodsId 门店商品 ID
goods_category_id goodsCategoryId 一级分类 ID
goods_second_category_id goodsCategorySecondId 二级分类 ID
unit goodsUnit 计量单位

与库存变动(goods_stock_movements

本表字段 关联表字段 说明
id siteGoodsId 门店商品 ID
goods_category_id goodsCategoryId 一级分类 ID

与商品分类树(stock_goods_category_tree

本表字段 关联表字段 说明
goods_category_id id(一级节点) 一级分类主键
goods_second_category_id id(二级节点) 二级分类主键

本表提供 stockbatch_stock_quantity、成本等某一时刻的快照,库存变动表是全量出入库记录,两者互相补充。