Skip to content

套账

数据库修改

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