Skip to content

订单

只是部分文档,完整文档之后补全

bshop

订单列表

接口:      order/list
Method:   GET

请求:
    skip    O   默认0
    limit   O   默认5
    count   O
    type    O   默认0  0:拉取全部订单,1:拉取未支付订单

响应:
    改动:返回数据增加已支付金额,差额,支付状态,关闭订单时间字段,更改筛选订单的逻辑为按照pay_status筛选
    paid_amount:已支付金额
    to_pay_amount:    差额
    pay_status: 支付状态
    due_time:   关闭订单时间,如果结款方式为先货后款,则为none
    settle_way: 结款方式  1:先货后款, 2:先款后货

拉取历史未支付订单

接口:      order/unpaid_list
Method:   GET

请求:
    order_id  O  订单号  查看账单不传,去支付传
响应:
    改动:
        1,订单先款后货:拉取当前,历史账期部分支付的订单
        2,订单先货后款:拉取当前,历史账期未支付,部分支付的订单
        3,查看账单:涉及到订单对应账期,只展示先货后款单,拉取当前,历史账期内的未支付订单
    {
        "code": 0,
        "msg": "ok",
        "data": [{
        "current_orders": [{
            "create_time": "2017-12-05",
            "id": "PL960840",
            "money": 1100,
            "status": 15,
            "pay_status": 5,
            "settle_way": 1,
        }],
        "current_settle": "12月3日~12月9日"
        "history_settle": "12月03日00:00:00前",
        "history_orders": [{
            "create_time": "2017-12-01"
            "id": "PL946744"
            "status": 15,
            "pay_status": 5,
            "money": 1200,  # 未支付:total_price 部分支付为:total_price - real_pay
            "settle_way": 1,
        }],
        "resname": "xxx"
        "settle_time":"最迟12月11日"
      }]
    }


订单详情

接口:      order/detail
Method:   GET

请求:
    order_id  M  订单号

响应:
    改动:返回数据增加已支付金额,差额,支付状态,关闭订单时间字段
    paid_amount:已支付金额
    to_pay_amount:    差额
    pay_status: 支付状态
    due_time:   关闭订单时间,如果结款方式为先货后款,则为none
    settle_way: 结款方式  1:先货后款, 2:先款后货

确认订单 (根据购物车中的商品生成待确认订单)

接口名: /order/confirm
Method: GET
请求:
    无
响应:
    新增:settle_way 结款方式,商户对应user的结款方式

    code M int 0为成功,其它为失败
    msg M string 错误提示信息
    data M list 返回的订单信息
    {
        orders M list 订单信息
        [{
            sku_ids M list 商品ID列表
            freight M float 运费
            station_id M string 站点ID
            order_id M string 订单ID
            total_price M float 订单总价
            salemenu_ids M list 销售单ID列表
            receive_time M dict 收货信息
            {
                msg M string 收货时间提示
                order_flag M bool 是否可下单
                receive_time M dict 客户选择的收货时间
                {
                    defaultStart M string 开始时间HH:MM
                    defaultSpanStartFlag M int 开始时间间隔
                    defaultEnd M string 结束时间HH:MM
                    defaultSpanEndFlag M int 结束时间间隔
                }
                receive_time_limit M dict 收货时间限制
                {
                    r_start M string 开始时间
                    r_end M string 结束时间
                    s_span_time M int 开始时间间隔
                    e_span_time M int 结束时间间隔
                    receiveTimeSpan M int 时间间隔
                    time_config_id M string 时间配置ID
                }
            }
            order_time_limit M dict 下单时间限制
            {
                start M string 开始时间HH:MM
                end M string 结束时间HH:MM
                e_span_time M int 结束时间间隔
            }
            order_pay_method M int 订单支付方式
            is_price_timing M bool 是否存在时价商品
        }]
        finance_status M int 用户财务状态
        address M dict 店铺信息
        {
            id M int 店铺ID
            user_id M int 用户ID
            name M string 用户名
            addr_detail M string 店铺地址
            area_id M int 店铺区域ID
            begintime M string 开始收货时间
            endtime M string 结束收货时间
            finance_status M int 财务状态
            resname M string 店铺名
            telephone M string 电话
            //settle_way M int 结款方式  (新增)
        }
        pay_method M int 付款方式
        all_price M float 订单总价(含运费)
        all_freight M float 订单运费
        is_price_timing M bool 是否存在时价商品
    }

购物车页展示差额订单

接口:      order/partpay_list  先货后款无变化,先款后货展示有差额的先款后货订单
Method:   GET

request
    order_id  O  str  下单的订单号
