套账
数据库修改
CREATE TABLE `tbl_delivery_rules` (
`id` bigint(11) unsigned NOT NULL AUTO_INCREMENT,
`order_id` varchar(20) NOT NULL COMMENT '订单ID',
`sync_del_order` tinyint(4) NOT NULL COMMENT '是否同步订单删除',
`sync_add_sku` tinyint(4) NOT NULL COMMENT '是否同步增加商品',
`sync_del_sku` tinyint(4) NOT NULL COMMENT '是否同步删除商品',
`create_time` datetime NOT NULL COMMENT '创建时间',
`modify_time` datetime DEFAULT NULL COMMENT '修改时间',
`delete_time` datetime DEFAULT '1-1-1 00:00:00' COMMENT '删除时间',
`pstatus` int NOT NULL DEFAULT '0' COMMENT '逻辑删除',
`extra1` int NOT NULL DEFAULT '0',
`extra2` int NOT NULL DEFAULT '0',
`extra3` int NOT NULL DEFAULT '0',
`extra4` varchar(128) NOT NULL DEFAULT '',
`extra5` varchar(128) NOT NULL DEFAULT '',
`extra6` varchar(128) NOT NULL DEFAULT '',
`extra7` datetime NOT NULL DEFAULT '1-1-1 00:00:00',
`extra8` datetime NOT NULL DEFAULT '1-1-1 00:00:00',
`extra9` datetime NOT NULL DEFAULT '1-1-1 00:00:00',
`extra10` decimal(15,4) NOT NULL DEFAULT '0.0000',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `tbl_delivery` (
`id` bigint(11) unsigned NOT NULL AUTO_INCREMENT,
`order_id` varchar(20) NOT NULL COMMENT '订单ID',
`type` tinyint(4) NOT NULL COMMENT '类型:1为未编辑 2为已编辑',
`sort_num` varchar(20) NOT NULL COMMENT '分拣序号',
`resname` varchar(20) NOT NULL COMMENT '商户名',
`user_id` varchar(20) NOT NULL COMMENT 'uid或站点ID(LK单)',
`address_id` varchar(20) NOT NULL COMMENT '店铺ID或站点ID(LK单)',
`address` varchar(200) NOT NULL COMMENT '收货地址',
`receiver_name` varchar(32) NOT NULL COMMENT '收货人',
`receiver_phone` varchar(20) NOT NULL COMMENT '收货人电话',
`area_id` bigint(20) NOT NULL COMMENT '区域ID',
`district_code` varchar(10) NOT NULL COMMENT '城市码',
`settle_way` int(11) NOT NULL COMMENT '商户结算方式',
`freight` int(11) NOT NULL COMMENT '运费',
`freight_lock` tinyint(4) NOT NULL COMMENT '是否锁定单价,1锁定0未锁定',
`real_price` int(11) NOT NULL COMMENT '出库金额',
`total_price` int(11) NOT NULL COMMENT '下单金额',
`total_pay` int(11) NOT NULL COMMENT '销售额',
`print_times` int(11) NOT NULL COMMENT '打印次数',
`creator` varchar(20) NOT NULL COMMENT '创建人',
`time_config_id` varchar(20) NOT NULL COMMENT '运营周期',
`order_time` datetime NOT NULL COMMENT '下单时间',
`source_order_ids` JSON NOT NULL COMMENT 'LK单原始信息',
`child_sort_id` varchar(20) NOT NULL COMMENT 'LK单信息',
`origin_customer` JSON NOT NULL DEFAULT "" COMMENT '原始订单信息',
`sale_manager_info` JSON NOT NULL DEFAULT "" COMMENT '销售经理信息',
`station_id` varchar(20) NOT NULL COMMENT '站点ID',
`group_id` int(11) NOT NULL COMMENT '组ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`modify_time` datetime DEFAULT NULL COMMENT '修改时间',
`delete_time` datetime DEFAULT '1-1-1 00:00:00' COMMENT '删除时间',
`pstatus` int NOT NULL DEFAULT '0' COMMENT '逻辑删除',
`extra1` int NOT NULL DEFAULT '0',
`extra2` int NOT NULL DEFAULT '0',
`extra3` int NOT NULL DEFAULT '0',
`extra4` varchar(128) NOT NULL DEFAULT '',
`extra5` varchar(128) NOT NULL DEFAULT '',
`extra6` varchar(128) NOT NULL DEFAULT '',
`extra7` datetime NOT NULL DEFAULT '1-1-1 00:00:00',
`extra8` datetime NOT NULL DEFAULT '1-1-1 00:00:00',
`extra9` datetime NOT NULL DEFAULT '1-1-1 00:00:00',
`extra10` decimal(15,4) NOT NULL DEFAULT '0.0000',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
新建delivery-tbl_delivery_sku_rules
CREATE TABLE `tbl_delivery_sku_rules` (
`id` bigint(11) unsigned NOT NULL AUTO_INCREMENT,
`delivery_id` int(11) NOT NULL COMMENT 'tbl_delivery表id',
`order_id` varchar(20) NOT NULL COMMENT '订单ID',
`sku_id` varchar(20) NOT NULL COMMENT '商品ID',
`sale_price_lock` tinyint(4) NOT NULL COMMENT '是否锁定单价,1锁定',
`quantity_lock` tinyint(4) NOT NULL COMMENT '是否锁定下单数,0未锁定',
`real_weight_lock` tinyint(4) NOT NULL COMMENT '是否锁定出库数,同上',
`sync_status` tinyint(4) NOT NULL COMMENT '同步状态:1同步,0不同步',
`create_time` datetime NOT NULL COMMENT '创建时间',
`modify_time` datetime DEFAULT NULL COMMENT '修改时间',
`delete_time` datetime DEFAULT '1-1-1 00:00:00' COMMENT '删除时间',
`pstatus` int NOT NULL DEFAULT '0' COMMENT '逻辑删除',
`extra1` int NOT NULL DEFAULT '0',
`extra2` int NOT NULL DEFAULT '0',
`extra3` int NOT NULL DEFAULT '0',
`extra4` varchar(128) NOT NULL DEFAULT '',
`extra5` varchar(128) NOT NULL DEFAULT '',
`extra6` varchar(128) NOT NULL DEFAULT '',
`extra7` datetime NOT NULL DEFAULT '1-1-1 00:00:00',
`extra8` datetime NOT NULL DEFAULT '1-1-1 00:00:00',
`extra9` datetime NOT NULL DEFAULT '1-1-1 00:00:00',
`extra10` decimal(15,4) NOT NULL DEFAULT '0.0000',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
新建delivery-tbl_delivery_sku
CREATE TABLE `tbl_delivery_sku` (
`id` bigint(11) unsigned NOT NULL AUTO_INCREMENT,
`delivery_id` int(11) NOT NULL COMMENT 'tbl_delivery表id',
`order_id` varchar(20) NOT NULL COMMENT '订单ID',
`sku_id` varchar(20) NOT NULL COMMENT '商品ID',
`sku_version` int(11) NOT NULL COMMENT '版本号',
`spu_id` varchar(20) NOT NULL COMMENT 'spu id',
`type` tinyint(4) NOT NULL COMMENT '类型:1为来自订单,2为自行添加',
`category_name_1` varchar(20) NOT NULL COMMENT '商品类别',
`category_name_2` varchar(20) NOT NULL COMMENT '商品类别',
`pinlei_name` varchar(20) NOT NULL COMMENT '商品类别',
`sku_name` varchar(200) NOT NULL COMMENT '商品类别',
`sale_ratio` int(11) NOT NULL COMMENT '销售单位比率',
`sale_unit_name` varchar(20) NOT NULL COMMENT '销售单位',
`std_unit_name` varchar(20) NOT NULL COMMENT '基本单位',
`sale_price` int(11) NOT NULL COMMENT '销售单价',
`is_price_timing` tinyint(11) NOT NULL COMMENT '是否时价商品',
`std_sale_price` int(11) NOT NULL COMMENT '基本单价',
`real_item_price` int(11) NOT NULL COMMENT '出库金额',
`origin_item_price` double NOT NULL COMMENT '来自订单detail',
`total_item_price` double NOT NULL COMMENT '下单金额',
`quantity` double NOT NULL COMMENT '下单数(基本单位)',
`real_quantity` double NOT NULL COMMENT '出库数 销售单位',
`real_weight` double NOT NULL COMMENT '出库数 基本单位real_std_count',
`real_is_weight` tinyint(4) NOT NULL COMMENT '是否称重商品',
`is_weighted` tinyint(4) NOT NULL COMMENT '是否已称重',
`spu_remark` varchar(50) DEFAULT "" COMMENT '商品备注',
`tax_rate` int(11) NOT NULL COMMENT '税率',
`salemenu_id` varchar(11) NOT NULL COMMENT '销售单ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`modify_time` datetime DEFAULT NULL COMMENT '修改时间',
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
`pstatus` int NOT NULL DEFAULT '0' COMMENT '逻辑删除',
`extra1` int NOT NULL DEFAULT '0',
`extra2` int NOT NULL DEFAULT '0',
`extra3` int NOT NULL DEFAULT '0',
`extra4` varchar(128) NOT NULL DEFAULT '',
`extra5` varchar(128) NOT NULL DEFAULT '',
`extra6` varchar(128) NOT NULL DEFAULT '',
`extra7` datetime NOT NULL DEFAULT '1-1-1 00:00:00',
`extra8` datetime NOT NULL DEFAULT '1-1-1 00:00:00',
`extra9` datetime NOT NULL DEFAULT '1-1-1 00:00:00',
`extra10` decimal(15,4) NOT NULL DEFAULT '0.0000',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Station
接口:delivery/get (新接口)
请求方法:GET
请求参数:
order_id M str 订单id
type M int 配送单类型,此处为2,假单
返回参数:
{
"code":0,
"msg":"ok",
"data":{
"id":"PL424566",
"delivery_id":33,
"sync_del_order": 1,
"sync_add_sku": 1,
"sync_del_sku": 0,
"resname": "XX店铺",
"time_config_id":"xxxx"
"total_price": 2333, //下单金额
"sort_id": "无线路1-1",
"receiver_name": "XXX",
"real_price": 2333, //订单出库金额
"total_pay": 2333, //订单销售额
"abnormal_money": 22, //异常金额
"coupon_amount" : 33, //优惠金额
"refund_money" : 33, //退款金额
"address": "XXX",
"address_id": 1234,
"remark": "订单备注XXX",
"order_time": "2019-03-07 18:00",
"receive_begin_time": "2019-03-07 18:00",
"receive_end_time": "2019-03-07 18:00",
"freight": 1,
"freight_lock": 1,
"details": [
{
"raw_id":123,
"id":"D235667",
"name": "卤牛肚",
"category_title_1": "卤味",
"sale_unit_name":"斤",
"std_unit_name": "斤",
"sale_ratio": 1,
"quantity": 3, //下单数
"quantity_lock": 1, //1:锁,0:未锁
"real_weight": 6, //出库数(基本单位)
"real_weight_lock": 1, //1:锁,0:未锁
"sale_price": 200, //单价
"sale_price_lock":1 //1:锁,0:未锁
"real_item_price": 200, //商品出库金额
"type": 1 //1:真商品,2:假商品
},
{
"raw_id":124,
"id":"D235668", //自行添加的商品无字段锁定信息
"name": "基围虾",
"category_title_1": "海鲜",
"sale_unit_name":"斤",
"std_unit_name": "斤",
"sale_ratio": 1,
"quantity": 3, //下单数
"real_weight": 6, //出库数(基本单位)
"sale_price": 100, //单价
"real_item_price": 600, //出库金额
"type": 2
},
...
]
}
}
接口:delivery/create (新接口,保存同步信息,并且创建配送单)
请求方法:POST
请求参数:
order_id M str 订单id
sync_del_order M INT 1:同步 0:不同步
sync_add_sku M INT 1:同步 0:不同步
sync_del_sku M INT 1:同步 0:不同步
返回参数:
{
"code":0,
"msg":"ok",
"data":None
}
接口:delivery/update (新接口)
请求方法:POST
请求参数:
freight O int(以分为单位) 运费(存在差异时传)
freight_lock O int 运费锁(1锁,0不锁,存在差异时传)
details O list 商品信息(存在差异时传diff)
delivery_id M int 配送单id
传的details diff详情:
"details": [
{
"op_type":1, //新增操作
"id":"D235667",
"name": "卤牛肚",
"category_title_1": "卤味",
"sale_unit_name":"斤",
"std_unit_name": "斤",
"sale_ratio": 1,
"quantity": 3,
"real_weight": 6,
"sale_price": 200,
"real_item_price": 120,
"type": 2
},
{
"op_type":2, //更新操作,只传更新信息
"id":"D235667",
"raw_id":123,
"name": "卤牛肚",
"category_title_1": "卤味",
"type": 1或者2
},
{
"op_type":3, //删除操作
"id":"D235667",
"raw_id":124,
"type":1或者2
},
...
]
返回参数:
{
"code":0,
"msg":"ok",
"data": None
}
接口:delivery/delete (新接口)
请求方法:POST
请求参数:
order_id M str 订单id
type M int 1:真单,2:假单
返回参数:
{
"code":0,
"msg":"ok",
"data": None
}
接口:delivery/list(查看编辑配送单记录)
请求方法:GET
请求参数:
按下单日期:
order_time_begin O date
order_time_end O date
按运营周期:
time_config_id O str
cycle_start_time O datetime
cycle_end_time O datetime
按收货时间:
receive_begin_time O datetime
receive_end_time O datetime
按司机筛选:
driver_id O 司机id
carrier_id O 承运商id
unassigned O 未分配司机,与前两个参数互斥
按线路筛选:
route_id O 线路id
订单号或者商户名:
search_text O str 搜索条件
page_obj O str 分页信息
limit O int 每页条数限制(不传默认为10)
返回参数:
{
"code":0,
"msg":"ok",
"data":{
"order":[
{
"order_id":"PL456234",
"route_name":"线路",
"resname":"鸭脖店",
"total_price":555, //下单金额
"total_pay":555, //销售额
"freight":600, //运费
"carrier_name":123,
"driver_name":1234,
"create_time":"2019-02-25 10:17:09",
"creator":"spiderman",
"sort_num":XXX,
"print_times":0,
"sync_order_time": "2019-02-25 10:17:09",
},
{
"order_id":"PL456234",
"route_name":"线路",
"resname":"鸭脖店",
"total_price":555, //下单金额
"total_pay":555, //销售额
"freight":600, //运费
"carrier_name":123,
"driver_name":1234,
"create_time":"2019-02-25 10:17:09",
"creator":"spiderman",
"sort_num":XXX,
"print_times":1,
sync_order_time": "2019-02-25 10:17:09",
},
...
],
"in_query": fasle/true
}
}
接口:delivery/print (新增)
请求方法:POST
请求参数:
ids M list 订单id
type M int 1:未编辑过的 2:编辑过的 (这里传2)
返回参数:
{
"code":0,
"msg":"ok",
"data": {
"delivery_details":[
{
"id": "PL5051844",
"sid": "118695",
"sales_name": "", //对应的销售人员的名字
"cname": "商户公司",
"city": "长沙市",
"area_l1": "芙蓉区",
"area_l2": "湘湖街道",
"resname": "测试1",
"receive_begin_time": "2019-03-11 18:00",
"receive_end_time": "2019-03-12 09:30",
"address": "收货地址",
"abnormal_money": "0.00",
"date_time": "2019-03-11 12:15:39",
"driver_name": "司机名称",
"source_origin_id": "",
"child_sort_id": "",
"origin_customer": {},
"tax_number": 139154, //税号
"pay_method": {
"begin_day": null,
"settle_day": null,
"pay_method": 1,
"cycle_length": null
}, //结款周期信息
"refunds": [
"detail_id":"D234533"
'type_text':"异常原因"
'text':"异常描述",
'money_delta':"异常金额",
'amount_delta':"异常数量"
],
"abnormals": [
"detail_id":"D234533"
'type_text':"异常原因"
'text':"异常描述",
'money_delta':"异常金额",
'amount_delta':"异常数量"
],
"sort_id": "分拣序号",
"carrier": "承运商A",
"settle_way": 1, //结款方式
"refund_money": "0.00",
"remark": "订单备注",
"receiver_phone": "13312345645",
"address_route_name": "线路",
"real_price": "122.20", //价格
"freight": "0.00",
"total_price": "122.20",
"total_pay": "122.20",
"receiver_name": "买卖qs",
"bill_receiver": null,
"bill_address": null,
"driver_phone": "13456789012",
"sale_manager": {
"id": null,
"name": null,
"phone": null
}, //销售经理
"details": [
{
"id": "D4440479",
"name": "宽叶菠",
"category_title_1": "蔬菜",
"category_title_2": "叶菜",
"pinlei_title": "菠菜",
"spu_name": "宽叶菠",
"std_sale_price": 100, //基本单位单价
"sale_price": 100, //销售单位单价
"real_item_price_without_tax": "1.00",
"sale_price_without_tax": "1.00",
"real_item_price": 1,
"origin_item_price": 0,
"org_item_price": 1,
"org_sale_price": 1,
"org_std_sale_price": 1,
"total_item_price": 1,
"tax_rate": 0,
"sale_ratio": 1,
"sale_unit_name": "斤",
"std_unit_name": "斤",
"real_is_weight": true,
"tax": "0.00",
"union_dispatch": true,
"desc": "",
"real_weight": 1,
"is_weigh": false,
"quantity": 1,
"is_price_timing": false,
"salemenu_id": "S9993",
"remark": null,
"specs": "-",
"outer_id": ""
},
{
"id": "D4440479",
"name": "宽叶菠",
"category_title_1": "蔬菜",
"category_title_2": "叶菜",
"pinlei_title": "菠菜",
"spu_name": "宽叶菠",
"std_sale_price": 1, //基本单位单价
"sale_price": 1, //销售单位单价
"real_item_price_without_tax": "1.00",
"sale_price_without_tax": "1.00",
"real_item_price": 1,
"origin_item_price": 0,
"org_item_price": 1,
"org_sale_price": 1,
"org_std_sale_price": 1,
"total_item_price": 1,
"tax_rate": 0,
"sale_ratio": 1,
"sale_unit_name": "斤",
"std_unit_name": "斤",
"real_is_weight": true,
"tax": "0.00",
"union_dispatch": true,
"desc": "",
"real_weight": 1,
"is_weigh": false,
"quantity": 1,
"is_price_timing": false,
"salemenu_id": "S9993",
"remark": null,
"specs": "-",
"outer_id": ""
}
...
]
}
]
}
}
备注:根据同步设置,获取订单最新数据,根据规则更新配送单,返回更新过后的数据。
接口:delivery/export (新增,导出)
请求方法:GET
请求参数:
按下单日期:
order_time_begin O date
order_time_end O date
按运营周期:
time_config_id O str
cycle_start_time O datetime
cycle_end_time O datetime
按收货时间:
receive_begin_time O date
receive_end_time O date
query_type M int 1:订单日期 2:运营周期 3:收货时间
按司机筛选:
driver_id O int 司机id
carrier_id O int 承运商id
按线路筛选:
route_id O int 线路id
订单号或者商户名:
search_text O str 搜索条件
返回参数:
{
"code":0,
"msg":"ok",
"data": {
'async': 0, //是否异步,1:异步,0:同步
'task_url': "/task/get?task_id=1234",
'filename': “配送单列表_按运营周期_{2}_{0}_{1}.xlsx”,
'orders': [{
}],
'products': [{
}]
}
备注:
根据同步设置,获取订单最新数据,根据规则更新配送单,导出更新过后的数据。
商品超过500走异步。
接口:delivery/sync_order (同步订单)
请求方法:GET
请求参数:同上面的导出一样
返回参数:
{
"code":0,
"msg":"ok",
"data": {
'task_url': "/task/get?task_id=1234"
}
如果范围内没有订单:
返回的data为None