Station模块概要设计
销售单
获取销售单列表
接口名: /salemenu/list
Method: GET
请求:
time_config_id O string 服务时间配置ID
type O int 销售单类型(-1:已删除;1:供应商销售单;2:代售单;4:自售单)
is_active O bool 销售单状态
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的销售单列表
[{
'id' M string 销售单ID
'name' M string 销售单名
'type' M int 销售单类型
'is_active' M bool 是否激活
'desc' M string 描述
'supplier_name' M string 供应名称
'time_config_id' M string 服务时间配置ID
'time_config_name' M string 服务时间配置名称
}]
逻辑:
根据请求参数获取销售单
返回销售单列表
获取站点的采购销售单
接口名: /salemenu/purchase/list
Method: GET
请求:
q O string 销售单ID或名称
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的销售单列表
[{
'id' M string 销售单ID
'station_id' M string 站点ID
'name' M string 销售单名称
'desc' M string 描述信息
'is_active' M bool 是否激活
'sku_num' M int 供应商品数量
}]
逻辑:
根据text匹配采购类型的销售单ID或销售单名称
返回销售单列表
获取出售商品的销售单
接口名: /salemenu/sale/list
Method: GET
请求:
time_config_id O string 服务时间配置ID
type O int 销售单类型
is_active O bool 销售单状态
q O string 销售单ID或销售单名称
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的销售单列表
[{
'id' M string 销售单ID
'name' M string 销售单名
'type' M int 销售单类型(2:代售单;4:自售单)
'is_active' M bool 是否激活
'desc' M string 描述
'supplier_name' M string 供应名称
'time_config_name' M string 运营时间
'sku_num' M string 在售商品数
}]
逻辑:
根据请求参数获取自营或服务销售单
返回销售单列表
一级分类
创建一级分类
接口名: /merchandise/category1/create
Method: POST
请求:
name M string 一级分类名
icon M string 图片名
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M string 一级分类ID
逻辑:
验证分类名是否存在
创建用户所在group的一级分类
修改一级分类
接口名: /merchandise/category1/update
Method: POST
请求:
id M string 一级分类ID
name O string 一级分类名
icon O string 图片ID
name icon必需二选一
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
逻辑:
判断指定的一级分类ID是否在用户所在的group
验证待修改的一级分类名是否重复
验证待修改的图片名是否存在
修改一级分类信息
删除一级分类
接口名: /merchandise/category1/delete
Method: POST
请求:
id M string 一级分类ID
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
逻辑:
判断指定的一级分类ID是否在用户所在的group
设置分类状态为删除
获取一级分类信息
接口名: /merchandise/category1/get
Method: GET
请求:
无
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的分类信息
[{
'id' M string 分类ID
'name' M string 分类名
'icon' M int 图标ID
}]
逻辑:
获取用户所在group的一级分类
返回一级分类信息列表
获取分类图标
接口名: /merchandise/category1/icon
Method: GET
请求:
无
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的图标信息
[{
'id' M int 图标ID
'url' M string 图标文件url
}]
二级分类
创建二级分类
接口名: /merchandise/category2/create
Method: POST
请求:
name M string 二级分类名
upstream_id M string 一级分类ID
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M string 返回创建的二级分类ID
逻辑:
判断用户所在的group下一级分类ID是否存在
验证二级分类名是否存在
创建指定一级分类ID下的二级分类
更新二级分类
接口名: /merchandise/category2/update
Method: POST
请求:
id M string 二级分类ID
name O string 二级分类名
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
逻辑:
判断用户所在的group下二级分类ID是否存在
验证待修改的二级分类名是否重复
验证待修改的一级分类ID是否有效
更新二级分类信息
删除二级分类
接口名: /merchandise/category2/delete
Method: POST
请求:
id M string 二级分类ID
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
逻辑:
判断用户所在的group下二级分类ID是否存在
设置二级分类状态为删除
获取二级分类信息
接口名: /merchandise/category2/get
Method: GET
请求:
upstream_id O string 上游ID
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的分类信息
[{
'id' M string 分类ID
'name' M string 分类名
'upstream_id' M string 一级分类ID
}]
逻辑:
获取用户所在group的指定一级分类ID下的二级分类
返回二级分类信息列表
品类
创建品类
接口名: /merchandise/pinlei/create
Method: POST
请求:
name M string 品类名称
upstream_id M string 二级分类ID
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M string 品类ID
逻辑:
判断用户所在的group下二级分类ID是否存在
验证品类名是否重复
创建指定二级分类ID下的品类
更新品类
接口名: /merchandise/pinlei/update
Method: POST
请求:
id M string 品类ID
name M string 品类名称
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
逻辑:
判断用户所在的group下品类ID是否存在
验证待修改的品类名是否重复
更新品类信息
删除品类
接口名: /merchandise/pinlei/delete
Method: POST
请求:
id M string 品类ID
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
逻辑:
判断用户所在的group下品类ID是否存在
设置品类状态为删除
获取品类信息
接口名: /merchandise/pinlei/get
Method: GET
请求:
upstream_id 上游ID
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的品类信息
[{
'id' M string 分类ID
'name' M string 分类名
'upstream_id' M string 二级分类ID
}]
逻辑:
获取用户所在group的指定二级分类ID下的品类
返回二品类信息列表
获取品类详情
接口名: /merchandise/pinlei/detail
Method: GET
请求:
id 品类ID
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M dict 返回的品类信息
{
'id' M string 分类ID
'name' M string 分类名
'category_id_2' M string 二级分类ID
'category_name_2' M string 二级分类名称
'category_id_1' M string 一级分类ID
'category_name_1' M string 一级分类名称
}
spu
创建spu
接口名: /merchandise/spu/create
Method: POST
请求:
name M string spu名称
desc M string spu描述
p_type M int 类型(0:通用;1:私有)
std_unit_name M string 基本单位
image M string 图片名称
dispatch_method M int 分拣方式(1:bagua;2:union)
pinlei_id M string 品类ID
alias O list 别名列表
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M string spu ID
逻辑:
判断用户是否能创建对应类型的spu
判断品类ID是否有效
创建spu
更新spu
接口名: /merchandise/spu/update
Method: POST
请求:
id M string spu ID
name O string spu名称
desc O string spu描述
p_type O int 类型(0:通用;1:私有)
std_unit_name O string 基本单位
image O string 图片名称
dispatch_method O int 分拣方式(1: bagua;2: union)
pinlei_id O string 品类ID
alias O list 别名列表
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
逻辑:
判断用户是否能修改对应类型的spu
判断spu ID是否有效
修改spu信息
删除spu
接口名: /merchandise/spu/delete
Method: POST
请求:
id M string spu ID
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
逻辑:
判断用户是否能删除对应类型的spu
判断spu ID是否有效
设置spu状态为删除
获取spu列表
接口名: /merchandise/spu/list
Method: GET
请求:
pinlei_id M string 品类ID
P_type O int spu类型(0:通用;1:私有)
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的分类信息
[{
'id' M string spu ID
'name' M string spu名
'desc' M string 描述
'p_type' M int spu类型
}]
逻辑:
判断品类ID是否有效
获取对应品类ID下的spu信息
返回spu信息列表
导出spu和分类信息
接口名: /merchandise/spu/export
Method: GET
请求:
p_type O int spu类型(0:通用;1:私有)
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
逻辑:
导出group下的所有spu信息
获取spu分支
接口名: /merchandise/spu/branch
Method: GET
请求:
q O string spu id或spu名称
p_type O int spu类型(0:通用;1:私有)
offset O int 偏移量 默认0
limit O int 返回个数 默认10
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
pagination M dict 分页数据
{'count': 总数, 'offset': 当前偏移, 'limit': 个数}
data M list 返回的信息列表
[{
'spu_id' M string spu ID
'spu_name' M string 商品名
'category_id_1' M string 一级分类ID
'category_name_1' M string 一级分类名称
'category_id_2' M string 二级分类ID
'category_name_2' M string 二级分类名称
'pinlei_id' M string 品类ID
'pinlei_name' M string 品类名称
'p_type' M int 商品类型(0:通用;1:私有)
'std_unit_name' M string 基本单位
'dispatch_method' M int 分拣方式(1: bagua 八卦/2: union 统配)
}]
获取spu详情
接口名: /merchandise/spu/details
Method: GET
请求:
spu_id spu ID
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M dict 返回的spu信息
{
'id' M string spu ID
'name' M string spu名称
'image' M string 图片ID
'category_name_1' M string 一级分类名称
'category_name_2' M string 二级分类名称
'pinlei_name' M string 品类名称
'dispatch_method' M int 分拣方式(1: bagua 八卦/2: union 统配)
'p_type' M int 商品类型(0:通用;1:私有)
'desc' M string 描述
'alias' M list 别名 [string]
'std_unit_name' M string 基本单位
}
逻辑:
判断spu ID是否有效
获取spu信息
返回spu信息
获取商品库索引
接口名: /merchandise/spu/index
Method: GET
请求:
category1_ids O list 一级分类ID列表
category2_ids O list 二级分类ID列表
pinlei_ids O list 品类ID列表
q O string 查询参数(按SPU别名/SKU名,SPUID/SKUID搜索)
is_active_on O int 是否显示未激活销售单商品(0:不显示;1:显示 默认不显示)
offset O int 偏移量 默认0
limit O int 返回个数 默认10
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
pagination M dict 分页数据
{'count': 总数, 'offset': 当前偏移, 'limit': 个数}
data M list 返回的信息列表
[{
'spu_id' M string spu ID
'spu_name' M string 商品名
'category_name_1' M string 一级分类名称
'category_name_2' M string 二级分类名称
'pinlei_name' M string 品类ID
'p_type' M int 商品类型(0:通用;1:私有)
'std_unit_name' M string 基本单位
'dispatch_method' M int 分拣方式(1: bagua 八卦/2: union 统配)
'skus' M list sku信息
[{
'sku_id' M string sku id
'sku_name' M string 商品名
'salemenu_id' M string 销售单ID
'salemenu_name' M string 销售单名称
'salemenu_type' M int 销售单类型(2:代售单;4:自售单)
'salemenu_is_active' M bool 销售单激活状态
'state' M int 销售状态
'std_unit_name' M string 标准单位
'sale_unit_name' M string 售卖单位
'std_sale_price' M int 标准价(分)
'sale_price' M int 售卖价(分)
'sale_ratio' M float 售卖规格
'stocks_is_valid' M bool 是否设置库存
'stocks' M int 库存数量
}]
}]
sku
创建售卖sku
接口名: /product/sku_sale/create
Method: POST
请求:
name M string sku名称
desc M string sku描述
std_sale_price M int 销售单价
sale_price M int 销售价格
sale_unit_name M string 销售单位
sale_ratio M float 销售规格
sale_num_least M int 最小下单数
attrition_rate M float 损耗率
state M int 销售状态
is_weigh M bool 是否称重
slitting M bool 能否分切
partframe M bool 能否投筐
stock_type M int 设置库存(0:读取上游库存;1:不设置库存;2:设置库存)
stocks O int 库存数量(stock_type为2时表示库存数量)
image O string 图片ID(没有则默认为spu的图片)
salemenu_id M string 销售单ID
supply_sku_id M string 采购来源
spu_id M string spu ID
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M string sku ID
逻辑:
参数校验
验证spu_id是否有效
验证salemenu_id是否有效
验证采购来源sku是否有效
创建sku
创建采购sku
接口名: /product/sku_purchase/create
Method: POST
请求:
name M string sku名称
desc O string sku描述
std_sale_price M int 采购单价
sale_price M int 采购价格
sale_unit_name M 采购单位
sale_ratio M float 采购规格
state M int 供应状态
image O string 图片ID(没有则默认为spu的图片)
salemenu_id M string 销售单ID
spu_id M string spu ID
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M string sku ID
逻辑:
参数校验
验证spu_id是否有效
验证salemenu_id是否有效
创建sku
更新sku
接口名: /product/sku/update
Method: POST
请求:
id M string sku ID
name O string spu名称
desc O string spu描述
std_sale_price O int 销售单价
sale_price O int 销售价格
sale_unit_name O 销售单位
sale_ratio O float 销售规格
sale_num_least O int 最小下单数
attrition_rate O float 损耗率
state O int 销售状态
is_weigh O bool 是否称重
slitting M bool 能否分切
partframe M bool 能否投筐
stock_type O int 设置库存(0:读取上游库存;1:不设置库存;2:设置库存)
stocks O int 库存数量
image O string 图片名称
salemenu_id O string 销售单ID
supply_sku_id O string 采购来源
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
逻辑:
参数校验
验证sku_id是否有效
更新sku信息
修改sku的采购来源
接口名: /product/sku_supply/change
Method: POST
请求:
sku_ids M list sku ID列表
supply_sku_id O string 采购来源
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
删除sku
接口名: /product/sku/delete
Method: POST
请求:
id M string sku ID
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
逻辑:
验证sku_id是否有效
设置sku状态为删除
根据销售单获取商品列表
接口名: /product/sku_salemenu/list
Method: GET
请求:
salemenu_id M string 销售的ID
category1_ids O list 一级分类ID列表
category2_ids O list 二级分类ID列表
pinlei_ids O list 品类ID列表
state O int 商品状态 (0:下架;1:上架)
text O string 商品名称、sku_id或spu_id
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的商品列表
[{
'category_id_1': M string 一级分类ID
'category_name_1': M string 一级分类名
'category_id_2': M string 二级分类ID
'category_name_2': M string 二级分类名
'pinlei_id': M string 品类ID
'pinlei_name': M string 品类名
'spu_id': M string spu ID
'spu_name': M string spu名称
'sku_id': M string 商品ID
'sku_name': M string 商品名
'std_unit_name': M string 标准单位
'std_sale_price' M int 标准价(分)
'sale_unit_name': M string 售卖单位
'sale_ratio': M float 售卖规格
'sale_price': M int 售卖价(分)
'state': M int 状态(1:上架;0:下架)
}]
获取spu下的售卖商品信息
接口名: /product/sku_sale/list
Method: GET
请求:
spu_id M string spu ID
salemenu_id O string 销售单ID
salemenu_type O int 销售单类型(2:代售;4:自售)
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的sku信息
[{
'sku_id' M string 商品ID
'sku_name' M string 商品名称
'desc' M string 商品描述
'img_url' M string 商品图片链接
'std_unit_name' M string 标准单位
'sale_unit_name' M string 售卖单位
'std_sale_price' M int 标准价(分)
'sale_price' M int 售卖价(分)
'sale_ratio' M float 售卖规格
'sale_num_least' M int 最小下单数
'attrition_rate' M float 损耗率
'state' M int 销售状态
'is_weigh' M bool 是否称重
'slitting' M bool 分切
'partframe' M bool 投筐
'stock_type' M int 库存类型
'stocks' M int 库存数量
'salemenu_id' M string 销售单ID
'salemenu_name' M string 销售单名称
'supply_sku': M string 供应sku id
}]
获取spu下的采购商品信息
接口名: /product/sku_purchase/list
Method: GET
请求:
spu_id M string spu ID
salemenu_id M string 销售单ID
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的sku信息
[{
'sku_id' M string 商品ID
'sku_name' M string 商品名称
'desc' M string 商品描述
'std_unit_name' M string 标准单位
'sale_unit_name' M string 售卖单位
'std_sale_price' M int 标准价(分)
'sale_price' M int 售卖价(分)
'sale_ratio' M float 售卖规格
'state' M int 供应状态
'salemenu_id' M string 销售单ID
'salemenu_name' M string 销售单名称
'img_url' M string 商品图片链接
}]
根据供应商品ID获取商品信息
接口名: /product/sku_supply/list
Method: GET
请求:
sku_id M string 商品ID
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的商品列表
[{
'sku_id' M string 商品ID
'sku_name' M string 商品名
'sale_price' M int 售卖价(分)
'sale_unit_name' M string 售卖单位
'state' M int 供应状态
'salemenu_id' M string 销售单ID
'salemenu_name' M string 销售单名称
}]
获取spu下的可见上游商品
接口名: /product/sku_upstream/list
Method: GET
请求:
spu_ids M list spu IDs
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的spu下的sku列表
{
spu_id: [{ M string spu ID
'sku_id' M string 商品ID
'sku_name' M string 商品名称
'desc' M string 商品描述
'std_unit_name' M string 标准单位
'sale_unit_name' M string 售卖单位
'std_sale_price' M int 标准价(分)
'sale_price' M int 售卖价(分)
'sale_ratio' M float 售卖规格
'state' M int 供应状态
'salemenu_id' M string 销售单ID
'salemenu_name' M string 销售单名称
'img_url' M string 商品图片链接
}]
}