Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zhichan
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
蒋勇
zhichan
Commits
7e7353f1
Commit
7e7353f1
authored
Jun 19, 2020
by
linboxuan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
uncommuneSve orderConfirm
parent
5abd5ab7
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
256 additions
and
98 deletions
+256
-98
center-channel/app/base/service/impl/utilsSve/utilsUcommuneSve.js
+240
-90
center-channel/app/config/routes/api.js
+1
-1
center-channel/package-lock.json
+15
-7
No files found.
center-channel/app/base/service/impl/utilsSve/utilsUcommuneSve.js
View file @
7e7353f1
...
...
@@ -3,15 +3,17 @@ var settings = require("../../../../config/settings");
const
AppServiceBase
=
require
(
"../../app.base"
);
const
axios
=
require
(
'axios'
)
const
md5
=
require
(
'md5'
)
var
AlipaySdk
=
require
(
'alipay-sdk'
).
default
;
var
WXPay
=
require
(
'wx-pay'
);
var
xml2js
=
require
(
'xml2js'
);
//产品操作类
class
UtilsUcommuneService
extends
AppServiceBase
{
constructor
()
{
super
();
this
.
centerOrderUrl
=
settings
.
centerOrderUrl
();
this
.
centerChannelUrl
=
settings
.
centerChannelUrl
();
this
.
redisClient
=
system
.
getObject
(
"util.redisClient"
);
this
.
utilsAuthSve
=
system
.
getObject
(
"service.utilsSve.utilsAuthSve"
);
// this.alipay = settings.alipay();
this
.
WXpay
=
settings
.
wxpay
();
}
//--------------------------------优客工厂相关接口-start-----------------------------------------------------
...
...
@@ -79,46 +81,83 @@ class UtilsUcommuneService extends AppServiceBase {
pobj
.
actionType
=
"getOrderDetails"
// 获取订单详细信息 用来拼接字符串 totalsum为总金额,返回给前端
var
reqUrl
=
this
.
centerOrderUrl
+
"action/order/springBoard"
;
var
orderResult
=
await
this
.
restPostUrl
(
pobj
,
reqUrl
);
console
.
log
(
orderResult
)
if
(
orderResult
.
status
!=
0
)
{
return
system
.
getResult
(
null
,
"Failed to get orderResult 100470"
);
}
else
{
if
(
actionBody
.
payWay
==
1
)
{
// 支付宝
var
reqUrl
=
"https://yf-api.gongsibao.com/pay/v1/createSign"
;
var
obj
=
{
"app"
:
"ukgc"
,
//应用名称 固定
"key"
:
"a1519e2eab53dfb909e4c32a86b2ea2b"
,
//应用 key 固定
"payParam"
:
[
//微信或者支付宝的拼接参数
{
"name"
:
"app_id"
,
"value"
:
"2019022163300183"
},
{
"name"
:
"charset"
,
"value"
:
"UTF-8"
},
{
"name"
:
"method"
,
"value"
:
"alipay.trade.app.pay"
},
{
"name"
:
"sign_type"
,
"value"
:
"RSA2"
},
{
"name"
:
"timestamp"
,
"value"
:
"2014-07-24 03:07:50"
},
{
"name"
:
"version"
,
"value"
:
"1.0"
let
sign
=
await
PayUtil
.
getSign
(
null
,
"1"
)
let
params
=
{
"partner"
:
"2019022163300183"
,
"seller_id"
:
"353494220@qq.com"
,
"out_trade_no"
:
orderResult
.
data
.
channelOrderNo
,
"subject"
:
orderResult
.
data
.
channelItemName
,
"body"
:
orderResult
.
data
.
channelItemName
,
"total_fee"
:
orderResult
.
data
.
payTotalSum
,
"service"
:
"alipay.trade.app.pay"
,
"payment_type"
:
"1"
,
"_input_charset"
:
"utf-8"
,
"it_b_pay"
:
"10m"
,
"notify_url"
:
this
.
centerChannelUrl
+
"orderNotify/aliPayNotify"
,
"enable_paymethod"
:
"balance,moneyFund,coupon,pcredit,pcreditpayInstallment,creditCard,creditCardExpress,creditCardCartoon,credit_group,debitCardExpress,mcard,pcard,promotion"
,
"sign"
:
sign
,
"sign_type"
:
"RSA2"
,
}
],
"paymentType"
:
"1"
,
//支付方式 1 支付宝 3 微信
}
var
newobj
=
JSON
.
stringify
(
obj
).
replace
(
/
\s
*/g
,
""
);
newobj
+=
"ab53dfb909e4c32a"
newobj
=
md5
(
newobj
).
toUpperCase
()
obj
.
sign
=
newobj
let
res
=
await
axios
.
post
(
reqUrl
,
obj
)
console
.
log
(
res
);
let
str
=
""
;
for
(
var
k
in
params
)
{
console
.
log
(
k
)
str
+=
k
+
"=
\"
"
+
params
[
k
]
+
"
\"
&"
;
}
str
=
str
.
substr
(
0
,
str
.
length
-
1
)
console
.
log
(
str
)
return
system
.
getResultSuccess
(
str
);
// let alipayAgentInformation = await this.redisClient.get("alipayAgentInformation")
// if(!alipayAgentInformation) {
// console.log("11111")
// let res = await axios.post('https://yf-api.gongsibao.com/pay/v1/getPayConfig',{
// "app": "ukgc", //应用名称 固定
// "key": "a1519e2eab53dfb909e4c32a86b2ea2b", //应用 key 固定
// "paymentType": "1", //支付方式 1 支付宝 3 微信
// "sign":"D6C4DE28278BC3AAF1C5B22E834F3850"
// })
// if(res.status == 200) {
// alipayAgentInformation = res.data
// await this.redisClient.set('alipayAgentInformation',JSON.stringify(res.data))
// console.log("缓存alipayAgentInformation")
// } else {
// return system.getResult(null, "actionBody.token can not be empty,100410");
// }
// }
// let agentInformation = JSON.parse(alipayAgentInformation)
// let alipay = new AlipaySdk({
// appId: agentInformation.appid,
// privateKey: agentInformation.publicKey,
// // alipayPublicKey: agentInformation.publicKey,
// });
// const params = {
// bizContent: {
// out_trade_no: '12312312321212', // 商户网站唯一订单号
// subject: encodeURIComponent('苹果电脑'),//商品的标题/交易标题/订单标题/订单关键字等
// total_amount: 0.2,//实际付款金额
// body: encodeURIComponent('Mac Pro1'),//对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body
// product_code: 'QUICK_MSECURITY_PAY',
// notifyUrl:this.centerChannelUrl + "orderNotify/aliPayNotify"
// }
// }
// let alipayResponse = await alipay.exec('alipay.trade.app.pay', params);
// console.log(alipayResponse)
// return system.getResultSuccess(alipayResponse)
// var newobj = JSON.stringify(obj).replace(/\s*/g,"");
// newobj += "ab53dfb909e4c32a"
// newobj = md5(newobj).toUpperCase()
// obj.sign = newobj
// let res = await axios.post(reqUrl, obj)
// console.log(res);
// const params = {
// bizContent: {
// out_trade_no: '12312312321212', // 商户网站唯一订单号
...
...
@@ -133,14 +172,157 @@ class UtilsUcommuneService extends AppServiceBase {
// console.log(alipayResponse);
}
if
(
actionBody
.
payWay
==
3
)
{
// 微信
var
reqUrl
=
"https://yf-api.gongsibao.com/pay/v1/createSign"
;
var
obj
=
{
"app"
:
"ukgc"
,
//应用名称 固定
"key"
:
"a1519e2eab53dfb909e4c32a86b2ea2b"
,
//应用 key 固定
"payParam"
:
[
//微信或者支付宝的拼接参数
let
sign
=
await
PayUtil
.
getSign
(
null
,
"3"
)
let
params
=
{
"partner"
:
"2019022163300183"
,
"seller_id"
:
"353494220@qq.com"
,
"out_trade_no"
:
orderResult
.
data
.
channelOrderNo
,
"subject"
:
orderResult
.
data
.
channelItemName
,
"body"
:
orderResult
.
data
.
channelItemName
,
"total_fee"
:
orderResult
.
data
.
payTotalSum
,
"service"
:
"alipay.trade.app.pay"
,
"payment_type"
:
"1"
,
"_input_charset"
:
"utf-8"
,
"it_b_pay"
:
"10m"
,
"notify_url"
:
this
.
centerChannelUrl
+
"orderNotify/aliPayNotify"
,
"enable_paymethod"
:
"balance,moneyFund,coupon,pcredit,pcreditpayInstallment,creditCard,creditCardExpress,creditCardCartoon,credit_group,debitCardExpress,mcard,pcard,promotion"
,
"sign"
:
sign
,
"sign_type"
:
"RSA2"
,
}
let
str
=
""
;
for
(
var
k
in
params
)
{
console
.
log
(
k
)
str
+=
k
+
"=
\"
"
+
params
[
k
]
+
"
\"
&"
;
}
str
=
str
.
substr
(
0
,
str
.
length
-
1
)
console
.
log
(
str
)
return
system
.
getResultSuccess
(
str
);
// let wxAgentInformation = await this.redisClient.get("wxAgentInformation")
// if(!wxAgentInformation) {
// console.log("11111")
// let res = await axios.post('https://yf-api.gongsibao.com/pay/v1/getPayConfig',{
// "app": "ukgc", //应用名称 固定
// "key": "a1519e2eab53dfb909e4c32a86b2ea2b", //应用 key 固定
// "paymentType": "3", //支付方式 1 支付宝 3 微信
// "sign":"23F763A515AEF5DFC0A2BC04CC21463F"
// })
// if(res.status == 200) {
// wxAgentInformation = res.data
// await this.redisClient.set('wxAgentInformation',JSON.stringify(res.data))
// console.log("缓存wxAgentInformation")
// } else {
// return system.getResult(null, "actionBody.token can not be empty,100410");
// }
// }
// let agentInformation = JSON.parse(wxAgentInformation)
// var unifiedorderUrl = "https://api.mch.weixin.qq.com/pay/unifiedorder";
// const opts = {
// out_trade_no: '12312312321212', // 商户网站唯一订单号
// total_fee: 0.2,//实际付款金额
// body: encodeURIComponent('Mac Pro1'),//对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body
// spbill_create_ip: this.centerChannelUrl,
// notify_url:this.centerChannelUrl + "orderNotify/aliPayNotify",
// trade_type: 'NATIVE',
// attach: ""
// }
// opts.nonce_str = opts.nonce_str || WxPayUtil.generateNonceString();
// opts.appid = agentInformation.appid;
// opts.mch_id = agentInformation.mchid;
// opts.device_info = "WEB";
// opts.sign = WxPayUtil.sign(opts);
// var postXml = WxPayUtil.buildXML({ xml: opts });
// axios.post(unifiedorderUrl, postXml).then(function(result) {
// // console.log("微信付款单请求result.data",result.data);
// WxPayUtil.parseXML(result.data,function(json){
// func(json)
// });
// }).catch(function(error){
// console.log("微信生成付款单错误",error);
// })
// let wepay = new WXPay({
// appId: agentInformation.appid,
// mch_id: agentInformation.mchid,
// });
// let res = await wepay.createUnifiedOrder({
// body: '扫码支付测试',
// out_trade_no: '20140703'+Math.random().toString().substr(2, 10),
// total_fee: 1,
// spbill_create_ip: '192.168.2.210',
// notify_url: 'http://wxpay_notify_url',
// trade_type: 'NATIVE',
// product_id: '1234567890'
// },function(err,res) {
// console.log(err);
// console.log(res);
// })
// console.log(res)
// let res = await axios.post(reqUrl,obj)
// console.log(res);
// console.log(this.WXpay)
// var wxpay = this.WXpay;
// var out_trade_no='20160203'+Math.random().toString().substr(2, 10);
// wxpay.createUnifiedOrder({
// body: '充值兑换宝币',
// out_trade_no: out_trade_no,
// total_fee: 1,
// spbill_create_ip: '192.168.2.210',
// notify_url: 'http://www.gongsibao.com',
// trade_type: 'NATIVE',
// product_id: '1234567890'
// },function(err, res) {
// console.log(res);
// return system.getResult(res)
// })
}
}
}
/**
* 点击确认支付后返回拼接字符串 orderConfirm 的验证数据方法
* @param {*} pobj
* @param {*} actionBody orderNo orderIndo订单号
*/
async
orderConfirmValidate
(
pobj
,
actionBody
)
{
if
(
!
actionBody
.
orderNo
)
{
// 订单号
return
system
.
getResult
(
null
,
"actionBody.orderNo can not be empty,100430"
);
}
if
(
!
actionBody
.
payWay
)
{
// 支付方式 1 支付宝 3微信
return
system
.
getResult
(
null
,
"actionBody.payWay can not be empty,100440"
);
}
if
(
actionBody
.
payWay
!=
1
||
actionBody
.
payWay
!=
3
)
{
// payway 非1非3
return
system
.
getResult
(
null
,
"actionBody.payWay is eoor values,100450"
);
}
}
//--------------------------------优客工厂相关接口--end----------------------------------------------------
}
PayUtil
=
{
getSign
:
async
function
(
appid
,
paymentType
)
{
let
requrl
=
"https://yf-api.gongsibao.com/pay/v1/createSign"
let
params
=
{
"app"
:
"ukgc"
,
"key"
:
"a1519e2eab53dfb909e4c32a86b2ea2b"
,
"payParam"
:
[
{
"name"
:
"app_id"
,
"value"
:
"2019022163300183"
"value"
:
appid
||
"2019022163300183"
},
{
"name"
:
"charset"
,
...
...
@@ -156,58 +338,26 @@ class UtilsUcommuneService extends AppServiceBase {
},
{
"name"
:
"timestamp"
,
"value"
:
"2014-07-24 03:07:50"
"value"
:
Date
.
now
().
toString
()
},
{
"name"
:
"version"
,
"value"
:
"1.0"
}
],
"paymentType"
:
"3"
,
//支付方式 1 支付宝 3 微信
}
var
newobj
=
String
(
obj
).
replace
(
/
\s
*/g
,
""
);
newobj
+=
"secret(ab53dfb909e4c32a)"
newobj
=
md5
(
newobj
).
toUpperCase
()
obj
.
sign
=
newobj
let
res
=
await
axios
.
post
(
reqUrl
,
obj
)
console
.
log
(
res
);
console
.
log
(
this
.
WXpay
)
var
wxpay
=
this
.
WXpay
;
var
out_trade_no
=
'20160203'
+
Math
.
random
().
toString
().
substr
(
2
,
10
);
wxpay
.
createUnifiedOrder
({
body
:
'充值兑换宝币'
,
out_trade_no
:
out_trade_no
,
total_fee
:
1
,
spbill_create_ip
:
'192.168.2.210'
,
notify_url
:
'http://www.gongsibao.com'
,
trade_type
:
'NATIVE'
,
product_id
:
'1234567890'
},
function
(
err
,
res
)
{
console
.
log
(
res
);
return
system
.
getResult
(
res
)
})
"paymentType"
:
paymentType
,
}
var
signstr
=
JSON
.
stringify
(
params
);
signstr
+=
"ab53dfb909e4c32a"
signstr
=
md5
(
signstr
).
toUpperCase
()
params
.
sign
=
signstr
let
res
=
await
axios
.
post
(
requrl
,
params
)
if
(
res
.
data
.
code
=
200
)
{
return
res
.
data
.
value
}
/**
* 点击确认支付后返回拼接字符串 orderConfirm 的验证数据方法
* @param {*} pobj
* @param {*} actionBody orderNo orderIndo订单号
*/
async
orderConfirmValidate
(
pobj
,
actionBody
)
{
if
(
!
actionBody
.
orderNo
)
{
// 订单号
return
system
.
getResult
(
null
,
"actionBody.orderNo can not be empty,100430"
);
}
if
(
!
actionBody
.
payWay
)
{
// 支付方式 1 支付宝 3微信
return
system
.
getResult
(
null
,
"actionBody.payWay can not be empty,100440"
);
}
if
(
actionBody
.
payWay
!=
1
||
actionBody
.
payWay
!=
3
)
{
// payway 非1非3
return
system
.
getResult
(
null
,
"actionBody.payWay is eoor values,100450"
);
}
}
//--------------------------------优客工厂相关接口--end----------------------------------------------------
return
system
.
getResult
(
null
,
"Failed to get sign, 100460"
);
},
}
module
.
exports
=
UtilsUcommuneService
;
center-channel/app/config/routes/api.js
View file @
7e7353f1
...
...
@@ -114,7 +114,7 @@ module.exports = function (app) {
"addOrder"
,
"getH5PayUrl"
,
"getOrderQrCode"
,
"queryOrderStatus"
,
"getOrderInfo"
,
"getOrderDeliveryInfo"
,
"getOrderDetails"
,
"getOrderDeliveryFlowInfo"
,
"getOrderDeliveryFlowList"
,
"getOrderLogInfo"
,
"updateContacts"
,
"updateTmOrder"
,
"delOrder"
,
"submitProgramme"
,
"getProgrammeListByUser"
,
"getProgrammeInfoByNeedNo"
,
"abolishProgramme"
,
"getAliPayInfo"
,
"getPaidLogoListByUser"
,
"getCollectibleLogoListByUser"
,
"collectLogo"
,
"getLogoMaterial"
,
"cancelCollectLogo"
,
"icpNotify"
,
"createName"
,
"getNameDetail"
"getPaidLogoListByUser"
,
"getCollectibleLogoListByUser"
,
"collectLogo"
,
"getLogoMaterial"
,
"cancelCollectLogo"
,
"icpNotify"
,
"createName"
,
"getNameDetail"
,
"orderConfirm"
];
if
(
lst
.
indexOf
(
req
.
body
.
actionType
)
>=
0
)
{
var
userpin
=
req
.
headers
[
"userpin"
]
||
""
;
...
...
center-channel/package-lock.json
View file @
7e7353f1
...
...
@@ -7925,6 +7925,14 @@
"resolved"
:
"https://registry.npmjs.org/validator/-/validator-9.4.1.tgz"
,
"integrity"
:
"sha512-YV5KjzvRmSyJ1ee/Dm5UED0G+1L4GZnLN3w6/T+zZm8scVua4sOhYKWTUrKa0H/tMiJyO9QLHMPN+9mB/aMunA=="
},
"var"
:
{
"version"
:
"0.4.0"
,
"resolved"
:
"https://registry.npmjs.org/var/-/var-0.4.0.tgz"
,
"integrity"
:
"sha512-olxlLAssnt9UPL5UAErYTaCJhpwaDfkuSxOEB5eUclEJbl4xi7EhOIaOh6Y8KTQHIKUnyd2DygRLSnTaXtXuGg=="
,
"requires"
:
{
"lodash"
:
"^4.17.4"
}
},
"vary"
:
{
"version"
:
"1.1.2"
,
"resolved"
:
"https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
,
...
...
@@ -8134,18 +8142,18 @@
}
},
"xml2js"
:
{
"version"
:
"0.4.
19
"
,
"resolved"
:
"https://registry.npmjs.org/xml2js/-/xml2js-0.4.
19
.tgz"
,
"integrity"
:
"sha512-
esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q
=="
,
"version"
:
"0.4.
23
"
,
"resolved"
:
"https://registry.npmjs.org/xml2js/-/xml2js-0.4.
23
.tgz"
,
"integrity"
:
"sha512-
ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug
=="
,
"requires"
:
{
"sax"
:
">=0.6.0"
,
"xmlbuilder"
:
"~
9.0.1
"
"xmlbuilder"
:
"~
11.0.0
"
}
},
"xmlbuilder"
:
{
"version"
:
"
9.0.7
"
,
"resolved"
:
"https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-
9.0.7
.tgz"
,
"integrity"
:
"sha
1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0
="
"version"
:
"
11.0.1
"
,
"resolved"
:
"https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-
11.0.1
.tgz"
,
"integrity"
:
"sha
512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=
="
},
"xmlhttprequest-ssl"
:
{
"version"
:
"1.5.5"
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment