Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
baihang-report
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
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
data-spider
baihang-report
Commits
ad865145
Commit
ad865145
authored
Jan 06, 2020
by
郝彦辉
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
助贷模式,增加数据同步工具
parent
376beae5
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
38 additions
and
55 deletions
+38
-55
ExZhuDaiBaiHangReSendController.java
.../controller/external/ExZhuDaiBaiHangReSendController.java
+17
-37
QuantGroupZhuDaiReportToBaiHang.java
...uantgroup/report/job/QuantGroupZhuDaiReportToBaiHang.java
+4
-4
SynLoanInfoHistoryTask.java
...java/cn/quantgroup/report/job/SynLoanInfoHistoryTask.java
+6
-6
BaiHangZhuDaiService.java
...antgroup/report/service/baihang/BaiHangZhuDaiService.java
+1
-1
DingTalk.java
...in/java/cn/quantgroup/report/utils/dingtalk/DingTalk.java
+10
-7
No files found.
src/main/java/cn/quantgroup/report/controller/external/ExZhuDaiBaiHangReSendController.java
View file @
ad865145
package
cn
.
quantgroup
.
report
.
controller
.
external
;
import
cn.quantgroup.report.job.SynLoanInfoHistoryTask
;
import
cn.quantgroup.report.response.GlobalResponse
;
import
cn.quantgroup.report.service.baihang.BaiHangZhuDaiService
;
import
cn.quantgroup.report.service.manualTool.ManualToolService
;
import
cn.quantgroup.report.utils.ReadOrWriteTxt
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
...
...
@@ -39,45 +41,23 @@ public class ExZhuDaiBaiHangReSendController {
@Autowired
BaiHangZhuDaiService
baiHangZhuDaiService
;
@Autowired
private
SynLoanInfoHistoryTask
synLoanInfoHistoryTask
;
/**
* 描述: 百行-助贷放款存量数据 整理 <br/>
* 参数: [startDate, noEndDate] 格式"2019-05-07T00:00:00" startDate是包括, noEndDate是不包括的 <br/>
* 返回值: cn.quantgroup.risk.datasource.response.GlobalResponse <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.23 <br/>
*/
/* @RequestMapping("/manual/build/zhudai/stockLoanInfo")
public GlobalResponse stockLoanInfoZhuDai(String startDate, String noEndDate){
String msg = baiHangZhuDaiService.stockLoanInfoZhuDai(startDate,noEndDate);
return GlobalResponse.generate(msg);
}*/
/**
* 描述: 百行-助贷还款&逾期存量数据 整理 <br/>
* 参数: [startDate, noEndDate] 格式"2019-05-07T00:00:00" startDate是包括, noEndDate是不包括的 <br/>
* 返回值: cn.quantgroup.risk.datasource.response.GlobalResponse <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.23 <br/>
*/
/*@RequestMapping("/manual/build/zhudai/stockRepayMentInfo")
public GlobalResponse stockRepayMentInfoZhuDai(String startDate, String noEndDate){
String msg = baiHangZhuDaiService.stockRepayMentInfoZhuDai(startDate,noEndDate);
return GlobalResponse.generate(msg);
}*/
@Autowired
private
ManualToolService
manualToolService
;
@RequestMapping
(
"/manual/synTable/historyAndplan"
)
public
String
historyAndplan
(
String
p3
,
String
secretKey
){
if
(
manualToolService
.
checkSecretKey
(
p3
,
secretKey
)){
//增量同步history和plan表数据
synLoanInfoHistoryTask
.
syn_historyAndplan_by_id
();
return
"historyAndplan任务调度完成"
;
}
else
{
return
"historyAndplan任务调度失败,参数错误"
;
}
}
/**
* 描述: 百行-助贷申请存量数据 整理 <br/>
* 参数: [startDate, noEndDate] 格式"2019-05-07T00:00:00" startDate是包括, noEndDate是不包括的 <br/>
* 返回值: cn.quantgroup.risk.datasource.response.GlobalResponse <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.28 <br/>
*/
/*@RequestMapping("/manual/build/zhudai/stockApplyInfo")
public GlobalResponse stockApplyInfoZhuDai(String startDate, String noEndDate){
String msg = baiHangZhuDaiService.stockApplyLoanInfoZhuDai(startDate,noEndDate);
return GlobalResponse.generate(msg);
}*/
//存量整理公共方法
@RequestMapping
(
"/manual/build/zhuDaiStockSyn"
)
...
...
src/main/java/cn/quantgroup/report/job/QuantGroupZhuDaiReportToBaiHang.java
View file @
ad865145
...
...
@@ -66,19 +66,19 @@ public class QuantGroupZhuDaiReportToBaiHang {
String
msg_A1
=
baiHangZhuDaiService
.
sendZhuDaiApplyToBaiHang
(
startnyr
,
endnyr
);
//生产 助贷-贷款申请 报送T+1 暂时先不报送C1 因为百行还没有开放查询接口
dingTalk
.
talk
(
"Info"
,
"报送"
+
startnyr
+
"申请A1结束"
,
msg_A1
);
if
(
msg_A1
.
indexOf
(
"[false]"
)!=-
1
){
dingTalk
.
talk_ToUser
(
"报送"
+
startnyr
+
"申请A1有部分失败,请尽快手动处理!"
);
dingTalk
.
talk_ToUser
(
"
申请A1报送失败"
,
"
报送"
+
startnyr
+
"申请A1有部分失败,请尽快手动处理!"
);
}
String
msg_D2
=
baiHangZhuDaiService
.
sendZhuDaiLoanToBaiHang
(
startnyr
,
endnyr
);
//生产 助贷-放款信息 报送T+1
dingTalk
.
talk
(
"Info"
,
"报送"
+
startnyr
+
"放款D2结束"
,
msg_D2
);
if
(
msg_D2
.
indexOf
(
"[false]"
)!=-
1
){
dingTalk
.
talk_ToUser
(
"报送"
+
startnyr
+
"放款D2有部分失败,请尽快手动处理!"
);
dingTalk
.
talk_ToUser
(
"
放款D2报送失败"
,
"
报送"
+
startnyr
+
"放款D2有部分失败,请尽快手动处理!"
);
}
String
msg_D3
=
baiHangZhuDaiService
.
sendZhuDaiRepaymentToBaiHang
(
startnyr
,
endnyr
);
//生产 助贷-还款&逾期信息 报送T+1
dingTalk
.
talk
(
"Info"
,
"报送"
+
startnyr
+
"还款D3结束"
,
msg_D3
);
if
(
msg_D3
.
indexOf
(
"[false]"
)!=-
1
){
dingTalk
.
talk_ToUser
(
"报送"
+
startnyr
+
"还款D3有部分失败,请尽快手动处理!"
);
dingTalk
.
talk_ToUser
(
"
还款D3报送失败"
,
"
报送"
+
startnyr
+
"还款D3有部分失败,请尽快手动处理!"
);
}
log
.
info
(
"量化派-助贷模式报送贷款信息结束, newTime: {}, 耗时: {} , msg: {} "
,
LocalDateTime
.
now
(),
stopwatch
.
stop
().
elapsed
(
TimeUnit
.
MILLISECONDS
),
(
msg_A1
+
msg_D2
+
msg_D3
));
...
...
@@ -86,7 +86,7 @@ public class QuantGroupZhuDaiReportToBaiHang {
}
catch
(
Exception
e
){
log
.
error
(
"量化派-助贷模式报送贷款信息异常, newTime: {}, 耗时: {} "
,
LocalDateTime
.
now
(),
stopwatch
.
stop
().
elapsed
(
TimeUnit
.
MILLISECONDS
),
e
);
dingTalk
.
talk
(
"Error"
,
"报送服务内部异常"
,
e
);
dingTalk
.
talk_ToUser
(
"报送服务内部异常,请尽快手动处理!"
);
dingTalk
.
talk_ToUser
(
"
数据报送异常"
,
"
报送服务内部异常,请尽快手动处理!"
);
}
}
else
{
...
...
src/main/java/cn/quantgroup/report/job/SynLoanInfoHistoryTask.java
View file @
ad865145
...
...
@@ -156,7 +156,7 @@ public class SynLoanInfoHistoryTask {
if
(
count
==
null
){
log
.
error
(
"表xyqb_i_loan_application_manifest_history查询增量count为Null."
);
dingTalk
.
talk
(
"Warn"
,
"同步[借款清单]数据失败"
,
"查询增量count为Null,请尽快处理!"
+
" bakMaxId: "
+
bakMaxId
+
", newMaxId: "
+
newMaxId
);
dingTalk
.
talk_ToUser
(
"同步[借款清单]表查询增量count为Null,停止T+1报送!发现问题,请及时处理!"
);
dingTalk
.
talk_ToUser
(
"
借款清单同步失败"
,
"
同步[借款清单]表查询增量count为Null,停止T+1报送!发现问题,请及时处理!"
);
return
false
;
}
...
...
@@ -203,7 +203,7 @@ public class SynLoanInfoHistoryTask {
return
true
;
}
else
{
dingTalk
.
talk
(
"Warn"
,
"同步[借款清单]数据失败"
,
"查询条数: "
+
count
+
",实际条数="
+
totalUpdate
+
", bakMaxId: "
+
bakMaxId
+
", newMaxId: "
+
newMaxId
);
dingTalk
.
talk_ToUser
(
"同步[借款清单]数据失败,停止T+1报送!发现问题,请及时处理!"
);
dingTalk
.
talk_ToUser
(
"
借款清单同步异常"
,
"
同步[借款清单]数据失败,停止T+1报送!发现问题,请及时处理!"
);
return
false
;
}
}
...
...
@@ -218,7 +218,7 @@ public class SynLoanInfoHistoryTask {
if
(
count
==
null
){
log
.
error
(
"表xyqb_i_repayment_plan查询增量count为Null."
);
dingTalk
.
talk
(
"Warn"
,
"同步[还款计划]数据失败"
,
"查询增量count为Null,请尽快处理!"
+
", bakMaxId: "
+
bakMaxId
+
", newMaxId: "
+
newMaxId
);
dingTalk
.
talk_ToUser
(
"同步[还款计划]表查询增量count为Null,停止T+1报送!发现问题,请及时处理!"
);
dingTalk
.
talk_ToUser
(
"
还款计划同步失败"
,
"
同步[还款计划]表查询增量count为Null,停止T+1报送!发现问题,请及时处理!"
);
return
false
;
}
...
...
@@ -268,7 +268,7 @@ public class SynLoanInfoHistoryTask {
return
true
;
}
else
{
dingTalk
.
talk
(
"Warn"
,
"同步[还款计划]数据失败"
,
"查询条数: "
+
count
+
",实际条数="
+
totalUpdate
+
", bakMaxId: "
+
bakMaxId
+
", newMaxId: "
+
newMaxId
);
dingTalk
.
talk_ToUser
(
"同步[还款计划]数据失败,停止T+1报送!发现问题,请及时处理!"
);
dingTalk
.
talk_ToUser
(
"
还款计划同步异常"
,
"
同步[还款计划]数据失败,停止T+1报送!发现问题,请及时处理!"
);
return
false
;
}
...
...
@@ -313,12 +313,12 @@ public class SynLoanInfoHistoryTask {
}
else
{
log
.
error
(
"增量同步xyqb_i_repayment_plan数据-历史id为空,停止同步! nowTime: {} , bakMaxId: {} , newMaxId: {} "
,
LocalDateTime
.
now
(),
bakMaxId
,
newMaxId
);
dingTalk
.
talk
(
"Warn"
,
"同步临时表数据失败"
,
"查询数据历史bakMaxId或newMaxId为空."
);
dingTalk
.
talk_ToUser
(
"查询数据历史bakMaxId或newMaxId为空,停止T+1报送!发现问题,请及时处理!"
);
dingTalk
.
talk_ToUser
(
"
数据同步异常2"
,
"
查询数据历史bakMaxId或newMaxId为空,停止T+1报送!发现问题,请及时处理!"
);
}
}
catch
(
Exception
e
){
log
.
error
(
"增量同步history和plan表数据异常, nowTime: {} "
,
LocalDateTime
.
now
(),
e
);
dingTalk
.
talk
(
"Error"
,
"同步history和plan表数据异常"
,
e
);
dingTalk
.
talk_ToUser
(
"同步history和plan表数据异常,停止T+1报送!发现问题,请及时处理!"
);
dingTalk
.
talk_ToUser
(
"
数据同步异常1"
,
"
同步history和plan表数据异常,停止T+1报送!发现问题,请及时处理!"
);
}
return
false
;
...
...
src/main/java/cn/quantgroup/report/service/baihang/BaiHangZhuDaiService.java
View file @
ad865145
...
...
@@ -437,6 +437,7 @@ public class BaiHangZhuDaiService {
log
.
error
(
"量化派助贷TO百行报送-还款信息异常, reqId_log: {} , recordId: {} , loanId: {} "
,
reqId_log
,
id
,
repaymentLoanInfo
.
getLoanId
(),
e
);
}
}
log
.
info
(
"量化派助贷TO百行报送-还款申请完成 J: {} , 开始时间: {} , 结束时间: {} , list大小: {} , 实际大小: {} , 跳过: {} , 报送成功大小: {} , 保存日志: {} , 耗时: {} "
,
j
,
startnyr
,
endnyr
,
repaymentLoanInfos
.
size
(),
totail_atomicInt
.
get
(),
tg_atomicInt
.
get
(),
succ_atomicInt
.
get
(),
saveLog_atomicInt
.
get
(),
(
sendWatch
.
stop
().
elapsed
(
TimeUnit
.
MILLISECONDS
)/
1000
)+
".s"
);
if
(
j
==
0
)
{
resMsg
+=
String
.
format
(
temp_huanKuan
,
repaymentLoanInfos
.
size
(),
(
repaymentLoanInfosLh
!=
null
?
repaymentLoanInfosLh
.
size
()
:
0
),
totail_atomicInt
.
get
(),
tg_atomicInt
.
get
(),
succ_atomicInt
.
get
(),
saveLog_atomicInt
.
get
());
...
...
@@ -446,7 +447,6 @@ public class BaiHangZhuDaiService {
}
resMsg
+=
"["
+
(
totail_atomicInt
.
get
()==
succ_atomicInt
.
get
())+
"]"
;
log
.
info
(
"量化派助贷TO百行报送-还款申请完成 J: {} , 开始时间: {} , 结束时间: {} , list大小: {} , 实际大小: {} , 跳过: {} , 报送成功大小: {} , 保存日志: {} , 耗时: {} "
,
j
,
startnyr
,
endnyr
,
repaymentLoanInfos
.
size
(),
totail_atomicInt
.
get
(),
tg_atomicInt
.
get
(),
succ_atomicInt
.
get
(),
saveLog_atomicInt
.
get
(),
(
sendWatch
.
stop
().
elapsed
(
TimeUnit
.
MILLISECONDS
)/
1000
)+
".s"
);
}
catch
(
Exception
e
)
{
log
.
error
(
"量化派助贷TO百行报送-异常 J: {} , 开始时间: {} , 结束时间: {} "
,
j
,
startnyr
,
endnyr
,
e
);
}
...
...
src/main/java/cn/quantgroup/report/utils/dingtalk/DingTalk.java
View file @
ad865145
...
...
@@ -13,11 +13,13 @@ import java.util.HashMap;
import
java.util.Map
;
/**
* @author :dongjianhua
* @date :Created in 2019/11/1 10:34
* @description:钉钉提醒
* @modified By:
* @version: 1.0
* -----------------------------------------------------------------------------<br>
* 描述: 量化派2百行钉钉提醒 <br>
* 作者:yanhui.Hao <br>
* 时间:2020.01.06 <br>
* 授权: (C) Copyright (c) 2017 <br>
* 公司: 北京众信利民信息技术有限公司 <br>
* -----------------------------------------------------------------------------
*/
@Component
@Slf4j
...
...
@@ -25,6 +27,7 @@ public class DingTalk {
@Autowired
private
IHttpService
iHttpService
;
public
static
final
String
talkUri
=
"https://alertserv-dataservice.quantgroup.cn/common/alert/dingtalk"
;
//量化派2百行
public
static
final
String
webHook
=
"https://oapi.dingtalk.com/robot/send?access_token=ef3cafb299ec6cb7442b2795d4d0c48e940756f7f267cfa895dbb419adb00128"
;
...
...
@@ -67,12 +70,12 @@ public class DingTalk {
}
@Async
public
void
talk_ToUser
(
String
msgContent
)
{
public
void
talk_ToUser
(
String
msg
Title
,
String
msg
Content
)
{
try
{
Map
<
String
,
String
>
param
=
new
HashMap
<>();
param
.
put
(
"webhook"
,
webHook
);
param
.
put
(
"alarmLevel"
,
"ERROE"
);
//
param
.
put
(
"msgTitle"
,
"量化派2百行:
数据同步失败"
);
param
.
put
(
"msgTitle"
,
"量化派2百行:
"
+
msgTitle
);
param
.
put
(
"msgContent"
,
msgContent
);
param
.
put
(
"toUsers"
,
"18010105506"
);
String
resp
=
iHttpService
.
post
(
talkUri
,
param
);
...
...
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