response:
    用户结款方式为先货后款时
    {
        "code": 1,
        "msg": "当前用户结款方式为先货后款"
    }
    用户结款方式为先款后货时
    {
        "current_order":{    //可能不存在
                'order_id': order_id,            订单号
                'date_time': date_time,          下单日期
                'to_pay_amount': to_pay_amount   差额
            }
        "code": 0,
        "msg": "ok"
        data:{
            'address_id': address_id,
            'user_id': user_id,
            'order_list': [
                {
                    'order_id': order_id,            订单号
                    'date_time': date_time,          下单日期
                    'to_pay_amount': to_pay_amount   差额
                },
            ]
        }
    }

改动的接口

config/deploy   增加  due_time: 300  默认超时关闭时间配置,默认300s
common/common_val 增加OrderPayStatus枚举类,表示支付状态
common/common_val 增加SettleWay枚举类,表示结款方式
website/order/views/order/GetOrderListView   订单列表
website/order/views/order/GetPartPayOrderInfoView  获取部分支付的订单信息 [新增]
common/mysql/service/customer/FinalCustomerUserService.get_settle_way_by_user_id 通过user_id获取settle_way [新增]
common/mysql/service/customer/RestaurantService.get_user_id_by_address_id  通过address_id获取user_id [新增]
common/mysql/models/FinalCustomerUser  模型类新增了settle_way字段
website/order/urls/  新增partpay_info路由字段
website/order/dals/order/get_orders  更改其筛选未支付订单条件由status为pay_status
website/order/dals/order/format_order_list  在其拼接的结果中添加支付金额,差额,支付状态,关闭订单时间,结款方式字段
website/order/views/order/OrderUnpaidView  拉取历史未支付订单
website/order/dals/order/get_unpay_orders  拉取当前,历史账期部分支付(和未支付)订单
website/order/views/order/GetOrderDetailView  订单详情
website/order/dals/order/format_order_detail  在其拼接的结果中添加支付金额,差额,支付状态,关闭订单时间,结款方式字段

订单支付

接口:      pay/order  
Method:   POST

request
    order_ids  M  str  订单号列表,json格式的字符串
    pay_method  M   int 支付方式,1:余额支付 2:微信支付
    client  O   str wx:微信支付 app:app支付 driver:司机支付
response:
    余额支付时返回
    {
        "code": 0,
        "msg": "ok"
    }
    微信支付时返回
    {
        "code": 0,
        "msg": "ok"
        data:{
            "appId": APPID, 
            "timeStamp": 1599993993, 
            "nonceStr": NOUNCESTR,
            "package": "prepay_id=PREPARE_ID", 
            "signType": "MD5",
            "paySign": PAY_SIGN
        }
    }

充值

接口:      pay/charge  
Method:   POST

request
    amount  M  int  金额
    client  O   str wx:微信支付 app:app支付 driver:司机支付
response:
    {
        "code": 0,
        "msg": "ok"
        data:{
            "appId": APPID, 
            "timeStamp": 1599993993, 
            "nonceStr": NOUNCESTR,
            "package": "prepay_id=PREPARE_ID", 
            "signType": "MD5",
            "paySign": PAY_SIGN
        }
    }

微信授权

接口:      pay/wx/auth  
Method:   POST

request
    pay_info_id  M  str  支付配置id
    page    M   str 授权后跳转页面,限数字和字母,重定向通过参数返回
    attach  O   str 前端attach数据,限数字和字母,重定向时候原样返回
response:
    重定向到 /#/order/pay_immediately?page=PAGE&attach=ATTACH

MA

DB变动

# tbl_permission
168 手动锁单  21  edit_orderlock

手动锁单

接口:      finance/order/update/lock
Method:   POST
请求:
    order_ids  M  订单号列表(可兼容批量锁单功能)
    freeze     M  订单操作  0:解锁订单, 1:锁定订单
响应:
    {
        "code": 0,
        "msg": "ok"
    }

商户对账单

接口:      custommanage/bill/search
Method:   GET
请求:
    以下新增:
    pay_method      M  1:日结 2:周结 3:月结 4 自定义
    settle_way      M  1:先货后款 2:先款后货
    其他不变
响应:
    {
        "code": 0,
        "msg": "ok"
         "data": [
        {
            "amount": 155400,(销售额)
            "lack": 155400,(应付金额)
            "KID": "K030135",
            "SID": "S024717",
            "company_name": "--",
            "resname": "客户B(同group跨站绑定)",
            "sale_employee_id": null,
            "sale_employee_name": "--",
            "consignee_name": "sss",
            "consignee_phone": "13581386890",
            "username": "584520",
            "addr_detail": "ffffff",
            "payment_name": "sss",
            "payment_telephone": "13581386890",
            "district_code": "999999",
            "district_name": "测试城市",

            以下为新增
            "pay_method_id": 26578,
            "pay_method": 2,
            "paid_amount": 0,
            "refund_amount": 0,
        },
        ]
    }

