Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qg-bl-service
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
data-spider
qg-bl-service
Commits
08d9d4e6
Commit
08d9d4e6
authored
Apr 28, 2020
by
郝彦辉
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
原因code码表修改,结果表数据修改
parent
e60adb61
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
224 additions
and
11 deletions
+224
-11
BlackGreyListResult.java
...ository/mybatis/entity/blacklist/BlackGreyListResult.java
+2
-0
BlackListToolsManagerServiceImpl.java
...ervice/service/impl/BlackListToolsManagerServiceImpl.java
+149
-9
JdbcExecuters.java
...a/cn/quantgroup/qgblservice/utils/jdbc/JdbcExecuters.java
+73
-2
No files found.
src/main/java/cn/quantgroup/qgblservice/repository/mybatis/entity/blacklist/BlackGreyListResult.java
View file @
08d9d4e6
...
...
@@ -43,6 +43,8 @@ public class BlackGreyListResult implements Serializable {
@JsonIgnore
private
Timestamp
updatedAt
;
private
Long
Id
;
public
static
Set
<
String
>
typesToSet
(
String
oldTypesStr
,
String
newType
){
...
...
src/main/java/cn/quantgroup/qgblservice/service/impl/BlackListToolsManagerServiceImpl.java
View file @
08d9d4e6
package
cn
.
quantgroup
.
qgblservice
.
service
.
impl
;
import
cn.quantgroup.qgblservice.constant.Constant
;
import
cn.quantgroup.qgblservice.repository.mybatis.entity.blacklist.BlackGreyListDetails
;
import
cn.quantgroup.qgblservice.repository.mybatis.entity.blacklist.BlackGreyListQueryVo
;
import
cn.quantgroup.qgblservice.repository.mybatis.entity.blacklist.BlackGreyListResult
;
import
cn.quantgroup.qgblservice.repository.mybatis.entity.blacklist.BlackListChannelExpireConfigVo0
;
import
cn.quantgroup.qgblservice.repository.mybatis.entity.blacklist.*
;
import
cn.quantgroup.qgblservice.repository.mybatis.entity.tidb.BlackListQueryTidbVo0
;
import
cn.quantgroup.qgblservice.repository.mybatis.entity.tidb.TmpBlackGreyList
;
import
cn.quantgroup.qgblservice.repository.mybatis.entity.tidb.TmpBlackGreyListRowMapper
;
...
...
@@ -531,9 +528,13 @@ public class BlackListToolsManagerServiceImpl implements IBlackListToolsManagerS
blackGreyListService
.
updateBlackListOverdueDay
();
}
else
if
(
"updat_detail_reasons"
.
equals
(
operatType
)){
updat_detail_reasons
();
}
else
if
(
"updat_result_reasons"
.
equals
(
operatType
)){
updat_result_reasons
();
}
else
{
...
...
@@ -1419,14 +1420,22 @@ public class BlackListToolsManagerServiceImpl implements IBlackListToolsManagerS
}
/**
* -----------------------------------------------------------------------------<br>
* 描 述: 批量修改详情表reason_code <br>
* 创建人: yanhui.Hao <br>
* 创建时间: 2020.04.28 10:38 <br>
* 最后修改人: <br>
* 最后修改时间: 2020.04.28 10:38 <br>
* 入参说明: <br>
* 出参说明: <br>
* -----------------------------------------------------------------------------
*/
private
void
updat_detail_reasons
()
{
long
totalStar
=
System
.
currentTimeMillis
();
String
sql_details_query
=
" select d.id, d.type, d.reason_code from black_grey_list_details d "
+
" WHERE id > ? AND id<=?;"
;
//int maxId = 11429420;
int
maxId
=
0
;
try
{
String
value
=
stringRedisTemplate
.
opsForValue
().
get
(
"UPDATE_HUITOHEI_MAXID_DETAIL"
);
...
...
@@ -1516,7 +1525,7 @@ public class BlackListToolsManagerServiceImpl implements IBlackListToolsManagerS
if
(
updateBeanList
.
size
()
>
0
)
{
totalUpdateCount
+=
updateBeanList
.
size
();
thisPageOk
=
JdbcExecuters
.
updateBatchExecute
(
updateBeanList
,
blackListJdbcTemplate
,
"updat_detail_reasons"
);
thisPageOk
=
JdbcExecuters
.
updateBatch
Detail
Execute
(
updateBeanList
,
blackListJdbcTemplate
,
"updat_detail_reasons"
);
totalOkCount
+=
thisPageOk
;
}
}
...
...
@@ -1526,10 +1535,141 @@ public class BlackListToolsManagerServiceImpl implements IBlackListToolsManagerS
log
.
info
(
"updat_detail_reasons()处理结束 page: {} , startId: {} , endId: {} , updateBeanList: {} , thisPageOk: {} , 耗时: {} <<<<<<------\n"
,
page
,
startId
,
endId
,
(
updateBeanList
!=
null
?
updateBeanList
.
size
()
:
0
),
thisPageOk
,
((
System
.
currentTimeMillis
()
-
thisPageStart
)
+
".ms"
));
}
}
log
.
info
(
"\n>>>>>>方法update_huiTohei_type10()处理 Method End, totalQueryCount: {} , totalUpdateCount: {} , totalOkCount: {} , total cost: {} <<<<<<"
,
totalQueryCount
,
totalUpdateCount
,
totalOkCount
,
(
System
.
currentTimeMillis
()
-
totalStar
)
+
".ms"
);
log
.
info
(
"\n>>>>>>updat_detail_reasons()处理 Method End, totalQueryCount: {} , totalUpdateCount: {} , totalOkCount: {} , total cost: {} <<<<<<"
,
totalQueryCount
,
totalUpdateCount
,
totalOkCount
,
(
System
.
currentTimeMillis
()
-
totalStar
)
+
".ms"
);
}
/**
* -----------------------------------------------------------------------------<br>
* 描 述: 批量修改结果表的reasons <br>
* 创建人: yanhui.Hao <br>
* 创建时间: 2020.04.28 10:36 <br>
* 最后修改人: <br>
* 最后修改时间: 2020.04.28 10:36 <br>
* 入参说明: <br>
* 出参说明: <br>
* -----------------------------------------------------------------------------
*/
private
void
updat_result_reasons
()
{
long
totalStar
=
System
.
currentTimeMillis
();
String
sql_details_query
=
" select r.id, r.r_id, r.types, r.reasons from black_grey_list_result r "
+
" WHERE id > ? AND id<=?;"
;
int
maxId
=
0
;
try
{
String
value
=
stringRedisTemplate
.
opsForValue
().
get
(
"UPDATE_HUITOHEI_MAXID_RESULT"
);
if
(
StringUtils
.
isNotEmpty
(
value
))
{
maxId
=
Integer
.
parseInt
(
value
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"获取redis里值异常, key: {} "
,
"UPDATE_HUITOHEI_MAXID_RESULT"
,
e
);
}
log
.
info
(
"updat_result_reasons()查询缓存, maxId : {} "
,
maxId
);
if
(
maxId
<=
0
)
{
return
;
}
int
totalQueryCount
=
0
,
totalUpdateCount
=
0
,
totalOkCount
=
0
;
int
totalPage
=
maxId
/
LIMIT_X
;
if
((
maxId
%
LIMIT_X
)
!=
0
)
{
totalPage
+=
1
;
}
int
startId
=
0
,
endId
=
0
;
for
(
int
page
=
1
;
page
<=
totalPage
;
page
++)
{
startId
=
(
page
-
1
)
*
LIMIT_X
;
endId
=
startId
+
LIMIT_X
;
long
thisPageStart
=
System
.
currentTimeMillis
();
List
<
BlackGreyListResult
>
updateBeanList
=
null
;
int
thisPageOk
=
0
;
try
{
log
.
info
(
"updat_result_reasons()处理开始 page: {} , startId: {} , endId: {} , totalPage: {} ------>>>>>>"
,
page
,
startId
,
endId
,
totalPage
);
List
<
BlackGreyListResult
>
tmpQueryList
=
blackListJdbcTemplate
.
query
(
sql_details_query
,
new
Object
[]{
startId
,
endId
},
new
RowMapper
<
BlackGreyListResult
>()
{
@Override
public
BlackGreyListResult
mapRow
(
ResultSet
rs
,
int
rowNum
)
throws
SQLException
{
BlackGreyListResult
bean
=
new
BlackGreyListResult
();
bean
.
setId
(
rs
.
getLong
(
"id"
));
bean
.
setRId
(
rs
.
getString
(
"r_id"
));
bean
.
setTypes
(
rs
.
getString
(
"types"
));
bean
.
setReasons
(
rs
.
getString
(
"reasons"
));
return
bean
;
}
});
if
(
tmpQueryList
!=
null
&&
tmpQueryList
.
size
()
>
0
)
{
totalQueryCount
=
totalQueryCount
+
tmpQueryList
.
size
();
updateBeanList
=
new
ArrayList
<>();
for
(
BlackGreyListResult
resultBean
:
tmpQueryList
)
{
if
(
resultBean
.
getReasons
()!=
null
){
List
<
ReasonsVo
>
reasonsList
=
null
;
try
{
reasonsList
=
JSON
.
parseArray
(
resultBean
.
getReasons
(),
ReasonsVo
.
class
);
}
catch
(
Exception
e
){
log
.
info
(
"reasons转换异常, bean: {} "
,
JSON
.
toJSONString
(
resultBean
));
}
if
(
reasonsList
!=
null
&&
reasonsList
.
size
()>
0
){
for
(
ReasonsVo
rvo
:
reasonsList
){
if
(
"1"
.
equals
(
rvo
.
getReason
())){
rvo
.
setReason
(
"B_001"
);
//"现金分期逾期大于15天,且仍然在逾"
}
else
if
(
"2"
.
equals
(
rvo
.
getReason
())){
rvo
.
setReason
(
"B_002"
);
//vcc逾期大于15天,且仍然在逾
}
else
if
(
"3"
.
equals
(
rvo
.
getReason
())){
rvo
.
setReason
(
"B_003"
);
//白条在逾
}
else
if
(
"4"
.
equals
(
rvo
.
getReason
())){
rvo
.
setReason
(
"B_004"
);
//恶意投诉客户
}
else
if
(
"5"
.
equals
(
rvo
.
getReason
())){
rvo
.
setReason
(
"G_001"
);
//历史老黑名单客户(除内部现金分期/vcc逾期大于15天以上且仍然在逾,白条在逾客户)
}
else
if
(
"6"
.
equals
(
rvo
.
getReason
())){
rvo
.
setReason
(
"G_002"
);
//发生过15天以上逾期已经结清的客户,从黑名单转标记为灰名单
}
}
resultBean
.
setReasons
(
JSON
.
toJSONString
(
reasonsList
));
updateBeanList
.
add
(
resultBean
);
}
}
}
if
(
updateBeanList
.
size
()
>
0
)
{
totalUpdateCount
+=
updateBeanList
.
size
();
thisPageOk
=
JdbcExecuters
.
updateBatchResultExecute
(
updateBeanList
,
blackListJdbcTemplate
,
"updat_result_reasons"
);
totalOkCount
+=
thisPageOk
;
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"updat_result_reasons()处理异常, page: {} , startId: {} , endId: {} "
,
page
,
startId
,
endId
,
e
);
}
finally
{
log
.
info
(
"updat_result_reasons()处理结束 page: {} , startId: {} , endId: {} , updateBeanList: {} , thisPageOk: {} , 耗时: {} <<<<<<------\n"
,
page
,
startId
,
endId
,
(
updateBeanList
!=
null
?
updateBeanList
.
size
()
:
0
),
thisPageOk
,
((
System
.
currentTimeMillis
()
-
thisPageStart
)
+
".ms"
));
}
}
log
.
info
(
"\n>>>>>>updat_result_reasons()处理 Method End, totalQueryCount: {} , totalUpdateCount: {} , totalOkCount: {} , total cost: {} <<<<<<"
,
totalQueryCount
,
totalUpdateCount
,
totalOkCount
,
(
System
.
currentTimeMillis
()
-
totalStar
)
+
".ms"
);
}
/**
* -----------------------------------------------------------------------------<br>
* 描 述: 手动导入黑灰名单 <br>
* 创建人: yanhui.Hao <br>
* 创建时间: 2020.04.28 10:37 <br>
* 最后修改人: <br>
* 最后修改时间: 2020.04.28 10:37 <br>
* 入参说明: <br>
* 出参说明: <br>
* -----------------------------------------------------------------------------
*/
@Override
public
String
importBlackGrey
(
String
txtTableFile
)
{
List
<
String
>
contextList
=
ReadOrWriteTxt
.
readTxtList
(
txtTableFile
);
...
...
src/main/java/cn/quantgroup/qgblservice/utils/jdbc/JdbcExecuters.java
View file @
08d9d4e6
package
cn
.
quantgroup
.
qgblservice
.
utils
.
jdbc
;
import
cn.quantgroup.qgblservice.repository.mybatis.entity.blacklist.BlackGreyListDetails
;
import
cn.quantgroup.qgblservice.repository.mybatis.entity.blacklist.BlackGreyListResult
;
import
cn.quantgroup.qgblservice.repository.mybatis.entity.tidb.BlackListQueryTidbVo0
;
import
cn.quantgroup.qgblservice.repository.mybatis.entity.tidb.TmpBlackGreyList
;
import
cn.quantgroup.qgblservice.utils.MD5Util
;
...
...
@@ -256,8 +257,18 @@ public class JdbcExecuters {
return
atomicInteger
.
get
();
}
//批量修改灰名单详情表
public
static
int
updateBatchExecute
(
List
<
BlackGreyListDetails
>
detailsList
,
JdbcTemplate
jdbcTemplate
,
String
type
)
{
/**
* -----------------------------------------------------------------------------<br>
* 描 述: 批量修改灰名单详情表 <br>
* 创建人: yanhui.Hao <br>
* 创建时间: 2020.04.28 10:37 <br>
* 最后修改人: <br>
* 最后修改时间: 2020.04.28 10:37 <br>
* 入参说明: <br>
* 出参说明: <br>
* -----------------------------------------------------------------------------
*/
public
static
int
updateBatchDetailExecute
(
List
<
BlackGreyListDetails
>
detailsList
,
JdbcTemplate
jdbcTemplate
,
String
type
)
{
Connection
conn
=
null
;
PreparedStatement
ps
=
null
;
AtomicInteger
atomicInteger
=
new
AtomicInteger
();
...
...
@@ -307,6 +318,66 @@ public class JdbcExecuters {
return
atomicInteger
.
get
();
}
/**
* -----------------------------------------------------------------------------<br>
* 描 述: 批量修改灰名单-结果表 <br>
* 创建人: yanhui.Hao <br>
* 创建时间: 2020.04.28 10:37 <br>
* 最后修改人: <br>
* 最后修改时间: 2020.04.28 10:37 <br>
* 入参说明: <br>
* 出参说明: <br>
* -----------------------------------------------------------------------------
*/
public
static
int
updateBatchResultExecute
(
List
<
BlackGreyListResult
>
resultList
,
JdbcTemplate
jdbcTemplate
,
String
type
)
{
Connection
conn
=
null
;
PreparedStatement
ps
=
null
;
AtomicInteger
atomicInteger
=
new
AtomicInteger
();
String
sql_updat_result_reasons
=
"update black_grey_list_result r set r.reasons=? where r.id=? "
;
String
sql_run
=
""
;
if
(
"updat_result_reasons"
.
equals
(
type
)){
sql_run
=
sql_updat_result_reasons
;
}
else
{
new
SQLException
(
"参数错误,必须传!"
);
}
try
{
conn
=
jdbcTemplate
.
getDataSource
().
getConnection
();
ps
=
conn
.
prepareStatement
(
sql_run
);
conn
.
setAutoCommit
(
false
);
for
(
int
i
=
0
;
i
<
resultList
.
size
();
i
++)
{
if
(
"updat_result_reasons"
.
equals
(
type
)){
BlackGreyListResult
bean
=
resultList
.
get
(
i
);
ps
.
setString
(
1
,
bean
.
getReasons
());
ps
.
setLong
(
2
,
bean
.
getId
());
}
else
{
new
SQLException
(
"参数错误,必须传!"
);
}
ps
.
addBatch
();
atomicInteger
.
getAndIncrement
();
if
(
i
>
0
&&
i
%
500
==
0
)
{
ps
.
executeBatch
();
conn
.
commit
();
ps
.
clearBatch
();
}
}
ps
.
executeBatch
();
conn
.
commit
();
}
catch
(
Exception
e
)
{
log
.
error
(
"方法updateBatchExecute批量修改数据异常, type: {} "
,
type
,
e
);
return
0
;
}
finally
{
close
(
conn
,
ps
,
null
);
}
return
atomicInteger
.
get
();
}
/**
* 关闭资源
...
...
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