MA异步导出文档
商户对账单异步导出方案
将商户对账单的导出进行修改,如果是同步导出的话则后端只负责传输数据给前端,生成的excel由前端生成(原先是由后端导出),如果超过200条信息,则生成异步任务,导出由后端生成.
manage接口 /custommanage/bill/search
Method
GET
请求
export O int 导出对账单,1为默认对账单,2为电子对账单
search_type M int 搜索方式
station_id O str 站点筛选
sale_employee_id O str 经理筛选
search_txt O str 搜索
settle_way O int 结款方式
date_from M str 搜索时间范围
date_to M str 搜索时间范围
响应
data{
async M int 0:同步,1:异步
task_url M null/str 异步返回url,同步则为None
filename M str excel表格文件名
data M list/null 同步返回类型为list的数据,异步为null
例如 [{"payment_telephone": "12546525987",
"sale_employee_name": "先款后货",
"consignee_name": "xkhh002A",},{...},]
}
前端可用接口
/task/list 任务列表查询
接口 /task/list 任务列表查询
接口描述: 批量任务查看
Method: Get
响应:
code M int 0为成功, 其它为失败
msg M str 错误提示信息
data M json 返回数据容器
{
finish M bool True表示全部完成, 反之未完成
tasks M list 任务列表
[{
task_id M int 任务id
user_task_id M str 用户任务id
task_name M str 任务名称
status M int 任务状态, 1-已经提交, 2-正在执行, 3-已经完成, 4-部分成功, 停止执行, 5-执行失败(全部失败), 停止执行
reason M str 失败原因
progress M int 任务进度(1-100之间)
type M int 任务类型(0-导入, 1-导出, 2-处理)
result M json 返回数据容器
}]
}
示例
{
"code": 0,
"data": {
"finish": true,
"tasks": [
{
"type": 1,
"result": {
"link": "https://file.guanmai.cn/order_export_excel/5c25800d3edced641487e78c/订单列表_按订单查看_按下单日期_2018-11-15_2018-12-10.xlsx",
"msg": "导出成功"
},
"status": 3,
"user_task_id": null,
"task_name": "订单列表_按订单查看_按下单日期_2018-11-15_2018-12-10.xlsx",
"task_id": 64,
"progress": 100
},
],
"msg": "ok"
}
接口 /task/clear_show 清空已经完成任务
Method: Post
请求:
task_ids O list 任务id列表(task_ids与user_task_ids二者必有其一)
user_task_ids O list 用户自定义id列表
响应:
code M int 0为成功, 其它为失败
msg M str 错误提示信息
data M null 返回数据容器
/task/get 单个任务查看
接口描述: 单个任务查看
Method: Get
响应:
code M int 0为成功, 其它为失败
msg M str 错误提示信息
data M json 返回数据容器
{
task_id M int 任务id
user_task_id M str 用户任务id
task_name M str 任务名称
status M int 任务状态, 1-已经提交, 2-正在执行, 3-已经完成, 4-部分成功, 停止执行, 5-执行失败(全部失败), 停止执行
reason M str 失败原因
progress M int 任务进度(1-100之间)
type M int 任务类型(0-导入, 1-导出, 2-处理)
result M json 返回数据容器
前端生成excel所需对应参数
data是一个列表,列表中的每个对象有以下数据
对账单
"KID" : "账户ID",
"company_name" : "公司名",
"username" : "帐号",
"SID" : "商户ID",
"resname" : "店铺名",
"district_name" : "城市",
"payment_name" : "结款人",
"payment_telephone" : "结款人电话",
"consignee_name" : "收货人",
"consignee_phone" : "收货人电话",
"sale_employee_name" : "销售经理",
"bill_tax" : "税额" //注意:如果这个参数没传,说明用户没有导出显示税额的权限,这时打印的表单没有税额这一列
"amount" : "销售额(含运、税)" or "销售额(含运费)", //如果没有传bill_tax,则显示销售额(含运费)
"lack" : "差额"
需要给表tbl_async_task添加一个groupid的字段
alter table tbl_async_task add group_id INT NOT NULL DEFAULT -1 ;