订单
只是部分文档,完整文档之后补全
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,
其他不变
}
}