Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
飞鱼0526
ShopXO
提交
01dd8a14
ShopXO
项目概览
飞鱼0526
/
ShopXO
与 Fork 源项目一致
Fork自
纵之格 / ShopXO
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
01dd8a14
编写于
4月 07, 2020
作者:
D
devil
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
线下支付逻辑优化
上级
59070118
变更
30
显示空白变更内容
内联
并排
Showing
30 changed file
with
637 addition
and
213 deletion
+637
-213
application/admin/view/default/order/index.html
application/admin/view/default/order/index.html
+3
-0
application/index/controller/Order.php
application/index/controller/Order.php
+2
-4
application/index/view/default/order/detail.html
application/index/view/default/order/detail.html
+39
-12
application/index/view/default/order/index.html
application/index/view/default/order/index.html
+4
-1
application/service/BuyService.php
application/service/BuyService.php
+17
-1
application/service/OrderService.php
application/service/OrderService.php
+110
-31
application/service/PaymentService.php
application/service/PaymentService.php
+13
-3
application/service/ToutiaoService.php
application/service/ToutiaoService.php
+4
-4
application/tags.php
application/tags.php
+0
-1
config/shopxo.php
config/shopxo.php
+1
-1
sourcecode/alipay/app.js
sourcecode/alipay/app.js
+55
-1
sourcecode/alipay/app.json
sourcecode/alipay/app.json
+1
-1
sourcecode/alipay/pages/user-order-detail/user-order-detail.js
...ecode/alipay/pages/user-order-detail/user-order-detail.js
+1
-1
sourcecode/alipay/pages/user-order/user-order.axml
sourcecode/alipay/pages/user-order/user-order.axml
+4
-2
sourcecode/alipay/pages/user-order/user-order.js
sourcecode/alipay/pages/user-order/user-order.js
+70
-31
sourcecode/baidu/app.js
sourcecode/baidu/app.js
+44
-1
sourcecode/baidu/pages/user-order-detail/user-order-detail.js
...cecode/baidu/pages/user-order-detail/user-order-detail.js
+1
-1
sourcecode/baidu/pages/user-order/user-order.js
sourcecode/baidu/pages/user-order/user-order.js
+37
-21
sourcecode/baidu/pages/user-order/user-order.swan
sourcecode/baidu/pages/user-order/user-order.swan
+4
-2
sourcecode/qq/app.js
sourcecode/qq/app.js
+43
-0
sourcecode/qq/pages/user-order-detail/user-order-detail.js
sourcecode/qq/pages/user-order-detail/user-order-detail.js
+1
-1
sourcecode/qq/pages/user-order/user-order.js
sourcecode/qq/pages/user-order/user-order.js
+39
-23
sourcecode/qq/pages/user-order/user-order.qml
sourcecode/qq/pages/user-order/user-order.qml
+4
-2
sourcecode/toutiao/app.js
sourcecode/toutiao/app.js
+41
-0
sourcecode/toutiao/pages/user-order-detail/user-order-detail.js
...code/toutiao/pages/user-order-detail/user-order-detail.js
+1
-1
sourcecode/toutiao/pages/user-order/user-order.js
sourcecode/toutiao/pages/user-order/user-order.js
+44
-33
sourcecode/toutiao/pages/user-order/user-order.ttml
sourcecode/toutiao/pages/user-order/user-order.ttml
+4
-2
sourcecode/weixin/pages/user-order-detail/user-order-detail.js
...ecode/weixin/pages/user-order-detail/user-order-detail.js
+1
-1
sourcecode/weixin/pages/user-order/user-order.js
sourcecode/weixin/pages/user-order/user-order.js
+44
-28
sourcecode/weixin/pages/user-order/user-order.wxml
sourcecode/weixin/pages/user-order/user-order.wxml
+5
-3
未找到文件。
application/admin/view/default/order/index.html
浏览文件 @
01dd8a14
...
...
@@ -219,6 +219,9 @@
{{else /}}
<span
class=
"block am-text-xs"
>
{{$v.pay_status_name}}
</span>
{{/if}}
{{if !empty($v['is_under_line_text'])}}
<span
class=
"block am-text-danger am-text-xs"
>
{{$v.is_under_line_text}}
</p>
{{/if}}
{{if $v['user_is_delete_time'] neq 0}}
<span
class=
"block am-text-warning am-text-xs"
>
用户已删除
</span>
{{/if}}
...
...
application/index/controller/Order.php
浏览文件 @
01dd8a14
...
...
@@ -266,14 +266,12 @@ class Order extends Common
$this
->
assign
(
'to_title'
,
'我的订单'
);
// 状态
$this
->
assign
(
'msg'
,
$ret
[
'msg'
]);
if
(
$ret
[
'code'
]
==
0
)
{
$this
->
assign
(
'msg'
,
'支付成功'
);
return
$this
->
fetch
(
'public/tips_success'
);
}
else
{
$this
->
assign
(
'msg'
,
$ret
[
'msg'
]);
return
$this
->
fetch
(
'public/tips_error'
);
}
return
$this
->
fetch
(
'public/tips_error'
);
}
/**
...
...
application/index/view/default/order/detail.html
浏览文件 @
01dd8a14
...
...
@@ -25,7 +25,7 @@
<!-- 进度环节 -->
{{if !in_array($data['status'], [5,6])}}
<ul
class=
"progress"
>
<li
class=
"steps-success {{if $data['status']
LT
2}} current{{/if}}"
>
<li
class=
"steps-success {{if $data['status']
lt
2}} current{{/if}}"
>
<p
class=
"digital"
>
<i
class=
"am-icon-check"
></i>
</p>
...
...
@@ -36,10 +36,10 @@
{{/if}}
</div>
</li>
<li
class=
"{{if $data['status']
GT 1}}steps-success{{/if}} {{if $data['status'] EQ
2}} current{{/if}}"
>
<li
class=
"{{if $data['status']
gt 1}}steps-success{{/if}} {{if $data['status'] eq
2}} current{{/if}}"
>
<i
class=
"step"
></i>
<p
class=
"digital"
>
{{if $data['status']
GT
1}}
<i
class=
"am-icon-check"
></i>
{{else /}}2{{/if}}
{{if $data['status']
gt
1}}
<i
class=
"am-icon-check"
></i>
{{else /}}2{{/if}}
</p>
<div
class=
"base"
>
<p
class=
"title"
>
付款
</p>
...
...
@@ -48,10 +48,10 @@
{{/if}}
</div>
</li>
<li
class=
"{{if $data['status']
GT 2}}steps-success{{/if}} {{if $data['status'] EQ
3}} current{{/if}}"
>
<li
class=
"{{if $data['status']
gt 2}}steps-success{{/if}} {{if $data['status'] eq
3}} current{{/if}}"
>
<i
class=
"step"
></i>
<p
class=
"digital"
>
{{if $data['status']
GT
2}}
<i
class=
"am-icon-check"
></i>
{{else /}}3{{/if}}
{{if $data['status']
gt
2}}
<i
class=
"am-icon-check"
></i>
{{else /}}3{{/if}}
</p>
<div
class=
"base"
>
<p
class=
"title"
>
卖家发货
</p>
...
...
@@ -60,10 +60,10 @@
{{/if}}
</div>
</li>
<li
class=
"{{if $data['status']
GT 3}}steps-success{{/if}} {{if $data['status'] EQ 4 and $data['user_is_comments'] EQ
0}} current{{/if}}"
>
<li
class=
"{{if $data['status']
gt 3}}steps-success{{/if}} {{if $data['status'] eq 4 and $data['user_is_comments'] eq
0}} current{{/if}}"
>
<i
class=
"step"
></i>
<p
class=
"digital"
>
{{if $data['status']
GT
3}}
<i
class=
"am-icon-check"
></i>
{{else /}}4{{/if}}
{{if $data['status']
gt
3}}
<i
class=
"am-icon-check"
></i>
{{else /}}4{{/if}}
</p>
<div
class=
"base"
>
<p
class=
"title"
>
确认收货
</p>
...
...
@@ -72,10 +72,10 @@
{{/if}}
</div>
</li>
<li
class=
"{{if $data['user_is_comments']
GT 0}}steps-success{{/if}} {{if $data['user_is_comments'] GT
0}} current{{/if}}"
>
<li
class=
"{{if $data['user_is_comments']
gt 0}}steps-success{{/if}} {{if $data['user_is_comments'] gt
0}} current{{/if}}"
>
<i
class=
"step"
></i>
<p
class=
"digital"
>
{{if $data['user_is_comments']
GT
0}}
<i
class=
"am-icon-check"
></i>
{{else /}}5{{/if}}
{{if $data['user_is_comments']
gt
0}}
<i
class=
"am-icon-check"
></i>
{{else /}}5{{/if}}
</p>
<div
class=
"base"
>
<p
class=
"title"
>
评价
</p>
...
...
@@ -118,7 +118,18 @@
{{if !empty($data.payment_name)}}
<div
class=
"items am-cf"
>
<div
class=
"items-title am-fl"
>
支付方式:
</div>
<div
class=
"items-detail am-fl"
>
{{$data.payment_name}}
</div>
<div
class=
"items-detail am-fl"
>
<span>
{{$data.payment_name}}
</span>
{{if !empty($data['is_under_line_text'])}}
<span
class=
"am-badge am-badge-danger am-radius"
>
{{$data.is_under_line_text}}
</span>
{{/if}}
</div>
</div>
{{/if}}
{{if !empty($data.total_price)}}
<div
class=
"items am-cf"
>
<div
class=
"items-title am-fl"
>
订单总价:
</div>
<div
class=
"items-detail am-fl"
>
{{$data.total_price}}
</div>
</div>
{{/if}}
{{if !empty($data.buy_number_count)}}
...
...
@@ -192,7 +203,7 @@
</div>
<div
class=
"base-right"
>
<div
class=
"status"
>
{{if $data['status']
EQ
4}}
{{if $data['status']
eq
4}}
<i
class=
"am-icon-check-circle icon-success am-fl"
></i>
{{else /}}
<i
class=
"am-icon-info-circle icon-tips am-fl"
></i>
...
...
@@ -208,7 +219,7 @@
<button
type=
"button"
class=
"am-btn am-btn-danger am-btn-xs am-radius am-icon-paint-brush submit-ajax submit-cancel"
data-url=
"{{:MyUrl('index/order/cancel')}}"
data-id=
"{{$data.id}}"
data-view=
"reload"
>
取消
</button>
{{/if}}
{{if in_array($data['status'], [1])}}
<button
class=
"am-btn am-btn-primary am-btn-xs am-radius am-icon-paypal submit-pay"
data-id=
"{{$data.id}}"
data-payment-id=
"{{$data.payment_id}}"
data-am-modal=
"{target: '#order-pay-popup'}"
data-is-auto=
"{{if isset($params['is_pay_auto']) and $params['is_pay_auto'] eq 1}}1{{else /}}0{{/if}}"
data-is-pay=
"{{if isset($params['is_pay_submit']) and $params['is_pay_submit'] eq 1}}1{{else /}}0{{/if}}"
>
支付
</button>
<button
class=
"am-btn am-btn-primary am-btn-xs am-radius am-icon-paypal submit-pay"
data-id=
"{{$data.id}}"
data-payment-id=
"{{$data.payment_id}}"
data-am-modal=
"{target: '#order-pay-popup'}"
data-is-auto=
"{{if isset($params['is_pay_auto']) and $params['is_pay_auto'] eq 1}}1{{else /}}0{{/if}}"
data-is-pay=
"{{if isset($params['is_pay_submit']) and $params['is_pay_submit'] eq 1}}1{{else /}}0{{/if}}"
>
{{if $data['is_under_line'] eq 1}}切换{{/if}}
支付
</button>
{{/if}}
{{if in_array($data['status'], [3])}}
<button
type=
"button"
class=
"am-btn am-btn-secondary am-btn-xs am-radius am-icon-check-circle-o submit-ajax submit-confirm"
data-url=
"{{:MyUrl('index/order/collect')}}"
data-id=
"{{$data.id}}"
data-view=
"reload"
data-msg=
"请仔细确认已收到货物、确认继续吗?"
>
收货
</button>
...
...
@@ -241,6 +252,22 @@
}
{{/php}}
</div>
<!-- 线下支付方式提示信息 -->
{{if in_array($data['status'], [1]) and $data['is_under_line'] eq 1}}
<div
class=
"am-alert am-alert-warning"
data-am-alert
>
当前为线下支付方式[
<strong
class=
"am-text-success"
>
{{$data.payment_name}}
</strong>
]、需管理员确认后方可生效,如需其它支付可以切换支付重新发起支付。
</div>
{{/if}}
<!-- 待发货提示信息 -->
{{if in_array($data['status'], [2])}}
<div
class=
"am-alert"
data-am-alert
>
货物正在仓库打包、出库中...
</div>
{{/if}}
<!-- 快递信息 -->
{{if $data['order_model'] eq 0 and in_array($data['status'], [3,4])}}
<div
class=
"logistics"
>
<div
class=
"items am-cf"
>
...
...
application/index/view/default/order/index.html
浏览文件 @
01dd8a14
...
...
@@ -210,7 +210,10 @@
{{/if}}
</td>
<td
class=
"row-status"
rowspan=
"{{$order.items_count}}"
>
{{$order.status_name}}
<span>
{{$order.status_name}}
</span>
{{if !empty($order['is_under_line_text'])}}
<p
class=
"am-text-danger am-margin-bottom-xs"
>
{{$order.is_under_line_text}}
</p>
{{/if}}
<div
class=
"base-operate"
>
<a
class=
"block"
href=
"{{:MyUrl('index/order/detail', ['id'=>$order['id']])}}"
target=
"_blank"
>
订单详情
</a>
</div>
...
...
application/service/BuyService.php
浏览文件 @
01dd8a14
...
...
@@ -15,6 +15,7 @@ use think\facade\Hook;
use
app\service\GoodsService
;
use
app\service\UserService
;
use
app\service\ResourcesService
;
use
app\service\PaymentService
;
use
app\service\ConfigService
;
/**
...
...
@@ -924,6 +925,20 @@ class BuyService
}
}
// 支付方式
$payment_id
=
0
;
$is_under_line
=
0
;
if
(
!
empty
(
$params
[
'payment_id'
]))
{
$payment
=
PaymentService
::
PaymentList
([
'where'
=>
[
'id'
=>
intval
(
$params
[
'payment_id'
])]]);
if
(
empty
(
$payment
[
0
]))
{
return
DataReturn
(
'支付方式有误'
,
-
1
);
}
$payment_id
=
$payment
[
0
][
'id'
];
$is_under_line
=
in_array
(
$payment
[
0
][
'payment'
],
config
(
'shopxo.under_line_list'
))
?
1
:
0
;
}
// 订单主信息
$order
=
[
'order_no'
=>
date
(
'YmdHis'
)
.
GetNumberCode
(
6
),
...
...
@@ -935,10 +950,11 @@ class BuyService
'price'
=>
(
$buy
[
'data'
][
'base'
][
'total_price'
]
<=
0.00
)
?
0.00
:
$buy
[
'data'
][
'base'
][
'total_price'
],
'total_price'
=>
(
$buy
[
'data'
][
'base'
][
'actual_price'
]
<=
0.00
)
?
0.00
:
$buy
[
'data'
][
'base'
][
'actual_price'
],
'extension_data'
=>
empty
(
$buy
[
'data'
][
'extension_data'
])
?
''
:
json_encode
(
$buy
[
'data'
][
'extension_data'
]),
'payment_id'
=>
isset
(
$params
[
'payment_id'
])
?
intval
(
$params
[
'payment_id'
])
:
0
,
'payment_id'
=>
$payment_id
,
'buy_number_count'
=>
array_sum
(
array_column
(
$buy
[
'data'
][
'goods'
],
'stock'
)),
'client_type'
=>
(
APPLICATION_CLIENT_TYPE
==
'pc'
&&
IsMobile
())
?
'h5'
:
APPLICATION_CLIENT_TYPE
,
'order_model'
=>
$site_model
,
'is_under_line'
=>
$is_under_line
,
'add_time'
=>
time
(),
];
if
(
$order
[
'status'
]
==
1
)
...
...
application/service/OrderService.php
浏览文件 @
01dd8a14
...
...
@@ -87,22 +87,25 @@ class OrderService
return
DataReturn
(
'支付方式有误'
,
-
1
);
}
// 更新订单支付方式
// 更新订单支付方式
信息
if
(
!
empty
(
$params
[
'payment_id'
])
&&
$params
[
'payment_id'
]
!=
$order
[
'payment_id'
])
{
Db
::
name
(
'Order'
)
->
where
([
'id'
=>
$order
[
'id'
]])
->
update
([
'payment_id'
=>
$payment_id
,
'upd_time'
=>
time
()]);
Db
::
name
(
'Order'
)
->
where
([
'id'
=>
$order
[
'id'
]])
->
update
([
'payment_id'
=>
$payment_id
,
'is_under_line'
=>
in_array
(
$payment
[
0
][
'payment'
],
config
(
'shopxo.under_line_list'
))
?
1
:
0
,
'upd_time'
=>
time
(),
]);
}
// 金额为0直接支付成功
// 金额为0
、走
直接支付成功
if
(
$order
[
'total_price'
]
<=
0.00
)
{
// 非线上支付处理
$params
[
'user'
][
'user_name_view'
]
=
'用户-'
.
$params
[
'user'
][
'user_name_view'
];
$pay_result
=
self
::
Order
PaymentUnderLine
([
$pay_result
=
self
::
Order
DirectSuccess
([
'order'
=>
$order
,
'payment'
=>
$payment
[
0
],
'user'
=>
$params
[
'user'
],
'
subject'
=>
$params
,
'
params'
=>
$params
,
]);
if
(
$pay_result
[
'code'
]
==
0
)
{
...
...
@@ -190,7 +193,7 @@ class OrderService
$ret
=
(
new
$pay_name
(
$payment
[
0
][
'config'
]))
->
Pay
(
$pay_data
);
if
(
isset
(
$ret
[
'code'
])
&&
$ret
[
'code'
]
==
0
)
{
//
非线上
支付处理
//
线下
支付处理
if
(
in_array
(
$payment
[
0
][
'payment'
],
config
(
'shopxo.under_line_list'
)))
{
$params
[
'user'
][
'user_name_view'
]
=
'用户-'
.
$params
[
'user'
][
'user_name_view'
];
...
...
@@ -203,18 +206,32 @@ class OrderService
if
(
$pay_result
[
'code'
]
!=
0
)
{
return
$pay_result
;
}
else
{
$ret
[
'msg'
]
=
$pay_result
[
'msg'
];
}
}
// 支付信息返回
$ret
[
'data'
]
=
[
//
是否为在线支付类型
'is_
online_pay'
=>
(
$payment
[
0
][
'payment'
]
==
'WalletPay'
||
in_array
(
$payment
[
0
][
'payment'
],
config
(
'shopxo.under_line_list'
)))
?
0
:
1
,
//
支付类型(0正常线上支付、1线下支付、2钱包支付)
'is_
payment_type'
=>
0
,
// 支付模块处理数据
'data'
=>
$ret
[
'data'
],
];
// 是否线下支付
if
(
in_array
(
$payment
[
0
][
'payment'
],
config
(
'shopxo.under_line_list'
)))
{
$ret
[
'data'
][
'is_payment_type'
]
=
1
;
}
else
{
// 是否钱包支付
if
(
$payment
[
0
][
'payment'
]
==
'WalletPay'
)
{
$ret
[
'data'
][
'is_payment_type'
]
=
2
;
}
}
return
$ret
;
}
return
DataReturn
(
empty
(
$ret
[
'msg'
])
?
'支付接口异常'
:
$ret
[
'msg'
],
-
1
);
...
...
@@ -278,28 +295,29 @@ class OrderService
return
DataReturn
(
'支付方式有误'
,
-
1
);
}
//
非线上
支付处理
return
self
::
OrderPaymentUnderLine
([
//
线下
支付处理
return
self
::
OrderPaymentUnderLine
Success
([
'order'
=>
$order
,
'payment'
=>
$payment
[
0
],
'user'
=>
$params
[
'user'
],
'
subject'
=>
$params
,
'
params'
=>
$params
,
]);
}
/**
*
[OrderPaymentUnderLine 线下支付处理]
*
订单金额为小于等于0直接成功
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2018-10-05T22:40:57+0800
* @date 2020-04-07
* @desc description
* @param [array] $params [输入参数]
*/
private
static
function
Order
PaymentUnderLine
(
$params
=
[])
private
static
function
Order
DirectSuccess
(
$params
=
[])
{
if
(
!
empty
(
$params
[
'order'
])
&&
!
empty
(
$params
[
'payment'
])
&&
!
empty
(
$params
[
'user'
]))
{
if
(
in_array
(
$params
[
'payment'
][
'payment'
],
config
(
'shopxo.under_line_list'
))
||
$params
[
'order'
][
'total_price'
]
<=
0.00
)
if
(
$params
[
'order'
][
'total_price'
]
<=
0.00
)
{
// 支付处理
$pay_params
=
[
...
...
@@ -313,11 +331,64 @@ class OrderService
],
];
return
self
::
OrderPayHandle
(
$pay_params
);
}
else
{
}
return
DataReturn
(
'订单金额有误、请正常发起支付'
,
-
1
);
}
return
DataReturn
(
'支付传参有误'
,
-
1
);
}
/**
* 线下支付方式、直接支付成功
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-04-07
* @desc description
* @param [array] $params [输入参数]
*/
private
static
function
OrderPaymentUnderLineSuccess
(
$params
=
[])
{
if
(
!
empty
(
$params
[
'order'
])
&&
!
empty
(
$params
[
'payment'
])
&&
!
empty
(
$params
[
'user'
]))
{
if
(
in_array
(
$params
[
'payment'
][
'payment'
],
config
(
'shopxo.under_line_list'
)))
{
// 支付处理
$pay_params
=
[
'order'
=>
$params
[
'order'
],
'payment'
=>
$params
[
'payment'
],
'pay'
=>
[
'trade_no'
=>
''
,
'subject'
=>
isset
(
$params
[
'params'
][
'subject'
])
?
$params
[
'params'
][
'subject'
]
:
'订单支付'
,
'buyer_user'
=>
$params
[
'user'
][
'user_name_view'
],
'pay_price'
=>
$params
[
'order'
][
'total_price'
],
],
];
return
self
::
OrderPayHandle
(
$pay_params
);
}
return
DataReturn
(
'仅线下支付方式处理'
,
-
1
);
}
return
DataReturn
(
'支付传参有误'
,
-
1
);
}
/**
* 线下支付处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2018-10-05T22:40:57+0800
* @param [array] $params [输入参数]
*/
private
static
function
OrderPaymentUnderLine
(
$params
=
[])
{
if
(
!
empty
(
$params
[
'order'
])
&&
!
empty
(
$params
[
'payment'
])
&&
!
empty
(
$params
[
'user'
]))
{
if
(
in_array
(
$params
[
'payment'
][
'payment'
],
config
(
'shopxo.under_line_list'
)))
{
return
DataReturn
(
'提交成功、待管理员确认'
,
0
);
}
return
DataReturn
(
'仅线下支付方式处理'
,
-
1
);
}
return
DataReturn
(
'
无需处理'
,
0
);
return
DataReturn
(
'
支付传参有误'
,
-
1
);
}
/**
...
...
@@ -370,8 +441,8 @@ class OrderService
$where
=
[
'order_no'
=>
$ret
[
'data'
][
'out_trade_no'
],
'is_delete_time'
=>
0
,
'user_is_delete_time'
=>
0
];
$order
=
Db
::
name
(
'Order'
)
->
where
(
$where
)
->
find
();
//
非线上支付
处理
self
::
OrderPaymentUnderLine
([
//
线下支付方式
处理
return
self
::
OrderPaymentUnderLine
([
'order'
=>
$order
,
'payment'
=>
$payment
[
0
],
'user'
=>
$params
[
'user'
],
...
...
@@ -506,15 +577,20 @@ class OrderService
$detail
=
'订单支付成功,金额'
.
PriceBeautify
(
$params
[
'order'
][
'total_price'
])
.
'元'
;
MessageService
::
MessageAdd
(
$params
[
'order'
][
'user_id'
],
'订单支付'
,
$detail
,
1
,
$params
[
'order'
][
'id'
]);
//
更新订单状态
$upd_data
=
array
(
//
订单更新数据
$upd_data
=
[
'status'
=>
2
,
'pay_status'
=>
1
,
'pay_price'
=>
$pay_price
,
'payment_id'
=>
$params
[
'payment'
][
'id'
],
'pay_time'
=>
time
(),
'upd_time'
=>
time
(),
);
];
// 是否线下支付
$upd_data
[
'is_under_line'
]
=
in_array
(
$params
[
'payment'
][
'payment'
],
config
(
'shopxo.under_line_list'
))
?
1
:
0
;
// 更新订单状态
if
(
Db
::
name
(
'Order'
)
->
where
([
'id'
=>
$params
[
'order'
][
'id'
]])
->
update
(
$upd_data
))
{
// 添加状态日志
...
...
@@ -807,7 +883,10 @@ class OrderService
$v
[
'express_name'
]
=
ExpressService
::
ExpressName
(
$v
[
'express_id'
]);
// 支付方式
$v
[
'payment_name'
]
=
(
$v
[
'status'
]
<=
1
)
?
null
:
PaymentService
::
OrderPaymentName
(
$v
[
'id'
]);
$v
[
'payment_name'
]
=
PaymentService
::
OrderPaymentName
(
$v
[
'id'
],
$v
[
'payment_id'
]);
// 线下支付 icon 名称
$v
[
'is_under_line_text'
]
=
(
$v
[
'is_under_line'
]
==
1
)
?
'线下支付'
:
null
;
// 创建时间
$v
[
'add_time_time'
]
=
date
(
'Y-m-d H:i:s'
,
$v
[
'add_time'
]);
...
...
@@ -918,7 +997,7 @@ class OrderService
}
}
return
DataReturn
(
'
处理成功
'
,
0
,
$data
);
return
DataReturn
(
'
success
'
,
0
,
$data
);
}
/**
...
...
@@ -1659,7 +1738,7 @@ class OrderService
];
}
return
DataReturn
(
'
处理成功
'
,
0
,
$result
);
return
DataReturn
(
'
success
'
,
0
,
$result
);
}
/**
...
...
application/service/PaymentService.php
浏览文件 @
01dd8a14
...
...
@@ -238,10 +238,20 @@ class PaymentService
* @date 2018-09-19
* @desc description
* @param [int] $order_id [订单id]
* @param [int] $payment_id [支付方式id]
*/
public
static
function
OrderPaymentName
(
$order_id
=
0
)
public
static
function
OrderPaymentName
(
$order_id
=
0
,
$payment_id
=
0
)
{
return
empty
(
$order_id
)
?
null
:
Db
::
name
(
'PayLog'
)
->
where
([
'order_id'
=>
intval
(
$order_id
)])
->
value
(
'payment_name'
);
$name
=
null
;
if
(
!
empty
(
$order_id
))
{
$name
=
Db
::
name
(
'PayLog'
)
->
where
([
'order_id'
=>
intval
(
$order_id
)])
->
value
(
'payment_name'
);
if
(
empty
(
$anme
)
&&
!
empty
(
$payment_id
))
{
$name
=
Db
::
name
(
'Payment'
)
->
where
([
'id'
=>
intval
(
$payment_id
)])
->
value
(
'name'
);
}
}
return
$name
;
}
/**
...
...
application/service/ToutiaoService.php
浏览文件 @
01dd8a14
...
...
@@ -44,7 +44,7 @@ class ToutiaoService
// 线上支付信息处理
$order_info
=
[];
$service
=
0
;
if
(
$ret
[
'data'
][
'is_
online_pay'
]
==
1
)
if
(
$ret
[
'data'
][
'is_
payment_type'
]
==
0
)
{
// 配置信息
$merchant_id
=
MyC
(
'common_app_mini_toutiao_pay_merchant_id'
);
...
...
@@ -110,7 +110,7 @@ class ToutiaoService
$result
=
[
'order_info'
=>
$order_info
,
'service'
=>
$service
,
'is_
online_pay'
=>
$ret
[
'data'
][
'is_online_pay
'
],
'is_
payment_type'
=>
$ret
[
'data'
][
'is_payment_type
'
],
];
return
DataReturn
(
'success'
,
0
,
$result
);
}
...
...
application/tags.php
浏览文件 @
01dd8a14
...
...
@@ -115,7 +115,6 @@ return array (
0
=>
'app\\plugins\\excellentbuyreturntocash\\Hook'
,
1
=>
'app\\plugins\\coupon\\Hook'
,
2
=>
'app\\plugins\\distribution\\Hook'
,
3
=>
'app\\plugins\\neworderemail\\Hook'
,
),
'plugins_view_goods_detail_panel_bottom'
=>
array
(
...
...
config/shopxo.php
浏览文件 @
01dd8a14
...
...
@@ -15,7 +15,7 @@
return
[
// 开发模式
'is_develop'
=>
tru
e
,
'is_develop'
=>
fals
e
,
// 默认编码
'default_charset'
=>
'utf-8'
,
...
...
sourcecode/alipay/app.js
浏览文件 @
01dd8a14
...
...
@@ -67,7 +67,7 @@ App({
// 请求地址
request_url
:
"
{{request_url}}
"
,
//
request_url: 'http://shopxo.com/',
request_url
:
'
http://shopxo.com/
'
,
// request_url: 'http://dev.shopxo.net/',
// 基础信息
...
...
@@ -658,6 +658,60 @@ App({
}
},
/**
* alert确认框
* title [string] 标题(默认空)
* msg [string] 提示信息,必传
* is_show_cancel [int] 是否显示取消按钮(默认显示 0否, 1|undefined是)
* cancel_text [string] 取消按钮文字(默认 取消)
* cancel_color [string] 取消按钮的文字颜色,必须是 16 进制格式的颜色字符串(默认 #000000)
* confirm_text [string] 确认按钮文字(默认 确认)
* confirm_color [string] 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串(默认 #000000)
* object [boject] 回调操作对象,点击确认回调参数1,取消回调0
* method [string] 回调操作对象的函数
*/
alert
(
e
)
{
var
msg
=
e
.
msg
||
null
;
if
(
msg
!=
null
)
{
var
title
=
e
.
title
||
''
;
var
is_show_cancel
=
(
e
.
is_show_cancel
==
0
)
?
false
:
true
;
var
cancel_text
=
e
.
cancel_text
||
'
取消
'
;
var
confirm_text
=
e
.
confirm_text
||
'
确认
'
;
var
cancel_color
=
e
.
cancel_color
||
''
;
var
confirm_color
=
e
.
confirm_color
||
''
;
if
(
is_show_cancel
)
{
my
.
confirm
({
title
:
title
,
content
:
msg
,
confirmButtonText
:
confirm_text
,
cancelButtonText
:
cancel_text
,
success
:
(
res
)
=>
{
if
((
e
.
object
||
null
)
!=
null
&&
typeof
e
.
object
===
'
object
'
&&
(
e
.
method
||
null
)
!=
null
)
{
e
.
object
[
e
.
method
](
res
.
confirm
?
1
:
0
);
}
},
});
}
else
{
my
.
alert
({
title
:
title
,
content
:
msg
,
buttonText
:
confirm_text
,
success
:
(
res
)
=>
{
if
((
e
.
object
||
null
)
!=
null
&&
typeof
e
.
object
===
'
object
'
&&
(
e
.
method
||
null
)
!=
null
)
{
e
.
object
[
e
.
method
](
1
);
}
}
});
}
}
else
{
self
.
showToast
(
'
提示信息为空 alert
'
);
}
},
// 拨打电话
call_tel
(
value
)
{
if
((
value
||
null
)
!=
null
)
{
...
...
sourcecode/alipay/app.json
浏览文件 @
01dd8a14
...
...
@@ -65,7 +65,7 @@
"pages/plugins/wallet/user-cash-detail/user-cash-detail"
],
"window"
:
{
"defaultTitle"
:
"
{{application_title}}
"
,
"defaultTitle"
:
"
shopxo
"
,
"titleBarColor"
:
"#d2364c"
,
"backgroundColor"
:
"#f5f5f5"
},
...
...
sourcecode/alipay/pages/user-order-detail/user-order-detail.js
浏览文件 @
01dd8a14
...
...
@@ -56,7 +56,7 @@ Page({
{
name
:
"
优惠金额
"
,
value
:
data
.
data
.
preferential_price
||
''
},
{
name
:
"
增加金额
"
,
value
:
data
.
data
.
increase_price
||
''
},
{
name
:
"
支付金额
"
,
value
:
data
.
data
.
pay_price
||
''
},
{
name
:
"
支付方式
"
,
value
:
data
.
data
.
payment_name
||
''
},
{
name
:
"
支付方式
"
,
value
:
(
data
.
data
.
payment_name
||
''
)
+
((
data
.
data
.
is_under_line_text
||
null
)
==
null
?
''
:
'
(
'
+
data
.
data
.
is_under_line_text
+
'
)
'
)
},
{
name
:
"
快递公司
"
,
value
:
data
.
data
.
express_name
||
''
},
{
name
:
"
快递单号
"
,
value
:
data
.
data
.
express_number
||
''
},
{
name
:
"
用户留言
"
,
value
:
data
.
data
.
user_note
||
''
},
...
...
sourcecode/alipay/pages/user-order/user-order.axml
浏览文件 @
01dd8a14
...
...
@@ -12,7 +12,9 @@
<view class="list-item bg-white spacing-mb" a:if="{{data_list.length > 0}}" a:for="{{data_list}}">
<view class="item-base oh br-b">
<text class="cr-666">{{item.add_time}}</text>
<text class="fr cr-main">{{item.status_name}}</text>
<text class="fr cr-main">
{{item.status_name}}<text a:if="{{(item.is_under_line_text || null) != null}}">({{item.is_under_line_text}})</text>
</text>
</view>
<view a:for="{{item.items}}" a:for-item="detail" class="goods-item br-b-dashed oh">
<navigator url="/pages/user-order-detail/user-order-detail?id={{item.id}}" hover-class="none">
...
...
@@ -36,7 +38,7 @@
<view class="item-describe tr cr-666">{{item.describe}}</view>
<view a:if="{{item.status == 1 || item.status == 3 || (item.status == 4 && item.user_is_comments == 0) || (item.status == 2 && item.order_model != 2)}}" class="item-operation tr br-t">
<button a:if="{{item.status <= 1}}" class="submit-cancel" type="default" size="mini" onTap="cancel_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">取消</button>
<button a:if="{{item.status == 1}}" class="submit-pay cr-666" type="default" size="mini" onTap="pay_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">支付</button>
<button a:if="{{item.status == 1}}" class="submit-pay cr-666" type="default" size="mini" onTap="pay_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">
{{item.is_under_line == 1 ? '切换' : ''}}
支付</button>
<button a:if="{{item.status == 2 && item.order_model != 2}}" class="submit-rush cr-666" type="default" size="mini" onTap="rush_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">催催</button>
<button a:if="{{item.status == 3}}" class="submit-success cr-666" type="default" size="mini" onTap="collect_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">收货</button>
<button a:if="{{item.status == 4 && item.user_is_comments == 0}}" class="submit-success cr-666 br" type="default" size="mini" onTap="comments_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">评论</button>
...
...
sourcecode/alipay/pages/user-order/user-order.js
浏览文件 @
01dd8a14
...
...
@@ -220,6 +220,7 @@ Page({
// 支付方法
pay_handle
(
order_id
,
index
)
{
var
self
=
this
;
// 加载loding
my
.
showLoading
({
content
:
"
请求中...
"
});
...
...
@@ -235,29 +236,22 @@ Page({
success
:
res
=>
{
my
.
hideLoading
();
if
(
res
.
data
.
code
==
0
)
{
// 是否在线支付,非在线支付则支付成功
if
(
res
.
data
.
data
.
is_online_pay
==
0
)
{
var
temp_data_list
=
this
.
data
.
data_list
;
temp_data_list
[
index
][
'
status
'
]
=
2
;
temp_data_list
[
index
][
'
status_name
'
]
=
'
待发货
'
;
this
.
setData
({
data_list
:
temp_data_list
});
app
.
showToast
(
'
支付成功
'
,
'
success
'
);
}
else
{
// 支付方式类型
switch
(
res
.
data
.
data
.
is_payment_type
)
{
// 正常线上支付
case
0
:
my
.
tradePay
({
tradeNO
:
res
.
data
.
data
.
data
,
success
:
res
=>
{
// 数据设置
if
(
res
.
resultCode
==
9000
)
{
var
temp_data_list
=
this
.
data
.
data_list
;
temp_data_list
[
index
][
'
status
'
]
=
2
;
temp_data_list
[
index
][
'
status_name
'
]
=
'
待发货
'
;
this
.
setData
({
data_list
:
temp_data_list
});
// 数据设置
self
.
order_item_pay_success_handle
(
index
);
// 跳转支付页面
my
.
navigateTo
({
url
:
"
/pages/paytips/paytips?code=9000&total_price=
"
+
this
.
data
.
data_list
[
index
][
'
total_price
'
]
self
.
data
.
data_list
[
index
][
'
total_price
'
]
});
}
else
{
app
.
showToast
(
'
支付失败
'
);
...
...
@@ -267,6 +261,25 @@ Page({
app
.
showToast
(
'
唤起支付模块失败
'
);
}
});
break
;
// 线下支付
case
1
:
var
temp_data_list
=
self
.
data
.
data_list
;
temp_data_list
[
index
][
'
is_under_line
'
]
=
1
;
self
.
setData
({
data_list
:
temp_data_list
});
app
.
alert
({
msg
:
res
.
data
.
msg
,
is_show_cancel
:
0
});
break
;
// 钱包支付
case
2
:
self
.
order_item_pay_success_handle
(
index
);
app
.
showToast
(
'
支付成功
'
,
'
success
'
);
break
;
// 默认
default
:
app
.
showToast
(
'
支付类型有误
'
);
}
}
else
{
app
.
showToast
(
res
.
data
.
msg
);
...
...
@@ -279,6 +292,32 @@ Page({
});
},
// 支付成功数据设置
order_item_pay_success_handle
(
index
)
{
// 数据设置
var
temp_data_list
=
this
.
data
.
data_list
;
switch
(
parseInt
(
temp_data_list
[
index
][
'
order_model
'
]))
{
// 销售模式
case
0
:
temp_data_list
[
index
][
'
status
'
]
=
2
;
temp_data_list
[
index
][
'
status_name
'
]
=
'
待发货
'
;
break
;
// 自提模式
case
2
:
temp_data_list
[
index
][
'
status
'
]
=
2
;
temp_data_list
[
index
][
'
status_name
'
]
=
'
待取货
'
;
break
;
// 虚拟模式
case
3
:
temp_data_list
[
index
][
'
status
'
]
=
3
;
temp_data_list
[
index
][
'
status_name
'
]
=
'
待收货
'
;
break
;
}
this
.
setData
({
data_list
:
temp_data_list
});
},
// 取消
cancel_event
(
e
)
{
my
.
confirm
({
...
...
sourcecode/baidu/app.js
浏览文件 @
01dd8a14
...
...
@@ -67,7 +67,7 @@ App({
// 请求地址
request_url
:
"
{{request_url}}
"
,
//
request_url: 'http://shopxo.com/',
request_url
:
'
http://shopxo.com/
'
,
// request_url: 'https://dev.shopxo.net/',
// 基础信息
...
...
@@ -584,6 +584,49 @@ App({
}
},
/**
* alert确认框
* title [string] 标题(默认空)
* msg [string] 提示信息,必传
* is_show_cancel [int] 是否显示取消按钮(默认显示 0否, 1|undefined是)
* cancel_text [string] 取消按钮文字(默认 取消)
* cancel_color [string] 取消按钮的文字颜色,必须是 16 进制格式的颜色字符串(默认 #000000)
* confirm_text [string] 确认按钮文字(默认 确认)
* confirm_color [string] 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串(默认 #000000)
* object [boject] 回调操作对象,点击确认回调参数1,取消回调0
* method [string] 回调操作对象的函数
*/
alert
(
e
)
{
var
msg
=
e
.
msg
||
null
;
if
(
msg
!=
null
)
{
var
title
=
e
.
title
||
''
;
var
is_show_cancel
=
(
e
.
is_show_cancel
==
0
)
?
false
:
true
;
var
cancel_text
=
e
.
cancel_text
||
'
取消
'
;
var
confirm_text
=
e
.
confirm_text
||
'
确认
'
;
var
cancel_color
=
e
.
cancel_color
||
''
;
var
confirm_color
=
e
.
confirm_color
||
''
;
swan
.
showModal
({
title
:
title
,
content
:
msg
,
showCancel
:
is_show_cancel
,
cancelText
:
cancel_text
,
cancelColor
:
cancel_color
,
confirmText
:
confirm_text
,
confirmColor
:
confirm_color
,
success
(
res
)
{
if
((
e
.
object
||
null
)
!=
null
&&
typeof
e
.
object
===
'
object
'
&&
(
e
.
method
||
null
)
!=
null
)
{
e
.
object
[
e
.
method
](
res
.
confirm
?
1
:
0
);
}
}
});
}
else
{
self
.
showToast
(
'
提示信息为空 alert
'
);
}
},
/**
* 是否需要登录
* 是否需要绑定手机号码
...
...
sourcecode/baidu/pages/user-order-detail/user-order-detail.js
浏览文件 @
01dd8a14
...
...
@@ -53,7 +53,7 @@ Page({
{
name
:
"
优惠金额
"
,
value
:
data
.
data
.
preferential_price
||
''
},
{
name
:
"
增加金额
"
,
value
:
data
.
data
.
increase_price
||
''
},
{
name
:
"
支付金额
"
,
value
:
data
.
data
.
pay_price
||
''
},
{
name
:
"
支付方式
"
,
value
:
data
.
data
.
payment_name
||
''
},
{
name
:
"
支付方式
"
,
value
:
(
data
.
data
.
payment_name
||
''
)
+
((
data
.
data
.
is_under_line_text
||
null
)
==
null
?
''
:
'
(
'
+
data
.
data
.
is_under_line_text
+
'
)
'
)
},
{
name
:
"
快递公司
"
,
value
:
data
.
data
.
express_name
||
''
},
{
name
:
"
快递单号
"
,
value
:
data
.
data
.
express_number
||
''
},
{
name
:
"
用户留言
"
,
value
:
data
.
data
.
user_note
||
''
},
...
...
sourcecode/baidu/pages/user-order/user-order.js
浏览文件 @
01dd8a14
...
...
@@ -222,13 +222,10 @@ Page({
success
:
res
=>
{
swan
.
hideLoading
();
if
(
res
.
data
.
code
==
0
)
{
// 是否在线支付,非在线支付则支付成功
if
(
res
.
data
.
data
.
is_online_pay
==
0
)
{
// 数据设置
self
.
order_item_pay_success_handle
(
index
);
app
.
showToast
(
"
支付成功
"
,
"
success
"
);
}
else
{
// 支付方式类型
switch
(
res
.
data
.
data
.
is_payment_type
)
{
// 正常线上支付
case
0
:
swan
.
requestPolymerPayment
({
orderInfo
:
res
.
data
.
data
.
data
,
success
:
function
(
res
)
{
...
...
@@ -244,6 +241,25 @@ Page({
app
.
showToast
(
'
支付失败
'
);
}
});
break
;
// 线下支付
case
1
:
var
temp_data_list
=
self
.
data
.
data_list
;
temp_data_list
[
index
][
'
is_under_line
'
]
=
1
;
self
.
setData
({
data_list
:
temp_data_list
});
app
.
alert
({
msg
:
res
.
data
.
msg
,
is_show_cancel
:
0
});
break
;
// 钱包支付
case
2
:
self
.
order_item_pay_success_handle
(
index
);
app
.
showToast
(
'
支付成功
'
,
'
success
'
);
break
;
// 默认
default
:
app
.
showToast
(
'
支付类型有误
'
);
}
}
else
{
app
.
showToast
(
res
.
data
.
msg
);
...
...
sourcecode/baidu/pages/user-order/user-order.swan
浏览文件 @
01dd8a14
...
...
@@ -12,7 +12,9 @@
<view class="list-item bg-white spacing-mb" s-if="data_list.length > 0" s-for="item, index in data_list" s-key="key">
<view class="item-base oh br-b">
<text class="cr-666">{{item.add_time}}</text>
<text class="fr cr-main">{{item.status_name}}</text>
<text class="fr cr-main">
{{item.status_name}}<text s-if="(item.is_under_line_text || null) != null">({{item.is_under_line_text}})</text>
</text>
</view>
<view s-for="detail, index in item.items" s-key="key" class="goods-item br-b-dashed oh">
<navigator url="/pages/user-order-detail/user-order-detail?id={{item.id}}" hover-class="none">
...
...
@@ -36,7 +38,7 @@
<view class="item-describe tr cr-666">{{item.describe}}</view>
<view s-if="item.status == 1 || item.status == 3 || (item.status == 4 && item.user_is_comments == 0) || (item.status == 2 && item.order_model != 2)" class="item-operation tr br-t">
<button s-if="item.status <= 1" class="submit-cancel" type="default" size="mini" bindtap="cancel_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">取消</button>
<button s-if="item.status == 1" class="submit-pay cr-666 br" type="default" size="mini" bindtap="pay_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">支付</button>
<button s-if="item.status == 1" class="submit-pay cr-666 br" type="default" size="mini" bindtap="pay_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">
{{item.is_under_line == 1 ? '切换' : ''}}
支付</button>
<button s-if="item.status == 2 && item.order_model != 2" class="submit-rush cr-666 br" type="default" size="mini" bindtap="rush_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">催催</button>
<button s-if="item.status == 3" class="submit-success cr-666 br" type="default" size="mini" bindtap="collect_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">收货</button>
<button s-if="item.status == 4 && item.user_is_comments == 0" class="submit-success cr-666 br" type="default" size="mini" bindtap="comments_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">评论</button>
...
...
sourcecode/qq/app.js
浏览文件 @
01dd8a14
...
...
@@ -555,6 +555,49 @@ App({
}
},
/**
* alert确认框
* title [string] 标题(默认空)
* msg [string] 提示信息,必传
* is_show_cancel [int] 是否显示取消按钮(默认显示 0否, 1|undefined是)
* cancel_text [string] 取消按钮文字(默认 取消)
* cancel_color [string] 取消按钮的文字颜色,必须是 16 进制格式的颜色字符串(默认 #000000)
* confirm_text [string] 确认按钮文字(默认 确认)
* confirm_color [string] 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串(默认 #000000)
* object [boject] 回调操作对象,点击确认回调参数1,取消回调0
* method [string] 回调操作对象的函数
*/
alert
(
e
)
{
var
msg
=
e
.
msg
||
null
;
if
(
msg
!=
null
)
{
var
title
=
e
.
title
||
''
;
var
is_show_cancel
=
(
e
.
is_show_cancel
==
0
)
?
false
:
true
;
var
cancel_text
=
e
.
cancel_text
||
'
取消
'
;
var
confirm_text
=
e
.
confirm_text
||
'
确认
'
;
var
cancel_color
=
e
.
cancel_color
||
''
;
var
confirm_color
=
e
.
confirm_color
||
''
;
qq
.
showModal
({
title
:
title
,
content
:
msg
,
showCancel
:
is_show_cancel
,
cancelText
:
cancel_text
,
cancelColor
:
cancel_color
,
confirmText
:
confirm_text
,
confirmColor
:
confirm_color
,
success
(
res
)
{
if
((
e
.
object
||
null
)
!=
null
&&
typeof
e
.
object
===
'
object
'
&&
(
e
.
method
||
null
)
!=
null
)
{
e
.
object
[
e
.
method
](
res
.
confirm
?
1
:
0
);
}
}
});
}
else
{
self
.
showToast
(
'
提示信息为空 alert
'
);
}
},
/**
* 是否需要登录
* 是否需要绑定手机号码
...
...
sourcecode/qq/pages/user-order-detail/user-order-detail.js
浏览文件 @
01dd8a14
...
...
@@ -54,7 +54,7 @@ Page({
{
name
:
"
优惠金额
"
,
value
:
data
.
data
.
preferential_price
||
''
},
{
name
:
"
增加金额
"
,
value
:
data
.
data
.
increase_price
||
''
},
{
name
:
"
支付金额
"
,
value
:
data
.
data
.
pay_price
||
''
},
{
name
:
"
支付方式
"
,
value
:
data
.
data
.
payment_name
||
''
},
{
name
:
"
支付方式
"
,
value
:
(
data
.
data
.
payment_name
||
''
)
+
((
data
.
data
.
is_under_line_text
||
null
)
==
null
?
''
:
'
(
'
+
data
.
data
.
is_under_line_text
+
'
)
'
)
},
{
name
:
"
快递公司
"
,
value
:
data
.
data
.
express_name
||
''
},
{
name
:
"
快递单号
"
,
value
:
data
.
data
.
express_number
||
''
},
{
name
:
"
用户留言
"
,
value
:
data
.
data
.
user_note
||
''
},
...
...
sourcecode/qq/pages/user-order/user-order.js
浏览文件 @
01dd8a14
...
...
@@ -234,13 +234,10 @@ Page({
success
:
res
=>
{
qq
.
hideLoading
();
if
(
res
.
data
.
code
==
0
)
{
// 是否在线支付,非在线支付则支付成功
if
(
res
.
data
.
data
.
is_online_pay
==
0
)
{
// 数据设置
self
.
order_item_pay_success_handle
(
index
);
app
.
showToast
(
"
支付成功
"
,
"
success
"
);
}
else
{
// 支付方式类型
switch
(
res
.
data
.
data
.
is_payment_type
)
{
// 正常线上支付
case
0
:
qq
.
requestPayment
({
package
:
res
.
data
.
data
.
data
,
success
:
function
(
res
)
{
...
...
@@ -257,6 +254,25 @@ Page({
app
.
showToast
(
'
支付失败
'
);
}
});
break
;
// 线下支付
case
1
:
var
temp_data_list
=
self
.
data
.
data_list
;
temp_data_list
[
index
][
'
is_under_line
'
]
=
1
;
self
.
setData
({
data_list
:
temp_data_list
});
app
.
alert
({
msg
:
res
.
data
.
msg
,
is_show_cancel
:
0
});
break
;
// 钱包支付
case
2
:
self
.
order_item_pay_success_handle
(
index
);
app
.
showToast
(
'
支付成功
'
,
'
success
'
);
break
;
// 默认
default
:
app
.
showToast
(
'
支付类型有误
'
);
}
}
else
{
app
.
showToast
(
res
.
data
.
msg
);
...
...
sourcecode/qq/pages/user-order/user-order.qml
浏览文件 @
01dd8a14
...
...
@@ -12,7 +12,9 @@
<
view
class
=
"
list-item bg-white spacing-mb
"
qq
:
if
=
"
{{data_list.length > 0}}
"
qq
:
for
=
"
{{data_list}}
"
qq
:
key
=
"
key
"
>
<
view
class
=
"
item-base oh br-b
"
>
<
text
class
=
"
cr-666
"
>
{{
item
.
add_time
}}
<
/text
>
<
text
class
=
"
fr cr-main
"
>
{{
item
.
status_name
}}
<
/text
>
<
text
class
=
"
fr cr-main
"
>
{{
item
.
status_name
}}
<
text
qq
:
if
=
"
{{(item.is_under_line_text || null) != null}}
"
>
(
{{
item
.
is_under_line_text
}}
)
<
/text
>
<
/text
>
<
/view
>
<
view
qq
:
for
=
"
{{item.items}}
"
qq
:
key
=
"
key
"
qq
:
for
-
item
=
"
detail
"
class
=
"
goods-item br-b-dashed oh
"
>
<
navigator
url
=
"
/pages/user-order-detail/user-order-detail?id={{item.id}}
"
hover
-
class
=
"
none
"
>
...
...
@@ -36,7 +38,7 @@
<
view
class
=
"
item-describe tr cr-666
"
>
{{
item
.
describe
}}
<
/view
>
<
view
qq
:
if
=
"
{{item.status == 1 || item.status == 3 || (item.status == 4 && item.user_is_comments == 0) || (item.status == 2 && item.order_model != 2)}}
"
class
=
"
item-operation tr br-t
"
>
<
button
qq
:
if
=
"
{{item.status <= 1}}
"
class
=
"
submit-cancel
"
type
=
"
default
"
size
=
"
mini
"
bindtap
=
"
cancel_event
"
data
-
value
=
"
{{item.id}}
"
data
-
index
=
"
{{index}}
"
hover
-
class
=
"
none
"
>
取消
<
/button
>
<
button
qq
:
if
=
"
{{item.status == 1}}
"
class
=
"
submit-pay cr-666 br
"
type
=
"
default
"
size
=
"
mini
"
bindtap
=
"
pay_event
"
data
-
value
=
"
{{item.id}}
"
data
-
index
=
"
{{index}}
"
hover
-
class
=
"
none
"
>
支付
<
/button
>
<
button
qq
:
if
=
"
{{item.status == 1}}
"
class
=
"
submit-pay cr-666 br
"
type
=
"
default
"
size
=
"
mini
"
bindtap
=
"
pay_event
"
data
-
value
=
"
{{item.id}}
"
data
-
index
=
"
{{index}}
"
hover
-
class
=
"
none
"
>
{{
item
.
is_under_line
==
1
?
'
切换
'
:
''
}}
支付
<
/button
>
<
button
qq
:
if
=
"
{{item.status == 2 && item.order_model != 2}}
"
class
=
"
submit-rush cr-666 br
"
type
=
"
default
"
size
=
"
mini
"
bindtap
=
"
rush_event
"
data
-
value
=
"
{{item.id}}
"
data
-
index
=
"
{{index}}
"
hover
-
class
=
"
none
"
>
催催
<
/button
>
<
button
qq
:
if
=
"
{{item.status == 3}}
"
class
=
"
submit-success cr-666 br
"
type
=
"
default
"
size
=
"
mini
"
bindtap
=
"
collect_event
"
data
-
value
=
"
{{item.id}}
"
data
-
index
=
"
{{index}}
"
hover
-
class
=
"
none
"
>
收货
<
/button
>
<
button
qq
:
if
=
"
{{item.status == 4 && item.user_is_comments == 0}}
"
class
=
"
submit-success cr-666 br
"
type
=
"
default
"
size
=
"
mini
"
bindtap
=
"
comments_event
"
data
-
value
=
"
{{item.id}}
"
data
-
index
=
"
{{index}}
"
hover
-
class
=
"
none
"
>
评论
<
/button
>
...
...
sourcecode/toutiao/app.js
浏览文件 @
01dd8a14
...
...
@@ -562,6 +562,47 @@ App({
}
},
/**
* alert确认框
* title [string] 标题(默认空)
* msg [string] 提示信息,必传
* is_show_cancel [int] 是否显示取消按钮(默认显示 0否, 1|undefined是)
* cancel_text [string] 取消按钮文字(默认 取消)
* cancel_color [string] 取消按钮的文字颜色,必须是 16 进制格式的颜色字符串(默认 #000000)
* confirm_text [string] 确认按钮文字(默认 确认)
* confirm_color [string] 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串(默认 #000000)
* object [boject] 回调操作对象,点击确认回调参数1,取消回调0
* method [string] 回调操作对象的函数
*/
alert
(
e
)
{
var
msg
=
e
.
msg
||
null
;
if
(
msg
!=
null
)
{
var
title
=
e
.
title
||
''
;
var
is_show_cancel
=
(
e
.
is_show_cancel
==
0
)
?
false
:
true
;
var
cancel_text
=
e
.
cancel_text
||
'
取消
'
;
var
confirm_text
=
e
.
confirm_text
||
'
确认
'
;
var
cancel_color
=
e
.
cancel_color
||
''
;
var
confirm_color
=
e
.
confirm_color
||
''
;
tt
.
showModal
({
title
:
title
,
content
:
msg
,
showCancel
:
is_show_cancel
,
cancelText
:
cancel_text
,
confirmText
:
confirm_text
,
success
(
res
)
{
if
((
e
.
object
||
null
)
!=
null
&&
typeof
e
.
object
===
'
object
'
&&
(
e
.
method
||
null
)
!=
null
)
{
e
.
object
[
e
.
method
](
res
.
confirm
?
1
:
0
);
}
}
});
}
else
{
self
.
showToast
(
'
提示信息为空 alert
'
);
}
},
/**
* 是否需要登录
* 是否需要绑定手机号码
...
...
sourcecode/toutiao/pages/user-order-detail/user-order-detail.js
浏览文件 @
01dd8a14
...
...
@@ -54,7 +54,7 @@ Page({
{
name
:
"
优惠金额
"
,
value
:
data
.
data
.
preferential_price
||
''
},
{
name
:
"
增加金额
"
,
value
:
data
.
data
.
increase_price
||
''
},
{
name
:
"
支付金额
"
,
value
:
data
.
data
.
pay_price
||
''
},
{
name
:
"
支付方式
"
,
value
:
data
.
data
.
payment_name
||
''
},
{
name
:
"
支付方式
"
,
value
:
(
data
.
data
.
payment_name
||
''
)
+
((
data
.
data
.
is_under_line_text
||
null
)
==
null
?
''
:
'
(
'
+
data
.
data
.
is_under_line_text
+
'
)
'
)
},
{
name
:
"
快递公司
"
,
value
:
data
.
data
.
express_name
||
''
},
{
name
:
"
快递单号
"
,
value
:
data
.
data
.
express_number
||
''
},
{
name
:
"
用户留言
"
,
value
:
data
.
data
.
user_note
||
''
},
...
...
sourcecode/toutiao/pages/user-order/user-order.js
浏览文件 @
01dd8a14
...
...
@@ -234,25 +234,17 @@ Page({
success
:
res
=>
{
tt
.
hideLoading
();
if
(
res
.
data
.
code
==
0
)
{
// 是否在线支付,非在线支付则支付成功
if
(
res
.
data
.
data
.
is_online_pay
==
0
)
{
var
temp_data_list
=
this
.
data
.
data_list
;
temp_data_list
[
index
][
'
status
'
]
=
2
;
temp_data_list
[
index
][
'
status_name
'
]
=
'
待发货
'
;
this
.
setData
({
data_list
:
temp_data_list
});
app
.
showToast
(
"
支付成功
"
,
"
success
"
);
}
else
{
// 支付方式类型
switch
(
res
.
data
.
data
.
is_payment_type
)
{
// 正常线上支付
case
0
:
tt
.
pay
({
orderInfo
:
res
.
data
.
data
.
order_info
,
service
:
res
.
data
.
data
.
service
,
success
(
res
)
{
if
(
res
.
code
==
0
)
{
// 数据设置
var
temp_data_list
=
self
.
data
.
data_list
;
temp_data_list
[
index
][
'
status
'
]
=
2
;
temp_data_list
[
index
][
'
status_name
'
]
=
'
待发货
'
;
self
.
setData
({
data_list
:
temp_data_list
});
self
.
order_item_pay_success_handle
(
index
);
// 跳转支付页面
wx
.
navigateTo
({
...
...
@@ -268,6 +260,25 @@ Page({
app
.
showToast
(
'
调起收银台失败-
'
+
res
.
data
.
code
);
}
});
break
;
// 线下支付
case
1
:
var
temp_data_list
=
self
.
data
.
data_list
;
temp_data_list
[
index
][
'
is_under_line
'
]
=
1
;
self
.
setData
({
data_list
:
temp_data_list
});
app
.
alert
({
msg
:
res
.
data
.
msg
,
is_show_cancel
:
0
});
break
;
// 钱包支付
case
2
:
self
.
order_item_pay_success_handle
(
index
);
app
.
showToast
(
'
支付成功
'
,
'
success
'
);
break
;
// 默认
default
:
app
.
showToast
(
'
支付类型有误
'
);
}
}
else
{
app
.
showToast
(
res
.
data
.
msg
);
...
...
sourcecode/toutiao/pages/user-order/user-order.ttml
浏览文件 @
01dd8a14
...
...
@@ -12,7 +12,9 @@
<view class="list-item bg-white spacing-mb" tt:if="{{data_list.length > 0}}" tt:for="{{data_list}}" tt:key="key">
<view class="item-base oh br-b">
<text class="cr-666">{{item.add_time}}</text>
<text class="fr cr-main">{{item.status_name}}</text>
<text class="fr cr-main">
{{item.status_name}}<text tt:if="{{(item.is_under_line_text || null) != null}}">({{item.is_under_line_text}})</text>
</text>
</view>
<view tt:for="{{item.items}}" tt:key="key" tt:for-item="detail" class="goods-item br-b-dashed oh">
<navigator url="/pages/user-order-detail/user-order-detail?id={{item.id}}" hover-class="none">
...
...
@@ -36,7 +38,7 @@
<view class="item-describe tr cr-666">{{item.describe}}</view>
<view tt:if="{{item.status == 1 || item.status == 3 || (item.status == 4 && item.user_is_comments == 0) || (item.status == 2 && item.order_model != 2)}}" class="item-operation tr br-t">
<button tt:if="{{item.status <= 1}}" class="submit-cancel" type="default" size="mini" bindtap="cancel_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">取消</button>
<button tt:if="{{item.status == 1}}" class="submit-pay cr-666 br" type="default" size="mini" bindtap="pay_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">支付</button>
<button tt:if="{{item.status == 1}}" class="submit-pay cr-666 br" type="default" size="mini" bindtap="pay_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">
{{item.is_under_line == 1 ? '切换' : ''}}
支付</button>
<button tt:if="{{item.status == 2 && item.order_model != 2}}" class="submit-rush cr-666 br" type="default" size="mini" bindtap="rush_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">催催</button>
<button tt:if="{{item.status == 3}}" class="submit-success cr-666 br" type="default" size="mini" bindtap="collect_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">收货</button>
<button tt:if="{{item.status == 4 && item.user_is_comments == 0}}" class="submit-success cr-666 br" type="default" size="mini" bindtap="comments_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">评论</button>
...
...
sourcecode/weixin/pages/user-order-detail/user-order-detail.js
浏览文件 @
01dd8a14
...
...
@@ -54,7 +54,7 @@ Page({
{
name
:
"
优惠金额
"
,
value
:
data
.
data
.
preferential_price
||
''
},
{
name
:
"
增加金额
"
,
value
:
data
.
data
.
increase_price
||
''
},
{
name
:
"
支付金额
"
,
value
:
data
.
data
.
pay_price
||
''
},
{
name
:
"
支付方式
"
,
value
:
data
.
data
.
payment_name
||
''
},
{
name
:
"
支付方式
"
,
value
:
(
data
.
data
.
payment_name
||
''
)
+
((
data
.
data
.
is_under_line_text
||
null
)
==
null
?
''
:
'
(
'
+
data
.
data
.
is_under_line_text
+
'
)
'
)
},
{
name
:
"
快递公司
"
,
value
:
data
.
data
.
express_name
||
''
},
{
name
:
"
快递单号
"
,
value
:
data
.
data
.
express_number
||
''
},
{
name
:
"
用户留言
"
,
value
:
data
.
data
.
user_note
||
''
},
...
...
sourcecode/weixin/pages/user-order/user-order.js
浏览文件 @
01dd8a14
...
...
@@ -234,20 +234,17 @@ Page({
success
:
res
=>
{
wx
.
hideLoading
();
if
(
res
.
data
.
code
==
0
)
{
// 是否在线支付,非在线支付则支付成功
if
(
res
.
data
.
data
.
is_online_pay
==
0
)
{
// 数据设置
self
.
order_item_pay_success_handle
(
index
);
app
.
showToast
(
"
支付成功
"
,
"
success
"
);
}
else
{
// 支付方式类型
switch
(
res
.
data
.
data
.
is_payment_type
)
{
// 正常线上支付
case
0
:
wx
.
requestPayment
({
timeStamp
:
res
.
data
.
data
.
data
.
timeStamp
,
nonceStr
:
res
.
data
.
data
.
data
.
nonceStr
,
package
:
res
.
data
.
data
.
data
.
package
,
signType
:
res
.
data
.
data
.
data
.
signType
,
paySign
:
res
.
data
.
data
.
data
.
paySign
,
success
:
function
(
res
)
{
success
:
function
(
res
)
{
// 数据设置
self
.
order_item_pay_success_handle
(
index
);
...
...
@@ -261,6 +258,25 @@ Page({
app
.
showToast
(
'
支付失败
'
);
}
});
break
;
// 线下支付
case
1
:
var
temp_data_list
=
self
.
data
.
data_list
;
temp_data_list
[
index
][
'
is_under_line
'
]
=
1
;
self
.
setData
({
data_list
:
temp_data_list
});
app
.
alert
({
msg
:
res
.
data
.
msg
,
is_show_cancel
:
0
});
break
;
// 钱包支付
case
2
:
self
.
order_item_pay_success_handle
(
index
);
app
.
showToast
(
'
支付成功
'
,
'
success
'
);
break
;
// 默认
default
:
app
.
showToast
(
'
支付类型有误
'
);
}
}
else
{
app
.
showToast
(
res
.
data
.
msg
);
...
...
@@ -268,7 +284,7 @@ Page({
},
fail
:
()
=>
{
wx
.
hideLoading
();
app
.
showToast
(
"
服务器请求出错
"
);
app
.
showToast
(
'
服务器请求出错
'
);
}
});
},
...
...
sourcecode/weixin/pages/user-order/user-order.wxml
浏览文件 @
01dd8a14
...
...
@@ -11,8 +11,10 @@
<view class="list-content">
<view class="list-item bg-white spacing-mb" wx:if="{{data_list.length > 0}}" wx:for="{{data_list}}" wx:key="key">
<view class="item-base oh br-b">
<text class="cr-666">{{item.add_time}}</text>
<text class="fr cr-main">{{item.status_name}}</text>
<text class="cr-666 fl">{{item.add_time}}</text>
<text class="fr cr-main">
{{item.status_name}}<text wx:if="{{(item.is_under_line_text || null) != null}}">({{item.is_under_line_text}})</text>
</text>
</view>
<view wx:for="{{item.items}}" wx:key="key" wx:for-item="detail" class="goods-item br-b-dashed oh">
<navigator url="/pages/user-order-detail/user-order-detail?id={{item.id}}" hover-class="none">
...
...
@@ -36,7 +38,7 @@
<view class="item-describe tr cr-666">{{item.describe}}</view>
<view wx:if="{{item.status == 1 || item.status == 3 || (item.status == 4 && item.user_is_comments == 0) || (item.status == 2 && item.order_model != 2)}}" class="item-operation tr br-t">
<button wx:if="{{item.status <= 1}}" class="submit-cancel" type="default" size="mini" bindtap="cancel_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">取消</button>
<button wx:if="{{item.status == 1}}" class="submit-pay cr-666 br" type="default" size="mini" bindtap="pay_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">支付</button>
<button wx:if="{{item.status == 1}}" class="submit-pay cr-666 br" type="default" size="mini" bindtap="pay_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">
{{item.is_under_line == 1 ? '切换' : ''}}
支付</button>
<button wx:if="{{item.status == 2 && item.order_model != 2}}" class="submit-rush cr-666 br" type="default" size="mini" bindtap="rush_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">催催</button>
<button wx:if="{{item.status == 3}}" class="submit-success cr-666 br" type="default" size="mini" bindtap="collect_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">收货</button>
<button wx:if="{{item.status == 4 && item.user_is_comments == 0}}" class="submit-success cr-666 br" type="default" size="mini" bindtap="comments_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">评论</button>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录