Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yysh5
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
data_server
yysh5
Commits
e7a260ca
Commit
e7a260ca
authored
Apr 18, 2019
by
姜登
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
yys
parent
1ef51a0b
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
74 additions
and
114 deletions
+74
-114
order.js
app/controller/order.js
+1
-42
task.js
app/controller/task.js
+31
-12
router.js
app/router.js
+24
-22
order.js
app/service/order.js
+2
-2
partner.js
app/service/partner.js
+5
-4
washData.js
app/service/washData.js
+9
-32
config.local.js
config/config.local.js
+1
-0
config.prod.js
config/config.prod.js
+1
-0
No files found.
app/controller/order.js
View file @
e7a260ca
...
@@ -87,26 +87,6 @@ class OrderController extends Controller {
...
@@ -87,26 +87,6 @@ class OrderController extends Controller {
ctx
.
success
({
orderId
:
object
.
orderId
});
ctx
.
success
({
orderId
:
object
.
orderId
});
}
}
async
show
()
{
const
{
ctx
,
service
}
=
this
;
ctx
.
validate
(
this
.
showRule
);
const
{
orderId
}
=
ctx
.
params
;
await
service
.
signature
.
signatureCheck
(
ctx
.
request
.
body
);
const
data
=
await
service
.
order
.
getOneByOrderId
(
orderId
);
if
(
data
)
{
if
(
data
.
status
===
'success'
)
{
const
result
=
await
service
.
storage
.
read
(
orderId
);
ctx
.
success
(
result
);
return
;
}
ctx
.
success
({
status
:
data
.
status
,
});
return
;
}
ctx
.
fail
(
'无此订单号'
);
}
async
partnerShow
()
{
async
partnerShow
()
{
const
{
ctx
,
service
}
=
this
;
const
{
ctx
,
service
}
=
this
;
try
{
try
{
...
@@ -118,9 +98,8 @@ class OrderController extends Controller {
...
@@ -118,9 +98,8 @@ class OrderController extends Controller {
if
(
!
(
appKeyInfo
&&
appKeyInfo
.
valid
===
true
&&
appKeyInfo
.
enableHfData
===
true
))
{
if
(
!
(
appKeyInfo
&&
appKeyInfo
.
valid
===
true
&&
appKeyInfo
.
enableHfData
===
true
))
{
return
ctx
.
fail
(
'未开通此服务'
);
return
ctx
.
fail
(
'未开通此服务'
);
}
}
const
data
=
await
service
.
order
.
getOneByOrderId
(
orderId
);
const
data
=
await
service
.
order
.
getOneByOrderId
(
{
orderId
,
status
:
'success'
}
);
if
(
data
)
{
if
(
data
)
{
if
(
data
.
status
===
'success'
)
{
const
result
=
await
service
.
storage
.
read
(
orderId
,
appKey
);
const
result
=
await
service
.
storage
.
read
(
orderId
,
appKey
);
ctx
.
body
=
{
ctx
.
body
=
{
code
:
0
,
code
:
0
,
...
@@ -128,7 +107,6 @@ class OrderController extends Controller {
...
@@ -128,7 +107,6 @@ class OrderController extends Controller {
};
};
return
;
return
;
}
}
}
ctx
.
body
=
{
ctx
.
body
=
{
code
:
-
1
,
code
:
-
1
,
msg
:
'无此订单号'
,
msg
:
'无此订单号'
,
...
@@ -139,25 +117,6 @@ class OrderController extends Controller {
...
@@ -139,25 +117,6 @@ class OrderController extends Controller {
}
}
}
}
async
orderShow
()
{
const
{
ctx
,
service
}
=
this
;
const
{
appKey
,
orderId
}
=
ctx
.
params
;
const
appKeyInfo
=
await
service
.
partner
.
fetchInfo
(
appKey
);
if
(
!
(
appKeyInfo
&&
appKeyInfo
.
valid
===
true
&&
appKeyInfo
.
enableHfView
===
true
))
{
return
ctx
.
fail
(
'未开通此服务'
);
}
const
data
=
await
service
.
order
.
getOneByOrderId
(
orderId
);
if
(
data
)
{
if
(
data
.
status
===
'success'
&&
(
data
.
appKey
===
appKey
))
{
const
result
=
await
service
.
storage
.
read
(
orderId
,
appKey
);
const
ret
=
service
.
washData
.
dealData
(
result
);
ctx
.
success
(
ret
);
return
;
}
}
ctx
.
fail
(
'无此订单号'
);
}
async
fetchOrderId
()
{
async
fetchOrderId
()
{
const
{
ctx
,
service
}
=
this
;
const
{
ctx
,
service
}
=
this
;
try
{
try
{
...
...
app/controller/task.js
View file @
e7a260ca
...
@@ -133,27 +133,20 @@ class TaskController extends Controller {
...
@@ -133,27 +133,20 @@ class TaskController extends Controller {
break
;
break
;
case
0
:
case
0
:
taskNote
=
{
taskNote
=
{
status
:
'success
'
,
status
:
'wash
'
,
note
:
{
message
:
'task success
'
},
note
:
{
message
:
'wash
'
},
};
};
try
{
try
{
const
insertData
=
await
service
.
washData
.
wash
(
result
);
const
order
=
await
service
.
order
.
getOneByTaskId
(
taskId
);
const
order
=
await
service
.
order
.
getOneByTaskId
(
taskId
);
if
(
!
order
)
{
if
(
!
order
)
{
throw
new
Error
(
'任务已经结束了
'
);
throw
new
Error
(
'任务不存在
'
);
}
}
const
{
orderId
,
appKey
}
=
order
;
const
{
orderId
}
=
order
;
insertData
.
orderId
=
orderId
;
await
service
.
washData
.
wash
(
result
,
orderId
);
insertData
.
cityName
=
await
service
.
scripts
.
fetchScriptName
(
insertData
.
cid
);
insertData
.
taskId
=
taskId
;
insertData
.
appKey
=
appKey
;
delete
insertData
.
code
;
await
service
.
storage
.
write
(
insertData
);
await
service
.
cache
.
set
({
await
service
.
cache
.
set
({
key
:
taskId
,
key
:
taskId
,
value
:
taskNote
,
value
:
taskNote
,
});
});
await
service
.
partner
.
notice
(
order
);
return
;
return
;
}
catch
(
err
)
{
}
catch
(
err
)
{
ctx
.
logger
.
error
(
'handleCallback'
,
JSON
.
stringify
(
err
),
JSON
.
stringify
(
result
));
ctx
.
logger
.
error
(
'handleCallback'
,
JSON
.
stringify
(
err
),
JSON
.
stringify
(
result
));
...
@@ -173,6 +166,32 @@ class TaskController extends Controller {
...
@@ -173,6 +166,32 @@ class TaskController extends Controller {
});
});
}
}
async
dataCallback
()
{
const
{
ctx
,
service
}
=
this
;
const
{
data
}
=
ctx
.
request
.
body
;
const
{
taskId
,
state
}
=
data
;
const
order
=
await
service
.
order
.
getOneByTaskId
(
taskId
);
if
(
!
order
)
{
throw
new
Error
(
'任务不存在'
);
}
let
taskNote
=
{
status
:
'failure'
,
note
:
{
message
:
'存储数据出错'
},
};
if
(
state
===
'success'
)
{
taskNote
=
{
status
:
'success'
,
note
:
{
message
:
'task success'
},
};
}
await
service
.
partner
.
notice
(
order
,
state
);
await
service
.
cache
.
set
({
key
:
taskId
,
value
:
taskNote
,
});
ctx
.
success
(
'ok'
);
}
}
}
module
.
exports
=
TaskController
;
module
.
exports
=
TaskController
;
app/router.js
View file @
e7a260ca
...
@@ -6,39 +6,41 @@
...
@@ -6,39 +6,41 @@
module
.
exports
=
app
=>
{
module
.
exports
=
app
=>
{
const
{
router
,
controller
}
=
app
;
const
{
router
,
controller
}
=
app
;
const
gjj
Router
=
router
.
namespace
(
app
.
config
.
projectRootPath
);
const
yys
Router
=
router
.
namespace
(
app
.
config
.
projectRootPath
);
gjj
Router
.
post
(
'/tasks'
,
controller
.
task
.
create
);
// 创建任务
yys
Router
.
post
(
'/tasks'
,
controller
.
task
.
create
);
// 创建任务
gjj
Router
.
get
(
'/tasks/:taskId'
,
controller
.
task
.
show
);
// 获取任务状态
yys
Router
.
get
(
'/tasks/:taskId'
,
controller
.
task
.
show
);
// 获取任务状态
gjj
Router
.
post
(
'/tasks/:taskId/submit'
,
controller
.
task
.
submit
);
// 提交任务参数
yys
Router
.
post
(
'/tasks/:taskId/submit'
,
controller
.
task
.
submit
);
// 提交任务参数
gjj
Router
.
post
(
'/tasks/:taskId/capture'
,
controller
.
task
.
fetchCapture
);
// 获取验证码
yys
Router
.
post
(
'/tasks/:taskId/capture'
,
controller
.
task
.
fetchCapture
);
// 获取验证码
gjj
Router
.
post
(
'/callback'
,
controller
.
task
.
handleCallback
);
// 处理回调结果,不对外
yys
Router
.
post
(
'/callback'
,
controller
.
task
.
handleCallback
);
// 处理回调结果,不对外
// gjjRouter.get('/scripts', controller.script.fetchScripts); // 获取所有脚本信息
yysRouter
.
post
(
'/dataCallback'
,
controller
.
task
.
dataCallback
);
// 数据处理完成结果,不对外
// gjjRouter.get('/scripts/:phone');// 手机号获取脚本信息
// yysRouter.get('/scripts', controller.script.fetchScripts); // 获取所有脚本信息
// gjjRouter.get('/scripts/:scriptId', controller.script.fetchOneScripts); // 获取单一脚本信息
gjjRouter
.
get
(
'/help/:scriptId'
,
controller
.
script
.
fetchHelpInfo
);
// 获取帮助信息
// yysRouter.get('/scripts/:phone');// 手机号获取脚本信息
gjjRouter
.
get
(
'/notice/:scriptId'
,
controller
.
script
.
fetchNoticeInfo
);
// 获取提示信息
// yysRouter.get('/scripts/:scriptId', controller.script.fetchOneScripts); // 获取单一脚本信息
gjjRouter
.
get
(
'/query_button/:scriptId'
,
controller
.
script
.
fetchQueryButtonInfo
);
// 获取查询按钮信息
gjjRouter
.
get
(
'/params'
,
controller
.
script
.
fetchParamsInfo
);
// 获取登录参数字典
yysRouter
.
get
(
'/help/:scriptId'
,
controller
.
script
.
fetchHelpInfo
);
// 获取帮助信息
gjjRouter
.
post
(
'/tokens'
,
controller
.
token
.
create
);
// 创建token
yysRouter
.
get
(
'/notice/:scriptId'
,
controller
.
script
.
fetchNoticeInfo
);
// 获取提示信息
gjjRouter
.
post
(
'/orders'
,
controller
.
order
.
create
);
// 创建订单号
yysRouter
.
get
(
'/query_button/:scriptId'
,
controller
.
script
.
fetchQueryButtonInfo
);
// 获取查询按钮信息
gjjRouter
.
get
(
'/hubs/:phone/scripts'
,
controller
.
script
.
fetchHubSeripts
);
// 根据phone 获取脚本数据(数组)
yysRouter
.
get
(
'/params'
,
controller
.
script
.
fetchParamsInfo
);
// 获取登录参数字典
yysRouter
.
post
(
'/tokens'
,
controller
.
token
.
create
);
// 创建token
yysRouter
.
post
(
'/orders'
,
controller
.
order
.
create
);
// 创建订单号
gjjRouter
.
get
(
'/theme/:appKey'
,
controller
.
partner
.
show
);
// 根据appkey查询合作方主题
yysRouter
.
get
(
'/hubs/:phone/scripts'
,
controller
.
script
.
fetchHubSeripts
);
// 根据phone 获取脚本数据(数组)
gjjRouter
.
get
(
'/agreements/:id'
,
controller
.
partner
.
fetchAgreements
);
// 查询协议
yysRouter
.
get
(
'/theme/:appKey'
,
controller
.
partner
.
show
);
// 根据appkey查询合作方主题
gjjRouter
.
post
(
'/getToken'
,
controller
.
token
.
partnerCreate
);
// 合作方创建token
yysRouter
.
get
(
'/agreements/:id'
,
controller
.
partner
.
fetchAgreements
);
// 查询协议
gjjRouter
.
post
(
'/getOrderSn'
,
controller
.
order
.
fetchOrderId
);
// 合作方获取订单号
yysRouter
.
post
(
'/getToken'
,
controller
.
token
.
partnerCreate
);
// 合作方创建token
gjjRouter
.
post
(
'/getThxdData'
,
controller
.
order
.
partnerShow
);
// 合作方获取订单数据
yysRouter
.
post
(
'/getOrderSn'
,
controller
.
order
.
fetchOrderId
);
// 合作方获取订单号
// gjjRouter.get('/orderData/:appKey/:orderId', controller.order.orderShow);// 获取展示页面数据
yysRouter
.
post
(
'/getThxdData'
,
controller
.
order
.
partnerShow
);
// 合作方获取订单数据
// yysRouter.get('/orderData/:appKey/:orderId', controller.order.orderShow);// 获取展示页面数据
};
};
app/service/order.js
View file @
e7a260ca
...
@@ -3,10 +3,10 @@
...
@@ -3,10 +3,10 @@
const
Service
=
require
(
'egg'
).
Service
;
const
Service
=
require
(
'egg'
).
Service
;
class
OrderService
extends
Service
{
class
OrderService
extends
Service
{
async
getOneByOrderId
(
orderId
)
{
async
getOneByOrderId
(
params
)
{
const
{
ctx
}
=
this
;
const
{
ctx
}
=
this
;
const
order
=
await
ctx
.
model
.
TaskStatus
.
findOne
({
const
order
=
await
ctx
.
model
.
TaskStatus
.
findOne
({
where
:
{
orderId
}
,
where
:
params
,
});
});
return
order
;
return
order
;
}
}
...
...
app/service/partner.js
View file @
e7a260ca
...
@@ -120,10 +120,11 @@ class PartnerService extends Service {
...
@@ -120,10 +120,11 @@ class PartnerService extends Service {
return
ret
.
data
;
return
ret
.
data
;
}
}
async
notice
(
order
)
{
async
notice
(
order
,
state
)
{
const
{
ctx
}
=
this
;
const
{
ctx
,
service
}
=
this
;
const
{
orderId
,
notifyUrl
,
userId
,
notice
}
=
order
;
const
{
orderId
,
notifyUrl
,
userId
,
notice
}
=
order
;
if
(
notifyUrl
&&
notice
!==
'1'
)
{
const
dbRes
=
await
service
.
order
.
getOneByOrderId
({
orderId
,
notice
:
1
});
if
(
!
dbRes
&&
notifyUrl
&&
notice
!==
'1'
)
{
const
ret
=
await
ctx
.
curl
(
notifyUrl
,
{
const
ret
=
await
ctx
.
curl
(
notifyUrl
,
{
charset
:
'utf-8'
,
charset
:
'utf-8'
,
timeout
:
[
30000
,
30000
],
timeout
:
[
30000
,
30000
],
...
@@ -132,7 +133,7 @@ class PartnerService extends Service {
...
@@ -132,7 +133,7 @@ class PartnerService extends Service {
data
:
{
data
:
{
orderId
,
orderId
,
userId
,
userId
,
status
:
'success'
,
status
:
state
,
},
},
}
}
);
);
...
...
app/service/washData.js
View file @
e7a260ca
...
@@ -7,16 +7,20 @@ class WashDataService extends Service {
...
@@ -7,16 +7,20 @@ class WashDataService extends Service {
super
(
ctx
);
super
(
ctx
);
const
{
config
}
=
this
;
const
{
config
}
=
this
;
this
.
washUrl
=
config
.
washAPI
.
host
+
config
.
washAPI
.
washUrl
;
this
.
washUrl
=
config
.
washAPI
.
host
+
config
.
washAPI
.
washUrl
;
this
.
clearGjj
=
[
'ID'
,
'phone'
,
'birthday'
,
'email'
,
'address'
,
'card'
,
'deposit_base'
,
'person_rate'
,
'company_rate'
,
'marriage'
,
'sex'
,
'company_id'
];
this
.
callbackUrl
=
config
.
dataCallbackUrl
;
this
.
clearLoan
=
[
'name'
,
'ID'
,
'warning_rate'
,
'fund_date'
,
'bank'
,
'phone'
,
'address'
,
'past_due'
,
'past_principle'
,
'past_interest'
,
'past_period'
,
'history_past_period'
,
'history_past_amount'
,
'assure_style'
,
'house_type'
,
'debit_account'
,
'left_period'
];
}
}
async
wash
(
data
)
{
async
wash
(
data
,
orderId
)
{
const
{
app
,
washUrl
,
ctx
}
=
this
;
const
{
app
,
washUrl
,
ctx
}
=
this
;
const
rawdata
=
this
.
_switchData
(
data
);
const
rawdata
=
{
data
,
callbackUrl
:
this
.
callbackUrl
,
orderId
,
netMark
:
0
,
};
const
washData
=
await
app
.
curl
(
washUrl
,
const
washData
=
await
app
.
curl
(
washUrl
,
{
{
charset
:
'utf-8'
,
charset
:
'utf-8'
,
timeout
:
[
3000
0
,
30
000
],
timeout
:
[
3000
,
3
000
],
dataType
:
'json'
,
dataType
:
'json'
,
data
:
rawdata
,
data
:
rawdata
,
method
:
'post'
,
method
:
'post'
,
...
@@ -26,14 +30,6 @@ class WashDataService extends Service {
...
@@ -26,14 +30,6 @@ class WashDataService extends Service {
ctx
.
logger
.
error
(
`【washData】url
${
washUrl
}
,params`
,
rawdata
,
washData
);
ctx
.
logger
.
error
(
`【washData】url
${
washUrl
}
,params`
,
rawdata
,
washData
);
throw
new
Error
(
'清洗数据出错'
);
throw
new
Error
(
'清洗数据出错'
);
}
}
if
(
washData
.
data
.
code
!==
0
)
{
ctx
.
logger
.
error
(
`【washData】url
${
washUrl
}
,params`
,
rawdata
,
washData
.
data
);
throw
new
Error
(
'清洗数据出错'
);
}
washData
.
data
.
data
.
general_analyzed_data
.
overdueClassify
=
{};
washData
.
data
.
data
.
general_analyzed_data
.
loanClassify
=
{};
washData
.
data
.
data
.
general_analyzed_data
.
blacklist
=
{};
return
washData
.
data
;
return
washData
.
data
;
}
}
...
@@ -47,25 +43,6 @@ class WashDataService extends Service {
...
@@ -47,25 +43,6 @@ class WashDataService extends Service {
bar
.
appKey
=
''
;
bar
.
appKey
=
''
;
return
bar
;
return
bar
;
}
}
dealData
(
data
,
passID
=
false
)
{
const
{
clearGjj
,
clearLoan
}
=
this
;
delete
data
.
data
.
general_analyzed_data
;
for
(
const
gjjItem
of
data
.
data
.
gjj_data
)
{
for
(
const
text
of
clearGjj
)
{
if
(
!
(
passID
&&
text
===
'ID'
))
{
delete
gjjItem
.
gjj_brief
[
text
];
}
}
delete
gjjItem
.
gjj_account_analyzed_data
;
}
for
(
const
loanItem
of
data
.
data
.
loan_data
)
{
for
(
const
text
of
clearLoan
)
{
delete
loanItem
.
loan_brief
[
text
];
}
}
return
data
;
}
}
}
module
.
exports
=
WashDataService
;
module
.
exports
=
WashDataService
;
config/config.local.js
View file @
e7a260ca
...
@@ -101,6 +101,7 @@ module.exports = () => {
...
@@ -101,6 +101,7 @@ module.exports = () => {
config
.
callbackUrl
=
'https://dev-nginx.jianbing.com/yysh5/callback'
;
config
.
callbackUrl
=
'https://dev-nginx.jianbing.com/yysh5/callback'
;
config
.
dataCallbackUrl
=
'https://dev-nginx.jianbing.com/yysh5/dataCallback'
;
return
config
;
return
config
;
};
};
config/config.prod.js
View file @
e7a260ca
...
@@ -103,6 +103,7 @@ module.exports = () => {
...
@@ -103,6 +103,7 @@ module.exports = () => {
};
};
config
.
callbackUrl
=
process
.
env
.
CALLBACK_URL
||
'https://dev-nginx.jianbing.com/yysh5/callback'
;
config
.
callbackUrl
=
process
.
env
.
CALLBACK_URL
||
'https://dev-nginx.jianbing.com/yysh5/callback'
;
config
.
dataCallbackUrl
=
process
.
env
.
DATACALLBACK_URL
||
'https://dev-nginx.jianbing.com/yysh5/dataCallback'
;
return
config
;
return
config
;
};
};
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