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
9ed8263f
Commit
9ed8263f
authored
Nov 20, 2019
by
郝彦辉
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
手动报送,自动化工具。
parent
efe8a960
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
325 additions
and
239 deletions
+325
-239
ManualToolController.java
...cn/quantgroup/report/controller/ManualToolController.java
+2
-20
ExZhuDaiBaiHangReSendController.java
.../controller/external/ExZhuDaiBaiHangReSendController.java
+9
-5
LoanInfoVo.java
.../java/cn/quantgroup/report/domain/baihang/LoanInfoVo.java
+0
-47
RepaymentLoanInfoLog.java
...uantgroup/report/domain/baihang/RepaymentLoanInfoLog.java
+3
-2
LoanInfoMapper.java
...a/cn/quantgroup/report/mapper/baihang/LoanInfoMapper.java
+2
-3
ApplyLoanInfoDbMapper.java
...uantgroup/report/mapper/master/ApplyLoanInfoDbMapper.java
+12
-0
RepaymentLoanInfoDbMapper.java
...group/report/mapper/master/RepaymentLoanInfoDbMapper.java
+2
-2
ManualToolService.java
...antgroup/report/service/manualTool/ManualToolService.java
+189
-116
ShellUtils.java
...a/cn/quantgroup/report/service/manualTool/ShellUtils.java
+1
-1
LoanInfoMapper.xml
...es/cn/quantgroup/report/mapper/baihang/LoanInfoMapper.xml
+50
-39
ApplyLoanInfoDbMapper.xml
...quantgroup/report/mapper/master/ApplyLoanInfoDbMapper.xml
+49
-0
RepaymentLoanInfoDbMapper.xml
...tgroup/report/mapper/master/RepaymentLoanInfoDbMapper.xml
+6
-4
No files found.
src/main/java/cn/quantgroup/report/controller/ManualToolController.java
View file @
9ed8263f
...
@@ -36,9 +36,9 @@ public class ManualToolController {
...
@@ -36,9 +36,9 @@ public class ManualToolController {
@RequestMapping
(
"/send/baihang"
)
@RequestMapping
(
"/send/baihang"
)
public
GlobalResponse
sendBaihang
(
String
p1
,
String
p2
,
String
p3
,
String
p4
,
String
p5
,
String
secretKey
,
String
isSend
,
String
errorCode
)
{
public
GlobalResponse
sendBaihang
(
String
p1
,
String
p2
,
String
p3
,
String
p4
,
String
p5
,
String
secretKey
,
String
isSend
,
String
errorCode
,
String
isProduct
,
String
sendIncludeType
)
{
try
{
try
{
return
manualToolService
.
sendBaiHangData
(
p1
,
p2
,
p3
,
p4
,
p5
,
secretKey
,
isSend
,
errorCode
);
return
manualToolService
.
sendBaiHangData
(
p1
,
p2
,
p3
,
p4
,
p5
,
secretKey
,
isSend
,
errorCode
,
isProduct
,
sendIncludeType
);
}
catch
(
Exception
e
){
}
catch
(
Exception
e
){
log
.
error
(
"百行征信手动报送异常, {} , {} "
,
e
.
getMessage
(),
e
);
log
.
error
(
"百行征信手动报送异常, {} , {} "
,
e
.
getMessage
(),
e
);
return
GlobalResponse
.
generate
(
e
.
getMessage
());
return
GlobalResponse
.
generate
(
e
.
getMessage
());
...
@@ -64,24 +64,6 @@ public class ManualToolController {
...
@@ -64,24 +64,6 @@ public class ManualToolController {
}
}
/**
* 描述: 应商务要求测试-品钛高德分 <br/>
* 参数: [jsonFile] <br/>
* 返回值: GlobalResponse <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.10.17 <br/>
*/
@RequestMapping
(
"/request/pinTaiCreditScoreV1"
)
public
GlobalResponse
pinTaiCreditScoreV1
(
String
filePath
,
String
p3
,
String
secretKey
)
{
try
{
return
manualToolService
.
testPTCreditScoreV1
(
filePath
,
p3
,
secretKey
);
}
catch
(
Exception
e
){
log
.
error
(
"品钛高德分测试异常, {} , {} "
,
e
.
getMessage
(),
e
);
return
GlobalResponse
.
generate
(
e
.
getMessage
());
}
}
/**
/**
* 描述: 手动刷新getUuiidWhiteListByServiceAndMethod <br/>
* 描述: 手动刷新getUuiidWhiteListByServiceAndMethod <br/>
* 参数: [p3, secretKey] <br/>
* 参数: [p3, secretKey] <br/>
...
...
src/main/java/cn/quantgroup/report/controller/external/ExZhuDaiBaiHangReSendController.java
View file @
9ed8263f
...
@@ -20,11 +20,15 @@ import java.time.format.DateTimeFormatter;
...
@@ -20,11 +20,15 @@ import java.time.format.DateTimeFormatter;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
/**
/**
* 百行征信报送出现错误的贷款记录信息重新报送
* -----------------------------------------------------------------------------<br>
*
* 描述: 北京众信利民信息技术有限公司 助贷模式To百行征信报送<br>
* @Author fengjunkai
* 作者:yanhui.Hao <br>
* @Date 2019-04-15 17:27
* 时间:2019.11.20 <br>
* 授权: (C) Copyright (c) 2017 <br>
* 公司: 北京众信利民信息技术有限公司 <br>
* -----------------------------------------------------------------------------
*/
*/
@RestController
@RestController
@RequestMapping
(
"/zhudai/re_send"
)
@RequestMapping
(
"/zhudai/re_send"
)
...
@@ -127,7 +131,7 @@ public class ExZhuDaiBaiHangReSendController {
...
@@ -127,7 +131,7 @@ public class ExZhuDaiBaiHangReSendController {
//---------------------------------------------------------------------
//---------------------------------------------------------------------
/**
/**
* 描述: 手动重新报送部分
放款D2
逻辑问题数据 <br/>
* 描述: 手动重新报送部分
申请A1
逻辑问题数据 <br/>
* 参数: [] <br/>
* 参数: [] <br/>
* 返回值: cn.quantgroup.report.response.GlobalResponse <br/>
* 返回值: cn.quantgroup.report.response.GlobalResponse <br/>
* 创建人: yanhui.Hao <br/>
* 创建人: yanhui.Hao <br/>
...
...
src/main/java/cn/quantgroup/report/domain/baihang/LoanInfoVo.java
deleted
100644 → 0
View file @
efe8a960
package
cn
.
quantgroup
.
report
.
domain
.
baihang
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* -----------------------------------------------------------------------------<br>
* 描述: 放款用户信息,用于手动报送 <br>
* 作者:yanhui.Hao <br>
* 时间:2019.09.25 <br>
* 授权: (C) Copyright (c) 2017 <br>
* 公司: 北京众信利民信息技术有限公司 <br>
* -----------------------------------------------------------------------------
*/
@Data
public
class
LoanInfoVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7293591774673907983L
;
private
Integer
reqID
;
//记录唯一ID
//private String recordId;
private
String
opCode
;
//操作代码A-增加 M-修改
private
String
uploadTs
;
//记录生成时间 ISO 8601格式 LocalDateTime生成
private
String
name
;
//姓名
private
String
pid
;
//身份证好
private
String
mobile
;
//手机号
private
String
loanId
;
//贷款编号
private
int
guaranteeType
;
//贷款担保类型
private
int
loanPurpose
;
//借款用途
private
String
applyDate
;
// 贷款申请时间
private
String
accountOpenDate
;
//账户开立时间
private
String
issueDate
;
//贷款放款时间
private
String
dueDate
;
//贷款到期日期 YYYY-MM-DD
private
BigDecimal
loanAmount
;
//贷款金额
private
int
totalTerm
;
//还款总期数
private
String
targetRepayDateType
;
//账单日类型
private
String
termPeriod
;
//每期还款周期
private
String
firstRepaymentDate
;
//首次应还款日期 YYYY-MM-DD
private
String
gracePeriod
;
//宽限日
//private String targetRepayDateList; //账单日列表
}
src/main/java/cn/quantgroup/report/domain/baihang/RepaymentLoanInfo
Vo
.java
→
src/main/java/cn/quantgroup/report/domain/baihang/RepaymentLoanInfo
Log
.java
View file @
9ed8263f
...
@@ -12,12 +12,11 @@ import java.math.BigDecimal;
...
@@ -12,12 +12,11 @@ import java.math.BigDecimal;
* @Date 2019-03-26 15:13
* @Date 2019-03-26 15:13
*/
*/
@Data
@Data
public
class
RepaymentLoanInfo
Vo
implements
Serializable
{
public
class
RepaymentLoanInfo
Log
implements
Serializable
{
private
static
final
long
serialVersionUID
=
8722959335665582382L
;
private
static
final
long
serialVersionUID
=
8722959335665582382L
;
private
String
reqID
;
//记录唯一标示
private
String
reqID
;
//记录唯一标示
private
String
recordId
;
private
String
opCode
;
//操作CODE a-增加 m-修改
private
String
opCode
;
//操作CODE a-增加 m-修改
private
String
uploadTs
;
//记录生成时间 ISO 8601
private
String
uploadTs
;
//记录生成时间 ISO 8601
private
String
loanId
;
//贷款ID
private
String
loanId
;
//贷款ID
...
@@ -37,6 +36,8 @@ public class RepaymentLoanInfoVo implements Serializable {
...
@@ -37,6 +36,8 @@ public class RepaymentLoanInfoVo implements Serializable {
private
BigDecimal
remainingAmount
;
//贷款余额
private
BigDecimal
remainingAmount
;
//贷款余额
private
int
loanStatus
;
//本笔贷款状态
private
int
loanStatus
;
//本笔贷款状态
private
String
recordId
;
private
Long
id
;
private
Long
id
;
private
Integer
enable
;
private
Integer
enable
;
private
String
createdAt
;
private
String
createdAt
;
...
...
src/main/java/cn/quantgroup/report/mapper/baihang/LoanInfoMapper.java
View file @
9ed8263f
package
cn
.
quantgroup
.
report
.
mapper
.
baihang
;
package
cn
.
quantgroup
.
report
.
mapper
.
baihang
;
import
cn.quantgroup.report.domain.baihang.BaiHangTimeRecord
;
import
cn.quantgroup.report.domain.baihang.BaiHangTimeRecord
;
import
cn.quantgroup.report.domain.baihang.LoanInfoVo
;
import
cn.quantgroup.report.domain.baihang.LoanInfoZhuDai
;
import
cn.quantgroup.report.domain.baihang.LoanInfoZhuDai
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
...
@@ -44,11 +43,11 @@ public interface LoanInfoMapper {
...
@@ -44,11 +43,11 @@ public interface LoanInfoMapper {
/**
/**
* 描述: 根据loan_application_history_id查询手动报送的bean <br/>
* 描述: 根据loan_application_history_id查询手动报送的bean <br/>
* 参数: loanApplicationHistoryId <br/>
* 参数: loanApplicationHistoryId <br/>
* 返回值: LoanInfo
Vo
<br/>
* 返回值: LoanInfo
ZhuDai
<br/>
* 创建人: yanhui.Hao <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.09.25 <br/>
* 创建时间: 2019.09.25 <br/>
*/
*/
LoanInfo
Vo
findLoanInfoVo
ByHistoryId
(
String
loanApplicationHistoryId
);
LoanInfo
ZhuDai
findLoanInfoD2
ByHistoryId
(
String
loanApplicationHistoryId
);
...
...
src/main/java/cn/quantgroup/report/mapper/master/ApplyLoanInfoDbMapper.java
View file @
9ed8263f
package
cn
.
quantgroup
.
report
.
mapper
.
master
;
package
cn
.
quantgroup
.
report
.
mapper
.
master
;
import
cn.quantgroup.report.domain.baihang.ApplyLoanInfo
;
import
cn.quantgroup.report.domain.baihang.ApplyLoanInfo
;
import
cn.quantgroup.report.domain.baihang.ApplyLoanInfoZhuDai
;
import
cn.quantgroup.report.domain.baihang.LoanInfoZhuDai
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.List
;
...
@@ -18,4 +20,14 @@ public interface ApplyLoanInfoDbMapper {
...
@@ -18,4 +20,14 @@ public interface ApplyLoanInfoDbMapper {
List
<
ApplyLoanInfo
>
findAll
();
List
<
ApplyLoanInfo
>
findAll
();
/**
* 描述: 根据loan_application_history_id查询手动报送的申请bean <br/>
* 参数: loanApplicationHistoryId <br/>
* 返回值: ApplyLoanInfoZhuDai <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.09.25 <br/>
*/
ApplyLoanInfoZhuDai
findApplyInfoA1ByHistoryId
(
String
loanApplicationHistoryId
);
}
}
src/main/java/cn/quantgroup/report/mapper/master/RepaymentLoanInfoDbMapper.java
View file @
9ed8263f
...
@@ -3,7 +3,7 @@ package cn.quantgroup.report.mapper.master;
...
@@ -3,7 +3,7 @@ package cn.quantgroup.report.mapper.master;
import
cn.quantgroup.report.domain.baihang.BaiHangRepayment
;
import
cn.quantgroup.report.domain.baihang.BaiHangRepayment
;
import
cn.quantgroup.report.domain.baihang.BaiHangUpDateRecord
;
import
cn.quantgroup.report.domain.baihang.BaiHangUpDateRecord
;
import
cn.quantgroup.report.domain.baihang.RepaymentInfoZhuDai
;
import
cn.quantgroup.report.domain.baihang.RepaymentInfoZhuDai
;
import
cn.quantgroup.report.domain.baihang.RepaymentLoanInfo
Vo
;
import
cn.quantgroup.report.domain.baihang.RepaymentLoanInfo
Log
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.List
;
...
@@ -35,6 +35,6 @@ public interface RepaymentLoanInfoDbMapper {
...
@@ -35,6 +35,6 @@ public interface RepaymentLoanInfoDbMapper {
* 创建人: yanhui.Hao <br/>
* 创建人: yanhui.Hao <br/>
* 创建时间: 2019.09.24 <br/>
* 创建时间: 2019.09.24 <br/>
*/
*/
List
<
RepaymentLoanInfo
Vo
>
findBy
RecordId
(
String
[]
recordIdArray
);
List
<
RepaymentLoanInfo
Log
>
findByD3
RecordId
(
String
[]
recordIdArray
);
}
}
src/main/java/cn/quantgroup/report/service/manualTool/ManualToolService.java
View file @
9ed8263f
package
cn
.
quantgroup
.
report
.
service
.
manualTool
;
package
cn
.
quantgroup
.
report
.
service
.
manualTool
;
import
cn.quantgroup.report.ApplicationContextHolder
;
import
cn.quantgroup.report.config.aop.DistributedLock
;
import
cn.quantgroup.report.config.aop.DistributedLock
;
import
cn.quantgroup.report.config.aop.Monitor
;
import
cn.quantgroup.report.config.aop.Monitor
;
import
cn.quantgroup.report.config.aop.MonitorType
;
import
cn.quantgroup.report.config.aop.MonitorType
;
import
cn.quantgroup.report.domain.baihang.*
;
import
cn.quantgroup.report.domain.baihang.*
;
import
cn.quantgroup.report.mapper.baihang.LoanInfoMapper
;
import
cn.quantgroup.report.mapper.baihang.LoanInfoMapper
;
import
cn.quantgroup.report.mapper.master.ApplyLoanInfoDbMapper
;
import
cn.quantgroup.report.mapper.master.RepaymentLoanInfoDbMapper
;
import
cn.quantgroup.report.mapper.master.RepaymentLoanInfoDbMapper
;
import
cn.quantgroup.report.response.GlobalResponse
;
import
cn.quantgroup.report.response.GlobalResponse
;
import
cn.quantgroup.report.service.CommonSuperService
;
import
cn.quantgroup.report.service.CommonSuperService
;
import
cn.quantgroup.report.
utils.Id
Utils
;
import
cn.quantgroup.report.
service.baihang.util.TuoMin
Utils
;
import
cn.quantgroup.report.utils.ReadOrWriteTxt
;
import
cn.quantgroup.report.utils.ReadOrWriteTxt
;
import
cn.quantgroup.report.utils.commonutil.AesCrypto
;
import
cn.quantgroup.report.utils.commonutil.AesCrypto
;
import
cn.quantgroup.report.utils.commonutil.Base64
;
import
cn.quantgroup.report.utils.commonutil.Base64
;
...
@@ -25,6 +25,7 @@ import com.google.gson.reflect.TypeToken;
...
@@ -25,6 +25,7 @@ import com.google.gson.reflect.TypeToken;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.io.FileUtils
;
import
org.apache.commons.io.FileUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -54,13 +55,18 @@ public class ManualToolService implements CommonSuperService {
...
@@ -54,13 +55,18 @@ public class ManualToolService implements CommonSuperService {
@Autowired
@Autowired
private
LoanInfoMapper
loanInfoMapper
;
private
LoanInfoMapper
loanInfoMapper
;
@Autowired
private
ApplyLoanInfoDbMapper
applyLoanInfoDbMapper
;
//@Autowired
//@Autowired
//private PinTaiCreditScoreService pinTaiCreditScoreService;
//private PinTaiCreditScoreService pinTaiCreditScoreService;
private
ShellUtils
executeCommand
=
null
;
private
ShellUtils
executeCommand
=
null
;
private
static
final
String
P1_48MD5_01
=
"
120a97b4b73c440413933351a2db2512fc7698f157b5c60d"
;
private
static
final
String
P1_48MD5_01
=
"
92db79819d81523604a8ee5da9142167f38766bb2cd32f0c"
;
//127.
private
static
final
String
P1_48MD5_02
=
"
85b61d877f6ce41c4cc72413f6766ae6876405f06b607b02"
;
private
static
final
String
P1_48MD5_02
=
"
21696578a624218b5237713fd0a79ab2168a458217801b0b"
;
//172.21.10.8
private
static
final
String
P2_48MD5
=
"d4893490905d534e6fc1512ba6619d14df8c312362589342"
;
private
static
final
String
P2_48MD5
=
"d4893490905d534e6fc1512ba6619d14df8c312362589342"
;
private
static
final
String
P3_48MD5
=
"57971a003213360c6fa09f4b257d5eb5441ba97a5450aa63"
;
private
static
final
String
P3_48MD5
=
"57971a003213360c6fa09f4b257d5eb5441ba97a5450aa63"
;
...
@@ -71,13 +77,25 @@ public class ManualToolService implements CommonSuperService {
...
@@ -71,13 +77,25 @@ public class ManualToolService implements CommonSuperService {
}
}
public
static
void
main
(
String
[]
args
)
{
}
@Monitor
({
MonitorType
.
EXCEPTION
,
MonitorType
.
FEE
,
MonitorType
.
HIT
,
MonitorType
.
RESULT
})
@Monitor
({
MonitorType
.
EXCEPTION
,
MonitorType
.
FEE
,
MonitorType
.
HIT
,
MonitorType
.
RESULT
})
@DistributedLock
@DistributedLock
public
GlobalResponse
sendBaiHangData
(
String
p1
,
String
p2
,
String
p3
,
String
p4
,
String
p5
,
String
secretKey
,
String
isSend
,
String
errorCode
)
{
public
GlobalResponse
sendBaiHangData
(
String
p1
,
String
p2
,
String
p3
,
String
p4
,
String
p5
,
String
secretKey
,
String
isSend
,
String
errorCode
,
String
isProduct
,
String
sendIncludeType
)
{
StringBuffer
resultMsg
=
new
StringBuffer
();
StringBuffer
resultMsg
=
new
StringBuffer
();
log
.
info
(
"ManualToolService.sendBaiHangData Start>>>>>>"
);
log
.
info
(
"ManualToolService.sendBaiHangData Start>>>>>>"
);
String
base_path
=
"/home/quant_group/risk-datasource/data"
;
String
base_path
=
"/home/quant_group/baihang-report/data"
;
String
base_url
=
"http://172.20.1.92:9020/ex/re_send"
;
String
base_url
=
"http://172.21.10.8:9021/zhudai/re_send"
;
String
A1_file
=
"/baihang/A1/data.txt"
;
String
D2_file
=
"/baihang/D2/data.txt"
;
String
D3_file
=
"/baihang/D3/data.txt"
;
String
A1_url
=
"/manual/buquan/mainApplySend"
;
String
D2_url
=
"/manual/buquan/mainLoanInfoSend"
;
String
D3_url
=
"/manual/buquan/mainRepaymentLoanInfo"
;
if
(
StringUtils
.
isBlank
(
RSA_PRIVATEKEY
))
{
if
(
StringUtils
.
isBlank
(
RSA_PRIVATEKEY
))
{
return
new
GlobalResponse
(
"1012"
,
"参数错误"
);
return
new
GlobalResponse
(
"1012"
,
"参数错误"
);
...
@@ -93,7 +111,7 @@ public class ManualToolService implements CommonSuperService {
...
@@ -93,7 +111,7 @@ public class ManualToolService implements CommonSuperService {
String
aes_key
=
RSAEncrypt
.
decrypt
(
secretKey
,
RSA_PRIVATEKEY
);
//"!QAZ@WSX3edc4rfv"
String
aes_key
=
RSAEncrypt
.
decrypt
(
secretKey
,
RSA_PRIVATEKEY
);
//"!QAZ@WSX3edc4rfv"
//p1:host, p2:name, p3:pass, p4:forword, p5:date, p6:根路径
//p1:host, p2:name, p3:pass, p4:forword, p5:date, p6:根路径
//p1,p2,p3 做AES和base64加密
//p1,p2,p3 做AES和base64加密
//p1为127.0.0.1时p4必须是ip,且和172.2
0.1.92
的MDd一致校验
//p1为127.0.0.1时p4必须是ip,且和172.2
1.10.8
的MDd一致校验
p1
=
AesCrypto
.
decrypt
(
Base64
.
decode
(
p1
.
trim
()),
aes_key
).
trim
();
p1
=
AesCrypto
.
decrypt
(
Base64
.
decode
(
p1
.
trim
()),
aes_key
).
trim
();
if
(!(
MD5Util
.
verify48Md5
(
p1
,
P1_48MD5_01
)
||
MD5Util
.
verify48Md5
(
p1
,
P1_48MD5_02
)))
{
if
(!(
MD5Util
.
verify48Md5
(
p1
,
P1_48MD5_01
)
||
MD5Util
.
verify48Md5
(
p1
,
P1_48MD5_02
)))
{
return
new
GlobalResponse
(
"1012"
,
"参数错误"
);
return
new
GlobalResponse
(
"1012"
,
"参数错误"
);
...
@@ -127,6 +145,18 @@ public class ManualToolService implements CommonSuperService {
...
@@ -127,6 +145,18 @@ public class ManualToolService implements CommonSuperService {
httpSend
=
true
;
httpSend
=
true
;
}
}
boolean
isProduct2
=
false
;
String
char_n
=
"\n"
;
if
(
StringUtils
.
isNotEmpty
(
isProduct
)
&&
"true"
.
equals
(
isProduct
))
{
isProduct2
=
true
;
char_n
=
"\r\n"
;
}
String
sendInclude_type
=
"A1,D2,D3"
;
if
(
StringUtils
.
isNotBlank
(
sendIncludeType
)){
sendInclude_type
=
sendIncludeType
;
}
if
(
StringUtils
.
isEmpty
(
errorCode
))
{
if
(
StringUtils
.
isEmpty
(
errorCode
))
{
/*"errorCode":"D2_009"
/*"errorCode":"D2_009"
"errorCode":"D3_035"
"errorCode":"D3_035"
...
@@ -137,9 +167,12 @@ public class ManualToolService implements CommonSuperService {
...
@@ -137,9 +167,12 @@ public class ManualToolService implements CommonSuperService {
}
}
//还款信息D3,opCode:A>>>M,多条信息就回车存多行,中间不用逗号
//还款信息D3,opCode:A>>>M,多条信息就回车存多行,中间不用逗号
String
json_hk_D3
=
""
;
String
Buffer
json_hk_D3
=
new
StringBuffer
()
;
//放款信息D2,多条信息就回车存多行,中间不用逗号
//放款信息D2,多条信息就回车存多行,中间不用逗号
String
json_fk_D2
=
""
;
StringBuffer
json_fk_D2
=
new
StringBuffer
();
//A1申请
StringBuffer
json_sq_A1
=
new
StringBuffer
();
try
{
try
{
if
(
initShellConnect
(
executeCommand
,
p1
,
p2
,
p3
))
{
if
(
initShellConnect
(
executeCommand
,
p1
,
p2
,
p3
))
{
...
@@ -175,53 +208,152 @@ public class ManualToolService implements CommonSuperService {
...
@@ -175,53 +208,152 @@ public class ManualToolService implements CommonSuperService {
}
}
resultMsg
.
append
(
"\n|reqIDList size="
+
reqIDList
.
size
()
);
resultMsg
.
append
(
"\n|reqIDList size="
+
reqIDList
.
size
()
);
if
(
reqIDList
.
size
()
>
0
)
{
//还款
if
(
reqIDList
.
size
()
>
0
)
{
//还款
D3
String
[]
recordIdArray
=
reqIDList
.
toArray
(
new
String
[
reqIDList
.
size
()]);
String
[]
recordIdArray
=
reqIDList
.
toArray
(
new
String
[
reqIDList
.
size
()]);
log
.
info
(
"RepaymentLoanInfoDbMapper getReqIdByRemoteLog reqID to D3:"
+
JSON
.
toJSONString
(
recordIdArray
));
log
.
info
(
"RepaymentLoanInfoDbMapper getReqIdByRemoteLog reqID to D3:"
+
JSON
.
toJSONString
(
recordIdArray
));
List
<
RepaymentLoanInfoVo
>
repaymentLoanInfoList
=
repaymentLoanInfoDbMapper
.
findByRecordId
(
recordIdArray
);
List
<
RepaymentLoanInfoLog
>
tmpLogList
=
repaymentLoanInfoDbMapper
.
findByD3RecordId
(
recordIdArray
);
for
(
RepaymentLoanInfoVo
bean
:
repaymentLoanInfoList
)
{
List
<
RepaymentInfoZhuDai
>
repaymentLoanInfoList
=
new
ArrayList
<>(
tmpLogList
.
size
());
bean
.
setOpCode
(
"M"
);
for
(
RepaymentLoanInfoLog
logBean
:
tmpLogList
)
{
if
(
bean
.
getOverdueStatus
()
==
null
)
{
RepaymentInfoZhuDai
voBean
=
new
RepaymentInfoZhuDai
();
bean
.
setOverdueStatus
(
""
);
//添加了忽略username属性的赋值
//BeanUtils.copyProperties(book,book2,"username");
BeanUtils
.
copyProperties
(
logBean
,
voBean
);
voBean
.
setOpCode
(
"M"
);
if
(
voBean
.
getOverdueStatus
()
==
null
)
{
voBean
.
setOverdueStatus
(
""
);
}
}
loanIdList
.
add
(
bean
.
getLoanId
());
voBean
.
setReqID
(
logBean
.
getRecordId
());
loanIdList
.
add
(
voBean
.
getLoanId
());
repaymentLoanInfoList
.
add
(
voBean
);
}
}
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
"D3 List size="
+
repaymentLoanInfoList
.
size
());
resultMsg
.
append
(
"D3 List size="
+
repaymentLoanInfoList
.
size
());
json_hk_D3
=
JSONArray
.
toJSONString
(
repaymentLoanInfoList
);
json_hk_D3
=
json_hk_D3
.
replace
(
"["
,
""
);
boolean
lengthIs0
=
(
json_hk_D3
.
length
()==
0
);
json_hk_D3
=
json_hk_D3
.
replace
(
"]"
,
""
);
for
(
RepaymentInfoZhuDai
vo
:
repaymentLoanInfoList
){
json_hk_D3
=
json_hk_D3
.
replace
(
"},"
,
"}\n"
);
if
(
lengthIs0
){
lengthIs0
=
false
;
json_hk_D3
.
append
(
JSONObject
.
toJSONString
(
vo
));
}
else
{
json_hk_D3
.
append
(
char_n
);
json_hk_D3
.
append
(
JSONObject
.
toJSONString
(
vo
));
}
}
}
}
if
(
loanIdList
.
size
()
>
0
)
{
if
(
loanIdList
.
size
()
>
0
)
{
//放款D2 及 申请A1
List
<
LoanInfoVo
>
loanInfoVoList
=
new
ArrayList
<
LoanInfoVo
>();
List
<
LoanInfoZhuDaiVo
>
loanInfoVoList
=
new
ArrayList
<
LoanInfoZhuDaiVo
>();
String
[]
orderNoArray
=
loanIdList
.
toArray
(
new
String
[
loanIdList
.
size
()]);
String
[]
orderNoArray
=
loanIdList
.
toArray
(
new
String
[
loanIdList
.
size
()]);
List
<
String
>
loanApplicationHistoryIdList
=
loanInfoMapper
.
findHistoryIdByOrderNo
(
orderNoArray
);
List
<
String
>
loanApplicationHistoryIdList
=
loanInfoMapper
.
findHistoryIdByOrderNo
(
orderNoArray
);
//查询D2
for
(
String
historyId
:
loanApplicationHistoryIdList
)
{
for
(
String
historyId
:
loanApplicationHistoryIdList
)
{
LoanInfoVo
infoVo
=
loanInfoMapper
.
findLoanInfoVoByHistoryId
(
historyId
);
LoanInfoZhuDai
loanInfozd_tmp
=
loanInfoMapper
.
findLoanInfoD2ByHistoryId
(
historyId
);
loanInfoVoList
.
add
(
infoVo
);
String
jsonStr
=
JSONObject
.
toJSONString
(
loanInfozd_tmp
);
LoanInfoZhuDaiVo
loanInfoZhuDaiVo
=
JSONObject
.
parseObject
(
jsonStr
,
LoanInfoZhuDaiVo
.
class
);
FinTechAgencyBusinessZhuDai
finTechAgencyBusiness
=
JSONObject
.
parseObject
(
jsonStr
,
FinTechAgencyBusinessZhuDai
.
class
);
loanInfoZhuDaiVo
.
setFinTechAgencyBusiness
(
finTechAgencyBusiness
);
loanInfoVoList
.
add
(
loanInfoZhuDaiVo
);
}
}
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
"D2 List size="
+
loanInfoVoList
.
size
());
resultMsg
.
append
(
"D2 List size="
+
loanInfoVoList
.
size
());
if
(
loanInfoVoList
.
size
()
>
0
)
{
if
(
loanInfoVoList
.
size
()
>
0
)
{
json_fk_D2
=
JSONArray
.
toJSONString
(
loanInfoVoList
);
boolean
lengthIs0
=
(
json_fk_D2
.
length
()==
0
);
json_fk_D2
=
json_fk_D2
.
replace
(
"["
,
""
);
for
(
LoanInfoZhuDaiVo
vo
:
loanInfoVoList
){
json_fk_D2
=
json_fk_D2
.
replace
(
"]"
,
""
);
if
(
lengthIs0
){
json_fk_D2
=
json_fk_D2
.
replace
(
"},"
,
"}\n"
);
lengthIs0
=
false
;
json_fk_D2
.
append
(
JSONObject
.
toJSONString
(
vo
));
}
else
{
json_fk_D2
.
append
(
char_n
);
json_fk_D2
.
append
(
JSONObject
.
toJSONString
(
vo
));
}
}
}
//查询A1
if
(
sendInclude_type
.
contentEquals
(
"A1"
)){
List
<
ApplyLoanInfoZhuDai
>
applyInfoList
=
new
ArrayList
<>();
for
(
String
historyId
:
loanApplicationHistoryIdList
)
{
ApplyLoanInfoZhuDai
applyInfo
=
applyLoanInfoDbMapper
.
findApplyInfoA1ByHistoryId
(
historyId
);
//邮箱有错误的就不传
if
(!
TuoMinUtils
.
checkEmail
(
applyInfo
.
getEmailAddress
())){
applyInfo
.
setEmailAddress
(
null
);
}
applyInfoList
.
add
(
applyInfo
);
}
if
(
applyInfoList
.
size
()>
0
){
boolean
lengthIs0
=
(
json_sq_A1
.
length
()==
0
);
for
(
ApplyLoanInfoZhuDai
vo
:
applyInfoList
){
if
(
lengthIs0
){
lengthIs0
=
false
;
json_sq_A1
.
append
(
JSONObject
.
toJSONString
(
vo
));
}
else
{
json_sq_A1
.
append
(
char_n
);
json_sq_A1
.
append
(
JSONObject
.
toJSONString
(
vo
));
}
}
}
}
}
}
//------------处理--------------
if
(
StringUtils
.
isNotBlank
(
json_sq_A1
))
{
log
.
info
(
"json_sq_A1 DATA:"
+
json_sq_A1
.
toString
());
//A1的data.txt写入
if
(
isProduct2
){
ReadOrWriteTxt
.
writeTxt
(
base_path
+
A1_file
,
json_sq_A1
.
toString
());
log
.
info
(
"RepaymentLoanInfoDbMapper.sendBaiHangData writ remote file (product By file)...baihang/A1/data.txt END."
);
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
"write A1 end.(product By file)"
);
}
else
{
String
cmd_res
=
writeJsonFileOnRemote
(
executeCommand
,
base_path
+
A1_url
,
json_sq_A1
.
toString
());
log
.
info
(
"RepaymentLoanInfoDbMapper.sendBaiHangData writ remote file (local By shell)...baihang/A1/data.txt END,r:"
+
cmd_res
);
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
"write A1 end.(local By shell)"
);
}
//掉A1手动报送接口
if
(
httpSend
)
{
Map
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"key"
,
"b5140fb2-2c85-4b5a-abcf-3e97528014db"
);
String
http_res
=
HttpRequestUtil
.
mySelfDoGet
(
base_url
+
"/mainLoanInfoSend"
,
params
);
log
.
info
(
"RepaymentLoanInfoDbMapper.sendBaiHangData http request A1>>>mainLoanInfoSend END,r:"
+
http_res
);
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
http_res
);
}
}
else
{
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
"申请A1 json_sq_A1 isEmpty."
);
}
}
if
(
StringUtils
.
isNotBlank
(
json_fk_D2
))
{
if
(
StringUtils
.
isNotBlank
(
json_fk_D2
))
{
//ReadOrWriteTxt.writeTxt(base_path+"/baihang/D2/data.txt",json_fk_D2);
log
.
info
(
"json_fk_D2 DATA:"
+
json_fk_D2
.
toString
());
String
cmd_res
=
writeJsonFileOnRemote
(
executeCommand
,
base_path
+
"/baihang/D2/data.txt"
,
json_fk_D2
);
//D2的data.txt写入
log
.
info
(
"RepaymentLoanInfoDbMapper.sendBaiHangData writ remote file ...baihang/D2/data.txt END,r:"
+
cmd_res
);
if
(
isProduct2
){
resultMsg
.
append
(
"|"
);
ReadOrWriteTxt
.
writeTxt
(
base_path
+
D2_file
,
json_fk_D2
.
toString
());
resultMsg
.
append
(
"write D2 end."
);
log
.
info
(
"RepaymentLoanInfoDbMapper.sendBaiHangData writ remote file (product By file)...baihang/D2/data.txt END."
);
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
"write D2 end.(product By file)"
);
}
else
{
String
cmd_res
=
writeJsonFileOnRemote
(
executeCommand
,
base_path
+
D2_url
,
json_fk_D2
.
toString
());
log
.
info
(
"RepaymentLoanInfoDbMapper.sendBaiHangData writ remote file (local By shell)...baihang/D2/data.txt END,r:"
+
cmd_res
);
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
"write D2 end.(local By shell)"
);
}
//掉D2手动报送接口
if
(
httpSend
)
{
if
(
httpSend
)
{
Map
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"key"
,
"b5140fb2-2c85-4b5a-abcf-3e97528014db"
);
params
.
put
(
"key"
,
"b5140fb2-2c85-4b5a-abcf-3e97528014db"
);
...
@@ -234,12 +366,23 @@ public class ManualToolService implements CommonSuperService {
...
@@ -234,12 +366,23 @@ public class ManualToolService implements CommonSuperService {
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
"放款D2 json_fk_D2 isEmpty."
);
resultMsg
.
append
(
"放款D2 json_fk_D2 isEmpty."
);
}
}
if
(
StringUtils
.
isNotBlank
(
json_hk_D3
))
{
if
(
StringUtils
.
isNotBlank
(
json_hk_D3
))
{
//ReadOrWriteTxt.writeTxt(base_path+"/baihang/D3/data.txt",json_hk_D3);
log
.
info
(
"json_hk_D3 DATA:"
+
json_hk_D3
.
toString
());
String
cmd_res
=
writeJsonFileOnRemote
(
executeCommand
,
base_path
+
"/baihang/D3/data.txt"
,
json_hk_D3
);
//D3的data.txt写入
log
.
info
(
"RepaymentLoanInfoDbMapper.sendBaiHangData writ remote file ...baihang/D3/data.txt END,r:"
+
cmd_res
);
if
(
isProduct2
){
resultMsg
.
append
(
"|"
);
ReadOrWriteTxt
.
writeTxt
(
base_path
+
D3_file
,
json_hk_D3
.
toString
());
resultMsg
.
append
(
"write D3 end."
);
log
.
info
(
"RepaymentLoanInfoDbMapper.sendBaiHangData writ remote file (product By file)...baihang/D3/data.txt END."
);
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
"write D3 end.(product By file)"
);
}
else
{
String
cmd_res
=
writeJsonFileOnRemote
(
executeCommand
,
base_path
+
D3_url
,
json_hk_D3
.
toString
());
log
.
info
(
"RepaymentLoanInfoDbMapper.sendBaiHangData writ remote file (local By shell)...baihang/D3/data.txt END,r:"
+
cmd_res
);
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
"write D3 end.(local By shell)"
);
}
//掉D3手动报送接口
if
(
httpSend
)
{
if
(
httpSend
)
{
Map
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"key"
,
"b5140fb2-2c85-4b5a-abcf-3e97528014db"
);
params
.
put
(
"key"
,
"b5140fb2-2c85-4b5a-abcf-3e97528014db"
);
...
@@ -248,11 +391,13 @@ public class ManualToolService implements CommonSuperService {
...
@@ -248,11 +391,13 @@ public class ManualToolService implements CommonSuperService {
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
http_res
);
resultMsg
.
append
(
http_res
);
}
}
}
else
{
}
else
{
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
"|"
);
resultMsg
.
append
(
"还款D3 json_hk_D3 isEmpty."
);
resultMsg
.
append
(
"还款D3 json_hk_D3 isEmpty."
);
}
}
//退出登录
//退出登录
List
<
String
>
cmdList
=
new
ArrayList
<
String
>();
List
<
String
>
cmdList
=
new
ArrayList
<
String
>();
cmdList
.
add
(
"echo '++CMD LAST++' \n\r"
);
cmdList
.
add
(
"echo '++CMD LAST++' \n\r"
);
...
@@ -327,9 +472,9 @@ public class ManualToolService implements CommonSuperService {
...
@@ -327,9 +472,9 @@ public class ManualToolService implements CommonSuperService {
log
.
info
(
".......>>>>start deal with cmd:1 outputStream execute Start......."
);
log
.
info
(
".......>>>>start deal with cmd:1 outputStream execute Start......."
);
List
<
String
>
cmdList
=
new
ArrayList
<>();
List
<
String
>
cmdList
=
new
ArrayList
<>();
cmdList
.
add
(
"ssh "
+
p4
+
" \n\r"
);
cmdList
.
add
(
"ssh "
+
p4
+
" \n\r"
);
cmdList
.
add
(
"/sbin/ifconfig |grep \"inet
addr
\" \n\r"
);
cmdList
.
add
(
"/sbin/ifconfig |grep \"inet\" \n\r"
);
cmdList
.
add
(
"cd "
+
p6
+
" \n\r"
);
cmdList
.
add
(
"cd "
+
p6
+
" \n\r"
);
cmdList
.
add
(
"sh download_baihang_error_log.sh "
+
Integer
.
parseInt
(
p5
)
+
" \n\r"
);
cmdList
.
add
(
"sh download_
zhudai_
baihang_error_log.sh "
+
Integer
.
parseInt
(
p5
)
+
" \n\r"
);
executeCommand
.
execute
(
cmdList
,
true
);
executeCommand
.
execute
(
cmdList
,
true
);
//打印执行结果
//打印执行结果
executeCommand
.
outCmdResult
();
executeCommand
.
outCmdResult
();
...
@@ -476,71 +621,6 @@ public class ManualToolService implements CommonSuperService {
...
@@ -476,71 +621,6 @@ public class ManualToolService implements CommonSuperService {
}
}
@Monitor
({
MonitorType
.
EXCEPTION
,
MonitorType
.
FEE
,
MonitorType
.
HIT
,
MonitorType
.
RESULT
})
@DistributedLock
public
GlobalResponse
testPTCreditScoreV1
(
String
filePath
,
String
p3
,
String
secretKey
)
{
StringBuffer
resultMsg
=
new
StringBuffer
();
if
(
StringUtils
.
isAnyBlank
(
RSA_PRIVATEKEY
,
filePath
,
p3
,
secretKey
))
{
return
new
GlobalResponse
(
"1012"
,
"参数错误"
);
}
try
{
String
aes_key
=
RSAEncrypt
.
decrypt
(
secretKey
,
RSA_PRIVATEKEY
);
//"!QAZ@WSX3edc4rfv"
String
tmp
=
AesCrypto
.
decrypt
(
Base64
.
decode
(
p3
.
trim
()),
aes_key
).
trim
();
if
(!
MD5Util
.
verify48Md5
(
tmp
,
P3_48MD5
))
{
return
new
GlobalResponse
(
"1012"
,
"参数错误"
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"参数解析错误."
);
return
new
GlobalResponse
(
"1012"
,
"参数错误"
);
}
long
start
=
System
.
currentTimeMillis
();
List
<
String
>
contextList
=
ReadOrWriteTxt
.
readTxtList
(
filePath
);
StringBuffer
resultBuff
=
new
StringBuffer
();
if
(
contextList
!=
null
&&
contextList
.
size
()>
0
){
for
(
int
i
=
0
;
i
<
contextList
.
size
();
i
++){
long
startUtc
=
System
.
currentTimeMillis
();
String
context
=
contextList
.
get
(
i
);
String
value
=
""
;
try
{
//唯一ID|name|id_no|phone
String
[]
strArry
=
context
.
split
(
"[|]"
);
String
transactionId
=
IdUtils
.
getUuid
();
CommonSuperService
superService
=
ApplicationContextHolder
.
getBean
(
"pinTaiCreditScoreService"
);
Object
resultObject
=
superService
.
getClass
().
getMethod
(
"pinTaiCreditScoreV1Query"
,
String
.
class
,
String
.
class
,
String
.
class
,
String
.
class
,
String
.
class
,
boolean
.
class
)
.
invoke
(
superService
,
transactionId
,
strArry
[
0
],
strArry
[
1
],
strArry
[
2
],
strArry
[
3
],
false
);
GlobalResponse
globalResponse
=
(
GlobalResponse
)
resultObject
;
//// GlobalResponse globalResponse = pinTaiCreditScoreService.pinTaiCreditScoreV1Query(transactionId, strArry[0], strArry[1], strArry[2], strArry[3], false);
Object
object
=
globalResponse
.
getBody
();
if
(
object
!=
null
){
JSONObject
jsonObject
=
((
JSONObject
)
object
).
getJSONObject
(
"content"
);
if
(
jsonObject
!=
null
&&
jsonObject
.
containsKey
(
"S2070101"
)){
value
=
jsonObject
.
getString
(
"S2070101"
);
}
}
resultBuff
.
append
(
context
.
replace
(
"|"
,
"\t"
));
resultBuff
.
append
(
"\t"
);
resultBuff
.
append
(
value
);
resultBuff
.
append
(
"\n"
);
Thread
.
sleep
(
1000
);
}
catch
(
Exception
e
){
log
.
error
(
"品钛高德分查询异常,context="
+
context
,
e
);
}
log
.
info
(
"查询"
+
i
+
":value="
+
value
+
",cost="
+(
System
.
currentTimeMillis
()-
startUtc
));
}
}
String
writeName
=
filePath
.
substring
(
0
,
filePath
.
lastIndexOf
(
"\\"
))+
"\\result.txt"
;
ReadOrWriteTxt
.
writeTxt
(
writeName
,
resultBuff
.
toString
());
log
.
info
(
"品钛高德分测试数据写入文件OK, total cost="
+(
System
.
currentTimeMillis
()-
start
)+
", writeName="
+
writeName
);
return
GlobalResponse
.
generate
(
"品钛高德分测试数据写入文件OK, total cost="
+(
System
.
currentTimeMillis
()-
start
)+
", writeName="
+
writeName
);
}
//@Monitor({MonitorType.EXCEPTION, MonitorType.FEE, MonitorType.HIT, MonitorType.RESULT})
//@DistributedLock
public
boolean
checkSecretKey
(
String
p3
,
String
secretKey
)
{
public
boolean
checkSecretKey
(
String
p3
,
String
secretKey
)
{
StringBuffer
resultMsg
=
new
StringBuffer
();
StringBuffer
resultMsg
=
new
StringBuffer
();
if
(
StringUtils
.
isAnyBlank
(
RSA_PRIVATEKEY
,
p3
,
secretKey
))
{
if
(
StringUtils
.
isAnyBlank
(
RSA_PRIVATEKEY
,
p3
,
secretKey
))
{
...
@@ -1144,7 +1224,7 @@ public class ManualToolService implements CommonSuperService {
...
@@ -1144,7 +1224,7 @@ public class ManualToolService implements CommonSuperService {
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
33
(
String
[]
args
)
{
// List<String> lineList = ReadOrWriteTxt.readTxtList("D:\\用户目录\\Downloads\\D2_M_01.txt");
// List<String> lineList = ReadOrWriteTxt.readTxtList("D:\\用户目录\\Downloads\\D2_M_01.txt");
// System.out.println("lineList:"+lineList.size());
// System.out.println("lineList:"+lineList.size());
// StringBuffer buff = new StringBuffer();
// StringBuffer buff = new StringBuffer();
...
@@ -1170,13 +1250,6 @@ public class ManualToolService implements CommonSuperService {
...
@@ -1170,13 +1250,6 @@ public class ManualToolService implements CommonSuperService {
// private static final String P1_48MD5_01 = "92db79819d81523604a8ee5da9142167f38766bb2cd32f0c";//127.
// private static final String P1_48MD5_02 = "56e766114e1f81171319ee8998101c34518c06ae60a4981f";//172.
// private static final String P2_48MD5 = "d4893490905d534e6fc1512ba6619d14df8c312362589342";
// private static final String P3_48MD5 = "57971a003213360c6fa09f4b257d5eb5441ba97a5450aa63";
// System.out.println(MD5Util.get48Md5("172.20.1.92"));
// System.out.println(MD5Util.verify48Md5("root2","d4893490905d534e6fc1512ba6619d14df8c312362589342"));
//buildA1_uploadTs(null,null);
//buildA1_uploadTs(null,null);
...
...
src/main/java/cn/quantgroup/report/service/manualTool/ShellUtils.java
View file @
9ed8263f
...
@@ -177,7 +177,7 @@ public class ShellUtils {
...
@@ -177,7 +177,7 @@ public class ShellUtils {
}
}
this
.
outputStream
.
flush
();
this
.
outputStream
.
flush
();
Thread
.
sleep
(
3
000
);
Thread
.
sleep
(
4
000
);
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
log
.
error
(
"shellUtils execute error,"
,
e
.
getMessage
());
log
.
error
(
"shellUtils execute error,"
,
e
.
getMessage
());
e
.
printStackTrace
();
e
.
printStackTrace
();
...
...
src/main/resources/cn/quantgroup/report/mapper/baihang/LoanInfoMapper.xml
View file @
9ed8263f
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<mapper
namespace=
"cn.quantgroup.report.mapper.baihang.LoanInfoMapper"
>
<mapper
namespace=
"cn.quantgroup.report.mapper.baihang.LoanInfoMapper"
>
<resultMap
id=
"LoanInfoResultMap"
type=
"cn.quantgroup.report.domain.baihang.LoanInfoVo"
>
<
!--<
resultMap id="LoanInfoResultMap" type="cn.quantgroup.report.domain.baihang.LoanInfoVo">
<result column="reqID" jdbcType="VARCHAR" property="reqID"/>
<result column="reqID" jdbcType="VARCHAR" property="reqID"/>
<result column="opCode" jdbcType="VARCHAR" property="opCode"/>
<result column="opCode" jdbcType="VARCHAR" property="opCode"/>
<result column="uploadTs" jdbcType="VARCHAR" property="uploadTs"/>
<result column="uploadTs" jdbcType="VARCHAR" property="uploadTs"/>
...
@@ -23,10 +23,11 @@
...
@@ -23,10 +23,11 @@
<result column="termPeriod" jdbcType="VARCHAR" property="termPeriod"/>
<result column="termPeriod" jdbcType="VARCHAR" property="termPeriod"/>
<result column="firstRepaymentDate" jdbcType="VARCHAR" property="firstRepaymentDate"/>
<result column="firstRepaymentDate" jdbcType="VARCHAR" property="firstRepaymentDate"/>
<result column="gracePeriod" jdbcType="VARCHAR" property="gracePeriod"/>
<result column="gracePeriod" jdbcType="VARCHAR" property="gracePeriod"/>
</resultMap>
</resultMap>-->
<resultMap
id=
"LoanInfoVoResultMapByBS"
type=
"cn.quantgroup.report.domain.baihang.LoanInfoZhuDai"
>
<!-- LoanInfoVo-->
<resultMap
id=
"LoanInfoVoResultMapByBS"
type=
"cn.quantgroup.report.domain.baihang.LoanInfoVo"
>
<result
column=
"reqID"
jdbcType=
"INTEGER"
property=
"reqID"
/>
<result
column=
"reqID"
jdbcType=
"INTEGER"
property=
"reqID"
/>
<result
column=
"opCode"
jdbcType=
"VARCHAR"
property=
"opCode"
/>
<result
column=
"opCode"
jdbcType=
"VARCHAR"
property=
"opCode"
/>
<result
column=
"uploadTs"
jdbcType=
"VARCHAR"
property=
"uploadTs"
/>
<result
column=
"uploadTs"
jdbcType=
"VARCHAR"
property=
"uploadTs"
/>
...
@@ -190,42 +191,52 @@
...
@@ -190,42 +191,52 @@
<!--2.根据loan_application_history_id查询工具报送的bean 放款 2019.09.25-->
<!--2.根据loan_application_history_id查询工具报送的bean 放款 2019.09.25-->
<select
id=
"findLoanInfoVoByHistoryId"
resultMap=
"LoanInfoVoResultMapByBS"
>
<select
id=
"findLoanInfoD2ByHistoryId"
resultType=
"cn.quantgroup.report.domain.baihang.LoanInfoZhuDai"
>
<!--resultMap="LoanInfoVoResultMapByBS"-->
SELECT a.loan_application_history_id reqID,'A' opCode,DATE_FORMAT(now(), '%Y-%m-%dT%H:%i:%S') uploadTs,
select a.loan_application_history_id reqID
b.name name, b.id_no pid,b.phone_no mobile,
,'A' opCode
IF (d.order_no IS NULL,a.loan_application_history_id,d.order_no) loanId,
,DATE_FORMAT(now(),'%Y-%m-%dT%H:%i:%S') uploadTs
'1' guaranteeType,'1' loanPurpose,
,if(a.funding_corp_id in (240,640,700),'深圳市小赢科技有限责任公司','广州惠金小额贷款有限公司') institutionalFundingPartner
DATE_FORMAT(
,if(a.funding_corp_id in (240,640,700),'91440300MA5DMXHN4R','91440101MA59G7X78Y') institutionalFundingPartnerID
CASE
,j.corp_loan_id relationID
WHEN i.created_at IS NULL AND h.created_at
<
= f.created_at THEN h.created_at
,'' institutionalFundingPartnerLoanID
WHEN i.created_at IS NULL AND h.created_at
>
f.created_at THEN f.created_at
,if(d.order_no is null,a.loan_application_history_id,d.order_no) orderID
ELSE i.created_at
,'' preCreditLimit
END, '%Y-%m-%dT%H:%i:%S'
,b.name name
) AS applyDate,
,b.id_no pid
DATE_FORMAT(
,b.phone_no mobile
CASE
,if(d.order_no is null,a.loan_application_history_id,d.order_no) loanId
WHEN d.created_at IS NULL AND f.created_at
>
= h.created_at THEN f.created_at
,'1' guaranteeType
WHEN d.created_at IS NULL AND f.created_at
<
h.created_at THEN h.created_at
,'1' loanPurpose
ELSE d.created_at
,DATE_FORMAT(case when i.created_at is null and h.created_at
<
=f.created_at then h.created_at
END, '%Y-%m-%dT%H:%i:%S'
when i.created_at is null and h.created_at>f.created_at then f.created_at
) AS accountOpenDate,
else i.created_at end,'%Y-%m-%dT%H:%i:%S') as applyDate
DATE_FORMAT(a.loan_paid_at,'%Y-%m-%dT%H:%i:%S') issueDate,
,DATE_FORMAT(case when d.created_at is null and f.created_at>=h.created_at then f.created_at
date(date_sub(e.deadline, INTERVAL 1 SECOND)) dueDate,a.contract_loan_amount loanAmount,a.contract_term totalTerm,
when d.created_at is null and f.created_at
<
h.created_at then h.created_at
IF (a.contract_term = 1, '1', '2') targetRepayDateType,
else d.created_at end,'%Y-%m-%dT%H:%i:%S') as accountOpenDate
IF (a.contract_term = 1,'30','-1') termPeriod,
,DATE_FORMAT(a.loan_paid_at,'%Y-%m-%dT%H:%i:%S') issueDate
date(date_sub(g.deadline, INTERVAL 1 SECOND)) firstRepaymentDate,'0' gracePeriod
,date(date_sub(e.deadline,INTERVAL 1 second)) dueDate
FROM xyqb_i_loan_application_manifest_history a
,a.contract_loan_amount loanAmount
LEFT JOIN xyqb_user_i_user_detail b ON a.user_id = b.user_id
,a.contract_term totalTerm
LEFT JOIN xyqb_i_loan_account_ext c ON a.loan_application_history_id = c.loan_id
,'2' targetRepayDateType
LEFT JOIN xyqb_i_apply_quota_record d ON c.order_no = d.order_no
,'-1' termPeriod
LEFT JOIN xyqb_i_repayment_plan e ON a.loan_application_history_id = e.loan_application_history_id
,date(date_sub(g.deadline,INTERVAL 1 second)) firstRepaymentDate
LEFT JOIN xyqb_i_loan_submit_info f ON a.loan_application_history_id = f.loan_id
-- ,'0' gracePeriod
LEFT JOIN xyqb_i_repayment_plan g ON a.loan_application_history_id = g.loan_application_history_id
-- ,'30' gracePeriod
LEFT JOIN xyqb_i_loan_application_history h ON a.loan_application_history_id = h.id
,if(a.funding_corp_id in (880,890),'30','0') gracePeriod
LEFT JOIN xyqb_i_quota_credit i ON d.order_no = i.order_no
from xyqb_i_loan_application_manifest_history a
/*WHERE a.funding_corp_id IN (480,710)*/
left join xyqb_user_i_user_detail b on a.user_id=b.user_id
WHERE a.funding_corp_id IN (480,710,630,790,820)
left join xyqb_i_loan_account_ext c on a.loan_application_history_id=c.loan_id
AND e.term_no = a.contract_term AND g.term_no = 1 AND a.transaction_status IN (2, 5)
left join xyqb_i_apply_quota_record d on c.order_no=d.order_no
left join xyqb_i_repayment_plan e on a.loan_application_history_id=e.loan_application_history_id
left join xyqb_i_loan_submit_info f on a.loan_application_history_id=f.loan_id
left join xyqb_i_repayment_plan g on a.loan_application_history_id=g.loan_application_history_id
left join xyqb_i_loan_application_history h on a.loan_application_history_id=h.id
left join xyqb_i_quota_credit i on d.order_no=i.order_no
left join xyqb_i_waiting_funding_corp_operate_people j on a.loan_application_history_id=j.loan_application_history_id
where a.funding_corp_id in (420,520,580,650,670,810,240,640,700, 880,890) and
e.term_no=a.contract_term and g.term_no=1
and a.contract_term not in (2,3)
and a.transaction_status in (2,5)
AND a.loan_application_history_id=#{loanApplicationHistoryId}
AND a.loan_application_history_id=#{loanApplicationHistoryId}
</select>
</select>
...
...
src/main/resources/cn/quantgroup/report/mapper/master/ApplyLoanInfoDbMapper.xml
View file @
9ed8263f
...
@@ -22,5 +22,54 @@
...
@@ -22,5 +22,54 @@
</select>
</select>
<!--1.根据loan_application_history_id查询工具报送的bean 申请A1 2019.10.20-->
<select
id=
"findApplyInfoA1ByHistoryId"
resultType=
"cn.quantgroup.report.domain.baihang.ApplyLoanInfoZhuDai"
>
select
a.id reqID
,'A' opCode
,DATE_FORMAT(now(),'%Y-%m-%dT%H:%i:%S') uploadTs
,'1' isFinTechAgencyBusiness
,DATE_FORMAT(case when i.created_at is null and h.created_at
<
=f.created_at then h.created_at
when i.created_at is null and h.created_at>f.created_at then f.created_at
else i.created_at end,'%Y-%m-%dT%H:%i:%S') as applyDate
,if(d.order_no is null,a.loan_application_history_id,d.order_no) applyId
,'1' applyType
,b.name name
,'1' idType
,b.id_no pid
,b.phone_no mobile
,b.email emailAddress
,case when j.education=1 then '10'
when j.education=2 then '20'
when j.education=3 then '30'
when j.education in (4,6) then '40'
when j.education=5 then '50'
when j.education in (7,8) then '60'
else '70' end eduBackground
,'500' degree
,'1' guaranteeType
,'1' loanPurpose
,'99' customType
,'-1' applyAmount
,'8' livingCondition
,case when j.marry_status=1 then '10'
when j.marry_status=2 then '20'
when j.marry_status=4 then '30'
when j.marry_status=3 then '40'
else '90' end marriageStatus
from xyqb_i_loan_application_manifest_history a
left join xyqb_user_i_user_detail b on a.user_id=b.user_id
left join xyqb_i_loan_account_ext c on a.loan_application_history_id=c.loan_id
left join xyqb_i_apply_quota_record d on c.order_no=d.order_no
left join xyqb_i_loan_submit_info f on a.loan_application_history_id=f.loan_id
left join xyqb_i_loan_application_history h on a.loan_application_history_id=h.id
left join xyqb_i_quota_credit i on d.order_no=i.order_no
left join xyqb_i_loan_base_info j on a.loan_application_history_id=j.loan_id
where a.funding_corp_id in (420,520,580,650,670,810,240,640,700, 880,890)
and a.contract_term not in (2,3)
and a.transaction_status in (2,5)
AND a.loan_application_history_id=#{loanApplicationHistoryId}
</select>
</mapper>
</mapper>
\ No newline at end of file
src/main/resources/cn/quantgroup/report/mapper/master/RepaymentLoanInfoDbMapper.xml
View file @
9ed8263f
...
@@ -26,10 +26,9 @@
...
@@ -26,10 +26,9 @@
<result
column=
"loanStatus"
jdbcType=
"INTEGER"
property=
"loan_status"
/>
<result
column=
"loanStatus"
jdbcType=
"INTEGER"
property=
"loan_status"
/>
</resultMap>
</resultMap>
<resultMap
id=
"RepaymentLoanInfoVoResultMapByBS"
type=
"cn.quantgroup.report.domain.baihang.RepaymentLoanInfo
Vo
"
>
<resultMap
id=
"RepaymentLoanInfoVoResultMapByBS"
type=
"cn.quantgroup.report.domain.baihang.RepaymentLoanInfo
Log
"
>
<result
column=
"id"
jdbcType=
"DECIMAL"
property=
"id"
/>
<result
column=
"reqID"
jdbcType=
"VARCHAR"
property=
"req_id"
/>
<result
column=
"reqID"
jdbcType=
"VARCHAR"
property=
"req_id"
/>
<result
column=
"recordId"
jdbcType=
"VARCHAR"
property=
"record_id"
/>
<result
column=
"opCode"
jdbcType=
"VARCHAR"
property=
"op_code"
/>
<result
column=
"opCode"
jdbcType=
"VARCHAR"
property=
"op_code"
/>
<result
column=
"uploadTs"
jdbcType=
"VARCHAR"
property=
"upload_ts"
/>
<result
column=
"uploadTs"
jdbcType=
"VARCHAR"
property=
"upload_ts"
/>
<result
column=
"loanId"
jdbcType=
"VARCHAR"
property=
"loan_id"
/>
<result
column=
"loanId"
jdbcType=
"VARCHAR"
property=
"loan_id"
/>
...
@@ -48,6 +47,9 @@
...
@@ -48,6 +47,9 @@
<result
column=
"overdueAmount"
jdbcType=
"DECIMAL"
property=
"overdue_amount"
/>
<result
column=
"overdueAmount"
jdbcType=
"DECIMAL"
property=
"overdue_amount"
/>
<result
column=
"remainingAmount"
jdbcType=
"DECIMAL"
property=
"remaining_amount"
/>
<result
column=
"remainingAmount"
jdbcType=
"DECIMAL"
property=
"remaining_amount"
/>
<result
column=
"loanStatus"
jdbcType=
"INTEGER"
property=
"loan_status"
/>
<result
column=
"loanStatus"
jdbcType=
"INTEGER"
property=
"loan_status"
/>
<result
column=
"recordId"
jdbcType=
"VARCHAR"
property=
"record_id"
/>
<result
column=
"id"
jdbcType=
"DECIMAL"
property=
"id"
/>
<result
column=
"enable"
jdbcType=
"INTEGER"
property=
"enable"
/>
<result
column=
"enable"
jdbcType=
"INTEGER"
property=
"enable"
/>
<result
column=
"createdAt"
jdbcType=
"VARCHAR"
property=
"created_at"
/>
<result
column=
"createdAt"
jdbcType=
"VARCHAR"
property=
"created_at"
/>
<result
column=
"updatedAt"
jdbcType=
"VARCHAR"
property=
"updated_at"
/>
<result
column=
"updatedAt"
jdbcType=
"VARCHAR"
property=
"updated_at"
/>
...
@@ -78,7 +80,7 @@
...
@@ -78,7 +80,7 @@
<!--根据日志中的reqID查询loan_id及还款信息 2019.09.25-->
<!--根据日志中的reqID查询loan_id及还款信息 2019.09.25-->
<select
id=
"findByRecordId"
resultMap=
"RepaymentLoanInfoVoResultMapByBS"
>
<select
id=
"findBy
D3
RecordId"
resultMap=
"RepaymentLoanInfoVoResultMapByBS"
>
SELECT * from repayment_loan_info_zhudai
SELECT * from repayment_loan_info_zhudai
WHERE op_code='A' and record_id IN
WHERE op_code='A' and record_id IN
<foreach
collection=
"array"
item=
"recordId"
index=
"index"
open=
"("
close=
")"
separator=
","
>
<foreach
collection=
"array"
item=
"recordId"
index=
"index"
open=
"("
close=
")"
separator=
","
>
...
...
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