|
@@ -46,94 +46,109 @@ public class AntiSecurityTrade3 extends Ops implements Runnable {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
String antiSecurityFileId = "";
|
|
|
- String dateFileId = getFileId("反诈数据-订单明细", modelId, mongoTemplate);
|
|
|
+ String dateFileId1 = getFileId("反诈数据-订单明细", modelId, mongoTemplate);
|
|
|
+ String dateFileId2 = getFileId("治安数据-订单明细", modelId, mongoTemplate);
|
|
|
+
|
|
|
// 遍历登录日志全表
|
|
|
- if (StringUtils.isNotBlank(dateFileId)) {
|
|
|
+ if (StringUtils.isNotBlank(dateFileId1) || StringUtils.isNotBlank(dateFileId2)) {
|
|
|
|
|
|
- MongoCursor<Document> cursor = getCursor(dateFileId, mongoTemplate);
|
|
|
- if (cursor.hasNext()) {
|
|
|
- antiSecurityFileId =
|
|
|
- createLogicAndDeleteOld(
|
|
|
- "反诈治安-交易明细",
|
|
|
- modelId,
|
|
|
- headerProperties.getAntiSecurityTradeOutput(),
|
|
|
- mongoTemplate,
|
|
|
- fileService);
|
|
|
+ MongoCursor<Document> cursor1 = getCursor(dateFileId1, mongoTemplate);
|
|
|
+ if (cursor1.hasNext()) {
|
|
|
+ antiSecurityFileId = antiSecurityFileId();
|
|
|
+ insertData(cursor1, antiSecurityFileId);
|
|
|
+ }
|
|
|
+ MongoCursor<Document> cursor2 = getCursor(dateFileId2, mongoTemplate);
|
|
|
+ if (cursor2.hasNext()) {
|
|
|
+ if (StringUtils.isBlank(antiSecurityFileId)) {
|
|
|
+ antiSecurityFileId = antiSecurityFileId();
|
|
|
+ }
|
|
|
+ insertData(cursor2, antiSecurityFileId);
|
|
|
}
|
|
|
+ }
|
|
|
+ latch.countDown();
|
|
|
+ }
|
|
|
+
|
|
|
+ public String antiSecurityFileId() {
|
|
|
+ return createLogicAndDeleteOld(
|
|
|
+ "反诈治安-交易明细",
|
|
|
+ modelId,
|
|
|
+ headerProperties.getAntiSecurityTradeOutput(),
|
|
|
+ mongoTemplate,
|
|
|
+ fileService);
|
|
|
+ }
|
|
|
|
|
|
- Document origin;
|
|
|
- List<DataMap> needToSave = new ArrayList<>(1000);
|
|
|
- while (cursor.hasNext()) {
|
|
|
- origin = cursor.next();
|
|
|
- DataMap dataMap = new DataMap();
|
|
|
- dataMap.put("fileId", antiSecurityFileId);
|
|
|
- dataMap.put("支付订单号", origin.getString("支付订单号"));
|
|
|
- dataMap.put("交易流水号", origin.getString("交易流水号"));
|
|
|
- String flag = origin.getString("交易主体的出入账标识");
|
|
|
- dataMap.put("交易主体的出入账标识", flag);
|
|
|
- dataMap.put("交易类型", origin.getString("交易类型"));
|
|
|
- dataMap.put("支付类型", origin.getString("支付类型"));
|
|
|
- dataMap.put("币种", origin.getString("币种"));
|
|
|
- dataMap.put("交易金额", origin.getString("交易金额"));
|
|
|
- dataMap.put("交易余额", origin.getString("交易余额"));
|
|
|
- dataMap.put("消费POS机编号", origin.getString("消费POS机编号"));
|
|
|
- dataMap.put("交易设备类型", origin.getString("交易设备类型"));
|
|
|
- dataMap.put("交易支付设备IP", origin.getString("交易支付设备IP"));
|
|
|
- dataMap.put("MAC地址", origin.getString("MAC地址"));
|
|
|
- dataMap.put("交易地点经度", origin.getString("交易地点经度"));
|
|
|
- dataMap.put("交易地点纬度", origin.getString("交易地点纬度"));
|
|
|
- dataMap.put("备注", origin.getString("备注"));
|
|
|
- if ("出账".equals(flag)) {
|
|
|
- dataMap.put("交易主体账号", origin.getString("付款方的支付账号"));
|
|
|
- dataMap.put("交易主体银行卡号", origin.getString("付款方银行卡所属银行卡号"));
|
|
|
- dataMap.put("交易主体银行名称", origin.getString("付款方银行卡所属银行名称"));
|
|
|
- dataMap.put("交易主体户名", "");
|
|
|
- dataMap.put("交易对手账号", origin.getString("收款方的支付账号"));
|
|
|
- dataMap.put("交易对手银行卡号", origin.getString("收款方银行卡所属银行卡号"));
|
|
|
- dataMap.put("交易对手银行名称", origin.getString("收款方银行卡所属银行名称"));
|
|
|
- dataMap.put("交易对手户名", origin.getString("收款方的商户名称"));
|
|
|
+ public void insertData(MongoCursor<Document> cursor, String antiSecurityFileId) {
|
|
|
+ Document origin;
|
|
|
+ List<DataMap> needToSave = new ArrayList<>(1000);
|
|
|
+ while (cursor.hasNext()) {
|
|
|
+ origin = cursor.next();
|
|
|
+ DataMap dataMap = new DataMap();
|
|
|
+ dataMap.put("fileId", antiSecurityFileId);
|
|
|
+ dataMap.put("支付订单号", origin.getString("支付订单号"));
|
|
|
+ dataMap.put("交易流水号", origin.getString("交易流水号"));
|
|
|
+ String flag = origin.getString("交易主体的出入账标识");
|
|
|
+ dataMap.put("交易主体的出入账标识", flag);
|
|
|
+ dataMap.put("交易类型", origin.getString("交易类型"));
|
|
|
+ dataMap.put("支付类型", origin.getString("支付类型"));
|
|
|
+ dataMap.put("币种", origin.getString("币种"));
|
|
|
+ dataMap.put("交易金额", origin.getString("交易金额"));
|
|
|
+ dataMap.put("交易余额", origin.getString("交易余额"));
|
|
|
+ dataMap.put("消费POS机编号", origin.getString("消费POS机编号"));
|
|
|
+ dataMap.put("交易设备类型", origin.getString("交易设备类型"));
|
|
|
+ dataMap.put("交易支付设备IP", origin.getString("交易支付设备IP"));
|
|
|
+ dataMap.put("MAC地址", origin.getString("MAC地址"));
|
|
|
+ dataMap.put("交易地点经度", origin.getString("交易地点经度"));
|
|
|
+ dataMap.put("交易地点纬度", origin.getString("交易地点纬度"));
|
|
|
+ dataMap.put("备注", origin.getString("备注"));
|
|
|
+ if ("出账".equals(flag)) {
|
|
|
+ dataMap.put("交易主体账号", origin.getString("付款方的支付账号"));
|
|
|
+ dataMap.put("交易主体银行卡号", origin.getString("付款方银行卡所属银行卡号"));
|
|
|
+ dataMap.put("交易主体银行名称", origin.getString("付款方银行卡所属银行名称"));
|
|
|
+ dataMap.put("交易主体户名", "");
|
|
|
+ dataMap.put("交易对手账号", origin.getString("收款方的支付账号"));
|
|
|
+ dataMap.put("交易对手银行卡号", origin.getString("收款方银行卡所属银行卡号"));
|
|
|
+ dataMap.put("交易对手银行名称", origin.getString("收款方银行卡所属银行名称"));
|
|
|
+ dataMap.put("交易对手户名", origin.getString("收款方的商户名称"));
|
|
|
|
|
|
- } else if ("入账".equals(flag)) {
|
|
|
- dataMap.put("交易主体账号", origin.getString("收款方的支付账号"));
|
|
|
- dataMap.put("交易主体银行卡号", origin.getString("收款方银行卡所属银行卡号"));
|
|
|
- dataMap.put("交易主体银行名称", origin.getString("收款方银行卡所属银行名称"));
|
|
|
- dataMap.put("交易主体户名", origin.getString("收款方的商户名称"));
|
|
|
- dataMap.put("交易对手账号", origin.getString("付款方的支付账号"));
|
|
|
- dataMap.put("交易对手银行卡号", origin.getString("付款方银行卡所属银行卡号"));
|
|
|
- dataMap.put("交易对手银行名称", origin.getString("付款方银行卡所属银行名称"));
|
|
|
- dataMap.put("交易对手户名", "");
|
|
|
- }
|
|
|
- dataMap.put("交易时间", DataUtils.transferDateToStr(origin.getString("交易时间")));
|
|
|
- if ("".equals((String) dataMap.get("交易主体户名"))) {
|
|
|
- String account = (String) dataMap.getOrDefault("交易主体账号", "");
|
|
|
- if (StringUtils.isBlank(account) || "-".equals(account)) {
|
|
|
- } else {
|
|
|
- String newName = accountToName.getOrDefault(account, "");
|
|
|
- if (StringUtils.isNotBlank(newName)) {
|
|
|
- dataMap.put("交易主体户名", newName);
|
|
|
- }
|
|
|
+ } else if ("入账".equals(flag)) {
|
|
|
+ dataMap.put("交易主体账号", origin.getString("收款方的支付账号"));
|
|
|
+ dataMap.put("交易主体银行卡号", origin.getString("收款方银行卡所属银行卡号"));
|
|
|
+ dataMap.put("交易主体银行名称", origin.getString("收款方银行卡所属银行名称"));
|
|
|
+ dataMap.put("交易主体户名", origin.getString("收款方的商户名称"));
|
|
|
+ dataMap.put("交易对手账号", origin.getString("付款方的支付账号"));
|
|
|
+ dataMap.put("交易对手银行卡号", origin.getString("付款方银行卡所属银行卡号"));
|
|
|
+ dataMap.put("交易对手银行名称", origin.getString("付款方银行卡所属银行名称"));
|
|
|
+ dataMap.put("交易对手户名", "");
|
|
|
+ }
|
|
|
+ dataMap.put("交易时间", DataUtils.transferDateToStr(origin.getString("交易时间")));
|
|
|
+ if ("".equals((String) dataMap.get("交易主体户名"))) {
|
|
|
+ String account = (String) dataMap.getOrDefault("交易主体账号", "");
|
|
|
+ if (StringUtils.isBlank(account) || "-".equals(account)) {
|
|
|
+ } else {
|
|
|
+ String newName = accountToName.getOrDefault(account, "");
|
|
|
+ if (StringUtils.isNotBlank(newName)) {
|
|
|
+ dataMap.put("交易主体户名", newName);
|
|
|
}
|
|
|
}
|
|
|
- if ("".equals((String) dataMap.get("交易对手户名"))) {
|
|
|
- String account = (String) dataMap.getOrDefault("交易对手账号", "");
|
|
|
- if (StringUtils.isBlank(account) || "-".equals(account)) {
|
|
|
- } else {
|
|
|
- String newName = accountToName.getOrDefault(account, "");
|
|
|
- if (StringUtils.isNotBlank(newName)) {
|
|
|
- dataMap.put("交易对手户名", newName);
|
|
|
- }
|
|
|
+ }
|
|
|
+ if ("".equals((String) dataMap.get("交易对手户名"))) {
|
|
|
+ String account = (String) dataMap.getOrDefault("交易对手账号", "");
|
|
|
+ if (StringUtils.isBlank(account) || "-".equals(account)) {
|
|
|
+ } else {
|
|
|
+ String newName = accountToName.getOrDefault(account, "");
|
|
|
+ if (StringUtils.isNotBlank(newName)) {
|
|
|
+ dataMap.put("交易对手户名", newName);
|
|
|
}
|
|
|
}
|
|
|
- needToSave.add(dataMap);
|
|
|
- if (needToSave.size() >= 1000) {
|
|
|
- saveLines(new ArrayList<>(needToSave), mongoTemplate);
|
|
|
- needToSave.clear();
|
|
|
- }
|
|
|
}
|
|
|
- if (CollectionUtils.isNotEmpty(needToSave)) {
|
|
|
- saveLines(needToSave, mongoTemplate);
|
|
|
+ needToSave.add(dataMap);
|
|
|
+ if (needToSave.size() >= 1000) {
|
|
|
+ saveLines(new ArrayList<>(needToSave), mongoTemplate);
|
|
|
+ needToSave.clear();
|
|
|
}
|
|
|
}
|
|
|
- latch.countDown();
|
|
|
+ if (CollectionUtils.isNotEmpty(needToSave)) {
|
|
|
+ saveLines(needToSave, mongoTemplate);
|
|
|
+ }
|
|
|
}
|
|
|
}
|