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
9a1f666d
Commit
9a1f666d
authored
Jan 12, 2020
by
庄冰
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tlpay
parent
16656560
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
134 additions
and
55 deletions
+134
-55
igirl-channel/app/base/api/impl/action/icOrder.js
+69
-0
igirl-channel/app/base/api/impl/action/tmOrder.js
+3
-3
igirl-channel/app/base/service/impl/dborder/orderSve.js
+24
-51
igirl-channel/app/base/service/impl/trademark/jdossSve.js
+1
-1
igirl-channel/app/base/service/sve.base.js
+37
-0
No files found.
igirl-channel/app/base/api/impl/action/icOrder.js
0 → 100644
View file @
9a1f666d
var
APIBase
=
require
(
"../../api.base"
);
var
system
=
require
(
"../../../system"
);
var
settings
=
require
(
"../../../../config/settings"
);
class
IcOrderAPI
extends
APIBase
{
constructor
()
{
super
();
this
.
orderSve
=
system
.
getObject
(
"service.dborder.orderSve"
);
}
/**
* 接口跳转-POST请求
* action_process 执行的流程
* action_type 执行的类型
* action_body 执行的参数
*/
async
springBoard
(
pobj
,
qobj
,
req
)
{
if
(
!
pobj
.
actionProcess
)
{
return
system
.
getResult
(
null
,
"actionProcess参数不能为空"
);
}
if
(
!
pobj
.
actionType
)
{
return
system
.
getResult
(
null
,
"actionType参数不能为空"
);
}
var
result
=
null
;
switch
(
pobj
.
actionProcess
)
{
case
"jd"
:
//京东
result
=
await
this
.
opActionProcess
(
pobj
.
actionProcess
,
pobj
.
actionType
,
pobj
.
actionBody
,
pobj
,
req
);
break
;
case
"1688"
:
//1688
result
=
await
this
.
opActionProcess
(
pobj
.
actionProcess
,
pobj
.
actionType
,
pobj
.
actionBody
,
pobj
,
req
);
break
;
case
"gsbhome"
:
//gsb_homepage
result
=
await
this
.
opActionProcess
(
pobj
.
actionProcess
,
pobj
.
actionType
,
pobj
.
actionBody
,
pobj
,
req
);
break
;
default
:
result
=
system
.
getResult
(
null
,
"actionProcess参数错误"
);
break
;
}
return
result
;
}
async
opActionProcess
(
action_process
,
action_type
,
action_body
,
pobj
,
req
)
{
action_body
.
app
=
req
.
app
;
action_body
.
user
=
req
.
user
;
var
opResult
=
null
;
if
([
"getIcOrderList"
,
"addOrderAndDelivery"
].
indexOf
(
action_type
)
>=
0
)
{
if
(
!
action_body
.
channelUserId
)
{
return
system
.
getResult
(
null
,
"verify channelUserId is empty"
);
}
}
switch
(
action_type
)
{
case
"addOrderAndDelivery"
:
//创建订单和交付单
opResult
=
await
this
.
orderSve
.
addOrderAndDelivery
(
action_body
,
pobj
,
req
);
break
;
case
"getOrderDetailByOrderNo"
:
//获取订单详情
opResult
=
system
.
getResultSuccess
(
null
,
"测试成功"
);
break
;
case
"getIcOrderList"
:
//工商交付列表
opResult
=
system
.
getResultSuccess
(
null
,
"测试成功"
);
break
;
case
"getIcOrderListAdmin"
:
//工商交付列表
opResult
=
system
.
getResultSuccess
(
null
,
"测试成功"
);
break
;
default
:
opResult
=
system
.
getResult
(
null
,
"action_type参数错误"
);
break
;
}
return
opResult
;
}
}
module
.
exports
=
IcOrderAPI
;
\ No newline at end of file
igirl-channel/app/base/api/impl/action/tmOrder.js
View file @
9a1f666d
...
@@ -254,9 +254,9 @@ class TmOrderAPI extends APIBase {
...
@@ -254,9 +254,9 @@ class TmOrderAPI extends APIBase {
case
"getTlPayQrCode"
:
//获取通联支付二维码(未测试)
case
"getTlPayQrCode"
:
//获取通联支付二维码(未测试)
opResult
=
await
this
.
orderSve
.
getTlPayQrCode
(
action_body
);
opResult
=
await
this
.
orderSve
.
getTlPayQrCode
(
action_body
);
break
;
break
;
case
"receiveTlCallBackNotify"
:
//接收通联支付回调通知(未测试)
//
case "receiveTlCallBackNotify"://接收通联支付回调通知(未测试)
opResult
=
await
this
.
orderSve
.
receiveTlCallBackNotify
(
action_body
);
//
opResult = await this.orderSve.receiveTlCallBackNotify(action_body);
break
;
//
break;
default
:
default
:
opResult
=
system
.
getResult
(
null
,
"action_type参数错误"
);
opResult
=
system
.
getResult
(
null
,
"action_type参数错误"
);
break
;
break
;
...
...
igirl-channel/app/base/service/impl/dborder/orderSve.js
View file @
9a1f666d
...
@@ -15,6 +15,7 @@ class OrderService extends ServiceBase {
...
@@ -15,6 +15,7 @@ class OrderService extends ServiceBase {
// this.fqReqUrl = "https://yunfuapi-dev.gongsibao.com";//dev域名
// this.fqReqUrl = "https://yunfuapi-dev.gongsibao.com";//dev域名
this
.
restClient
=
system
.
getObject
(
"util.restClient"
);
this
.
restClient
=
system
.
getObject
(
"util.restClient"
);
this
.
appDao
=
system
.
getObject
(
"db.dbapp.appDao"
);
this
.
appDao
=
system
.
getObject
(
"db.dbapp.appDao"
);
this
.
orderReceiptVoucherDao
=
system
.
getObject
(
"db.dbcpay.orderreceiptvoucherDao"
);
}
}
async
addOrderAndDelivery
(
action_body
,
pobj
,
req
)
{
async
addOrderAndDelivery
(
action_body
,
pobj
,
req
)
{
...
@@ -815,43 +816,9 @@ class OrderService extends ServiceBase {
...
@@ -815,43 +816,9 @@ class OrderService extends ServiceBase {
var
result
=
JSON
.
parse
(
rtn
.
stdout
);
var
result
=
JSON
.
parse
(
rtn
.
stdout
);
return
result
;
return
result
;
}
}
async
resultSign
(
resultData
,
pay_key
)
{
//返回值进行验签
var
rtnResult
=
{
status
:
0
,
msg
:
"SUCCESS"
};
if
(
!
resultData
||
!
resultData
.
appid
)
{
rtnResult
.
status
=
-
310
;
rtnResult
.
msg
=
"返回值信息data为空"
;
return
rtnResult
;
}
resultData
.
key
=
pay_key
;
var
resultSignArr
=
[];
var
keys
=
Object
.
keys
(
resultData
).
sort
();
if
(
keys
.
length
==
0
)
{
rtnResult
.
status
=
-
330
;
rtnResult
.
msg
=
"返回值参数信息为空"
;
return
rtnResult
;
}
for
(
let
k
=
0
;
k
<
keys
.
length
;
k
++
)
{
const
tKey
=
keys
[
k
];
if
(
tKey
!=
"sign"
&&
resultData
[
tKey
])
{
resultSignArr
.
push
(
tKey
+
"="
+
resultData
[
tKey
]);
}
}
if
(
resultSignArr
.
length
==
0
)
{
rtnResult
.
status
=
-
350
;
rtnResult
.
msg
=
"返回值组装签名参数信息为空"
;
return
rtnResult
;
}
var
resultSignStr
=
resultSignArr
.
join
(
"&"
);
var
resultTmpSign
=
md5
(
resultSignStr
).
toUpperCase
();
delete
resultData
[
"key"
];
if
(
resultData
.
sign
!=
resultTmpSign
)
{
rtnResult
.
status
=
-
380
;
rtnResult
.
msg
=
"返回值签名验证失败"
;
return
rtnResult
;
}
return
rtnResult
;
}
async
receiveTlCallBackNotify
(
obj
)
{
//接收通联支付回调通知
async
receiveTlCallBackNotify
(
obj
)
{
//接收通联支付回调通知
try
{
if
(
obj
&&
obj
.
trxstatus
==
"0000"
)
{
if
(
obj
&&
obj
.
trxstatus
==
"0000"
)
{
let
attachList
=
[];
let
attachList
=
[];
if
(
obj
.
cusorderid
.
indexOf
(
"_"
)
>=
0
)
{
if
(
obj
.
cusorderid
.
indexOf
(
"_"
)
>=
0
)
{
...
@@ -865,13 +832,13 @@ class OrderService extends ServiceBase {
...
@@ -865,13 +832,13 @@ class OrderService extends ServiceBase {
}
}
obj
.
out_trade_no
=
attachList
[
0
];
obj
.
out_trade_no
=
attachList
[
0
];
obj
.
company_id
=
attachList
[
1
];
obj
.
company_id
=
attachList
[
1
];
var
app
=
await
this
.
appDao
.
findOne
({
var
app
=
await
this
.
appDao
.
model
.
findOne
({
where
:{
uAppId
:
obj
.
company_id
},
raw
:
true
where
:{
uAppId
:
obj
.
company_id
},
raw
:
true
});
});
if
(
!
app
){
if
(
!
app
){
return
system
.
getResultFail
(
-
100
,
"渠道参数错误"
);
return
system
.
getResultFail
(
-
100
,
"渠道参数错误"
);
}
}
var
resultSign
=
await
this
.
resultSign
(
obj
,
app
.
appSecret
);
var
resultSign
=
await
this
.
result
Tl
Sign
(
obj
,
app
.
appSecret
);
if
(
!
resultSign
||
resultSign
.
status
<
0
){
if
(
!
resultSign
||
resultSign
.
status
<
0
){
return
resultSign
;
return
resultSign
;
}
}
...
@@ -892,17 +859,18 @@ class OrderService extends ServiceBase {
...
@@ -892,17 +859,18 @@ class OrderService extends ServiceBase {
return
system
.
getResultFail
(
-
104
,
"超时未支付,queryTlPayOrder新页面"
);
return
system
.
getResultFail
(
-
104
,
"超时未支付,queryTlPayOrder新页面"
);
}
}
return
system
.
getResultFail
(
-
105
,
"请及时支付"
);
return
system
.
getResultFail
(
-
105
,
"请及时支付"
);
}
catch
(
e
)
{
return
system
.
getResultFail
(
-
200
,
e
.
stack
);
}
}
}
async
checkPayStatusTl
(
obj
)
{
//通联支付状态验证
async
checkPayStatusTl
(
obj
)
{
//通联支付状态验证
var
wxPayOrderCode
=
obj
.
wxPayOrderCode
||
""
;
var
wxPayOrderCode
=
obj
.
wxPayOrderCode
||
""
;
var
aliPayOrderCode
=
obj
.
aliPayOrderCode
||
""
;
var
aliPayOrderCode
=
obj
.
aliPayOrderCode
||
""
;
var
comanyId
=
obj
.
company_id
;
var
app
=
obj
.
app
;
var
app
=
await
this
.
appDao
.
findOne
({
where
:{
uAppId
:
comanyId
},
raw
:
true
});
if
(
!
app
){
if
(
!
app
){
return
system
.
getResultFail
(
-
100
,
"渠道参数错误"
);
return
system
.
getResultFail
(
-
100
,
"渠道参数错误"
);
}
}
var
comanyId
=
app
.
uAppId
;
var
opType
=
obj
.
op_type
;
var
opType
=
obj
.
op_type
;
var
orderCode
=
obj
.
orderCode
;
var
orderCode
=
obj
.
orderCode
;
if
(
!
wxPayOrderCode
||
!
aliPayOrderCode
||
!
comanyId
||
!
opType
||
!
orderCode
)
{
if
(
!
wxPayOrderCode
||
!
aliPayOrderCode
||
!
comanyId
||
!
opType
||
!
orderCode
)
{
...
@@ -966,6 +934,9 @@ class OrderService extends ServiceBase {
...
@@ -966,6 +934,9 @@ class OrderService extends ServiceBase {
return
system
.
getResult
(
null
,
"execPost is empty"
);
return
system
.
getResult
(
null
,
"execPost is empty"
);
}
}
var
result
=
JSON
.
parse
(
rtn
.
stdout
);
var
result
=
JSON
.
parse
(
rtn
.
stdout
);
if
(
result
&&
result
.
status
==
0
&&
result
.
data
&&
result
.
data
.
trxid
){
await
this
.
cacheManager
[
"ZxPayLocker"
].
init
(
result
.
data
.
trxid
);
}
return
result
;
return
result
;
}
}
//操作回调业务逻辑
//操作回调业务逻辑
...
@@ -979,6 +950,7 @@ class OrderService extends ServiceBase {
...
@@ -979,6 +950,7 @@ class OrderService extends ServiceBase {
optitle
:
(
new
Date
()).
Format
(
"yyyy-MM-dd hh:mm:ss"
)
+
":支付回调信息====="
+
opDesc
+
",method="
+
getParams
.
trxcode
optitle
:
(
new
Date
()).
Format
(
"yyyy-MM-dd hh:mm:ss"
)
+
":支付回调信息====="
+
opDesc
+
",method="
+
getParams
.
trxcode
});
});
//获取充值业务锁
//获取充值业务锁
// await this.cacheManager["ZxPayLocker"].init(getParams.trxid);
var
locker
=
await
this
.
cacheManager
[
"ZxPayLocker"
].
enter
(
getParams
.
trxid
);
var
locker
=
await
this
.
cacheManager
[
"ZxPayLocker"
].
enter
(
getParams
.
trxid
);
if
(
locker
&&
locker
==
"1"
)
{
if
(
locker
&&
locker
==
"1"
)
{
if
(
getParams
.
trxcode
==
"VSP501"
)
{
if
(
getParams
.
trxcode
==
"VSP501"
)
{
...
@@ -1002,7 +974,8 @@ class OrderService extends ServiceBase {
...
@@ -1002,7 +974,8 @@ class OrderService extends ServiceBase {
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
await
this
.
cacheManager
[
"ZxPayLocker"
].
release
(
getParams
.
trxid
);
await
this
.
cacheManager
[
"ZxPayLocker"
].
release
(
getParams
.
trxid
);
throw
new
Error
(
e
.
stack
);
// throw new Error(e.stack);
return
system
.
getResultFail
(
-
200
,
e
.
stack
);
}
}
}
}
/*
/*
...
@@ -1020,9 +993,9 @@ class OrderService extends ServiceBase {
...
@@ -1020,9 +993,9 @@ class OrderService extends ServiceBase {
if
(
obj
.
req_accountType
==
"alipay"
)
{
if
(
obj
.
req_accountType
==
"alipay"
)
{
accountType
=
"alipay"
;
accountType
=
"alipay"
;
}
}
var
account_type_list
=
uiconfig
.
config
.
pdict
.
accountType
;
//
var account_type_list = uiconfig.config.pdict.accountType;
var
account_type_name
=
account_type_list
[
obj
.
req_accountType
];
//
var account_type_name = account_type_list[obj.req_accountType];
obj
.
account_type_name
=
account_type_name
;
//
obj.account_type_name = account_type_name;
var
sqlWheres
=
{
orderNo
:
obj
.
out_trade_no
,
app_id
:
app
.
id
};
var
sqlWheres
=
{
orderNo
:
obj
.
out_trade_no
,
app_id
:
app
.
id
};
var
orderItem
=
await
this
.
dao
.
model
.
findOne
({
var
orderItem
=
await
this
.
dao
.
model
.
findOne
({
where
:
sqlWheres
,
where
:
sqlWheres
,
...
@@ -1038,23 +1011,23 @@ class OrderService extends ServiceBase {
...
@@ -1038,23 +1011,23 @@ class OrderService extends ServiceBase {
return
system
.
getResultFail
(
-
480
,
"订单状态有误"
);
return
system
.
getResultFail
(
-
480
,
"订单状态有误"
);
}
}
var
self
=
this
;
var
self
=
this
;
await
this
.
db
.
transaction
(
async
function
(
t
)
{
return
await
this
.
db
.
transaction
(
async
function
(
t
)
{
// 订单付款状态dfk: 待付款, zfpz: 已上传支付凭证, yfk: 已付款, ddqx: 订单取消, tkclz: 退款处理中, bfytk: 部分已退款, ytk: 已退款,zfshbtg:支付审核不通过
// 订单付款状态dfk: 待付款, zfpz: 已上传支付凭证, yfk: 已付款, ddqx: 订单取消, tkclz: 退款处理中, bfytk: 部分已退款, ytk: 已退款,zfshbtg:支付审核不通过
var
putParams
=
{
orderPayStatus
:
"yfk"
,
payDate
:
obj
.
fintime
};
var
putParams
=
{
orderPayStatus
:
"yfk"
,
payDate
:
new
Date
()
};
await
self
.
orderD
ao
.
updateByWhere
(
putParams
,
{
where
:
sqlWheres
},
t
);
await
self
.
d
ao
.
updateByWhere
(
putParams
,
{
where
:
sqlWheres
},
t
);
//订单流程log
//订单流程log
self
.
orderflowDao
.
create
({
self
.
orderflowDao
.
create
({
app_id
:
app
.
id
,
isShow
:
1
,
app_id
:
app
.
id
,
isShow
:
1
,
createuser_id
:
orderItem
.
createuser_id
,
createuser_id
:
orderItem
.
createuser_id
,
sourceOrderNo
:
orderItem
.
orderNo
,
sourceOrderNo
:
orderItem
.
orderNo
,
opContent
:
"订单已成功支付,方式为"
+
account
_type_nam
e
,
opContent
:
"订单已成功支付,方式为"
+
account
Typ
e
,
},
t
);
},
t
);
//帐户类型( 支付类型):cash: 现金, bank: 银行 ,wx:微信,alipay:支付宝,other:其它
//帐户类型( 支付类型):cash: 现金, bank: 银行 ,wx:微信,alipay:支付宝,other:其它
var
orderReceiptVoucherObj
=
{
var
orderReceiptVoucherObj
=
{
uapp_id
:
app
.
uAppId
,
uapp_id
:
app
.
uAppId
,
sourceOrderNo
:
orderItem
.
orderNo
,
// 来源单号
sourceOrderNo
:
orderItem
.
orderNo
,
// 来源单号
accountType
:
accountType
,
accountType
:
accountType
,
payDate
:
obj
.
fintime
,
//支付时间
payDate
:
new
Date
()
,
//支付时间
totalSum
:
orderItem
.
totalSum
,
//订单总额
totalSum
:
orderItem
.
totalSum
,
//订单总额
wxPayOrderCode
:
obj
.
trxid
,
//业务微信支付订单号
wxPayOrderCode
:
obj
.
trxid
,
//业务微信支付订单号
aliPayOrderCode
:
obj
.
trxid
,
//业务支付宝支付订单号
aliPayOrderCode
:
obj
.
trxid
,
//业务支付宝支付订单号
...
...
igirl-channel/app/base/service/impl/trademark/jdossSve.js
View file @
9a1f666d
...
@@ -33,7 +33,7 @@ class JdossService {
...
@@ -33,7 +33,7 @@ class JdossService {
"conditions"
:
[
"conditions"
:
[
{
"bucket"
:
"hangtang"
},
{
"bucket"
:
"hangtang"
},
[
"starts-with"
,
"$key"
,
"zc"
],
[
"starts-with"
,
"$key"
,
"zc"
],
{
"Content-Type"
:
"image/jpeg"
},
//
{"Content-Type": "image/jpeg"},
{
"X-Amz-Credential"
:
ak
+
"/"
+
time
+
"/cn-north-1/s3/aws4_request"
},
{
"X-Amz-Credential"
:
ak
+
"/"
+
time
+
"/cn-north-1/s3/aws4_request"
},
{
"X-Amz-Algorithm"
:
"AWS4-HMAC-SHA256"
},
{
"X-Amz-Algorithm"
:
"AWS4-HMAC-SHA256"
},
{
"X-Amz-Date"
:
date
}
{
"X-Amz-Date"
:
date
}
...
...
igirl-channel/app/base/service/sve.base.js
View file @
9a1f666d
...
@@ -10,6 +10,43 @@ class ServiceBase {
...
@@ -10,6 +10,43 @@ class ServiceBase {
this
.
dao
=
system
.
getObject
(
"db."
+
gname
+
"."
+
daoName
);
this
.
dao
=
system
.
getObject
(
"db."
+
gname
+
"."
+
daoName
);
this
.
restS
=
system
.
getObject
(
"util.restClient"
);
this
.
restS
=
system
.
getObject
(
"util.restClient"
);
}
}
//通联返回值进行验签
async
resultTlSign
(
resultData
,
pay_key
)
{
var
rtnResult
=
{
status
:
0
,
msg
:
"SUCCESS"
};
if
(
!
resultData
||
!
resultData
.
appid
)
{
rtnResult
.
status
=
-
310
;
rtnResult
.
msg
=
"返回值信息data为空"
;
return
rtnResult
;
}
resultData
.
key
=
pay_key
;
var
resultSignArr
=
[];
var
keys
=
Object
.
keys
(
resultData
).
sort
();
if
(
keys
.
length
==
0
)
{
rtnResult
.
status
=
-
330
;
rtnResult
.
msg
=
"返回值参数信息为空"
;
return
rtnResult
;
}
for
(
let
k
=
0
;
k
<
keys
.
length
;
k
++
)
{
const
tKey
=
keys
[
k
];
if
(
tKey
!=
"sign"
&&
resultData
[
tKey
])
{
resultSignArr
.
push
(
tKey
+
"="
+
resultData
[
tKey
]);
}
}
if
(
resultSignArr
.
length
==
0
)
{
rtnResult
.
status
=
-
350
;
rtnResult
.
msg
=
"返回值组装签名参数信息为空"
;
return
rtnResult
;
}
var
resultSignStr
=
resultSignArr
.
join
(
"&"
);
var
resultTmpSign
=
md5
(
resultSignStr
).
toUpperCase
();
delete
resultData
[
"key"
];
if
(
resultData
.
sign
!=
resultTmpSign
)
{
rtnResult
.
status
=
-
380
;
rtnResult
.
msg
=
"返回值签名验证失败"
;
return
rtnResult
;
}
return
rtnResult
;
}
/**
/**
* 验证签名
* 验证签名
* @param {*} params 要验证的参数
* @param {*} params 要验证的参数
...
...
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