Skip to content

分拣去批次需求改动点

一、应用端登录变更:

不需要先GET一下网页解析token再POST登录;
应用端直接按csrf_token生成规则直接生成;

二、存储变动

  1. Redis中存PackData的key变更,不再有批次ID;
  2. MongoDB中订单表新增批次备注字段:batch_remark;

三、老接口涉及改动

1.激活批次:/station/task/sorting/batch

原有功能:

  1. 生成分拣序号:如果是总仓,会自动为分仓生成分拣序号;
  2. 修改订单状态为分拣中;
  3. 排序;

改动点:提取原有激活批次功能,接口删除;

2.分拣任务:/station/task/sorting/label

改动点:这里不需要关心批次,但是代码里面有批次,删除批次分支;

3.PackData:/station/weigh/pack_data

原有功能:

  1. 将指定批次或所有批次或统配的的订单数据、分拣序号、排车信息打包到Redis;
  2. 以 分拣日期+站点ID+时间配置ID 作为Redis中Key的前缀;

改动点:将批次替换为批次备注,并且不用再根据MySQL中的分拣序号信息推算批次;

4.WhatCanIDo:/station/weigh/what_can_i_do

原有功能:

  1. 拉取分类;
  2. 拉取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
            }
        }