|
@@ -47,6 +47,8 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
String newFileId = "";
|
|
|
String newFileIdAll = "";
|
|
|
String dateFileId = getFileId("数据分析-主体信息汇总明细", modelId, mongoTemplate);
|
|
|
+ String cft = getFileId(TenpayHeaders.getGeneratedName(3), modelId, mongoTemplate);
|
|
|
+ String wld = getFileId(AlipayHeaders.getGeneratedName(2), modelId, mongoTemplate);
|
|
|
// 插入记录用户后续查询明细
|
|
|
if (StringUtils.isNotBlank(dateFileId)) {
|
|
|
MongoCursor<Document> cursor = getCursor(dateFileId, mongoTemplate);
|
|
@@ -69,19 +71,28 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
List<DataMap> needToSave = new ArrayList<>(1000);
|
|
|
List<DataMap> needToSaveall = new ArrayList<>(1000);
|
|
|
Map<String, Object> dataMapUser = new HashMap<>();
|
|
|
- Map<String, String> dateFileId2Map = new HashMap<>();
|
|
|
while (cursor.hasNext()) {
|
|
|
try {
|
|
|
origin = cursor.next();
|
|
|
String alipayId = origin.getString("交易主体账号");
|
|
|
DataMap dataMap;
|
|
|
+ //组装用户基本信息
|
|
|
+ String type = origin.getString("类型");
|
|
|
+ String dateFileId2 = "";
|
|
|
+ if ("财付通".equals(type)) {
|
|
|
+ dateFileId2 = cft;
|
|
|
+
|
|
|
+ } else if ("五联单".equals(type)) {
|
|
|
+ dateFileId2 = wld;
|
|
|
+
|
|
|
+ }
|
|
|
if (StringUtils.isNotBlank(alipayId) && !"null".equals(alipayId) && !alipayIds.contains(alipayId)) {
|
|
|
alipayIds.add(alipayId);
|
|
|
dataMap = new DataMap();
|
|
|
dataMap.put("fileId", newFileId);
|
|
|
dataMap.put("交易主体账号", alipayId);
|
|
|
dataMap.put("交易主体户名", "");
|
|
|
- getData(dataMap, origin);
|
|
|
+ getData(dataMap, origin, dateFileId2);
|
|
|
idToData.put(alipayId, dataMap);
|
|
|
}
|
|
|
String alipayUsername = origin.getString("交易主体户名");
|
|
@@ -95,42 +106,15 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
}
|
|
|
namesSet.add(alipayUsername);
|
|
|
}
|
|
|
- //组装用户基本信息
|
|
|
- String type = origin.getString("类型");
|
|
|
- String dateFileId2 = "";
|
|
|
- if ("财付通".equals(type)) {
|
|
|
- String s = dateFileId2Map.get(type);
|
|
|
- if (PublicStatic.checkStr(s)) {
|
|
|
- s = getFileId(TenpayHeaders.getGeneratedName(3), modelId, mongoTemplate);
|
|
|
- dateFileId2Map.put(type, s);
|
|
|
- }
|
|
|
- dateFileId2 = s;
|
|
|
-
|
|
|
- } else if ("反诈".equals(type)) {
|
|
|
- String s = dateFileId2Map.get(type);
|
|
|
- if (PublicStatic.checkStr(s)) {
|
|
|
- s = getFileId(TenpayHeaders.getGeneratedName(3), modelId, mongoTemplate);
|
|
|
- dateFileId2Map.put(type, s);
|
|
|
- }
|
|
|
- dateFileId2 = s;
|
|
|
-
|
|
|
- } else if ("五联单".equals(type)) {
|
|
|
- String s = dateFileId2Map.get(type);
|
|
|
- if (PublicStatic.checkStr(s)) {
|
|
|
- s = getFileId(AlipayHeaders.getGeneratedName(2), modelId, mongoTemplate);
|
|
|
- dateFileId2Map.put(type, s);
|
|
|
- }
|
|
|
- dateFileId2 = s;
|
|
|
-
|
|
|
- }
|
|
|
getDataAll(needToSaveall, origin, alipayIdsAll, newFileIdAll, dataMapUser, idToData, dateFileId2);
|
|
|
if (needToSaveall.size() >= 1000) {
|
|
|
List<DataMap> newDataList = new ArrayList<>();
|
|
|
for (DataMap map : needToSaveall) {
|
|
|
String zh = String.valueOf(map.get("账号"));
|
|
|
String zhmc = String.valueOf(map.get("账户名称"));
|
|
|
+ String key = zh + "-" + zhmc;
|
|
|
if (StringUtils.isBlank(zhmc) || "null".equals(zhmc)) {
|
|
|
- String newZh = String.valueOf(dataMapUser.get(zh));
|
|
|
+ String newZh = String.valueOf(dataMapUser.get(key));
|
|
|
if (StringUtils.isBlank(newZh) || "null".equals(newZh)) {
|
|
|
continue;
|
|
|
} else {
|
|
@@ -177,8 +161,9 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
for (DataMap map : needToSaveall) {
|
|
|
String zh = String.valueOf(map.get("账号"));
|
|
|
String zhmc = String.valueOf(map.get("账户名称"));
|
|
|
+ String key = zh + "-" + zhmc;
|
|
|
if (StringUtils.isBlank(zhmc) || "null".equals(zhmc)) {
|
|
|
- String newZh = String.valueOf(dataMapUser.get(zh));
|
|
|
+ String newZh = String.valueOf(dataMapUser.get(key));
|
|
|
if (StringUtils.isBlank(newZh) || "null".equals(newZh)) {
|
|
|
continue;
|
|
|
} else {
|
|
@@ -199,7 +184,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
log.info("数据分析-主体信息汇总开始");
|
|
|
}
|
|
|
|
|
|
- public void getData(DataMap dataMap, Document origin) {
|
|
|
+ public void getData(DataMap dataMap, Document origin, String dateFileId2) {
|
|
|
String type = origin.getString("类型");
|
|
|
String account = origin.getString("交易主体账号");
|
|
|
String zjha = "";
|
|
@@ -209,7 +194,6 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
String zcsj = "";
|
|
|
if ("财付通".equals(type)) {
|
|
|
//账户状态", "账号", "注册姓名", "注册时间", "注册身份证号", "绑定手机", "绑定状态", "开户行信息", "银行账号"
|
|
|
- String dateFileId2 = getFileId(TenpayHeaders.getGeneratedName(3), modelId, mongoTemplate);
|
|
|
if (StringUtils.isNotBlank(dateFileId2)) {
|
|
|
List<DataMap> dataMaps = this.mongoTemplate.find((new Query(
|
|
|
Criteria.where("modelId")
|
|
@@ -218,8 +202,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
.is(dateFileId2)
|
|
|
.and("账号")
|
|
|
.is(account)
|
|
|
- .and("generated")
|
|
|
- .is(Boolean.TRUE))), DataMap.class);
|
|
|
+ )), DataMap.class);
|
|
|
if (CollectionUtils.isNotEmpty(dataMaps)) {
|
|
|
zjha = String.valueOf(dataMaps.get(0).get("注册身份证号"));
|
|
|
bdyhkh = String.valueOf(dataMaps.get(0).get("银行账号"));
|
|
@@ -230,7 +213,6 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
}
|
|
|
} else if ("五联单".equals(type)) {
|
|
|
// "用户ID", "登录邮箱", "登录手机", "账户名称", "证件类型", "证件号", "可用余额", "注册时间", "绑定手机", "绑定银行卡", "对应的协查数据"));
|
|
|
- String dateFileId2 = getFileId(AlipayHeaders.getGeneratedName(2), modelId, mongoTemplate);
|
|
|
if (StringUtils.isNotBlank(dateFileId2)) {
|
|
|
List<DataMap> dataMaps = this.mongoTemplate.find((new Query(
|
|
|
Criteria.where("modelId")
|
|
@@ -238,9 +220,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
.and("fileId")
|
|
|
.is(dateFileId2)
|
|
|
.and("用户ID")
|
|
|
- .is(account)
|
|
|
- .and("generated")
|
|
|
- .is(Boolean.TRUE))), DataMap.class);
|
|
|
+ .is(account))), DataMap.class);
|
|
|
if (CollectionUtils.isNotEmpty(dataMaps)) {
|
|
|
zjha = String.valueOf(dataMaps.get(0).get("证件号"));
|
|
|
bdyhkh = String.valueOf(dataMaps.get(0).get("绑定银行卡"));
|
|
@@ -263,27 +243,31 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
String accounthm = String.valueOf(origin.getString("交易主体户名"));
|
|
|
String accountds = String.valueOf(origin.getString("交易对手账号"));
|
|
|
String accountdshm = String.valueOf(origin.getString("交易对手户名"));
|
|
|
-
|
|
|
- List<String> accountList = new ArrayList<>();
|
|
|
+ if (accountdshm.equals("w12124268") || accountdshm.equals("w12124268")) {
|
|
|
+ System.out.println("555");
|
|
|
+ }
|
|
|
+ Set<String> accountList = new HashSet<>();
|
|
|
Map<String, Object> dataMaphm = new HashMap<>();
|
|
|
if (StringUtils.isNotBlank(account) && !"null".equals(account)) {
|
|
|
- accountList.add(account);
|
|
|
- dataMaphm.put(account, accounthm);
|
|
|
+ String key = account + "-" + accounthm;
|
|
|
+ accountList.add(key);
|
|
|
+ dataMaphm.put(key, accounthm);
|
|
|
if (StringUtils.isNotBlank(account) && !"null".equals(account) && StringUtils.isNotBlank(accounthm) && !"null".equals(accounthm)) {
|
|
|
- String s = String.valueOf(userMap.get(account));
|
|
|
+ String s = String.valueOf(userMap.get(key));
|
|
|
if (PublicStatic.checkStr(s)) {
|
|
|
- userMap.put(account, accounthm);
|
|
|
+ userMap.put(key, accounthm);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isNotBlank(accountds) && !"null".equals(accountds)) {
|
|
|
- accountList.add(accountds);
|
|
|
- dataMaphm.put(accountds, accountdshm);
|
|
|
+ String key1 = accountds + "-" + accountdshm;
|
|
|
+ accountList.add(key1);
|
|
|
+ dataMaphm.put(key1, accountdshm);
|
|
|
if (StringUtils.isNotBlank(accountds) && !"null".equals(accountds) && StringUtils.isNotBlank(accountdshm) && !"null".equals(accountdshm)) {
|
|
|
- String s = String.valueOf(userMap.get(accountds));
|
|
|
+ String s = String.valueOf(userMap.get(key1));
|
|
|
if (PublicStatic.checkStr(s)) {
|
|
|
- userMap.put(accountds, accountdshm);
|
|
|
+ userMap.put(key1, accountdshm);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -297,29 +281,50 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
for (String s : accountList) {
|
|
|
DataMap dataMap = havedUser.get(s);
|
|
|
if (dataMap != null) {
|
|
|
- dataMaps.add(dataMap);
|
|
|
+ DataMap newDataMap = new DataMap();
|
|
|
+ newDataMap.put("证件号", String.valueOf(dataMap.get("证件号码")));
|
|
|
+ newDataMap.put("账户名称", String.valueOf(dataMap.get("交易主体户名")));
|
|
|
+ newDataMap.put("账号", String.valueOf(dataMap.get("交易主体账号")));
|
|
|
+ dataMaps.add(newDataMap);
|
|
|
} else {
|
|
|
if (StringUtils.isNotBlank(dateFileId2)) {
|
|
|
- dataMaps = this.mongoTemplate.find((new Query(
|
|
|
+ List<DataMap> dataMapnew = this.mongoTemplate.find((new Query(
|
|
|
Criteria.where("modelId")
|
|
|
.is(modelId)
|
|
|
.and("fileId")
|
|
|
.is(dateFileId2)
|
|
|
.and("账号")
|
|
|
.in(s))), DataMap.class);
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(dataMapnew)) {
|
|
|
+ for (DataMap map : dataMapnew) {
|
|
|
+ DataMap newDataMap = new DataMap();
|
|
|
+ newDataMap.put("证件号", String.valueOf(map.get("注册身份证号")));
|
|
|
+ newDataMap.put("账户名称", String.valueOf(map.get("注册姓名")));
|
|
|
+ newDataMap.put("账号", String.valueOf(map.get("账号")));
|
|
|
+ dataMaps.add(newDataMap);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ DataMap newDataMap = new DataMap();
|
|
|
+ newDataMap.put("证件号", "");
|
|
|
+ newDataMap.put("账户名称", StringUtils.isBlank(String.valueOf(dataMaphm.get(s))) || "null".equals(String.valueOf(dataMaphm.get(s))) ? "" : String.valueOf(dataMaphm.get(s)));
|
|
|
+ newDataMap.put("账号", s.split("-")[0]);
|
|
|
+ dataMaps.add(newDataMap);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if (CollectionUtils.isNotEmpty(dataMaps)) {
|
|
|
for (DataMap dataMap : dataMaps) {
|
|
|
- if (!alipayIdsAll.contains(String.valueOf(dataMap.get("账号")))) {
|
|
|
+ String key = String.valueOf(dataMap.get("账号") + "-"+String.valueOf(dataMap.get("账户名称")));
|
|
|
+ if (!PublicStatic.checkStr(String.valueOf(dataMap.get("账号"))) && !alipayIdsAll.contains(key)) {
|
|
|
DataMap newDataMap = new DataMap();
|
|
|
newDataMap.put("fileId", newFileIdAll);
|
|
|
- newDataMap.put("证件号", String.valueOf(dataMap.get("注册身份证号")));
|
|
|
- newDataMap.put("账户名称", String.valueOf(dataMap.get("注册姓名")));
|
|
|
+ newDataMap.put("证件号", String.valueOf(dataMap.get("证件号")));
|
|
|
+ newDataMap.put("账户名称", String.valueOf(dataMap.get("账户名称")));
|
|
|
newDataMap.put("账号", String.valueOf(dataMap.get("账号")));
|
|
|
needToSaveall.add(newDataMap);
|
|
|
- alipayIdsAll.add(String.valueOf(dataMap.get("账号")));
|
|
|
+ alipayIdsAll.add(key);
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
@@ -329,7 +334,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
newDataMap.put("fileId", newFileIdAll);
|
|
|
newDataMap.put("证件号", "");
|
|
|
newDataMap.put("账户名称", StringUtils.isBlank(String.valueOf(dataMaphm.get(s))) || "null".equals(String.valueOf(dataMaphm.get(s))) ? "" : String.valueOf(dataMaphm.get(s)));
|
|
|
- newDataMap.put("账号", s);
|
|
|
+ newDataMap.put("账号", s.split("-")[0]);
|
|
|
needToSaveall.add(newDataMap);
|
|
|
alipayIdsAll.add(s);
|
|
|
}
|
|
@@ -338,7 +343,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
}
|
|
|
} else if ("反诈".equals(type)) {
|
|
|
for (String s : accountList) {
|
|
|
- if (!alipayIdsAll.contains(s)) {
|
|
|
+ if (!PublicStatic.checkStr(s) && !alipayIdsAll.contains(s)) {
|
|
|
DataMap newDataMap = new DataMap();
|
|
|
newDataMap.put("fileId", newFileIdAll);
|
|
|
newDataMap.put("证件号", "");
|
|
@@ -356,28 +361,48 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
for (String s : accountList) {
|
|
|
DataMap dataMap = havedUser.get(s);
|
|
|
if (dataMap != null) {
|
|
|
- dataMaps.add(dataMap);
|
|
|
+ DataMap newDataMap = new DataMap();
|
|
|
+ newDataMap.put("证件号", String.valueOf(dataMap.get("证件号码")));
|
|
|
+ newDataMap.put("账户名称", String.valueOf(dataMap.get("交易主体户名")));
|
|
|
+ newDataMap.put("账号", String.valueOf(dataMap.get("交易主体账号")));
|
|
|
+ dataMaps.add(newDataMap);
|
|
|
} else {
|
|
|
-
|
|
|
if (StringUtils.isNotBlank(dateFileId2)) {
|
|
|
- dataMaps = this.mongoTemplate.find((new Query(
|
|
|
+ List<DataMap> dataMapnew = this.mongoTemplate.find((new Query(
|
|
|
Criteria.where("modelId")
|
|
|
.is(modelId)
|
|
|
.and("fileId")
|
|
|
.is(dateFileId2)
|
|
|
.and("用户ID")
|
|
|
.in(accountList))), DataMap.class);
|
|
|
+ if (CollectionUtils.isNotEmpty(dataMapnew)) {
|
|
|
+ for (DataMap map : dataMapnew) {
|
|
|
+ DataMap newDataMap = new DataMap();
|
|
|
+ newDataMap.put("证件号", String.valueOf(map.get("证件号")));
|
|
|
+ newDataMap.put("账户名称", String.valueOf(map.get("账户名称")));
|
|
|
+ newDataMap.put("账号", String.valueOf(map.get("用户ID")));
|
|
|
+ dataMaps.add(newDataMap);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ DataMap newDataMap = new DataMap();
|
|
|
+ newDataMap.put("fileId", newFileIdAll);
|
|
|
+ newDataMap.put("证件号", "");
|
|
|
+ newDataMap.put("账户名称", StringUtils.isBlank(String.valueOf(dataMaphm.get(s))) || "null".equals(String.valueOf(dataMaphm.get(s))) ? "" : String.valueOf(dataMaphm.get(s)));
|
|
|
+ newDataMap.put("账号", s);
|
|
|
+ dataMaps.add(newDataMap);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if (CollectionUtils.isNotEmpty(dataMaps)) {
|
|
|
for (DataMap dataMap : dataMaps) {
|
|
|
- if (!alipayIdsAll.contains(String.valueOf(dataMap.get("用户ID")))) {
|
|
|
+ if (!PublicStatic.checkStr(String.valueOf(dataMap.get("用户ID"))) && !alipayIdsAll.contains(String.valueOf(dataMap.get("用户ID")))) {
|
|
|
DataMap newDataMap = new DataMap();
|
|
|
newDataMap.put("fileId", newFileIdAll);
|
|
|
newDataMap.put("证件号", String.valueOf(dataMap.get("证件号")));
|
|
|
newDataMap.put("账户名称", String.valueOf(dataMap.get("账户名称")));
|
|
|
- newDataMap.put("账号", String.valueOf(dataMap.get("用户ID")));
|
|
|
+ newDataMap.put("账号", String.valueOf(dataMap.get("账号")));
|
|
|
needToSaveall.add(newDataMap);
|
|
|
alipayIdsAll.add(String.valueOf(dataMap.get("用户ID")));
|
|
|
}
|