|
@@ -1,5 +1,6 @@
|
|
|
package ieven.server.webapp.service.datastatic;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import com.mongodb.client.MongoCursor;
|
|
|
import ieven.server.webapp.domain.alipay.AlipayHeaders;
|
|
|
import ieven.server.webapp.domain.alipay.HeaderProperties;
|
|
@@ -45,17 +46,19 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
log.info("数据分析-主体信息汇总开始");
|
|
|
// 直接删除并创建表
|
|
|
String newFileId = createLogicAndDeleteOld("数据分析-主体信息汇总", modelId, headerProperties.getStaticUserOutput(), mongoTemplate, fileService);
|
|
|
+ String newFileId1 = createLogicAndDeleteOld("数据分析-主体信息汇总网络关系图", modelId, headerProperties.getStaticUserOutput(), mongoTemplate, fileService);
|
|
|
String newFileIdAll = "";
|
|
|
String dateFileId = getFileId("数据分析-主体信息汇总明细", modelId, mongoTemplate);
|
|
|
String cft = getFileId(TenpayHeaders.getGeneratedName(3), modelId, mongoTemplate);
|
|
|
String wld = getFileId(AlipayHeaders.getGeneratedName(2), modelId, mongoTemplate);
|
|
|
- boolean flag=false;
|
|
|
+ boolean cftFlag=false;
|
|
|
+ boolean wldFlag=false;
|
|
|
// 插入记录用户后续查询明细
|
|
|
if (StringUtils.isNotBlank(cft)) {
|
|
|
MongoCursor<Document> cursor = getCursor(cft, mongoTemplate);
|
|
|
List<DataMap> needToSave = new ArrayList<>(1000);
|
|
|
Document origin;
|
|
|
- flag=true;
|
|
|
+ cftFlag=true;
|
|
|
while (cursor.hasNext()){
|
|
|
origin = cursor.next();
|
|
|
DataMap dataMap=new DataMap();
|
|
@@ -82,7 +85,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
if (StringUtils.isNotBlank(wld)) {
|
|
|
MongoCursor<Document> cursor = getCursor(wld, mongoTemplate);
|
|
|
|
|
|
- flag=true;
|
|
|
+ wldFlag=true;
|
|
|
Document origin;
|
|
|
List<DataMap> needToSave = new ArrayList<>(1000);
|
|
|
while (cursor.hasNext()){
|
|
@@ -107,6 +110,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
saveLines(needToSave, mongoTemplate);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
if (StringUtils.isNotBlank(dateFileId)) {
|
|
|
MongoCursor<Document> cursor = getCursor(dateFileId, mongoTemplate);
|
|
|
if (cursor.hasNext()) {
|
|
@@ -148,7 +152,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
dataMap.put("fileId", newFileId);
|
|
|
dataMap.put("交易主体账号", alipayId);
|
|
|
dataMap.put("交易主体户名", "");
|
|
|
- getData(dataMap, origin, dateFileId2,flag);
|
|
|
+ getData(dataMap, origin, dateFileId2);
|
|
|
idToData.put(alipayId, dataMap);
|
|
|
}
|
|
|
String alipayUsername = origin.getString("交易主体户名");
|
|
@@ -172,15 +176,36 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
log.error(exception.getMessage(), exception);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ List<String>ids=new ArrayList<>();
|
|
|
+ ids.add(newFileId);
|
|
|
+ ids.add(newFileId1);
|
|
|
if (CollectionUtils.isNotEmpty(idToData.values())) {
|
|
|
for (Map.Entry<String, DataMap> entry : idToData.entrySet()) {
|
|
|
DataMap dataMap = entry.getValue();
|
|
|
String id = (String) dataMap.get("交易主体账号");
|
|
|
+ String type = (String) dataMap.get("类型");
|
|
|
Set<String> namesSet = idToNames.get(id);
|
|
|
if (CollectionUtils.isNotEmpty(namesSet)) {
|
|
|
dataMap.put("交易主体户名", StringUtils.join(namesSet, ";"));
|
|
|
}
|
|
|
- needToSave.add(dataMap);
|
|
|
+
|
|
|
+ //将filedId 替换然后给网络关系图用
|
|
|
+ DataMap dataMap1=new DataMap();
|
|
|
+ BeanUtil.copyProperties(dataMap,dataMap1);
|
|
|
+ dataMap1.put("fileId", newFileId1);
|
|
|
+ needToSave.add(dataMap1);
|
|
|
+
|
|
|
+ if(cftFlag&&"反诈".equals(type)){
|
|
|
+ needToSave.add(dataMap);
|
|
|
+ }else if(wldFlag&&"反诈".equals(type)){
|
|
|
+ needToSave.add(dataMap);
|
|
|
+ }else if(!cftFlag){
|
|
|
+ needToSave.add(dataMap);
|
|
|
+ }else if(!wldFlag){
|
|
|
+ needToSave.add(dataMap);
|
|
|
+ }
|
|
|
+
|
|
|
if (needToSave.size() >= 1000) {
|
|
|
saveLines(new ArrayList<>(needToSave), mongoTemplate);
|
|
|
needToSave.clear();
|
|
@@ -200,7 +225,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
log.info("数据分析-主体信息汇总开始");
|
|
|
}
|
|
|
|
|
|
- public void getData(DataMap dataMap, Document origin, String dateFileId2,boolean flag) {
|
|
|
+ public void getData(DataMap dataMap, Document origin, String dateFileId2) {
|
|
|
String type = origin.getString("类型");
|
|
|
String account = origin.getString("交易主体账号");
|
|
|
String zjha = "";
|
|
@@ -208,7 +233,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
String khyhmc = "";
|
|
|
String bdsjh = "";
|
|
|
String zcsj = "";
|
|
|
- if ("财付通".equals(type)&&!flag) {
|
|
|
+ if ("财付通".equals(type)) {
|
|
|
//账户状态", "账号", "注册姓名", "注册时间", "注册身份证号", "绑定手机", "绑定状态", "开户行信息", "银行账号"
|
|
|
if (StringUtils.isNotBlank(dateFileId2)) {
|
|
|
List<DataMap> dataMaps = this.mongoTemplate.find((new Query(
|
|
@@ -226,7 +251,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- else if ("五联单".equals(type)&&!flag) {
|
|
|
+ else if ("五联单".equals(type)) {
|
|
|
// "用户ID", "登录邮箱", "登录手机", "账户名称", "证件类型", "证件号", "可用余额", "注册时间", "绑定手机", "绑定银行卡", "对应的协查数据"));
|
|
|
if (StringUtils.isNotBlank(dateFileId2)) {
|
|
|
List<DataMap> dataMaps = this.mongoTemplate.find((new Query(
|
|
@@ -242,7 +267,8 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
zcsj = String.valueOf(dataMaps.get(0).get("注册时间"));
|
|
|
}
|
|
|
}
|
|
|
- }else if("反诈".equals(type)){
|
|
|
+ }
|
|
|
+ else if("反诈".equals(type)){
|
|
|
bdyhkh = origin.getString("交易主体银行卡号");
|
|
|
khyhmc = origin.getString("交易主体银行名称");
|
|
|
}
|
|
@@ -252,6 +278,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
|
dataMap.put("开户银行名称", khyhmc);
|
|
|
dataMap.put("绑定手机号", bdsjh);
|
|
|
dataMap.put("注册时间", zcsj);
|
|
|
+ dataMap.put("类型", type);
|
|
|
}
|
|
|
|
|
|
public void getDataAll(List<DataMap> needToSaveall, Document origin, Set<String> alipayIdsAll, String newFileIdAll, Map<String, Object> userMap, Map<String, DataMap> havedUser, String dateFileId2) {
|