商户对账单

接口:      custommanage/bill/detail
Method:   GET
请求:

    不变
响应:
    {
    "code": 0,
    "msg": "ok",
    "data": {
        "orders": [
            {
                "id": "PL956261",
                "date_time": "2017-12-26T16:35:57.194",
                "receive_time": "2017-12-27T06:00:00",
                "amount": 1554, 销售额
                "refund_amount": 1554, 已退
                "paid_amount": 1554, 已付
                "status": "未支付",
                "station_name": "产品技术测试加盟站点1号",
                "remark": null,
                "details": [
                    {
                        "name": "菜心",
                        "unit_price": 77700,
                        "sale_unit_name": "2.0斤/公斤",
                        "total_item_pay": 155400,
                        "quantity": 2,
                        "unit_name": "斤"
                    }
                ]
            }
        ],
        "amount": 155400, 销售额
        "lack": 155400, 应付金额
        "refund_amount": 0, 退款金额
        "paid_amount": 0, 已付金额
        "pay_method": 2, 
        "KID": "K030135",
        "SID": "S024717",
        "company_name": "--",
        "resname": "客户B(同group跨站绑定)",
        "sale_employee_id": null,
        "sale_employee_name": "--",
        "consignee_name": "sss",
        "consignee_phone": "13581386890",
        "username": "584520",
        "addr_detail": "ffffff",
        "payment_name": "sss",
        "payment_telephone": "13581386890",
        "district_code": "999999",
        "district_name": "测试城市"
    }
}

station

拉取订单列表

接口名:station/orders
Method:GET

request:
pay_status(新增)    M   int     支付状态筛选
status(修改)    M   int     不能传支付完成状态100


响应:
    code    M   int     返回码,0表示成功,其他表示错误
    msg     M   string  错误信息
    data    M   string  返回数据


Response:
{
    "msg": "ok",
    "code": 0,
    "data":{
        'pay_status': 1,
        'settle_way': 1,
        不变。
    }
}

每日经营分析订单详情

接口名:station/sales_analysis/orderdetail
Method:GET

request:
pay_status(新增)    M   int     支付状态筛选
status(修改)    M   int     不能传支付完成状态100


响应:
    code    M   int     返回码,0表示成功,其他表示错误
    msg     M   string  错误信息
    data    M   string  返回数据


Response:
{
    "msg": "ok",
    "code": 0,
    "data":{
        不变。
    }
}

站点系统设置获取

前端获取default_settle_way字段
和获取show_sku_outer_id 这个字段获取方式一样
都是在模板里面获取的。

站点系统设置修改

接口名:/station/profile/update
Method:POST

request:
show_sku_outer_id       M   int     商品id展现方式,0:系统,1:自定义
default_settle_way              M   int     1:先货后款 2:先款后货


响应:
    code    M   int     返回码,0表示成功,其他表示错误
    msg     M   string  错误信息
    data    M   string  返回数据


Response:
{
    "msg": "ok",
    "code": 0,
    "data":{
        null
    }
}

站点创建

接口名:/admin/station/create
Method:POST

request:
以下新增,其他不变
default_settle_way              M   int     1:先货后款 2:先款后货


响应:
    code    M   int     返回码,0表示成功,其他表示错误
    msg     M   string  错误信息
    data    M   string  返回数据


Response:
{
    "msg": "ok",
    "code": 0,
    "data":{
        不变
    }
}

站点更新

接口名:/admin/station/update
Method:POST

request:
以下新增,其他不变
default_settle_way              M   int     1:先货后款 2:先款后货


响应:
    code    M   int     返回码,0表示成功,其他表示错误
    msg     M   string  错误信息
    data    M   string  返回数据


Response:
{
    "msg": "ok",
    "code": 0,
    "data":{
        不变
    }
}

站点创建

接口名:/admin/station/details
Method:POST

request:
以下新增,其他不变
default_settle_way              M   int     1:先货后款 2:先款后货


响应:
    code    M   int     返回码,0表示成功,其他表示错误
    msg     M   string  错误信息
    data    M   string  返回数据


Response:
{
    "msg": "ok",
    "code": 0,
    "data":{
        ‘default_settle_way’:1,
        其他不变
    }
}