Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yohobuywap-node
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
郭成尧
8 years ago
Commit
b94155c5fc5317a56271afac677fae38b9993112
1 parent
867d053a
order-payment
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
28 additions
and
81 deletions
apps/cart/controllers/order.js
apps/cart/models/cart.js
apps/cart/router.js
apps/serverAPI/order/shopping.js
apps/cart/controllers/order.js
View file @
b94155c
...
...
@@ -42,10 +42,16 @@ exports.orderEnsure = (req, res, next) => {
headerData
.
backUrl
=
req
.
get
(
'Referer'
)
||
returnUrl
;
}
let
orderPromise
=
cartModel
.
cartPay
(
uid
,
cartType
,
orderInfo
,
sku
,
skn
,
buyNumber
,
req
.
xhr
);
let
orderPromise
=
cartModel
.
cartPay
(
uid
,
cartType
,
orderInfo
,
sku
,
skn
,
buyNumber
);
let
userProfilePromise
=
userModel
.
queryProfile
(
uid
);
let
addressPromise
=
addressModel
.
addressData
(
uid
);
if
(
req
.
query
.
activityType
===
'bundle'
)
{
let
activityInfo
=
JSON
.
parse
(
req
.
cookies
[
'activity-info'
]);
orderPromise
=
cartModel
.
cartPay
(
uid
,
cartType
,
orderInfo
,
sku
,
skn
,
buyNumber
,
activityInfo
);
}
return
Promise
.
all
([
orderPromise
,
userProfilePromise
,
addressPromise
]).
then
(
result
=>
{
let
order
=
result
[
0
];
let
userProfile
=
result
[
1
];
...
...
@@ -88,52 +94,6 @@ exports.orderEnsure = (req, res, next) => {
};
/**
* 快速结算,商品不进购物车
*/
exports
.
fastPay
=
(
req
,
res
,
next
)
=>
{
let
headerData
=
headerModel
.
setNav
({
navTitle
:
'确认订单'
,
navBtn
:
false
});
let
uid
=
req
.
user
.
uid
;
let
orderPromise
=
cartModel
.
easyPayment
(
uid
,
req
.
query
.
skuList
);
let
userProfilePromise
=
userModel
.
queryProfile
(
uid
);
let
addressPromise
=
addressModel
.
addressData
(
uid
);
Promise
.
all
([
orderPromise
,
userProfilePromise
,
addressPromise
]).
then
(
result
=>
{
let
order
=
result
[
0
];
let
userProfile
=
result
[
1
];
let
address
=
result
[
2
];
// 获取用户完整手机号
let
mobile
=
_
.
get
(
userProfile
,
'data.mobile'
,
''
);
let
orderAddress
=
_
.
get
(
order
,
'address'
,
[]);
let
addressList
=
_
.
get
(
address
,
'data'
,
[]);
orderAddress
.
length
&&
addressList
.
forEach
(
address
=>
{
//eslint-disable-line
if
(
address
.
address_id
===
orderAddress
.
address_id
)
{
mobile
=
address
.
mobile
;
}
});
let
viewData
=
{
orderEnsurePage
:
true
,
isOrdinaryCart
:
true
,
orderEnsure
:
order
,
userMobile
:
mobile
,
pageHeader
:
headerData
,
pageFooter
:
true
,
module
:
'cart'
,
page
:
'order-ensure'
,
width750
:
true
,
title
:
'确认订单'
,
};
res
.
render
(
'order-ensure'
,
viewData
);
}).
catch
(
next
);
};
/**
* 购物车选择改变字段,重新运算订单数据
*/
exports
.
orderCompute
=
(
req
,
res
,
next
)
=>
{
...
...
apps/cart/models/cart.js
View file @
b94155c
...
...
@@ -71,9 +71,7 @@ const _yohoCoinCompute = (orderCompute) => {
* @param bool $isAjax 是否是异步请求
* @return array 接口返回的数据
*/
exports
.
cartPay
=
(
uid
,
cartType
,
orderInfo
,
limitProductCode
,
sku
,
skn
,
buyNumber
,
isAjax
)
=>
{
isAjax
=
isAjax
||
false
;
exports
.
cartPay
=
(
uid
,
cartType
,
orderInfo
,
limitProductCode
,
sku
,
skn
,
buyNumber
,
activityInfo
)
=>
{
let
result
=
{};
let
skuList
=
[];
let
isLimitGoods
=
skn
&&
sku
&&
buyNumber
;
// 存在sku, skn 和buyNumber时为限购商品
...
...
@@ -104,8 +102,15 @@ exports.cartPay = (uid, cartType, orderInfo, limitProductCode, sku, skn, buyNumb
);
}
// 区分套餐量贩和普通商品
let
cartPayAPI
=
shoppingAPI
.
cartPayAPI
(
uid
,
cartType
,
0
,
skuList
);
if
(
activityInfo
)
{
cartPayAPI
=
shoppingAPI
.
cartPayAPI
(
uid
,
cartType
,
0
,
skuList
,
activityInfo
);
}
return
Promise
.
all
([
shoppingAPI
.
cartPayAPI
(
uid
,
cartType
,
0
,
skuList
)
,
// 0. 订单数据
cartPayAPI
,
// 0. 订单数据
orderComputeAPI
,
shoppingAPI
.
getValidCouponCount
(
uid
)
// 2. 有效优惠券
]).
then
(
res
=>
{
...
...
@@ -140,15 +145,6 @@ exports.cartPay = (uid, cartType, orderInfo, limitProductCode, sku, skn, buyNumb
};
/**
* 快速结算数据处理
*/
exports
.
easyPayment
=
(
uid
,
skuList
)
=>
{
return
shoppingAPI
.
easyPayment
(
uid
,
skuList
).
then
(
result
=>
{
return
result
;
});
};
/**
* 购物车结算--支付方式和配送方式选择以及是否使用有货币接口返回的数据处理
*
* @param int $uid 用户ID
...
...
apps/cart/router.js
View file @
b94155c
...
...
@@ -30,7 +30,6 @@ router.get('/index/new/pay', authMW, payController.pay);// 统一支付 URL,æ”
router
.
get
(
'/index/new/pay/alipayresult'
,
authMW
,
payController
.
payAli
);
// 支付宝付款支付成功
router
.
get
(
'/index/new/orderEnsure'
,
authMW
,
order
.
orderEnsure
);
// 订单结算
router
.
get
(
'/index/new/fast'
,
authMW
,
order
.
fastPay
);
// 快速结算订单提交
router
.
post
(
'/index/new/orderCompute'
,
authMW
,
order
.
orderCompute
);
// 结算页参数改变,重新运算
router
.
post
(
'/index/new/orderSub'
,
authMW
,
order
.
orderSub
);
// 结算页参数改变,重新运算
router
.
get
(
'/index/new/selectCoupon'
,
authMW
,
order
.
selectCoupon
);
// 选择优惠券 页面
...
...
apps/serverAPI/order/shopping.js
View file @
b94155c
...
...
@@ -19,9 +19,13 @@ const privateKeyList = {
* @param string $skuList 购买限购商品时需要传递的参数
* @return see doc
*/
exports
.
cartPayAPI
=
(
uid
,
cartType
,
isUseYohoCoin
,
skuList
)
=>
{
exports
.
cartPayAPI
=
(
uid
,
cartType
,
isUseYohoCoin
,
skuList
,
activityInfo
)
=>
{
if
(
!
activityInfo
)
{
activityInfo
=
null
;
}
let
param
=
{
method
:
'app.Shopping.payment'
,
method
:
activityInfo
?
'app.Shopping.easyPayment'
:
'app.Shopping.payment'
,
enable_red_envelopes
:
0
,
// h5不返回红包
cart_type
:
cartType
,
yoho_coin_mode
:
isUseYohoCoin
,
...
...
@@ -33,27 +37,15 @@ exports.cartPayAPI = (uid, cartType, isUseYohoCoin, skuList) => {
param
.
product_sku_list
=
skuList
;
}
return
api
.
get
(
''
,
param
);
};
/**
* 立即购买接口,仅支持套餐
*/
exports
.
easyPayment
=
(
uid
,
skuList
)
=>
{
let
param
=
{
method
:
'app.Shopping.easyPayment'
,
enable_red_envelopes
:
0
,
cart_type
:
'bundle'
,
yoho_coin_mode
:
0
,
uid
:
uid
,
activity_id
:
'activity_id'
,
product_sku_list
:
skuList
};
// 购买套装和量贩商品时数据处理
if
(
activityInfo
)
{
param
.
activity_id
=
activityInfo
.
activity_id
;
param
.
product_sku_list
=
activityInfo
.
product_sku_list
;
}
return
api
.
get
(
''
,
param
,
{
code
:
200
}
);
return
api
.
get
(
''
,
param
);
};
/**
* 购物车结算--支付方式和配送方式选择以及是否使用有货币接口返回的数据处理
* doc: http://git.yoho.cn/yoho-documents/api-interfaces/blob/master/订单/shopping.md
...
...
Please
register
or
login
to post a comment