Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
model_mvp
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
decision-science
model_mvp
Commits
fe53f03e
Commit
fe53f03e
authored
Apr 23, 2019
by
linfang.wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提取业务数据OK
parent
80ece739
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
11 deletions
+12
-11
xyqbdata.py
data/samples/xyqbdata.py
+12
-11
No files found.
data/samples/xyqbdata.py
View file @
fe53f03e
...
@@ -2,7 +2,7 @@ import pandas as pd
...
@@ -2,7 +2,7 @@ import pandas as pd
from
data.datasource.mysqldb
import
*
from
data.datasource.mysqldb
import
*
from
data.samples
import
mysqlquery
from
data.samples
import
mysqlquery
'''
'''
目的:提供业务数据,包括 order_no,loan_id,用户类型
【直接使用risk_info】
,渠道,申请时间,拒绝原因,首逾天数,最大逾期天数,放款期数
目的:提供业务数据,包括 order_no,loan_id,用户类型
,支持策略用risk_info
,渠道,申请时间,拒绝原因,首逾天数,最大逾期天数,放款期数
'''
'''
...
@@ -12,10 +12,11 @@ def query_risk_info(order_nos):
...
@@ -12,10 +12,11 @@ def query_risk_info(order_nos):
:param order_nos:
:param order_nos:
:return:order_no,user_loan_type-- 策略使用的用户类型,审核拒绝原因,是否黑名单拒绝或其他拒绝
:return:order_no,user_loan_type-- 策略使用的用户类型,审核拒绝原因,是否黑名单拒绝或其他拒绝
'''
'''
# audit_result :1: 通过,其他未通过
res
=
[]
res
=
[]
sql
=
'''
sql
=
'''
select biz_no as order_no,
select biz_no as order_no,
ifnull(JSON_EXTRACT(audit_context_data, '$.user_loan_type_v3'),
ifnull(JSON_EXTRACT(
audit_context_data, '$.user_loan_type_v3'),
JSON_EXTRACT(audit_context_data, '$.user_loan_type_v4')) as user_loan_type,
JSON_EXTRACT(audit_context_data, '$.user_loan_type_v4')) as user_loan_type,
JSON_EXTRACT(audit_context_data, '$.filter_info_in_black') qg_black,
JSON_EXTRACT(audit_context_data, '$.filter_info_in_black') qg_black,
JSON_EXTRACT(audit_context_data, '$."third_data_source#xy_neg_code"') as xy_black,
JSON_EXTRACT(audit_context_data, '$."third_data_source#xy_neg_code"') as xy_black,
...
@@ -28,11 +29,11 @@ def query_risk_info(order_nos):
...
@@ -28,11 +29,11 @@ def query_risk_info(order_nos):
res
.
append
(
pd
.
read_sql
(
sql
%
str
(
tuple
(
order_nos
[
i
:
i
+
1000
])),
engine_risk
))
res
.
append
(
pd
.
read_sql
(
sql
%
str
(
tuple
(
order_nos
[
i
:
i
+
1000
])),
engine_risk
))
df
=
pd
.
concat
(
res
)
df
=
pd
.
concat
(
res
)
df
.
drop_duplicates
([
'order_no'
],
inplace
=
True
)
df
.
drop_duplicates
([
'order_no'
],
inplace
=
True
)
df
[
're
fuse'
]
=
'其他
'
df
[
're
ason'
]
=
'未知
'
df
.
loc
[
df
.
audit_result
==
1
,
're
fuse
'
]
=
'审核通过'
df
.
loc
[
df
.
audit_result
==
1
,
're
ason
'
]
=
'审核通过'
df
.
loc
[(
df
.
audit_result
!=
1
)
&
(
df
.
qg_black
>
0
),
're
fuse
'
]
=
'命中QG黑名单'
df
.
loc
[(
df
.
audit_result
!=
1
)
&
(
df
.
qg_black
>
0
),
're
ason
'
]
=
'命中QG黑名单'
df
.
loc
[(
df
.
audit_result
!=
1
)
&
(
df
.
xy_black
==
'0'
),
're
fuse
'
]
=
'命中新颜黑名单'
df
.
loc
[(
df
.
audit_result
!=
1
)
&
(
df
.
xy_black
==
'0'
),
're
ason
'
]
=
'命中新颜黑名单'
return
df
[[
'order_no'
,
'uesr_loan_type'
,
're
fuse
'
]]
return
df
[[
'order_no'
,
'uesr_loan_type'
,
're
ason
'
]]
def
query_byloanid
(
loan_ids
):
def
query_byloanid
(
loan_ids
):
'''
'''
...
@@ -42,7 +43,7 @@ def query_byloanid(loan_ids):
...
@@ -42,7 +43,7 @@ def query_byloanid(loan_ids):
'''
'''
sql
=
'''
sql
=
'''
select t1.loan_id,t1.user_id,t2.order_no,t2.contract_term,if(t2.term_no==1,t2.passdue_day,null) as passdue_day,
select t1.loan_id,t1.user_id,t2.order_no,t2.contract_term,if(t2.term_no==1,t2.passdue_day,null) as passdue_day,
t1.applied_at,t1.applied_type,t1.applied_channel,if(t2.loan_id is not null,'已放款',if(t1.approval==1,'审核通过','审核未通过')) as re
ason
,
t1.applied_at,t1.applied_type,t1.applied_channel,if(t2.loan_id is not null,'已放款',if(t1.approval==1,'审核通过','审核未通过')) as re
fuse
,
max(t2.passdue_day) as max_passdue_day
max(t2.passdue_day) as max_passdue_day
from loan_application t1
from loan_application t1
left join loan_repay t2 on t1.loan_id=t2.loan_id and t2.repayment_status!=4
left join loan_repay t2 on t1.loan_id=t2.loan_id and t2.repayment_status!=4
...
@@ -68,7 +69,7 @@ def query_by_orderno(order_nos):
...
@@ -68,7 +69,7 @@ def query_by_orderno(order_nos):
'''
'''
sql
=
'''
sql
=
'''
select t1.loan_id,t1.user_id,t2.order_no,t2.contract_term,if(t2.term_no==1,t2.passdue_day,null) as passdue_day,
select t1.loan_id,t1.user_id,t2.order_no,t2.contract_term,if(t2.term_no==1,t2.passdue_day,null) as passdue_day,
t1.applied_at,t1.applied_type,t1.applied_channel,if(t2.loan_id is not null,'已放款',if(t1.approval==1,'审核通过','审核未通过')) as re
ason
,
t1.applied_at,t1.applied_type,t1.applied_channel,if(t2.loan_id is not null,'已放款',if(t1.approval==1,'审核通过','审核未通过')) as re
fuse
,
max(t2.passdue_day) as max_passdue_day
max(t2.passdue_day) as max_passdue_day
from loan_application t1
from loan_application t1
left join loan_repay t2 on t1.loan_id=t2.loan_id and t2.repayment_status!=4
left join loan_repay t2 on t1.loan_id=t2.loan_id and t2.repayment_status!=4
...
@@ -97,7 +98,7 @@ def query_bydate(start_date,end_date,is_loan=True):
...
@@ -97,7 +98,7 @@ def query_bydate(start_date,end_date,is_loan=True):
if
is_loan
:
if
is_loan
:
sql
=
'''
sql
=
'''
select t1.loan_id,t1.user_id,t2.order_no,t2.contract_term,if(t2.term_no==1,t2.passdue_day,null) as passdue_day,
select t1.loan_id,t1.user_id,t2.order_no,t2.contract_term,if(t2.term_no==1,t2.passdue_day,null) as passdue_day,
t1.applied_at,t1.applied_type,t1.applied_channel,if(t2.loan_id is not null,'已放款',if(t1.approval==1,'审核通过','审核未通过')) as re
ason
,
t1.applied_at,t1.applied_type,t1.applied_channel,if(t2.loan_id is not null,'已放款',if(t1.approval==1,'审核通过','审核未通过')) as re
fuse
,
max(t2.passdue_day) as max_passdue_day
max(t2.passdue_day) as max_passdue_day
from loan_application t1
from loan_application t1
join loan_repay t2 on t1.loan_id=t2.loan_id and t2.repayment_status!=4
join loan_repay t2 on t1.loan_id=t2.loan_id and t2.repayment_status!=4
...
@@ -108,7 +109,7 @@ def query_bydate(start_date,end_date,is_loan=True):
...
@@ -108,7 +109,7 @@ def query_bydate(start_date,end_date,is_loan=True):
else
:
else
:
sql
=
'''
sql
=
'''
select t1.loan_id,t1.user_id,t2.order_no,t2.contract_term,if(t2.term_no==1,t2.passdue_day,null) as passdue_day,
select t1.loan_id,t1.user_id,t2.order_no,t2.contract_term,if(t2.term_no==1,t2.passdue_day,null) as passdue_day,
t1.applied_at,t1.applied_type,t1.applied_channel,if(t2.loan_id is not null,'已放款',if(t1.approval==1,'审核通过','审核未通过')) as re
ason
,
t1.applied_at,t1.applied_type,t1.applied_channel,if(t2.loan_id is not null,'已放款',if(t1.approval==1,'审核通过','审核未通过')) as re
fuse
,
max(t2.passdue_day) as max_passdue_day
max(t2.passdue_day) as max_passdue_day
from loan_application t1
from loan_application t1
left join loan_repay t2 on t1.loan_id=t2.loan_id and t2.repayment_status!=4
left join loan_repay t2 on t1.loan_id=t2.loan_id and t2.repayment_status!=4
...
...
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