소스 검색

修改对手透视不显示问题

hankunkun 10 달 전
부모
커밋
270beb3e02

+ 2 - 0
src/main/java/ieven/server/webapp/domain/alipay/AlipayHeaders.java

@@ -44,12 +44,14 @@ public class AlipayHeaders {
         mappedHeaders.put(9, Arrays.asList("交易号", "付款方支付宝账号", "收款方支付宝账号", "收款机构信息", "到账时间", "转账金额(元)", "转账产品名称", "交易发生地", "提现流水号", "对应的协查数据"));
         mappedHeaders.put(10, Arrays.asList("交易号", "付款方支付宝用户ID", "收款方支付宝用户ID", "收款机构信息", "到账时间", "转账金额(元)", "转账产品名称", "交易发生地", "提现流水号", "对应的协查数据"));
         mappedHeaders.put(11, Arrays.asList("用户ID", "用户名", "额外字段1", "额外字段2", "额外字段3"));
+        mappedHeaders.put(15, Arrays.asList("用户ID", "登录邮箱", "登录手机", "账户名称", "证件类型", "证件号", "可用余额", "绑定手机", "绑定卡号", "银行简称", "卡类型", "关联账户","对应的协查数据"));
         mappedNames.put(2, "五联单-注册信息");
         mappedNames.put(4, "五联单-登录日志");
         mappedNames.put(6, "五联单-交易记录");
         mappedNames.put(8, "五联单-账户明细");
         mappedNames.put(10, "五联单-转账明细");
         mappedNames.put(11, "五联单-用户汇总表");
+        mappedNames.put(15, "五联单-注册信息");
     }
 
     public AlipayHeaders() {

+ 1 - 1
src/main/java/ieven/server/webapp/domain/alipay/AlipayType.java

@@ -9,7 +9,7 @@ public class AlipayType {
   // 支付宝注册信息原表
   public static final int ALIPAY_ORIGIN_REGISTER = 1;
   // 支付宝生成的用户信息表
-  public static final int ALIPAY_GENERATED_REGISTER = 2;
+  public static final int ALIPAY_GENERATED_REGISTER = 15;
   // 支付宝登录日志原表
   public static final int ALIPAY_ORIGIN_LOGIN = 3;
   // 支付宝登录日志提取表

+ 8 - 6
src/main/java/ieven/server/webapp/domain/data/DataService.java

@@ -6,6 +6,8 @@ import ieven.server.webapp.domain.exporter.Exporter;
 import ieven.server.webapp.domain.file.LogicalFile;
 import ieven.server.webapp.infrastructure.wrapper.Mapped;
 import ieven.server.webapp.util.Properties;
+import ieven.server.webapp.util.SplitCharacterEnum;
+import ieven.server.webapp.util.excel.PublicStatic;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -21,10 +23,7 @@ import org.springframework.scheduling.annotation.AsyncResult;
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.LinkedHashMap;
-import java.util.List;
+import java.util.*;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 import java.util.regex.Pattern;
@@ -129,9 +128,12 @@ public class DataService {
             }
             criteria.andOperator(cri);
         }
-        Future<Long> totalFuture = dataService.countTotalByQuery(new Query(criteria));
-        Future<LinkedHashMap<String, String>> headerFuture = dataService.viewHeaders(fileId);
         Query dataQuery = new Query(criteria);
+        if(param.getDeleteName()==2){
+            dataQuery.addCriteria(new Criteria().andOperator(PublicStatic.getQuery()));
+        }
+        Future<Long> totalFuture = dataService.countTotalByQuery(dataQuery);
+        Future<LinkedHashMap<String, String>> headerFuture = dataService.viewHeaders(fileId);
         if (CollectionUtils.isNotEmpty(param.getOrders())) {
             for (QueryParam.Param2 param2 : param.getOrders()) {
                 String alias = param2.getFieldAlias();

+ 3 - 0
src/main/java/ieven/server/webapp/domain/data/QueryParam.java

@@ -15,6 +15,9 @@ public class QueryParam {
   // and or
   private String mode;
 
+  //增加 剔除公共户名 按钮,可选项。
+  private Integer deleteName=1;
+
   private String modelId;
   private List<String> fileIds = new ArrayList<>();
 

+ 1 - 1
src/main/java/ieven/server/webapp/domain/exporter/Exporter.java

@@ -106,7 +106,7 @@ public class Exporter {
         Fields fields =
                 mongoTemplate.findOne(new Query(Criteria.where("fileId").is(fileId)), Fields.class);
         String date = DataUtils.currentDate().replaceAll(":", "_");
-        filename = filename + date + ".xlsx";
+        filename = (StringUtils.isBlank(filename)?"数据分析-主体信息汇总明细":filename) + date + ".xlsx";
         if (fields == null) {
             return "";
         }

+ 1 - 1
src/main/java/ieven/server/webapp/domain/file/FileService.java

@@ -274,7 +274,7 @@ public class FileService {
             List<LogicalFile> resultList = this.mongoTemplate.find(query, LogicalFile.class);
             // 将文件 按照  反诈  财付通 五联单  进行分类
             List<GroupLogincalFile> groupLogincalFiles = new ArrayList<>();
-            groupLogicalFile("反诈治安数据分析", new String[]{"反诈", "治安","经侦"}, resultList, groupLogincalFiles);
+            groupLogicalFile("反诈治安数据分析", new String[]{"反诈", "治安","经侦","网黑"}, resultList, groupLogincalFiles);
             groupLogicalFile("支付宝数据分析", new String[]{"五联单"}, resultList, groupLogincalFiles);
             groupLogicalFile("财付通数据分析", new String[]{"财付通"}, resultList, groupLogincalFiles);
             groupLogicalFile("数据综合分析", new String[]{"数据分析"}, resultList, groupLogincalFiles);

+ 1 - 1
src/main/java/ieven/server/webapp/service/Ops.java

@@ -149,7 +149,7 @@ public class Ops {
             Object value = entry.getValue();
             if (!"id".equals(key) && !"_id".equals(key) && !"objectId".equals(key)) {
                 String upper = key.toUpperCase();
-                if("收款方的商户名称".equals(key)){
+                if("收款方的商户名称".equals(key)||"收款商户名称".equals(key)){
                     value=PublicStatic.specialFormatStr(String.valueOf(value));
                 }
                 newData.put(upper, value);

+ 5 - 4
src/main/java/ieven/server/webapp/service/alipay/ALIPAY_ORIGIN_REGISTER.java

@@ -46,8 +46,9 @@ public class ALIPAY_ORIGIN_REGISTER extends Ops implements Runnable {
   public void run() {
     log.info("五联单-注册信息开始 格式1 带注册时间");
     List<Fields> fieldsList = checkFields(originFields, AlipayType.ALIPAY_ORIGIN_REGISTER);
+      Fields output=null;
     if (CollectionUtils.isNotEmpty(fieldsList)) {
-      Fields output = Ops.createFile(AlipayType.ALIPAY_GENERATED_REGISTER, modelId);
+        output = output!=null?output:Ops.createFile(AlipayType.ALIPAY_GENERATED_REGISTER, modelId);
       // 创建并存储文件和表头
       // 可能有多个文件,对多个文件并行解析
       for (Fields origin : fieldsList) {
@@ -57,7 +58,7 @@ public class ALIPAY_ORIGIN_REGISTER extends Ops implements Runnable {
     log.info("五联单-注册信息开始 格式2 不带注册时间 老数据");
     fieldsList = checkFields(originFields, 12);
     if (CollectionUtils.isNotEmpty(fieldsList)) {
-      Fields output = Ops.createFile(AlipayType.ALIPAY_GENERATED_REGISTER, modelId);
+        output = output!=null?output:Ops.createFile(AlipayType.ALIPAY_GENERATED_REGISTER, modelId);
       // 创建并存储文件和表头
       // 可能有多个文件,对多个文件并行解析
       for (Fields origin : fieldsList) {
@@ -68,7 +69,7 @@ public class ALIPAY_ORIGIN_REGISTER extends Ops implements Runnable {
     log.info("五联单-注册信息开始 增加关联账户");
     fieldsList = checkFields(originFields, 13);
     if (CollectionUtils.isNotEmpty(fieldsList)) {
-      Fields output = Ops.createFile(AlipayType.ALIPAY_GENERATED_REGISTER, modelId);
+        output = output!=null?output:Ops.createFile(AlipayType.ALIPAY_GENERATED_REGISTER, modelId);
       // 创建并存储文件和表头
       // 可能有多个文件,对多个文件并行解析
       for (Fields origin : fieldsList) {
@@ -78,7 +79,7 @@ public class ALIPAY_ORIGIN_REGISTER extends Ops implements Runnable {
 
       fieldsList = checkFields(originFields, 14);
       if (CollectionUtils.isNotEmpty(fieldsList)) {
-          Fields output = Ops.createFile(AlipayType.ALIPAY_GENERATED_REGISTER, modelId);
+          output = output!=null?output:Ops.createFile(AlipayType.ALIPAY_GENERATED_REGISTER, modelId);
           // 创建并存储文件和表头
           // 可能有多个文件,对多个文件并行解析
           for (Fields origin : fieldsList) {

+ 10 - 4
src/main/java/ieven/server/webapp/service/alipay/AlipayService.java

@@ -70,7 +70,7 @@ public class AlipayService {
         // 无限制大小的threadpool
         ExecutorService exec = Executors.newCachedThreadPool();
         log.info("latch");
-        CountDownLatch latch = new CountDownLatch(9);
+        CountDownLatch latch = new CountDownLatch(8);
         // 五联单-注册信息
         exec.execute(new ALIPAY_ORIGIN_REGISTER(originFields, modelId, mongoTemplate, latch));
         // 五联单-登录日志
@@ -88,11 +88,17 @@ public class AlipayService {
         exec.execute(
                 new SecurityOrder(
                         headerProperties, originFields, modelId, mongoTemplate, fileService, latch));
-        // 网黑数据-订单数据
+        // 经侦数据-订单数据
         exec.execute(
-                new BlackOrder(
+                new EconomicOrder(
                         headerProperties, originFields, modelId, mongoTemplate, fileService, latch));
+        // 网黑数据-订单数据
         latch.await();
+        CountDownLatch latch15 = new CountDownLatch(1);
+        exec.execute(
+                new BlackOrder(
+                        headerProperties, originFields, modelId, mongoTemplate, fileService, latch15));
+        latch15.await();
         log.info("latch");
         log.info("latch2");
         CountDownLatch latch2 = new CountDownLatch(7);
@@ -228,7 +234,7 @@ public class AlipayService {
 
         //数据统计-生成资金excel
         CountDownLatch latch14 = new CountDownLatch(1);
-        exec.execute(new DataStaticExportExcel( modelId, mongoTemplate, fileService, latch14,path));
+        exec.execute(new DataStaticExportExcel(modelId, mongoTemplate, fileService, latch14, path));
         latch14.await();
         reorder(modelId);
         log.info("执行完毕");

+ 38 - 17
src/main/java/ieven/server/webapp/service/alipay/AntiSecurityTrade3.java

@@ -410,13 +410,17 @@ public class AntiSecurityTrade3 extends Ops implements Runnable {
             origin = cursor.next();
             DataMap dataMap = new DataMap();
             dataMap.put("fileId", antiSecurityFileId);
-            dataMap.put("支付订单号", origin.getString("支付订单号"));
+            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("币种"));
+            String string = origin.getString("交易金额");
+            if (StringUtils.isBlank(string)) {
+                continue;
+            }
             dataMap.put("交易金额", origin.getString("交易金额"));
             dataMap.put("交易余额", origin.getString("交易余额"));
             dataMap.put("消费POS机编号", origin.getString("消费POS机编号"));
@@ -427,52 +431,69 @@ public class AntiSecurityTrade3 extends Ops implements Runnable {
             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("交易主体银行名称", origin.getString("付款银行卡银行名称"));
                 dataMap.put("交易主体户名", "");
-                dataMap.put("交易对手账号", origin.getString("收款支付号"));
+                dataMap.put("交易对手账号", origin.getString("收款支付号"));
                 dataMap.put("交易对手银行卡号", origin.getString("收款银行卡号"));
                 dataMap.put("交易对手银行名称", origin.getString("收款银行卡银行名称"));
-                dataMap.put("交易对手户名", origin.getString("收款方的商户名称"));
-                String jyztzh = String.valueOf(origin.getString("收款支付号"));
-                String jyztzhhm = String.valueOf(origin.getString("收款方的商户名称"));
+                dataMap.put("交易对手户名", origin.getString("收款商户名称"));
+                String jyztzh = String.valueOf(origin.getString("收款支付号"));
+                String jyztzhhm = String.valueOf(origin.getString("收款商户名称"));
                 if (StringUtils.isNotBlank(jyztzh) && !"null".equals(jyztzh) && StringUtils.isNotBlank(jyztzhhm) && !"null".equals(jyztzhhm)) {
                     dataMapUser.put(jyztzh, jyztzhhm);
                 }
 
             } 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("交易对手账号", origin.getString("付款支付号"));
                 dataMap.put("交易对手银行卡号", origin.getString("付款银行卡号"));
                 dataMap.put("交易对手银行名称", origin.getString("付款银行卡银行名称"));
                 dataMap.put("交易对手户名", "");
-                String jyztzh = String.valueOf(origin.getString("收款支付账号"));
-                String jyztzhhm = String.valueOf(origin.getString("收款方的商户名称"));
+
+                String jyztzh = String.valueOf(origin.getString("收款支付帐号"));
+                String jyztzhhm = String.valueOf(origin.getString("收款商户名称"));
                 if (StringUtils.isNotBlank(jyztzh) && !"null".equals(jyztzh) && StringUtils.isNotBlank(jyztzhhm) && !"null".equals(jyztzhhm)) {
                     dataMapUser.put(jyztzh, jyztzhhm);
                 }
             }
             dataMap.put("交易时间", DataUtils.transferDateToStr(origin.getString("交易时间")));
 
-            String jyzthm = String.valueOf(dataMap.get("交易主体户名"));
-            if (StringUtils.isBlank(jyzthm) || "-".equals(jyzthm) || "null".equals(jyzthm)) {
+            if (PublicStatic.checkStr(String.valueOf(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("交易主体户名", PublicStatic.specialFormatStr(newName));
-                    } else {
+                    }  else {
                         dataMap.put("交易主体户名", PublicStatic.specialFormatStr(String.valueOf(dataMapUser.get(account))));
-                    }
+                    }/*else {
+                        //财付通-注册信息
+                        List<DataMap> dataMaps = dataMapList.get(account);
+                        if(CollectionUtils.isEmpty(dataMaps)){
+                            dataMaps = this.mongoTemplate.find((new Query(
+                                    Criteria.where("modelId")
+                                            .is(modelId)
+                                            .and("fileId")
+                                            .is(dateFileId2)
+                                            .and("账号")
+                                            .is(account))), DataMap.class);
+                            dataMapList.put(account,dataMaps);
+                        }
+                        if (CollectionUtils.isNotEmpty(dataMaps)) {
+                            dataMap.put("交易主体户名", dataMaps.get(0).get("注册姓名"));
+                        }
+                    }*/
                 }
-            } else {
-                dataMap.put("交易主体户名", PublicStatic.specialFormatStr(jyzthm));
+            }else {
+                dataMap.put("交易主体户名", PublicStatic.specialFormatStr(String.valueOf(dataMap.get("交易主体户名"))));
             }
+
             String value = String.valueOf(dataMap.get("交易对手户名"));
             if (StringUtils.isBlank(value) || "-".equals(value) || "null".equals(value)) {
                 String account = (String) dataMap.getOrDefault("交易对手账号", "");

+ 1 - 1
src/main/java/ieven/server/webapp/service/alipay/AntiSecurityTradeEndAnalysis.java

@@ -179,7 +179,7 @@ public class AntiSecurityTradeEndAnalysis extends Ops implements Runnable {
                     BigDecimal money3 = (BigDecimal) dataMap.get("交易主体支出金额");
                     dataMap.put("交易主体支出金额", money3.doubleValue());
                 }
-                saveLines(idToData.values(), "交易总额", mongoTemplate);
+                saveLines(idToData.values(), "共同交易主体数", mongoTemplate);
             }
         }
         this.latch.countDown();

+ 1 - 1
src/main/java/ieven/server/webapp/service/alipay/EndAnalysis.java

@@ -181,7 +181,7 @@ public class EndAnalysis extends Ops implements Runnable {
                     BigDecimal money3 = (BigDecimal) dataMap.get("主用户ID支出金额");
                     dataMap.put("主用户ID支出金额", money3.doubleValue());
                 }
-                saveLines(idToData.values(), "交易总额", mongoTemplate);
+                saveLines(idToData.values(), "共同主用户ID数", mongoTemplate);
             }
         }
         latch.countDown();

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

@@ -137,7 +137,7 @@ public class DataStaticAnalysisDs extends Ops implements Runnable {
                         } else {
                             Set<String> mainIds = new HashSet<>();
                             mainIds.add(mainIdhm);
-                            hm.put(alipayId, mainIds);
+                            hm.put(mainId, mainIds);
                         }
                     }
                     if (idToMainIds.containsKey(alipayId)) {
@@ -272,7 +272,7 @@ public class DataStaticAnalysisDs extends Ops implements Runnable {
                         } else {
                             Set<String> mainIds = new HashSet<>();
                             mainIds.add(mainIdhm);
-                            hm.put(alipayId, mainIds);
+                            hm.put(mainId, mainIds);
                         }
                     }
 
@@ -411,7 +411,7 @@ public class DataStaticAnalysisDs extends Ops implements Runnable {
                         } else {
                             Set<String> mainIds = new HashSet<>();
                             mainIds.add(mainIdhm);
-                            hm.put(alipayId, mainIds);
+                            hm.put(mainId, mainIds);
                         }
                     }
                     if (idToMainIds.containsKey(alipayId)) {

+ 11 - 56
src/main/java/ieven/server/webapp/service/datastatic/DataStaticService.java

@@ -101,7 +101,6 @@ public class DataStaticService extends Ops {
         String dateFileId = getFileId("数据分析-主体信息汇总明细", modelId, mongoTemplate);
         String dateFileIdUser = getFileId("数据分析-所有主体信息汇总", modelId, mongoTemplate);
         String dateFileIdUserTotal = getFileId("数据分析-主体信息汇总", modelId, mongoTemplate);
-        String dateFileIdDs = getFileId("数据分析-对手透视", modelId, mongoTemplate);
         if (StringUtils.isBlank(dateFileId)) {
             return Mapped.ERROR("数据分析-主体信息汇总明细不存在");
         }
@@ -157,7 +156,7 @@ public class DataStaticService extends Ops {
         Query query = new Query();
         //Pattern compile = Pattern.compile("^((?!" + "张"+ ").)*$",Pattern.CASE_INSENSITIVE);
         query.addCriteria(Criteria.where("fileId").is(dateFileId));
-        query.addCriteria(new Criteria().andOperator(getQuery()));
+        query.addCriteria(new Criteria().andOperator(PublicStatic.getQuery()));
         if (StringUtils.isNotBlank(staticModelInput.getJyztzh())) {
             query.addCriteria(Criteria.where("交易主体账号").in(Objects.requireNonNull(SplitCharacterEnum.splitByCharacter(staticModelInput.getJyztzh()))));
         }
@@ -177,39 +176,16 @@ public class DataStaticService extends Ops {
         if (StringUtils.isNotBlank(staticModelInput.getJysjEnd()) && StringUtils.isNotBlank(staticModelInput.getJysjStart())) {
             query.addCriteria(Criteria.where("交易时间").gte(staticModelInput.getJysjStart()).lte(staticModelInput.getJysjEnd()));
         }
-        List<String> strings1 = SplitCharacterEnum.splitByCharacter(staticModelInput.getJyztzhds());
+        //List<String> strings1 = SplitCharacterEnum.splitByCharacter(staticModelInput.getJyztzhds());
 
         if(null==staticModelInput.getStartNum()){
             staticModelInput.setStartNum(2);
         }
-        if (null != staticModelInput.getStartNum() || null != staticModelInput.getEndNum()) {
-            Query queryDs = new Query();
-            if (null != staticModelInput.getStartNum()) {
-                queryDs.addCriteria(Criteria.where("共同交易主体户名汇总").gte(staticModelInput.getStartNum()));
-            } else if (null != staticModelInput.getEndNum()) {
-                queryDs.addCriteria(Criteria.where("共同交易主体户名汇总").lte(staticModelInput.getStartNum()));
-            } else if (null != staticModelInput.getStartNum() && null != staticModelInput.getEndNum()) {
-                queryDs.addCriteria(Criteria.where("共同交易主体户名汇总").gte(staticModelInput.getStartNum()).lte(staticModelInput.getStartNum()));
-            }
-            queryDs.addCriteria(Criteria.where("fileId").is(dateFileIdDs));
-            List<DataMap> dataDsList = this.mongoTemplate.find(queryDs, DataMap.class);
-            if(CollectionUtils.isNotEmpty(dataDsList)){
-                for (DataMap dataMap : dataDsList) {
-                    String jydszh = String.valueOf(dataMap.get("交易对手账号"));
-                    if(!PublicStatic.checkStr(jydszh)){
-                        if(CollectionUtils.isEmpty(strings1)){
-                            strings1=new ArrayList<>();
-                        }
-                        strings1.add(jydszh);
-                    }
-                }
-            }
+        if(null==staticModelInput.getEndNum()){
+            staticModelInput.setEndNum(999999);
         }
-
-        if (CollectionUtils.isNotEmpty(strings1)) {
-            query.addCriteria(Criteria.where("交易对手账号").in(Objects.requireNonNull(strings1)));
-        }else {
-            return Mapped.ERROR("当前无数据");
+        if (StringUtils.isNotBlank(staticModelInput.getJyztzhds())) {
+            query.addCriteria(Criteria.where("交易对手账号").in(Objects.requireNonNull(SplitCharacterEnum.splitByCharacter(staticModelInput.getJyztzhds()))));
         }
 
         Map<String, Object> dataMap = new HashMap<>();
@@ -222,7 +198,7 @@ public class DataStaticService extends Ops {
 
         Map<String, List<DataMap>> dsMap = new HashMap<>();
 
-     /*   Map<String, Set<String>> zh = new HashMap<>();
+        Map<String, Set<String>> zh = new HashMap<>();
         for (DataMap map : dataMapDetail) {
             String jydszh = String.valueOf(map.get("交易对手账号"));
             String jyzthm = String.valueOf(map.get("交易主体户名"));
@@ -247,16 +223,16 @@ public class DataStaticService extends Ops {
         }
         List<DataMap> newList = Lists.newArrayList();
         for (Map.Entry<String, Set<String>> entry : zh.entrySet()) {
-            if (entry.getValue().size() > 1) {
+            if(entry.getValue().size()>=staticModelInput.getStartNum()&&entry.getValue().size()<=staticModelInput.getEndNum()){
                 List<DataMap> dataMaps1 = dsMap.get(entry.getKey());
                 newList.addAll(dataMaps1);
             }
-        }*/
+        }
 
         List<String> userList = new ArrayList<>();
         List<String> usermcList = new ArrayList<>();
         List<String> userAllList = new ArrayList<>();
-        for (DataMap map : dataMapDetail) {
+        for (DataMap map : newList) {
             String jythm = String.valueOf(map.get("交易主体户名"));
             String jydszh = String.valueOf(map.get("交易对手账号"));
             if (StringUtils.isBlank(jythm) || "null".equals(jythm)) {
@@ -366,7 +342,7 @@ public class DataStaticService extends Ops {
                 }
             }
         }
-        for (Map<String, Object> stringObjectMap : relationshipGraphList) {
+            for (Map<String, Object> stringObjectMap : relationshipGraphList) {
             Map<String, Object> party1 = (Map) stringObjectMap.get("party1");
             Map<String, Object> party2 = (Map) stringObjectMap.get("party2");
             String name1 = String.valueOf(party1.get("name"));
@@ -405,25 +381,4 @@ public class DataStaticService extends Ops {
         mapped.put("result", dataMap);
         return mapped;
     }
-
-    public List<Criteria> getQuery() {
-        List<Criteria> dataList = new ArrayList<>();
-        List<String> filedsList = Lists.newArrayList("交易对手账号", "交易对手户名");
-        List<String> noQueryData = Lists.newArrayList(
-                "公司", "慈善", "红十字", "店", "工作室", "商行", "中心", "经营部", "水果行", "餐厅", "超市", "市场", "商贸", "西饼屋", "科技", "酒楼", "停车场", "ETC", "etc", "服务", "批发",
-                "渔场", "浴场", "设计", "物业", "咨询", "批发", "合作社", "工厂", "鞋厂", "动物园", "植物园", "土黑猪", "猫狗", "学校", "学院", "大学", "棋牌", "娱乐", "袜厂", "制品厂", "加油站",
-                "体育馆", "研究所", "保健院", "龙虾", "羊蝎子", "足道", "公安局", "税务局", "法院", "菜馆", "棋牌", "水产行", "海鲜行", "公司", "服饰", "服装", "基金", "宠物", "车行", "保险", "理财",
-                "支付宝", "财付通", "apple", "烟酒", "经营者", "商户", "null", "借呗", "花呗", "网商银行", "LIMITED", "INC.", "幼儿园", "备用金", "淘宝现金红包", "基金蚂蚁", "耐克", "航空", "滴滴出行", "果格",
-                "拉扎斯", "网络科技", "字节跳动", "Incorporated", "Limited", "道达尔", "欧莱雅", "星巴克", "咖啡", "实业", "百胜餐饮", "优酷", "爱奇艺", "挚享科技", "云账户", "吱信"
-        );
-        for (String s : filedsList) {
-            for (String noQueryDatum : noQueryData) {
-                Criteria newCri = new Criteria(s);
-                Pattern compile = Pattern.compile("^((?!" + noQueryDatum + ").)*$", Pattern.CASE_INSENSITIVE);
-                newCri.regex(compile);
-                dataList.add(newCri);
-            }
-        }
-        return dataList;
-    }
 }

+ 1 - 1
src/main/java/ieven/server/webapp/service/tenpay/TenpayTradesEndAnalysis.java

@@ -181,7 +181,7 @@ public class TenpayTradesEndAnalysis extends Ops implements Runnable {
                 BigDecimal money3 = (BigDecimal) dataMap.get("交易主体支出金额");
                 dataMap.put("交易主体支出金额", money3.doubleValue());
             }
-            saveLines(idToData.values(), "交易总额", mongoTemplate);
+            saveLines(idToData.values(), "共同交易主体数", mongoTemplate);
         }
         latch.countDown();
         log.info("财付通-对手透视结束");

+ 27 - 0
src/main/java/ieven/server/webapp/util/excel/PublicStatic.java

@@ -1,10 +1,14 @@
 package ieven.server.webapp.util.excel;
 
+import com.google.common.collect.Lists;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.data.mongodb.core.query.Criteria;
 
 import java.text.DecimalFormat;
 import java.text.NumberFormat;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -475,4 +479,27 @@ public class PublicStatic {
     }
     return false;
   }
+
+    public static List<Criteria> getQuery() {
+        List<Criteria> dataList = new ArrayList<>();
+        List<String> filedsList = Lists.newArrayList("交易对手账号", "交易对手户名");
+        List<String> noQueryData = Lists.newArrayList(
+                "公司", "慈善", "红十字", "店", "工作室", "商行", "中心", "经营部", "水果行", "餐厅", "超市", "市场", "商贸", "西饼屋", "科技", "酒楼", "停车场", "ETC", "etc", "服务", "批发",
+                "渔场", "浴场", "设计", "物业", "咨询", "批发", "合作社", "工厂", "鞋厂", "动物园", "植物园", "土黑猪", "猫狗", "学校", "学院", "大学", "棋牌", "娱乐", "袜厂", "制品厂", "加油站",
+                "体育馆", "研究所", "保健院", "龙虾", "羊蝎子", "足道", "公安局", "税务局", "法院", "菜馆", "棋牌", "水产行", "海鲜行", "公司", "服饰", "服装", "基金", "宠物", "车行", "保险", "理财",
+                "支付宝", "财付通", "apple", "烟酒", "经营者", "商户", "null", "借呗", "花呗", "网商银行", "LIMITED", "INC.", "幼儿园", "备用金", "淘宝现金红包", "基金蚂蚁", "耐克", "航空", "滴滴出行", "果格",
+                "拉扎斯", "网络科技", "字节跳动", "Incorporated", "Limited", "道达尔", "欧莱雅", "星巴克", "咖啡", "实业", "百胜餐饮", "优酷", "爱奇艺", "挚享科技", "云账户", "吱信","广场","中国","移动","联通","电信",
+                "门市","经营","工作","教育","财政","税务","公安","Inc.","LTD","Ltd","协会","天猫","经销","管理","交通","百货","个体","食品","旅行",
+                "携程","同程","淘宝","科技珠宝","农场","公证","包装","到家","京东","委员","管委会","B.V.","财付通","微商","支付","美团","饿了么","运营","中学","小学","幼儿园","ETC","etc"
+        );
+        for (String s : filedsList) {
+            for (String noQueryDatum : noQueryData) {
+                Criteria newCri = new Criteria(s);
+                Pattern compile = Pattern.compile("^((?!" + noQueryDatum + ").)*$", Pattern.CASE_INSENSITIVE);
+                newCri.regex(compile);
+                dataList.add(newCri);
+            }
+        }
+        return dataList;
+    }
 }