分拣去批次需求改动点
一、应用端登录变更:
不需要先GET一下网页解析token再POST登录;
应用端直接按csrf_token生成规则直接生成;
二、存储变动
- Redis中存PackData的key变更,不再有批次ID;
- MongoDB中订单表新增批次备注字段:batch_remark;
三、老接口涉及改动
1.激活批次:/station/task/sorting/batch
原有功能:
- 生成分拣序号:如果是总仓,会自动为分仓生成分拣序号;
- 修改订单状态为分拣中;
- 排序;
改动点:提取原有激活批次功能,接口删除;
2.分拣任务:/station/task/sorting/label
改动点:这里不需要关心批次,但是代码里面有批次,删除批次分支;
3.PackData:/station/weigh/pack_data
原有功能:
- 将指定批次或所有批次或统配的的订单数据、分拣序号、排车信息打包到Redis;
- 以 分拣日期+站点ID+时间配置ID 作为Redis中Key的前缀;
改动点:将批次替换为批次备注,并且不用再根据MySQL中的分拣序号信息推算批次;
4.WhatCanIDo:/station/weigh/what_can_i_do
原有功能:
- 拉取分类;
- 拉取SPU;
改动点:这里有批次相关的代码,但是貌似批次分支的代码并没有用到;
5.GetTask:/station/weigh/get_task
原有功能:这个接口有17个参数,功能分支比较多。。。
改动点:去除原有批次相关逻辑,改为批次备注;
6.设置称重数量: /station/weigh/set_weight
原有功能:根据批次计算Redis中的Key并拉取订单数据,根据称重标记、称重数量修改商品出库数;
改动点:使用批次备注替换批次拉取Redis中的数据;
7.ReleaseTask: /station/weigh/release_task
原有功能:释放已经assigned的任务;
改动点:使用批次备注替换批次拉取Redis中的数据;
8.订单差异: /station/weigh/get_diff_order_weight
原有功能:获取有差异的称重和商品纪录;
改动点:使用批次备注替换批次拉取Redis中的数据;
9.更新差异: /station/weigh/update_redis_diff_record
原有功能:更新商品的差异记录;
改动点:使用批次备注替换批次拉取Redis中的数据;
10.导出计件:/station/weigh/get_all_data
原有功能:拉取统配、某个批次或者所有批次的数据;
改动点:使用批次备注替换批次拉取Redis中的数据;
11.重新称重:/station/weigh/get_all_re_weight
原有功能:拉取统配或者所有批次的数据
改动点:先根据站点ID、时间周期拉取所有的批次备注,然后根据批次备注拉取数据;
12.原有修改选中订单状态;
原有功能:修改订单状态,当修改为分拣中的时候会生成分拣序号;
改动点:在原来的基础上设置分拣备注到订单上;
13.所有称重相关url中的weigh单词改为weight;
四、新增接口
1.应用端批次备注列表拉取接口;
请求:
URL:/station/weight/batch_remark
Method: GET
参数:
cycly_start_time string M 时间周期
time_config_id string M 时间配置ID
响应:
code int M 0表示成功;非0表示有问题;
msg string M 消息
data json M 批次备注列表数据
示例:
Request:
GET http://test.guanmai.cn/station/weight/batch_remark?time_config_id=ST001&cycle_start_time=2017-03-31-06-00-00
Response:
{
"code": 0,
"msg": "ok",
"data": ["batch_remark1", "batch_remark2"]
}
2.按预设数修改订单状态;
URL:/station/order/update/status/preconfig
Method: POST
参数:
start_date date O 下单开始日期
end_date date O 下单截止日期
time_config_id string O 时间配置ID
start_cycle_time string O 开始时间周期
end_cycle_time string O 截止时间周期
receive_begin_date string O 开始收货日期
receive_end_date string O 截止收货日期
from_status int O 原来的订单状态
search_text string O 搜索的商户名、商户ID或订单ID
count string M 修改全部时为all,修改指定数量时传数量
to_status int M 目标订单状态
batch_remark string O 分拣备注
响应:
code int M 0表示成功,非0表示失败;
msg string M 消息
data json M 修改结果统计数据,多少个成功和失败;
示例:
Request:
POST http://dev.guanmai.cn/station/order/update/status/preconfig
参数:
start_date:2017-03-27
end_date:2017-04-01
from_status:1
search_text:吉野家
count:90
to_status:5
batch_remark:test_batch_remark
Response:
{
"code": 0,
"msg": "ok",
"data":{
"success": 30,
"failed": 10
}
}
3.按周期修改分仓订单状态
请求:
URL:/station/order/update/status/child_station
Method:POST
参数:
time_config_id string M 服务时间ID
cycle_start_time string M 周期开始时间
status int M 目标订单状态
batch_remark string O 分拣备注
响应:
code int M 0表示成功,非0表示失败;
msg string M 消息
data json M 修改结果统计数据,多少个成功和失败
示例:
Request:
POST http://dev.guanmai.cn/station/order/update/status/child_station
参数:
time_config_id:ST002
cycle_start_time:2017-04-01-06-00-00
status:5
batch_remark:1
Response:
{
"code": 0;
"msg": "ok",
"data":{
"success": 30,
"failed": 10
}
}