Skip to content

配送单模板(二期)

^station/distribute_config/get$ 获取模板信息

method
    GET
request
    address_ids     O   json list of int    只拉取这些商户的数据,不传这个字段代表拉取全部商户的数据。
response
    code    M   int     返回码,0表示成功,其他表示错误
    msg     M   string  错误信息
    {
        code: 0,
        msg: "ok",
        data: [
            {
                id: '20181231259599999123',         // 这个 station 内部模版的唯一标示,由后端创建
                creator: 'user alpha',              // 创建者的名字,由后端创建
                create_time: '1999-12-31 23:59:59'  // 创建时间,由后端创建
                is_default: true                    // 是否是默认模版,由后端创建(但是前端可以改)

                address_ids: [1, 2, 3],             // 拥有这个模版的商户 id,由前端创建
                name: 'abc',
                print_size: 'a4',
                ...,
                ...,
            },
            {
                id: '20181231259509999123',
                creator: 'user beta',
                create_time: '1999-12-31 23:59:59'

                address_ids: [4, 5, 6],
                name: 'xyz',
                print_size: 'a4',
                ...,
                ...,
            }
        ]
    }
logic
    结果由 id 进行排序
remarks
    本文档由 `cd gm_service ; ./website/doc.sh` 生成

^station/distribute_config/save$ 保存(创建)模板信息

method
    POST
request
    config   M   json dict 模板信息
response
    {
        code: 0,
        msg: 'ok',
        data: {
            id: '201812312359599999123'
        }
    }
example
    request:
        config = "{
            address_ids: [1, 2, 3],  // 商户 id
            name: 'abc',
            print_size: 'a4',
            ... (其他前端想储存的数据结构)
        }"
    response:
        {
            code: 0,
            msg: 'ok',
            data: {
                id: '201812312359599999123'
            }
        }
logic
    1. 站点内模版不许重名
    2. config 这个字典中的 address_ids, name, print_size 是必传的 keys,不传会报错
    3. 如果 address_ids 中的某个商户已经分配了其他模版,那么这个商户的模版会被替换为新的模版
    4. 前端不需要传 is_default 字段,后端会分配为 false
    5. 前端传的 config 中不能有 id key
    6. 同一个站点下不同模版的名字不能重复
    7. 名称不能为空
remarks
    本文档由 `cd gm_service ; ./website/doc.sh` 生成

^station/distribute_config/edit$ 修改模板信息

method
    POST
request
    config  M   json dict 模板信息
response
    { "msg": "ok", "code": 0, "data": null }
example
    request:
        config = "{
            // 和创建模版相比,增加了下面三个字段
            id: '20181234567890',
            creator: 'user lambda'
            create_time: '1999-12-31: 23:59:59'
            is_default: true

            address_ids: [1, 2, 3],  // 商户 id
            name: 'abc',
            print_size: 'a4',

            ... (其他前端想储存的数据结构)
        }"
    response:
        {
            code: 0,
            msg: 'ok',
            data: {
                id: '201812312359599999123'
            }
        }
logic
    1. 站点内模版不许重名
    2. 和 save 接口一样,config 这个字典中的 address_ids, name, print_size 是必传的 keys,不传会报错
    3. 虽然 id、creator、is_default 和 create_time 是后段创建的字段,但是 request 中的 config 中这几个字段也是必传的
    4. 如果 address_ids 中的某个商户已经分配了其他模版,那么这个商户的模版会被替换
    5. 不允许将 is_default == true 的模版改成 is_default == false (因为每个站点都有且仅有一个默认模版,如果这样做的话就不知道应该把 is_default 的身份给其他哪个模版了),只允许将 is_default == false 的模版改为 is_default == true,后端会将老的默认模版改成非默认模版
    6. 同一个站点下不同模版的名字不能重复
    7. 名称不能为空
remarks
    本文档由 `cd gm_service ; ./website/doc.sh` 生成

^station/distribute_config/delete$ 删除模版

method
    POST
request
    id          M   int             要删除的模板 id
    is_force    O   bool(0 or 1)    是否强制删除模版,默认值为 false
response
    { "data": null, "code": 0, "msg": "ok" }
    { "data": null, "code": 4, "msg": "删除后此模版的商户将分配到默认模版,确定删除吗?" }
logic
    1. 不允许删除最后一个模板(每个站点至少保留一个模版),否则后台会报错
    2. 不允许删除 is_default == true 的模版
    3. 在模版绑定了商户的情况下,如果 is_force == 0,后台会报错 “删除后此模版的商户将分配到默认模版,确定删除吗?”;如果 is_force == 1,后台会把此模版的商户将分配到默认模版。
remarks
    本文档由 `cd gm_service ; ./website/doc.sh` 生成

图片上传 /station/image/upload (老接口,不是新加的)

method
    POST
request
    image_file      M   files   图片
response
    {
        'image_url'     M string 图片url
        'img_path_id'   M string 文件名
    }
logic
    上传图片到cos

station/transport/get_order_by_id_new (老接口,响应字典里增加了 4 个 keys )

method
    GET
request
    ids     M   json list
response
    [
        {
            ...
            ...
            "details": [
                {
                    ...
                    ...
                    "origin_item_price": 123.45,    // [新增] 锁价前价格(即 原价)(单位元)
                    "spu_name": "ABCDE",            // [新增] SPU 名字
                    "sale_price": 123,              // [已有] 单价(销售单位)
                    "std_sale_price": 456,          // [已有] 单价(基本单位)
                    "sale_unit_name": "JIA",        // [已有] 销售单位名称
                    "std_unit_name": "JIN",         // [已有] 基本单位名称
                    "total_item_price": 10000,      // [已有] (这个 SPU 的)总价
                }
            ]
            sale_manager: {                         // [新增] 销售经理
                id: 123
                name: "abc"
                phone: "1234567"
            },
            settle_way: 1                           // [新增] 结款方式(1:先货后款 2:先款后货)
            total_price: 789,                       // [已有] 下单金额
            total_pay: 789,                         // [已有] 应付金额
        },
        ...
    ]
logic
    销售经理的数据会有一天的延迟,因为其数据是每天晚上定时运行的脚本刷的