|
@@ -46,6 +46,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
log.info("数据分析-主体信息汇总开始");
|
|
log.info("数据分析-主体信息汇总开始");
|
|
// 直接删除并创建表
|
|
// 直接删除并创建表
|
|
String newFileId = "";
|
|
String newFileId = "";
|
|
|
|
+ String newFileIdAll = "";
|
|
String dateFileId = getFileId("数据分析-主体信息汇总明细", modelId, mongoTemplate);
|
|
String dateFileId = getFileId("数据分析-主体信息汇总明细", modelId, mongoTemplate);
|
|
// 插入记录用户后续查询明细
|
|
// 插入记录用户后续查询明细
|
|
if (StringUtils.isNotBlank(dateFileId)) {
|
|
if (StringUtils.isNotBlank(dateFileId)) {
|
|
@@ -53,18 +54,24 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
if (cursor.hasNext()) {
|
|
if (cursor.hasNext()) {
|
|
newFileId =createLogicAndDeleteOld("数据分析-主体信息汇总", modelId,headerProperties.getStaticUserOutput(),mongoTemplate, fileService);
|
|
newFileId =createLogicAndDeleteOld("数据分析-主体信息汇总", modelId,headerProperties.getStaticUserOutput(),mongoTemplate, fileService);
|
|
insertFromTo(dateFileId, newFileId, modelId, mongoTemplate);
|
|
insertFromTo(dateFileId, newFileId, modelId, mongoTemplate);
|
|
|
|
+
|
|
|
|
+ //维护一张人员信息基础表,用于模型计算
|
|
|
|
+ newFileIdAll =createLogicAndDeleteOld("数据分析-所有主体信息汇总", modelId,headerProperties.getStaticUserAllOutput(),mongoTemplate, fileService);
|
|
|
|
+ insertFromTo(dateFileId, newFileIdAll, modelId, mongoTemplate);
|
|
}
|
|
}
|
|
Set<String> alipayIds = new HashSet<>();
|
|
Set<String> alipayIds = new HashSet<>();
|
|
|
|
+ Set<String> alipayIdsAll = new HashSet<>();
|
|
Map<String, DataMap> idToData = new HashMap<>();
|
|
Map<String, DataMap> idToData = new HashMap<>();
|
|
Map<String, Set<String>> idToNames = new HashMap<>();
|
|
Map<String, Set<String>> idToNames = new HashMap<>();
|
|
Document origin;
|
|
Document origin;
|
|
List<DataMap> needToSave = new ArrayList<>(1000);
|
|
List<DataMap> needToSave = new ArrayList<>(1000);
|
|
|
|
+ List<DataMap> needToSaveall = new ArrayList<>(1000);
|
|
while (cursor.hasNext()) {
|
|
while (cursor.hasNext()) {
|
|
try {
|
|
try {
|
|
origin = cursor.next();
|
|
origin = cursor.next();
|
|
String alipayId = origin.getString("交易主体账号");
|
|
String alipayId = origin.getString("交易主体账号");
|
|
DataMap dataMap;
|
|
DataMap dataMap;
|
|
- if (!alipayIds.contains(alipayId)) {
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(alipayId)&&!"null".equals(alipayId)&&!alipayIds.contains(alipayId)) {
|
|
alipayIds.add(alipayId);
|
|
alipayIds.add(alipayId);
|
|
dataMap = new DataMap();
|
|
dataMap = new DataMap();
|
|
dataMap.put("fileId", newFileId);
|
|
dataMap.put("fileId", newFileId);
|
|
@@ -84,6 +91,12 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
}
|
|
}
|
|
namesSet.add(alipayUsername);
|
|
namesSet.add(alipayUsername);
|
|
}
|
|
}
|
|
|
|
+ //组装用户基本信息
|
|
|
|
+ getDataAll(needToSaveall,origin,alipayIdsAll,newFileIdAll);
|
|
|
|
+ if (needToSaveall.size() >= 1000) {
|
|
|
|
+ saveLines(new ArrayList<>(needToSaveall), mongoTemplate);
|
|
|
|
+ needToSaveall.clear();
|
|
|
|
+ }
|
|
|
|
|
|
} catch (Exception exception) {
|
|
} catch (Exception exception) {
|
|
log.error(exception.getMessage(), exception);
|
|
log.error(exception.getMessage(), exception);
|
|
@@ -140,10 +153,6 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
bdsjh=String.valueOf(dataMaps.get(0).get("绑定手机"));
|
|
bdsjh=String.valueOf(dataMaps.get(0).get("绑定手机"));
|
|
zcsj=String.valueOf(dataMaps.get(0).get("注册时间"));
|
|
zcsj=String.valueOf(dataMaps.get(0).get("注册时间"));
|
|
}
|
|
}
|
|
- }else if("反诈".equals(type)){
|
|
|
|
- // "交易号", "商户订单号", "交易创建时间", "付款时间", "最近修改时间", "交易来源地", "类型", "用户信息", "交易对方信息", "消费名称", "金额(元)", "收/支", "交易状态", "备注", "对应的协查数据"));
|
|
|
|
-
|
|
|
|
-
|
|
|
|
}else if("五联单".equals(type)){
|
|
}else if("五联单".equals(type)){
|
|
// "用户ID", "登录邮箱", "登录手机", "账户名称", "证件类型", "证件号", "可用余额", "注册时间", "绑定手机", "绑定银行卡", "对应的协查数据"));
|
|
// "用户ID", "登录邮箱", "登录手机", "账户名称", "证件类型", "证件号", "可用余额", "注册时间", "绑定手机", "绑定银行卡", "对应的协查数据"));
|
|
String dateFileId2 = getFileId(AlipayHeaders.getGeneratedName(2), modelId, mongoTemplate);
|
|
String dateFileId2 = getFileId(AlipayHeaders.getGeneratedName(2), modelId, mongoTemplate);
|
|
@@ -170,4 +179,72 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
|
|
dataMap.put("绑定手机号", bdsjh);
|
|
dataMap.put("绑定手机号", bdsjh);
|
|
dataMap.put("注册时间", zcsj);
|
|
dataMap.put("注册时间", zcsj);
|
|
}
|
|
}
|
|
|
|
+ public void getDataAll(List<DataMap> needToSaveall,Document origin,Set<String> alipayIdsAll,String newFileIdAll){
|
|
|
|
+ String type = origin.getString("类型");
|
|
|
|
+ String account = origin.getString("交易主体账号");
|
|
|
|
+ String accountds = origin.getString("交易对手账号");
|
|
|
|
+ List<String>accountList=new ArrayList<>();
|
|
|
|
+ if(StringUtils.isNotBlank(account)&&!"null".equals(account)){
|
|
|
|
+ accountList.add(account);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(StringUtils.isNotBlank(accountds)&&!"null".equals(accountds)){
|
|
|
|
+ accountList.add(accountds);
|
|
|
|
+ }
|
|
|
|
+ if(CollectionUtils.isEmpty(accountList)){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if("财付通".equals(type)){
|
|
|
|
+ //账户状态", "账号", "注册姓名", "注册时间", "注册身份证号", "绑定手机", "绑定状态", "开户行信息", "银行账号"
|
|
|
|
+ String dateFileId2 = getFileId(TenpayHeaders.getGeneratedName(3), modelId, mongoTemplate);
|
|
|
|
+ List<DataMap> dataMaps = this.mongoTemplate.find((new Query(
|
|
|
|
+ Criteria.where("modelId")
|
|
|
|
+ .is(modelId)
|
|
|
|
+ .and("fileId")
|
|
|
|
+ .is(dateFileId2)
|
|
|
|
+ .and("账号")
|
|
|
|
+ .in(accountList)
|
|
|
|
+ .and("generated")
|
|
|
|
+ .is(Boolean.TRUE))), DataMap.class);
|
|
|
|
+ if(CollectionUtils.isNotEmpty(dataMaps)){
|
|
|
|
+ for (DataMap dataMap : dataMaps) {
|
|
|
|
+ if(!alipayIdsAll.contains(String.valueOf(dataMap.get("账号")))){
|
|
|
|
+ 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("账号")));
|
|
|
|
+ needToSaveall.add(newDataMap);
|
|
|
|
+ alipayIdsAll.add(String.valueOf(dataMap.get("账号")));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ else if("五联单".equals(type)){
|
|
|
|
+// "用户ID", "登录邮箱", "登录手机", "账户名称", "证件类型", "证件号", "可用余额", "注册时间", "绑定手机", "绑定银行卡", "对应的协查数据"));
|
|
|
|
+ String dateFileId2 = getFileId(AlipayHeaders.getGeneratedName(2), modelId, mongoTemplate);
|
|
|
|
+ List<DataMap> dataMaps = this.mongoTemplate.find((new Query(
|
|
|
|
+ Criteria.where("modelId")
|
|
|
|
+ .is(modelId)
|
|
|
|
+ .and("fileId")
|
|
|
|
+ .is(dateFileId2)
|
|
|
|
+ .and("用户ID")
|
|
|
|
+ .in(accountList)
|
|
|
|
+ .and("generated")
|
|
|
|
+ .is(Boolean.TRUE))), DataMap.class);
|
|
|
|
+ if(CollectionUtils.isNotEmpty(dataMaps)){
|
|
|
|
+ for (DataMap dataMap : dataMaps) {
|
|
|
|
+ if(!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")));
|
|
|
|
+ needToSaveall.add(newDataMap);
|
|
|
|
+ alipayIdsAll.add(String.valueOf(dataMap.get("用户ID")));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|