2-3-2. 处理

URL http://test.birdsystem.com/client/Temp-Consignment-Info/Convert-Into-Consignment/?ids=12010436_12010437&type=DIRECT&start=0


method

get

body

-

返回

其中taskId是当前正在运行的后台任务的id.   (目前 convert-into-consignment 使用后台任务模式, 开启一个后台任务后, 不等后台完成, 就返回后台任务的id)

{
    "numberOfTotalConsignmentsToProcess": 1,
    "taskId": 1,
    "success": true,
    "refresh": false
}


返回taskId后,如需要查询task的状态, 可以1分钟调用一次

http://test.birdsystem.com/client/Gearman-background-tasks/Get-Detail?id=xxxx

其中xxxx是返回的taskId 数据, 返回数据如下

status状态有'QUEUE' (排队中),'RUNNING'(运行中),'FINISH' (已完成),'ERROR' (出错),'ABORTED' (已被人为中断) 几种状态
只有当status为'FINISH'时, data, errorData才会有数据
data中返回的键值对分别是 临时订单id, 订单id
errorData中返回的键值对分别是 临时订单id, 错误信息
{
    "taskId":"65",
    "status":"FINISH",
    "create_time":"2018-09-29 15:34:51",
    "start_time":"2018-09-29 15:34:51",
    "update_time":"2018-09-29 15:34:51",
    "finish_time":"2018-09-29 15:34:51",
    "data":{
        "3":"1809290020000005"
    },
    "errorData":{
        "2":"Cannot find expected delivery service, please verify the according option."
    },
    "success":true,
    "refresh":false,
    "moduleName":"client"
}

备注

现在系统使用后台任务队列来处理订单, 订单较多时,处理需要较长时间,可长达一小时.  所以处理结果是不会实时返回的. 每调用一次convert-into-consignment,会创建一个任务, 根据这个任务id来了解后台进度.

点击处理,或者发convert请求,只是开启一个后台任务,就告诉客户后台任务开始了。

至于后台任务最后是成功还是失败,是要不停地去查http://test.birdsystem.com/client/Gearman-background-tasks/Get-Detail?id=xxxx接口状态才知道。

参数

id批量订单的id, [非必填]
type 转换的类型, 值有4个LOCAL, RETURN, DIRECT, AGENT_DIRECT [必填]
start 从第几个开始处理 [必填, 不填的话系统默认为0]

系统会根据这两个值来获取你要转换的批量订单, 如果没有写id, 则默认转换所填type的所有未转换的批量订单