diff --git a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/ImportOpeningAccountInfo.java b/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/ImportOpeningAccountInfo.java index 7e3d309..fcde8c1 100644 --- a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/ImportOpeningAccountInfo.java +++ b/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/domain/ImportOpeningAccountInfo.java @@ -19,9 +19,11 @@ import java.math.BigDecimal; * 导入银行流水开户信息模板 */ @Data + @IndexName(BankStatementConstants.IMPORT_TEMPLATE_OPENING_ACCOUNT) public class ImportOpeningAccountInfo { + @ExcelIgnore @IndexId(type = IdType.CUSTOMIZE) private String id; @@ -35,8 +37,8 @@ public class ImportOpeningAccountInfo { @ExcelProperty({"客户账号","客户主账号", "主账号", "卡号", "账号","卡号或帐号"}) private String accountNumber; - @ExcelProperty({"账号对应卡号"}) - private String account2CardNumber; + @ExcelProperty(value = "账号对应卡号") + private String accountCardNumber; @ExcelProperty({"子账号"}) private String accountNumberItem; @@ -63,8 +65,10 @@ public class ImportOpeningAccountInfo { @ExcelProperty({"开户行","开户机构", "开户机构名称"}) private String accountOpeningInstitution; + @ExcelIgnore private String caseId; + @ExcelIgnore private String bankName; /** 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 575d0eb..1bd7535 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 @@ -1004,7 +1004,7 @@ public class HelperUtil { public static String generateMD5Id4OAI(OpeningAccountInfo oai, String caseId) { String uniqueKey = caseId + oai.getBankName()+oai.getName()+oai.getAccountNumber()+oai.getIdNo()+oai.getPhone()+oai.getOpeningAccountDate()+ - oai.getClosingDate()+oai.getStatus()+oai.getCustomerId()+oai.getAccount2CardNumber(); + oai.getClosingDate()+oai.getStatus()+oai.getCustomerId()+oai.getAccountCardNumber(); return generateMD5(uniqueKey); } diff --git a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/ICBCDataAnalysisHelper.java b/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/ICBCDataAnalysisHelper.java index 5ab3fd3..fded23d 100644 --- a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/ICBCDataAnalysisHelper.java +++ b/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/helper/ICBCDataAnalysisHelper.java @@ -200,8 +200,10 @@ public class ICBCDataAnalysisHelper { List entityList = HelperUtil.getEntityList(creditCardBankStatementMapper, ICBCCreditCardBankStatementEntry.class); List oaiData = importService.getOAIData(caseId, BANK_NAME); + Map nameAccMap = new HashMap<>(); Map cardNumberAccMap = new HashMap<>(); + Map accountNumberAccMap = new HashMap<>(); Map account2CardNumberMap = new HashMap<>(); for (OpeningAccountInfo entry : oaiData) { @@ -213,8 +215,11 @@ public class ICBCDataAnalysisHelper { cardNumberAccMap.put(entry.getAccountNumber(), entry); } - if (StrUtil.isNotEmpty(entry.getAccount2CardNumber())) { - account2CardNumberMap.put(entry.getAccount2CardNumber(), entry); + if (StrUtil.isNotEmpty(entry.getCustomerId())) { + accountNumberAccMap.put(entry.getCustomerId(), entry); + } + if (StrUtil.isNotEmpty(entry.getAccountCardNumber())) { + account2CardNumberMap.put(entry.getAccountCardNumber(), entry); } } @@ -230,19 +235,39 @@ public class ICBCDataAnalysisHelper { bs.setBankName(BANK_NAME); bs.setCardNumber(entry.getCardNumber()); bs.setCardHolderName(entry.getCardHolderName()); - if (StrUtil.isEmpty(bs.getCardHolderName())) { - // 从开户信息中获取数据 - OpeningAccountInfo acc = cardNumberAccMap.getOrDefault(entry.getCardNumber(), null); - if (acc != null) { - bs.setCardHolderName(acc.getName()); - bs.setIdCardNo(acc.getIdNo()); - }else { - acc = account2CardNumberMap.getOrDefault(entry.getCardNumber(), null); - if (acc != null) { - bs.setCardHolderName(acc.getName()); - bs.setIdCardNo(acc.getIdNo()); - } + + String cardNumber = entry.getCardNumber(); + String accountNumber = entry.getAccountNumber(); + + if (StrUtil.isEmpty(entry.getCardHolderName())) { + if (cardNumberAccMap.containsKey(cardNumber)) { + OpeningAccountInfo info = cardNumberAccMap.get(cardNumber); + bs.setCardHolderName(info.getName()); + bs.setIdCardNo(info.getIdNo()); + } else if (cardNumberAccMap.containsKey(accountNumber)) { + OpeningAccountInfo info = cardNumberAccMap.get(accountNumber); + bs.setCardHolderName(info.getName()); + bs.setIdCardNo(info.getIdNo()); + } else if(accountNumberAccMap.containsKey(cardNumber)){ + OpeningAccountInfo info = accountNumberAccMap.get(cardNumber); + bs.setCardHolderName(info.getName()); + bs.setIdCardNo(info.getIdNo()); + + } else if(accountNumberAccMap.containsKey(accountNumber)){ + OpeningAccountInfo info = accountNumberAccMap.get(accountNumber); + bs.setCardHolderName(info.getName()); + bs.setIdCardNo(info.getIdNo()); + + } else if(account2CardNumberMap.containsKey(accountNumber)){ + OpeningAccountInfo info = account2CardNumberMap.get(accountNumber); + bs.setCardHolderName(info.getName()); + bs.setIdCardNo(info.getIdNo()); + }else if(account2CardNumberMap.containsKey(cardNumber)){ + OpeningAccountInfo info = account2CardNumberMap.get(cardNumber); + bs.setCardHolderName(info.getName()); + bs.setIdCardNo(info.getIdNo()); } + }else { // 从开户信息中获取数据 OpeningAccountInfo acc = nameAccMap.getOrDefault(entry.getCardHolderName(), null); @@ -251,6 +276,7 @@ public class ICBCDataAnalysisHelper { } } + bs.setCounterpartyName(entry.getCounterpartyName()); bs.setCounterpartIdCardNo(null); bs.setCounterpartyAccount(entry.getCounterpartyAccount()); @@ -345,8 +371,8 @@ public class ICBCDataAnalysisHelper { if (StrUtil.isNotEmpty(entry.getCustomerId())) { accountNumberAccMap.put(entry.getCustomerId(), entry); } - if (StrUtil.isNotEmpty(entry.getAccount2CardNumber())) { - account2CardNumberMap.put(entry.getAccount2CardNumber(), entry); + if (StrUtil.isNotEmpty(entry.getAccountCardNumber())) { + account2CardNumberMap.put(entry.getAccountCardNumber(), entry); } } diff --git a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/service/impl/ImportServiceImpl.java b/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/service/impl/ImportServiceImpl.java index 1924710..19bc00c 100644 --- a/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/service/impl/ImportServiceImpl.java +++ b/cas-system/src/main/java/com/inscloudtech/bankStatementAnalysis/service/impl/ImportServiceImpl.java @@ -19,6 +19,7 @@ import com.aspose.cells.Cell; import com.aspose.cells.Cells; import com.aspose.cells.Workbook; import com.aspose.cells.Worksheet; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.inscloudtech.bankStatementAnalysis.domain.HeadField; import com.inscloudtech.bankStatementAnalysis.domain.ImportOpeningAccountInfo; import com.inscloudtech.bankStatementAnalysis.domain.ReadDto; diff --git a/cas-system/src/main/java/com/inscloudtech/datacenter/domain/OpeningAccountInfo.java b/cas-system/src/main/java/com/inscloudtech/datacenter/domain/OpeningAccountInfo.java index 68f6ff0..3c325b0 100644 --- a/cas-system/src/main/java/com/inscloudtech/datacenter/domain/OpeningAccountInfo.java +++ b/cas-system/src/main/java/com/inscloudtech/datacenter/domain/OpeningAccountInfo.java @@ -72,7 +72,7 @@ public class OpeningAccountInfo implements Serializable { */ @ExcelProperty(value = "账号对应卡号") @DeduplicationField - private String account2CardNumber; + private String accountCardNumber; /** diff --git a/cas-system/src/main/java/com/inscloudtech/datacenter/service/IndexInitService.java b/cas-system/src/main/java/com/inscloudtech/datacenter/service/IndexInitService.java index 2d6e4c7..b46bc86 100644 --- a/cas-system/src/main/java/com/inscloudtech/datacenter/service/IndexInitService.java +++ b/cas-system/src/main/java/com/inscloudtech/datacenter/service/IndexInitService.java @@ -11,7 +11,7 @@ public class IndexInitService { public static final String OPENING_ACCOUNT_INFO_INDEX = "dc_opening_account_info"; public static final String OPENING_ACCOUNT_INFO_MAPPING = "{\"properties\":{\"accountNumber\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}}}," + "\"customerId\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}}}," + - "\"account2CardNumber\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}}}," + + "\"accountCardNumber\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}}}," + "\"accountOpeningInstitution\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}}},\"address\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}}},\"analysisResultId\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}}},\"balance\":{\"type\":\"scaled_float\",\"scaling_factor\":100.0},\"bankName\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}},\"fielddata\":true},\"bgColor\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}}},\"bgc\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}}},\"caseId\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}}},\"closingDate\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}},\"fielddata\":true},\"createTime\":{\"type\":\"long\"},\"freezeDate\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}},\"fielddata\":true},\"freezeInfo\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}}},\"idNo\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}},\"fielddata\":true},\"idType\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}},\"fielddata\":true},\"ids\":{\"type\":\"text\"},\"name\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}},\"fielddata\":true},\"newAccountNumber\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}}},\"onlineBankingSigningInfo\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}}},\"openingAccountDate\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}},\"fielddata\":true},\"phone\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}}},\"remark\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}}},\"revokeList\":{\"type\":\"text\"},\"sId\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}}},\"status\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}},\"fielddata\":true},\"type\":{\"type\":\"text\",\"fields\":{\"keyword\":{\"type\":\"keyword\",\"ignore_above\":256}},\"fielddata\":true}}}"; public static final String TRANSACTION_PARTNER_INDEX = "dc_transaction_partner";