Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
finance-api
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-王博
finance-api
Commits
5633a3b2
Commit
5633a3b2
authored
Feb 16, 2017
by
Data-王博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
湖北消金 - 提前还款检查送盘文件 检查。
parent
1d9fc716
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
31 additions
and
18 deletions
+31
-18
HuBeiReturnDiscScheduler.java
...ntgroup/financial/scheduler/HuBeiReturnDiscScheduler.java
+31
-17
HuBeiServiceImpl.java
...n/quantgroup/financial/service/impl/HuBeiServiceImpl.java
+0
-1
No files found.
src/main/java/cn/quantgroup/financial/scheduler/HuBeiReturnDiscScheduler.java
View file @
5633a3b2
...
@@ -3,6 +3,7 @@ package cn.quantgroup.financial.scheduler;
...
@@ -3,6 +3,7 @@ package cn.quantgroup.financial.scheduler;
import
cn.quantgroup.financial.constant.HubeiCFCDataType
;
import
cn.quantgroup.financial.constant.HubeiCFCDataType
;
import
cn.quantgroup.financial.constant.HubeiCFCField
;
import
cn.quantgroup.financial.constant.HubeiCFCField
;
import
cn.quantgroup.financial.dao.IHuBeiCFCDao
;
import
cn.quantgroup.financial.dao.IHuBeiCFCDao
;
import
cn.quantgroup.financial.handler.IHuBeiDispatcher
;
import
cn.quantgroup.financial.model.huibeicfc.HuBeiCFCResponse
;
import
cn.quantgroup.financial.model.huibeicfc.HuBeiCFCResponse
;
import
cn.quantgroup.financial.model.huibeicfc.HuBeiDocName
;
import
cn.quantgroup.financial.model.huibeicfc.HuBeiDocName
;
import
cn.quantgroup.financial.model.huibeicfc.HuBeiHistory
;
import
cn.quantgroup.financial.model.huibeicfc.HuBeiHistory
;
...
@@ -45,6 +46,9 @@ public class HuBeiReturnDiscScheduler {
...
@@ -45,6 +46,9 @@ public class HuBeiReturnDiscScheduler {
@Autowired
@Autowired
private
IScheduledJudgeService
scheduledJudgeService
;
private
IScheduledJudgeService
scheduledJudgeService
;
@Autowired
private
IHuBeiDispatcher
huBeiHandlerDispatcher
;
/**
/**
* Seconds Minutes Hours DayofMonth Month DayofWeek
* Seconds Minutes Hours DayofMonth Month DayofWeek
...
@@ -105,10 +109,9 @@ public class HuBeiReturnDiscScheduler {
...
@@ -105,10 +109,9 @@ public class HuBeiReturnDiscScheduler {
HuBeiCFCResponse
compensationResponse
=
iHuBeiService
.
handleDiscData
(
HubeiCFCDataType
.
RETURN_BATCH_COMPENSATION
,
null
,
docCompensationId
,
currentReqNo
.
byteValue
());
HuBeiCFCResponse
compensationResponse
=
iHuBeiService
.
handleDiscData
(
HubeiCFCDataType
.
RETURN_BATCH_COMPENSATION
,
null
,
docCompensationId
,
currentReqNo
.
byteValue
());
Integer
maxReqNo
=
iHuBeiCFCDao
.
getMaxSeqNoByDocId
(
docAdvanceRepayId
);
Integer
maxReqNo
=
iHuBeiCFCDao
.
getMaxSeqNoByDocId
(
docAdvanceRepayId
);
if
(
maxReqNo
!=
null
&&
maxReqNo
.
compareTo
(
currentReqNo
)>
0
){
if
(
maxReqNo
!=
null
&&
maxReqNo
.
compareTo
(
currentReqNo
)>
0
){
currentReqNo
++;
logger
.
info
(
"start scheduleAdvanceRepay currentReqNo={},maxReqNo={},docAdvanceRepayId={}"
,
currentReqNo
,
maxReqNo
,
docAdvanceRepayId
);
logger
.
info
(
"start scheduleAdvanceRepay currentReqNo={},maxReqNo={},docAdvanceRepayId={}"
,
currentReqNo
,
maxReqNo
,
docAdvanceRepayId
);
ScheduleAdvanceRepay
scheduleAdvanceRepay
=
new
ScheduleAdvanceRepay
(
currentReqNo
,
maxReqNo
,
docAdvanceRepayId
);
ScheduleAdvanceRepay
scheduleAdvanceRepay
=
new
ScheduleAdvanceRepay
(
currentReqNo
,
maxReqNo
,
docAdvanceRepayId
);
scheduleAdvanceRepay
.
registerService
(
scheduledExecutorService
,
iHuBeiService
,
iHuBeiCFCDao
);
scheduleAdvanceRepay
.
registerService
(
scheduledExecutorService
,
iHuBeiService
,
iHuBeiCFCDao
,
huBeiHandlerDispatcher
);
scheduledExecutorService
.
schedule
(
scheduleAdvanceRepay
,
HubeiCFCField
.
thirtyMintes
,
TimeUnit
.
MINUTES
);
scheduledExecutorService
.
schedule
(
scheduleAdvanceRepay
,
HubeiCFCField
.
thirtyMintes
,
TimeUnit
.
MINUTES
);
}
}
if
(
debitResponse
==
null
||
advanceResponse
==
null
||
compensationResponse
==
null
){
if
(
debitResponse
==
null
||
advanceResponse
==
null
||
compensationResponse
==
null
){
...
@@ -123,6 +126,7 @@ class ScheduleAdvanceRepay implements Runnable{
...
@@ -123,6 +126,7 @@ class ScheduleAdvanceRepay implements Runnable{
private
Integer
maxReqNo
;
private
Integer
maxReqNo
;
private
Long
docAdvanceRepayId
;
private
Long
docAdvanceRepayId
;
private
IApiScheduledExecutorService
scheduledExecutorService
;
private
IApiScheduledExecutorService
scheduledExecutorService
;
private
IHuBeiDispatcher
huBeiHandlerDispatcher
;
private
IHuBeiService
iHuBeiService
;
private
IHuBeiService
iHuBeiService
;
private
IHuBeiCFCDao
iHuBeiCFCDao
;
private
IHuBeiCFCDao
iHuBeiCFCDao
;
...
@@ -133,10 +137,12 @@ class ScheduleAdvanceRepay implements Runnable{
...
@@ -133,10 +137,12 @@ class ScheduleAdvanceRepay implements Runnable{
this
.
maxReqNo
=
maxReqNo
;
this
.
maxReqNo
=
maxReqNo
;
this
.
docAdvanceRepayId
=
docId
;
this
.
docAdvanceRepayId
=
docId
;
}
}
public
void
registerService
(
IApiScheduledExecutorService
scheduledExecutorService
,
IHuBeiService
iHuBeiService
,
IHuBeiCFCDao
iHuBeiCFCDao
){
public
void
registerService
(
IApiScheduledExecutorService
scheduledExecutorService
,
IHuBeiService
iHuBeiService
,
IHuBeiCFCDao
iHuBeiCFCDao
,
IHuBeiDispatcher
huBeiHandlerDispatcher
){
this
.
scheduledExecutorService
=
scheduledExecutorService
;
this
.
scheduledExecutorService
=
scheduledExecutorService
;
this
.
iHuBeiService
=
iHuBeiService
;
this
.
iHuBeiService
=
iHuBeiService
;
this
.
iHuBeiCFCDao
=
iHuBeiCFCDao
;
this
.
iHuBeiCFCDao
=
iHuBeiCFCDao
;
this
.
huBeiHandlerDispatcher
=
huBeiHandlerDispatcher
;
}
}
...
@@ -146,19 +152,20 @@ class ScheduleAdvanceRepay implements Runnable{
...
@@ -146,19 +152,20 @@ class ScheduleAdvanceRepay implements Runnable{
logger
.
info
(
"ScheduleAdvanceRepay method start"
);
logger
.
info
(
"ScheduleAdvanceRepay method start"
);
logger
.
info
(
"currentReqNo={},maxReqNo={},docAdvanceRepayId={}"
,
currentReqNo
,
maxReqNo
,
docAdvanceRepayId
);
logger
.
info
(
"currentReqNo={},maxReqNo={},docAdvanceRepayId={}"
,
currentReqNo
,
maxReqNo
,
docAdvanceRepayId
);
//先前的reqNo
//先前的reqNo
Integer
preReqNo
=
currentReqNo
-
1
;
String
docName
=
HubeiCFCUtil
.
getDocName
(
HubeiCFCDataType
.
RETURN_ADVANCE_REPAYMENT
,
currentReqNo
.
byteValue
());
String
docName
=
HubeiCFCUtil
.
getDocName
(
HubeiCFCDataType
.
RETURN_ADVANCE_REPAYMENT
,
preReqNo
.
byteValue
());
HuBeiCFCResponse
response
=
iHuBeiService
.
handleDiscData
(
HubeiCFCDataType
.
SEND_ADVANCE_REPAYMENT_CHECK
,
docName
,
null
,
currentReqNo
.
byteValue
());
HuBeiCFCResponse
response
=
iHuBeiService
.
handleDiscData
(
HubeiCFCDataType
.
SEND_ADVANCE_REPAYMENT_CHECK
,
docName
,
null
,
preReqNo
.
byteValue
());
//检查提前还款送盘文件 成功
//检查提前还款送盘文件 成功
if
(
response
!=
null
&&
HubeiCFCField
.
EC_SUCCESS_CODE
.
equals
(
response
.
getEc
())){
if
(
response
!=
null
&&
HubeiCFCField
.
EC_SUCCESS_CODE
.
equals
(
response
.
getEc
())){
if
(
currentReqNo
.
compareTo
(
maxReqNo
)>=
0
){
checkAdvanceRepayResponse
(
response
.
getFileId
());
if
(
currentReqNo
.
compareTo
(
maxReqNo
)<
0
){
//下一批次提前还款文件
//下一批次提前还款文件
iHuBeiService
.
handleDiscData
(
HubeiCFCDataType
.
RETURN_ADVANCE_REPAYMENT
,
null
,
docAdvanceRepayId
,
currentReqNo
.
byteValue
());
currentReqNo
++;
currentReqNo
++;
iHuBeiService
.
handleDiscData
(
HubeiCFCDataType
.
RETURN_ADVANCE_REPAYMENT
,
null
,
docAdvanceRepayId
,
currentReqNo
.
byteValue
());
if
(
currentReqNo
.
compareTo
(
maxReqNo
)<=
0
){
if
(
currentReqNo
.
compareTo
(
maxReqNo
)<=
0
){
//30分钟后执行
//30分钟后执行
ScheduleAdvanceRepay
scheduleAdvanceRepay
=
new
ScheduleAdvanceRepay
(
currentReqNo
,
maxReqNo
,
docAdvanceRepayId
);
ScheduleAdvanceRepay
scheduleAdvanceRepay
=
new
ScheduleAdvanceRepay
(
currentReqNo
,
maxReqNo
,
docAdvanceRepayId
);
scheduleAdvanceRepay
.
registerService
(
scheduledExecutorService
,
iHuBeiService
,
iHuBeiCFCDao
);
scheduleAdvanceRepay
.
registerService
(
scheduledExecutorService
,
iHuBeiService
,
iHuBeiCFCDao
,
huBeiHandlerDispatcher
);
scheduledExecutorService
.
schedule
(
scheduleAdvanceRepay
,
HubeiCFCField
.
thirtyMintes
,
TimeUnit
.
MINUTES
);
scheduledExecutorService
.
schedule
(
scheduleAdvanceRepay
,
HubeiCFCField
.
thirtyMintes
,
TimeUnit
.
MINUTES
);
}
else
{
}
else
{
//都推送了 只要检查最后一批检验文件
//都推送了 只要检查最后一批检验文件
...
@@ -172,7 +179,7 @@ class ScheduleAdvanceRepay implements Runnable{
...
@@ -172,7 +179,7 @@ class ScheduleAdvanceRepay implements Runnable{
}
else
if
(
response
!=
null
&&
response
.
getEc
().
equals
(
HubeiCFCField
.
EC_FILENOTEXIST
))
{
}
else
if
(
response
!=
null
&&
response
.
getEc
().
equals
(
HubeiCFCField
.
EC_FILENOTEXIST
))
{
//未获取到提前还款检验文件 后续再轮序 10分钟
//未获取到提前还款检验文件 后续再轮序 10分钟
ScheduleAdvanceRepay
scheduleAdvanceRepay
=
new
ScheduleAdvanceRepay
(
currentReqNo
,
maxReqNo
,
docAdvanceRepayId
);
ScheduleAdvanceRepay
scheduleAdvanceRepay
=
new
ScheduleAdvanceRepay
(
currentReqNo
,
maxReqNo
,
docAdvanceRepayId
);
scheduleAdvanceRepay
.
registerService
(
scheduledExecutorService
,
iHuBeiService
,
iHuBeiCFCDao
);
scheduleAdvanceRepay
.
registerService
(
scheduledExecutorService
,
iHuBeiService
,
iHuBeiCFCDao
,
huBeiHandlerDispatcher
);
scheduledExecutorService
.
schedule
(
scheduleAdvanceRepay
,
HubeiCFCField
.
tenMinutes
,
TimeUnit
.
MINUTES
);
scheduledExecutorService
.
schedule
(
scheduleAdvanceRepay
,
HubeiCFCField
.
tenMinutes
,
TimeUnit
.
MINUTES
);
}
else
{
}
else
{
iHuBeiService
.
sendMailNotice
(
"回盘提前还款文件失败,请悉知 联系相关人员"
);
iHuBeiService
.
sendMailNotice
(
"回盘提前还款文件失败,请悉知 联系相关人员"
);
...
@@ -184,15 +191,22 @@ class ScheduleAdvanceRepay implements Runnable{
...
@@ -184,15 +191,22 @@ class ScheduleAdvanceRepay implements Runnable{
}
}
public
void
checkResponse
(
Long
docId
){
public
void
checkAdvanceRepayResponse
(
Long
docId
){
List
<
HuBeiHistory
>
checkHuBeiHistoryList
=
iHuBeiCFCDao
.
getListByDocNameId
(
docId
);
try
{
if
(!
CollectionUtils
.
isEmpty
(
checkHuBeiHistoryList
)){
List
<
HuBeiHistory
>
checkHuBeiHistoryList
=
iHuBeiCFCDao
.
getListByDocNameId
(
docId
);
for
(
HuBeiHistory
history:
checkHuBeiHistoryList
){
StringBuilder
errorStringBuilder
=
new
StringBuilder
();
HuBeiJsonBean
jsonBean
=
history
.
getData
();
if
(!
CollectionUtils
.
isEmpty
(
checkHuBeiHistoryList
)){
if
(!
HubeiCFCField
.
EC_SUCCESS_CODE
.
equals
(
jsonBean
.
getTradeCode
())){
for
(
HuBeiHistory
history:
checkHuBeiHistoryList
){
HuBeiJsonBean
jsonBean
=
history
.
getData
();
if
(!
HubeiCFCField
.
EC_SUCCESS_CODE
.
equals
(
jsonBean
.
getTradeCode
())){
errorStringBuilder
.
append
(
huBeiHandlerDispatcher
.
builder
(
HubeiCFCDataType
.
RETURN_ADVANCE_REPAYMENT
,
history
)).
append
(
"\r\n"
);
}
}
}
}
}
String
errorString
=
errorStringBuilder
.
toString
();
iHuBeiService
.
sendMailNotice
(
errorString
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
}
}
}
}
}
}
src/main/java/cn/quantgroup/financial/service/impl/HuBeiServiceImpl.java
View file @
5633a3b2
...
@@ -650,7 +650,6 @@ public class HuBeiServiceImpl implements IHuBeiService {
...
@@ -650,7 +650,6 @@ public class HuBeiServiceImpl implements IHuBeiService {
if
(
toUserArray
==
null
||
toUserArray
.
length
==
0
){
if
(
toUserArray
==
null
||
toUserArray
.
length
==
0
){
return
;
return
;
}
}
// String[] toUserArray = toNoticeUsers.split(SysConstant.verticalRegx);
SimpleMailMessage
message
=
new
SimpleMailMessage
();
SimpleMailMessage
message
=
new
SimpleMailMessage
();
message
.
setSentDate
(
new
Date
());
message
.
setSentDate
(
new
Date
());
message
.
setTo
(
toUserArray
);
message
.
setTo
(
toUserArray
);
...
...
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