Browse Source

央地系统-新模板

master
583641232@qq.com 11 months ago
parent
commit
2782e69e39
  1. 7
      cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/entity/CGSBankStatement.java
  2. 55
      cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/CGSAnalysisHelper.java

7
cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/entity/CGSBankStatement.java

@ -35,6 +35,10 @@ public class CGSBankStatement {
@IndexField(fieldType = FieldType.KEYWORD)
private String cardNumber;
@ExcelProperty("查询账号")
@IndexField(fieldType = FieldType.KEYWORD)
private String accountNumber;
@ExcelProperty("借贷标志")
@ -55,6 +59,9 @@ public class CGSBankStatement {
@ExcelProperty("交易对方卡号")
private String counterpartyAccount;
@ExcelProperty("交易流水号")
private String transNo;
@ExcelProperty("交易对方证件号码")
private String counterpartyIdCardNo;

55
cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/CGSAnalysisHelper.java

@ -1,5 +1,6 @@
package com.inscloudtech.bankStatementAnalysis.helper;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.IdUtil;
@ -247,25 +248,11 @@ public class CGSAnalysisHelper {
@Override
public void invoke(CGSBankStatement data, AnalysisContext context) {
if(StrUtil.isEmpty(data.getCardNumber())){
return;
}
String transTime = data.getTransTime();
try {
if(StrUtil.isNotEmpty(transTime)){
if (transTime.length() > format.length()) {
transTime = transTime.substring(0, format.length());
}else if (transTime.length() < format.length()){
transTime += "000000";
data.setTransTime(transTime);
}
DateUtil.parse(transTime, format);
if(StrUtil.isNotEmpty(data.getAccountNumber())){
data.setCardNumber(data.getAccountNumber());
}else {
throw new AnalyzeDataFailedException(
String.format("解析交易时间错误,无法将【%s】格式化为【%s】", transTime, format), new Exception());
return;
}
}catch (Exception e){
importResultService.record(caseId,bankName,e,sourceFile);
}
data.setSourceFile(sourceFile);
data.setBankName(bankName);
@ -384,8 +371,27 @@ public class CGSAnalysisHelper {
// 4 交易时间
String transTime = entity.getTransTime();
if (StringUtils.isNotEmpty(transTime)) {
bs.setTransactionTime(DateUtil.parse(transTime, format));
if(StrUtil.isNotEmpty(transTime)){
if (transTime.length() > format.length()) {
transTime = transTime.substring(0, format.length());
}else if (transTime.length() < format.length()){
int sub = format.length() - transTime.length();
for (int i = 0;i < sub; i++){
transTime += "0";
}
}
String substring = transTime.substring(transTime.length() - 6);
if(substring.equals("240000")){
String[] split = transTime.split("240000");
transTime = split[0] + "000000";
}
try {
bs.setTransactionTime( DateUtil.parse(transTime, format));
}catch (Exception e){
throw new AnalyzeDataFailedException(
String.format("解析交易时间错误,无法将【%s】格式化为【%s】", transTime, format), new Exception());
}
}
// 2交易金额
@ -408,7 +414,7 @@ public class CGSAnalysisHelper {
//去重
String uniqueKey = bs.getCardHolderName()+bs.getIdCardNo()+bs.getCardNumber()+bs.getTransactionTime()+bs.getTransactionAmount()+
bs.getBalance();
bs.getBalance()+entity.getTransNo();
if (uniqueKeySet.contains(uniqueKey)) {
continue;
}
@ -467,5 +473,14 @@ public class CGSAnalysisHelper {
}
public static void main(String[] args) {
String transTime = "20190801240000";
if(transTime.contains("240000")){
String[] split = transTime.split("240000");
transTime = split[0] + "000000";
}
DateTime parse = DateUtil.parse(transTime, format);
}
}
Loading…
Cancel
Save