From 035fa578729ac2735aa26b5b5ec5806023d167b9 Mon Sep 17 00:00:00 2001 From: "583641232@qq.com" <583641232@qq.com> Date: Wed, 21 Aug 2024 15:07:44 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E5=B9=B6=E5=85=A5=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../helper/HelperUtil.java | 37 +++++++++++-------- .../service/impl/BankServiceImpl.java | 6 +++ 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/HelperUtil.java b/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/HelperUtil.java index 01a2a71..575d0eb 100644 --- a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/HelperUtil.java +++ b/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/HelperUtil.java @@ -976,22 +976,29 @@ public class HelperUtil { public static String generateMD5Id(BankStatement bs,String caseId){ - String cardHolderName = StrUtil.isEmpty(bs.getCardHolderName())?"":bs.getCardHolderName(); - String idCardNo = StrUtil.isEmpty(bs.getIdCardNo())?"":bs.getIdCardNo(); - String cardNumber = StrUtil.isEmpty(bs.getCardNumber())?"":bs.getCardNumber(); - Date transactionTime = bs.getTransactionTime(); - BigDecimal transactionAmount = bs.getTransactionAmount(); - BigDecimal balance = bs.getBalance(); - String transactionInstitutions = StrUtil.isEmpty(bs.getTransactionInstitutions())?"":bs.getTransactionInstitutions(); - String counterpartyName = StrUtil.isEmpty(bs.getCounterpartyName())?"":bs.getCounterpartyName(); - String counterpartyAccount = StrUtil.isEmpty(bs.getCounterpartyAccount())?"":bs.getCounterpartyAccount(); - String summary = StrUtil.isEmpty(bs.getSummary())?"":bs.getSummary(); - String transRemark = StrUtil.isEmpty(bs.getTransRemark())?"":bs.getTransRemark(); - - String uniqueKey = caseId + bs.getBankName()+ cardHolderName + idCardNo + cardNumber + transactionTime + transactionAmount + + try { + String cardHolderName = StrUtil.isEmpty(bs.getCardHolderName())?"":bs.getCardHolderName(); + String idCardNo = StrUtil.isEmpty(bs.getIdCardNo())?"":bs.getIdCardNo(); + String cardNumber = StrUtil.isEmpty(bs.getCardNumber())?"":bs.getCardNumber(); + Date transactionTime = bs.getTransactionTime(); + BigDecimal transactionAmount = bs.getTransactionAmount(); + BigDecimal balance = bs.getBalance(); + String transactionInstitutions = StrUtil.isEmpty(bs.getTransactionInstitutions())?"":bs.getTransactionInstitutions(); + String counterpartyName = StrUtil.isEmpty(bs.getCounterpartyName())?"":bs.getCounterpartyName(); + String counterpartyAccount = StrUtil.isEmpty(bs.getCounterpartyAccount())?"":bs.getCounterpartyAccount(); + String summary = StrUtil.isEmpty(bs.getSummary())?"":bs.getSummary(); + String transRemark = StrUtil.isEmpty(bs.getTransRemark())?"":bs.getTransRemark(); + + String uniqueKey = caseId + bs.getBankName()+ cardHolderName + idCardNo + cardNumber + transactionTime + transactionAmount + balance + transactionInstitutions + counterpartyName + counterpartyAccount + summary + transRemark; - //去重 - return generateMD5(uniqueKey); + //去重 + return generateMD5(uniqueKey); + }catch (Exception e){ + e.printStackTrace(); + System.out.println("bs = " + JSONUtil.toJsonStr(bs)); + return null; + } + } diff --git a/cas-system/src/main/java/com/inscloudtech/datacenter/service/impl/BankServiceImpl.java b/cas-system/src/main/java/com/inscloudtech/datacenter/service/impl/BankServiceImpl.java index b304cbc..5b515b0 100644 --- a/cas-system/src/main/java/com/inscloudtech/datacenter/service/impl/BankServiceImpl.java +++ b/cas-system/src/main/java/com/inscloudtech/datacenter/service/impl/BankServiceImpl.java @@ -2119,7 +2119,13 @@ public class BankServiceImpl implements BankService { Set uniqueKeySet = new HashSet(); List bsList = ListUtils.newArrayListWithExpectedSize(BATCH_SIZE); for (BankStatement bs : list) { + if(bs == null){ + continue; + } String md5Id = HelperUtil.generateMD5Id(bs,caseId); + if(md5Id == null){ + continue; + } //未导入数据内部去重 if(HelperUtil.deduplication(md5Id,uniqueKeySet)){ continue;