Skip to content

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. 获取有供应这个采购报价单的供应商

/station/task/purchase/suppliers/summary 供应商统计

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. 同步更新采购任务