Station接口
/station/task/purchase/search 搜索任务
Method
GET
请求
category1_ids O list 一级分类
category2_ids O list 二级分类
pinlei_ids O list 品类
settle_supplier_id O string 供应商ID
time_config_id M string 时间配置ID
cycle_start_time M datetime 周期开始时间
status O int 任务状态
from O string 分页边界
limit O int 分页每页数量,默认10
reverse O bool 是否向上翻页
q O string 搜索内容
order_status O list 订单状态多选
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
data M string 返回json数据
[{
"settle_supplier_id": M string 结算供应商
"sku_id": M string SKUID
"name": M string 商品名
"__cursor": M string 分页cursor
"price" M int 价格
"pinlei_name" M string 品类名
"category2_name" M string 分类名
"category1_name" M string 一级分类名
"sale_unit_name" M string 基本单位
"settle_supplier_name" M string 结算供应商名
"editable" M bool 是否可编辑
"sale_ratio" M float 销售比例
"plan_purchase_amount" M float 计划采购数
"already_purchase_amount": M float 已采购数
"release_time" O datetime 发布时间
"purchaser_name" O string 采购员名
"status" M int 任务状态
"release_id" O int 发布ID
"std_unit_name" O string 标准单位
"tasks": [{ M list 任务列表
"id" M int 任务ID
"settle_supplier_id" M string 结算供应商ID
"editable" M bool 是否可编辑
"purchaser_name" O string 采购员名
"plan_purchase_amount" M float 计划采购数
"settle_supplier_name" M string 结算供应商名
}]
}]
逻辑
1. 如果是供应商登录,只能看到属于供应商自己的已发布或已完成的任务
2. 同步订单到采购任务
3. 搜索任务
1. 按过滤条件过滤任务
2. 分页过滤
3. 商品分类和订单状态过滤
4. 根据任务查找任务内商品对应分类信息
5. 查报价信息
6. 查供应商信息
7. 查采购员信息
8. 查订单状态
9. 查供应商和采购员关系
10. 格式化输出
/station/task/purchase/print 打印任务
Method
GET
请求
category1_ids O list 一级分类
category2_ids O list 二级分类
pinlei_ids O list 品类
settle_supplier_id O string 供应商ID
time_config_id M string 时间配置ID
cycle_start_time M datetime 周期开始时间
status O int 任务状态
q O string 搜索内容
order_status O list 订单状态多选
purchaser_id O int 采购员id
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
data M string 返回json数据
[{
"purchaser_name" O string 采购员名
"purchaser_id" O int 采购员名
"settle_supplier_name" M string 结算供应商名
"settle_supplier_id" M int 结算供应商ID
"tasks": [{ M list 任务列表
"sale_ratio" M float 销售比例
"sku_name" M string SKU名
"price" M int 价格
"address_count" M int 商户数
"sale_unit_name" M string 销售单位名
"std_unit_name" M string 标准单位名
"addresses": [{ M list 商户列表
"remark" M string 备注
"res_name" M string 商户名
"plan_purchase_amount" M float 计划采购数
"address_id" M string 商户ID
}],
}],
}]
逻辑
1. 如果是供应商登录,只能看到属于供应商自己的已发布或已完成的任务
2. 同步订单到采购任务
3. 搜索任务
1. 按过滤条件过滤任务
2. 商品分类和订单状态过滤
4. 根据任务查找任务内商品对应分类信息
5. 查报价信息
6. 查供应商信息
7. 查采购员信息
8. 查订单状态
9. 查供应商和采购员关系
10. 格式化输出
11.接口修改的新增逻辑:采购员和供应商二选一
/station/task/purchase/export 导出任务
Method
GET
请求
type M int 导出类型
category1_ids O list 一级分类
category2_ids O list 二级分类
pinlei_ids O list 品类
settle_supplier_id O string 供应商ID
time_config_id M string 时间配置ID
cycle_start_time M datetime 周期开始时间
status O int 任务状态
q O string 搜索内容
order_status O list 订单状态多选
响应
excel 表格
逻辑
1. 如果是供应商登录,只能看到属于供应商自己的已发布或已完成的任务
2. 同步订单到采购任务
3. 搜索任务
1. 按过滤条件过滤任务
2. 商品分类和订单状态过滤
4. 根据任务查找任务内商品对应分类信息
5. 查报价信息
6. 查供应商信息
7. 查采购员信息
8. 查订单状态
9. 查供应商和采购员关系
10. 格式化输出
1. 普通导出
1. 根据商品,发布ID,供应商分组
2. 统计任务
3. 统计条目
2. 按供应商导出
1. 按供应商分组
2. 统计供应商下任务信息
3. 二维表导出
1. 拉取分拣号
2. 先写行(商品信息)
3. 再写列(订单商户信息)
/station/task/purchase/settle_suppliers_can_change 查看可变更的供应商
Method
GET
请求
sku_id M string SKUID
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
data M string 返回json数据
[{
"id" M string 供应商ID
"name" M string 供应商名
}]
逻辑
1. 获取SKU的采购报价单
2. 如果sku的采购来源是其他普通站点,不可以换供应商,返回空
3. 获取有供应这个采购报价单的供应商
Method
GET
请求
category1_ids O list 一级分类
category2_ids O list 二级分类
pinlei_ids O list 品类
settle_supplier_id O string 供应商ID
time_config_id M string 时间配置ID
cycle_start_time M datetime 周期开始时间
status O int 任务状态
q O string 搜索内容
order_status O list 订单状态多选
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
data M string 返回json数据
[{
"purchase_money" M int 采购金额
"settle_supplier_name" M string 结算供应商名
"settle_supplier_id" M int 结算供应商ID
"purchase_amount" M 计划采购商品数
}]
逻辑
1. 如果是供应商登录,只能看到属于供应商自己的已发布或已完成的任务
2. 同步订单到采购任务
3. 搜索任务
1. 按过滤条件过滤任务
2. 商品分类和订单状态过滤
4. 查供应商信息
5. 格式化输出
/station/task/purchase/release 发布任务
Method
POST
请求
task_ids O list 选中的任务ID(如果不传等于全选)
time_config_id M string 时间配置ID
cycle_start_time M datetime 周期开始时间
category1_ids O list 一级分类
category2_ids O list 二级分类
pinlei_ids O list 品类
settle_supplier_id O string 供应商ID
status O int 任务状态
order_status O list 订单状态多选
q O string 搜索内容(TODO)
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
逻辑
1. 过滤要发布的采购任务
2. 获取绑定了采购员的供应商信息
3. 过滤掉没有绑定采购员的供应商的采购任务
4. 根据供应商和sku分组发布
1. 发布ID用任务中最小的那个ID,这样可以保证不会重复
/station/task/purchase/item 采购条目
Method
GET
请求
sku_id M string SKUID
settle_supplier_id M string 供应商ID
time_config_id M string 时间配置ID
cycle_start_time M datetime 周期开始时间
release_id O int 发布ID
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
data M string 返回json数据
{
"spu_id" M string SPUID
"spu_name" M string SPU名
"items": [{ M list 条目列表
"id" M int 任务ID
"sku_id" M string SKUID
"status" M int 任务状态
"sale_unit_name" M string 销售单位
"editable" M bool 是否可编辑
"plan_amount" M string 计划采购数
"sale_ratio" M float 销售比例
"settle_supplier_id" M string 结算供应商ID
"std_unit_name" M string 标准单位
"settle_supplier_name" M string 结算供应商名
"release_id" O int 发布ID
"purchase_amount" M float 已采购数
}],
"settle_supplier_avail": [{ M list 可选供应商列表
"id" M string 供应商ID
"price" M int 价格
"name" M string 供应商名
"std_unit_name" M string 标准单位
}]
}
逻辑
1. 如果是供应商登录,只能看到属于供应商自己的已发布或已完成的任务
2. 拉条目
1. 按条件过滤任务
2. 格式化输出
3. 拉可选供应商
1. 获取sku的结算供应商
2. 如果sku的采购报价单是其他普通站点,那把这个站点也加入结算供应商列表
3. 获取询价
4. 查采购员
5. 格式化输出
4. 格式化输出
/station/task/purchase/settle_suppliers 供应商过滤项
Method
GET
请求
无
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
data M string 返回json数据
[{
"id" M int 结算供应商ID
"name" M string 结算供应商名
}]
逻辑
1. 找到当前站点的结算供应商
2. 通过供应对象查询外部站点
3. 格式化输出
/station/task/purchase/create 新建任务
Method
POST
请求
sku_id O string SKUID
time_config_id M string 时间配置ID
cycle_start_time M datetime 周期开始时间
plan_purchase_amount M float 计划采购数
settle_supplier_id O string 供应商ID
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
逻辑
1. 保留双写,老逻辑
2. 新逻辑
1. 如果订单来源的采购任务,填入订单相关信息
/station/task/purchase/item/delete 删除任务
Method
POST
请求
id M string 任务ID
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
逻辑
简单校验就删了
/station/task/purchase/change_settle_supplier 修改供应商
Method
POST
请求
ids M list 任务ID列表
settle_supplier_id M string 供应商ID
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
逻辑
供应商是上游站点的时候不允许修改
/station/task/purchase/get_create_source 新建任务所需信息
Method
GET
请求
spu_id M string SPUID
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
data M string 返回json数据
[{
"sku_id" M int SKUID
"sale_unit_name" M string 销售单位
"std_unit_name" M string 基本单位
"sale_ratio" M string 销售比例
"settle_suppliers"[{
"id" M int 结算供应商ID
"name" M string 结算供应商名
}]
}]
逻辑
1. 获取采购报价单内的sku
2. 获取结算供应商
3. 建立结算供应商和采购报价单的关系
4. 格式化输出
/station/task/purchase/purchaser/search 采购员搜索
Method
GET
请求
search_text O string 采购员名或手机号
offset O int 分页缩进,默认0
limit O int 分页每页数量,默认10
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
data M string 返回json数据
[
{
"id" M int 采购员ID
"name" M string 姓名
"phone" M string 手机号
"settle_suppliers": [
"id" M string 供应商ID
"name" M string 供应商名
]
"status" M int 状态
"is_online" M bool 是否在线
}
]
逻辑
1. 根据过滤项搜索有采购员权限的账号
2. 获取采购员绑定的供应商信息
3. 格式化输出
/station/task/purchase/purchaser/create 新建采购员
Method
POST
请求
name M string 姓名
phone M string 手机号
settle_suppliers [ M list 供应商列表
"id" M string 供应商ID
]
status M int 账号状态
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
data id
逻辑
1. 获取当前可绑定的结算供应商
2. 检查数据库中是否有相同的账号
3. 添加账号
4. 添加权限
5. 添加站点关系
6. 未发布的采购任务关联采购员(兼容老逻辑,暂时保留)
/station/task/purchase/purchaser/edit 编辑采购员
Method
POST
请求
id M int 采购员ID
name O string 姓名
phone O string 手机号
settle_suppliers [ O list 供应商列表
"id" M string 供应商ID
]
status O int 账号状态
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
data 无
逻辑
1. 检查修改了供应商,删除老的绑定关系,创建新的绑定关系
2. 修改了供应商,对应供应商的采购任务也要做相应修改(兼容老逻辑)
/station/task/purchase/purchaser/delete 删除采购员
Method
POST
请求
id M int 采购员ID
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
data 无
逻辑
1. 删除采购员权限
2. 删除采购员和供应商的绑定关系
3. 删除采购员和站点之间的关系
4. 删除采购员
/station/task/purchase/purchaser/restore_pwd 重置采购员密码
Method
POST
请求
id M int 采购员ID
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
data 无
逻辑
简单修改
/station/task/purchase/purchaser/settle_suppliers_can_bind 采购员可选供应商
Method
GET
请求
id M int 采购员ID
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
data M string 返回json数据
[
{
"id" M string 供应商ID
"name" M string 供应商名
}
]
逻辑
1. 找到当前站点下所有的供应商
2. 过滤掉已经被绑定的供应商
/station/task/purchase/history 采购记录
Method
GET
请求
sku_id M string SKUID
release_id M int 发布ID
settle_supplier_id M string 结算供应商ID
time_config_id M int 时间配置ID
cycle_start_time M int 周期
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
data M string 返回json数据
[{
"purchase_time" M string 采购时间
"purchase_sheet_id" M string 采购单ID
"in_stock_amount" O float 入库数量
"sku_id" M string SKUID
"purchase_unit_price" M int 采购单价
"purchase_amount" M float 采购数量
"remark" O string 入库备注
"sale_unit_name" M string 销售单位
"in_stock_unit_price" O int 入库单价
"sku_name" M string 商品名
"status" M int 采购单状态
"sale_ratio" M float 销售比例
"settle_supplier_id" M string 结算供应商
"in_stock_sheet_id" O string 入库单号
"purchaser_name" M string 采购员名
"settle_supplier_name" M string 供应商名
"std_unit_name" M string 标准单位
}]
逻辑
1. 获取已完成的采购任务对应的采购单的ID
2. 搜索采购单和采购单内的商品采购记录
3. 获取入库记录
4. 获取采购员信息
5. 格式化输出
/station/task/purchase/purchaser/create_sheet 采购任务生成采购单
Method
POST
请求
release_ids O list 发布ID列表
cycle_start_time M datetime 周期时间
time_config_id M string 时间配置ID
category1_ids O list 一级分类ID
category2_ids O list 二级分类ID
pinlei_ids O list 品类ID
settle_supplier_id O string 供应商ID
status O int 任务状态
order_status O int 订单状态
响应
code M int 返回码,0表示成功,其他表示错误
msg M string 错误信息
data 采购单ID
逻辑
1. 过滤采购任务
2. 获取报价信息
3. 按所属供应商分组生成采购单
1. 没有绑定采购员的供应商不允许生成采购单
2. 生成采购单商品采购明细
3. 同步更新采购任务