配送单模板(二期)
^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
销售经理的数据会有一天的延迟,因为其数据是每天晚上定时运行的脚本刷的