Răsfoiți Sursa

feat(1): 第三方数据需要处理的特例

max 5 luni în urmă
părinte
comite
3e14850b3e

+ 2 - 2
src/main/java/ieven/server/webapp/service/alipay/ALIPAY_GENERATED_ACCOUNT_JZY.java

@@ -98,7 +98,7 @@ public class ALIPAY_GENERATED_ACCOUNT_JZY extends Ops implements Runnable {
                         dataMap.put("支付宝户名", originDoc.getString("用户名称"));
                         dataMap.put("支付宝用户ID", originDoc.getString("支付宝ID"));
                         dataMap.put("对手支付宝户名", originDoc.getString("交易对方名称"));
-                        dataMap.put("对手支付宝用户ID", originDoc.getString("交易对方登录ID"));
+                        dataMap.put("对手支付宝用户ID", PublicStatic.formatTransactionPartyName(originDoc.getString("交易对方登录ID")));
                         dataMap.put("消费名称", originDoc.getString("消费名称"));
                         dataMap.put("金额(元)", originDoc.getString("金额"));
                         dataMap.put("收/支", originDoc.getString("收/支标志"));
@@ -180,7 +180,7 @@ public class ALIPAY_GENERATED_ACCOUNT_JZY extends Ops implements Runnable {
                 dataMap.put("支付宝户名", originDoc.getString("用户名称"));
                 dataMap.put("支付宝用户ID", originDoc.getString("支付宝ID"));
                 dataMap.put("对手支付宝户名", originDoc.getString("交易对方名称"));
-                dataMap.put("对手支付宝用户ID", originDoc.getString("交易对方登录ID"));
+                dataMap.put("对手支付宝用户ID", PublicStatic.formatTransactionPartyName(originDoc.getString("交易对方登录ID")));
                 dataMap.put("消费名称", originDoc.getString("消费名称"));
                 dataMap.put("金额(元)", originDoc.getString("金额"));
                 dataMap.put("收/支", originDoc.getString("收/支标志"));

+ 28 - 0
src/main/java/ieven/server/webapp/service/alipay/AntiSecurityTrade3.java

@@ -20,6 +20,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CountDownLatch;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 public class AntiSecurityTrade3 extends Ops implements Runnable {
 
@@ -235,6 +237,32 @@ public class AntiSecurityTrade3 extends Ops implements Runnable {
                         needToSave.add(dataMap);
                     }
                 }
+            } else {
+                /*特殊格式处理*/
+                String account = String.valueOf(dataMap.get("交易对手账号"));
+                Pattern pattern = Pattern.compile("(.+)\\((.*@.*)\\)");
+                Pattern pattern2 = Pattern.compile("商户_(.+)\\((.+)\\)");
+                Matcher matcher = pattern.matcher(account);
+                Matcher matcher2 = pattern2.matcher(account);
+                if (matcher.find()) {
+                    // 提取名称部分(第一组)
+                    String name = matcher.group(1);
+                    // 提取 Email 地址部分(第二组)
+                    String email = matcher.group(2);
+                    // 更新数据映射
+                    dataMap.put("交易对手户名", name);
+                    dataMap.put("交易对手账号", email);
+                }
+                if (matcher2.find()) {
+                    // 提取名称部分(第一组)
+                    String name = matcher2.group(1);
+                    // 提取 Email 地址部分(第二组)
+                    String email = matcher2.group(2);
+                    // 更新数据映射
+                    dataMap.put("交易对手户名", name);
+                    dataMap.put("交易对手账号", email);
+                }
+
             }
             needToSave.add(dataMap);
             if (needToSave.size() >= 1000) {

+ 2 - 2
src/main/java/ieven/server/webapp/service/datastatic/DataStaticAnalysisDs.java

@@ -340,7 +340,7 @@ public class DataStaticAnalysisDs extends Ops implements Runnable {
                 try {
 
                     origin = cursor.next();
-                    String alipayId = origin.getString("对手支付宝用户ID");
+                    String alipayId = PublicStatic.formatTransactionPartyName(origin.getString("对手支付宝用户ID"));
                     DataMap dataMap;
                     if (alipayIds.contains(alipayId)) {
                         dataMap = idToData.get(alipayId);
@@ -475,7 +475,7 @@ public class DataStaticAnalysisDs extends Ops implements Runnable {
                 try {
 
                     origin = cursor.next();
-                    String alipayId = origin.getString("对手支付宝用户ID");
+                    String alipayId = PublicStatic.formatTransactionPartyName(origin.getString("对手支付宝用户ID"));
                     DataMap dataMap;
                     if (alipayIds.contains(alipayId)) {
                         dataMap = idToData.get(alipayId);

+ 4 - 4
src/main/java/ieven/server/webapp/service/tenpay/TenpayTrades.java

@@ -212,17 +212,17 @@ public class TenpayTrades extends Ops implements Runnable {
                 if (StringUtils.isBlank(lognumber)) {
                     continue;
                 }
-                dataMap.put("交易主体户名", origin.getString("用户侧账号名称"));
-                dataMap.put("交易主体账号", userId);
+                dataMap.put("交易主体户名", PublicStatic.specialFormatStr(origin.getString("用户侧账号名称")));
+                dataMap.put("交易主体账号", PublicStatic.formatTransactionPartyName(userId));
                 dataMap.put("交易主体银行卡号", origin.getString("用户银行卡号"));
                 dataMap.put("交易主体银行名称", origin.getString("用户侧银行名称"));
-                dataMap.put("交易对手户名", origin.getString("对手侧账户名称"));
+                dataMap.put("交易对手户名", PublicStatic.specialFormatStr(origin.getString("对手侧账户名称")));
                 dataMap.put("交易对手银行卡号", origin.getString("交易对手银行卡号"));
                 dataMap.put("交易对手银行名称", origin.getString("对手侧银行名称"));
                 dataMap.put("交易单号", lognumber.replace("[", "").replace("]", ""));
                 dataMap.put("借贷类型", origin.getString("借贷类型"));
 
-                dataMap.put("交易对手账号", dsUserId);
+                dataMap.put("交易对手账号", PublicStatic.formatTransactionPartyName(dsUserId));
                 dataMap.put("交易时间", origin.getString("交易时间"));
                 String string5 = origin.getString("交易金额(分)");
                 if (!NumberUtil.isNumber(string5)) {

+ 1 - 3
src/main/java/ieven/server/webapp/util/excel/PublicStatic.java

@@ -354,12 +354,10 @@ public class PublicStatic {
                 return matcher.group(groups[i]);
             }
         }
-        result = result.replace("-", "-");
-        result = result.replace("/", "/");
         result = result.replace("(", "(");
         result = result.replace(")", ")");
         // 统一处理特殊字符替换
-        return result.replaceAll("(", "").replaceAll(")", "").replaceAll("-", "").replaceAll("[-_()()]", "");
+        return result.replaceAll("(", "").replaceAll(")", "").replaceAll("[-_()()]", "");
     }
 
     /**