فهرست منبع

网络关系图修改

hankunkun 10 ماه پیش
والد
کامیت
98ee3b8146
20فایلهای تغییر یافته به همراه331 افزوده شده و 238 حذف شده
  1. 2 0
      src/main/java/ieven/server/webapp/infrastructure/InitDB.java
  2. 79 13
      src/main/java/ieven/server/webapp/service/datastatic/DataStaticAnalysisTotal.java
  3. 216 197
      src/main/java/ieven/server/webapp/service/datastatic/DataStaticService.java
  4. 20 14
      src/main/java/ieven/server/webapp/service/tenpay/TenpayTradesEndAnalysis.java
  5. 10 10
      src/main/java/ieven/server/webapp/util/excel/PublicStatic.java
  6. 3 3
      src/main/resources/static/index.html
  7. BIN
      src/main/resources/static/static/img/三方支付数据分析.6af81cd.png
  8. 0 0
      src/main/resources/static/static/js/1.341ea53e4a1236cc95e0.js
  9. 0 0
      src/main/resources/static/static/js/1.aa6c97e7bb005fcfc723.js
  10. 0 0
      src/main/resources/static/static/js/2.210455a2ae704a802fad.js
  11. 0 0
      src/main/resources/static/static/js/2.edf46fb7f4f8364fc32a.js
  12. 0 0
      src/main/resources/static/static/js/3.6dc313257ca8f351ea2c.js
  13. 0 0
      src/main/resources/static/static/js/3.999d415be219396519eb.js
  14. 0 0
      src/main/resources/static/static/js/5.3defbbaae0fa3bddba52.js
  15. 0 0
      src/main/resources/static/static/js/5.8e82142563e6af4bb71b.js
  16. 0 0
      src/main/resources/static/static/js/app.97898cd44b90c755cf43.js
  17. 0 0
      src/main/resources/static/static/js/app.c6706b986dd8aefd56e7.js
  18. 1 1
      src/main/resources/static/static/js/manifest.3003545cb4fbb7457d7b.js
  19. BIN
      src/main/resources/static/static/login/三方支付数据分析.png
  20. BIN
      src/main/resources/static/static/login/追迹者三方.png

+ 2 - 0
src/main/java/ieven/server/webapp/infrastructure/InitDB.java

@@ -47,6 +47,8 @@ public class InitDB implements CommandLineRunner {
         Properties.DETAILS_EXPORTABLE = (Map)objectMapper.convertValue(jsonNode.get("detailsExportable"), new TypeReference<Map<String, String>>() {
         });
         this.tryCreateIndex("data", "fileId", -1);
+        this.tryCreateIndex("data", "交易对手账号", -1);
+        this.tryCreateIndex("data", "交易对手户名", -1);
         this.tryCreateIndex("fields", "fileId", -1);
         this.tryCreateIndex("logical_file", "modelId", -1);
         this.tryCreateIndex("model", "createTime", -1);

+ 79 - 13
src/main/java/ieven/server/webapp/service/datastatic/DataStaticAnalysisTotal.java

@@ -44,16 +44,77 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
     public void run() {
         log.info("数据分析-主体信息汇总开始");
         // 直接删除并创建表
-        String newFileId = "";
+        String newFileId = 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;
         // 插入记录用户后续查询明细
+        if (StringUtils.isNotBlank(cft)) {
+            MongoCursor<Document> cursor = getCursor(cft, mongoTemplate);
+            if (cursor.hasNext()){
+                insertFromTo(cft, newFileId, modelId, mongoTemplate);
+            }
+            List<DataMap> needToSave = new ArrayList<>(1000);
+            Document origin;
+            flag=true;
+            while (cursor.hasNext()){
+                origin = cursor.next();
+                DataMap dataMap=new DataMap();
+                dataMap.put("fileId", newFileId);
+                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("注册时间"));
+
+                needToSave.add(dataMap);
+                if (needToSave.size() >= 500) {
+                    saveLines(needToSave, mongoTemplate);
+                    needToSave.clear();
+                }
+            }
+            if (CollectionUtils.isNotEmpty(needToSave)) {
+                saveLines(needToSave, mongoTemplate);
+            }
+        }
+
+        if (StringUtils.isNotBlank(wld)) {
+            MongoCursor<Document> cursor = getCursor(wld, mongoTemplate);
+            if (cursor.hasNext()){
+                insertFromTo(wld, newFileId, modelId, mongoTemplate);
+            }
+            flag=true;
+            Document origin;
+            List<DataMap> needToSave = new ArrayList<>(1000);
+            while (cursor.hasNext()){
+                origin = cursor.next();
+                DataMap dataMap=new DataMap();
+                dataMap.put("fileId", newFileId);
+                dataMap.put("交易主体账号",origin.getString("用户ID"));
+                dataMap.put("交易主体户名",origin.getString("账户名称"));
+                dataMap.put("证件号码",origin.getString("证件号"));
+                dataMap.put("绑定银行卡号",origin.getString("绑定卡号"));
+                dataMap.put("开户银行名称",origin.getString("银行简称"));
+                dataMap.put("绑定手机号",origin.getString("绑定手机"));
+                dataMap.put("注册时间","");
+
+                needToSave.add(dataMap);
+                if (needToSave.size() >= 500) {
+                    saveLines(needToSave, mongoTemplate);
+                    needToSave.clear();
+                }
+            }
+            if (CollectionUtils.isNotEmpty(needToSave)) {
+                saveLines(needToSave, mongoTemplate);
+            }
+        }
         if (StringUtils.isNotBlank(dateFileId)) {
             MongoCursor<Document> cursor = getCursor(dateFileId, mongoTemplate);
             if (cursor.hasNext()) {
-                newFileId = createLogicAndDeleteOld("数据分析-主体信息汇总", modelId, headerProperties.getStaticUserOutput(), mongoTemplate, fileService);
                 insertFromTo(dateFileId, newFileId, modelId, mongoTemplate);
 
                 //维护一张人员信息基础表,用于模型计算
@@ -116,7 +177,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
                     log.error(exception.getMessage(), exception);
                 }
             }
-            if (CollectionUtils.isNotEmpty(idToData.values())) {
+            if (CollectionUtils.isNotEmpty(idToData.values())&&!flag) {
                 for (Map.Entry<String, DataMap> entry : idToData.entrySet()) {
                     DataMap dataMap = entry.getValue();
                     String id = (String) dataMap.get("交易主体账号");
@@ -179,8 +240,8 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
                                 .is(account))), DataMap.class);
                 if (CollectionUtils.isNotEmpty(dataMaps)) {
                     zjha = String.valueOf(dataMaps.get(0).get("证件号"));
-                    bdyhkh = String.valueOf(dataMaps.get(0).get("绑定银行卡"));
-                    khyhmc = String.valueOf(dataMaps.get(0).get("账户名称"));
+                    bdyhkh = String.valueOf(dataMaps.get(0).get("绑定卡"));
+                    khyhmc = String.valueOf(dataMaps.get(0).get("银行简称"));
                     bdsjh = String.valueOf(dataMaps.get(0).get("登录手机"));
                     zcsj = String.valueOf(dataMaps.get(0).get("注册时间"));
                 }
@@ -199,6 +260,11 @@ 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("交易对手户名"));
+        boolean a = PublicStatic.noQueryData.stream().anyMatch(accountds::contains);
+        boolean b = PublicStatic.noQueryData.stream().anyMatch(accountdshm::contains);
+        if (a || b) {
+            return;
+        }
         Set<String> accountList = new HashSet<>();
         Map<String, Object> dataMaphm = new HashMap<>();
         /*if (StringUtils.isNotBlank(account) && !"null".equals(account)) {
@@ -237,7 +303,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
                     if (dataMap != null) {
                         DataMap newDataMap = new DataMap();
                         newDataMap.put("证件号", String.valueOf(dataMap.get("证件号码")));
-                        newDataMap.put("账户名称", PublicStatic.checkStr(String.valueOf(dataMap.get("交易主体户名")))?s.split("-")[1]:String.valueOf(dataMap.get("交易主体户名")));
+                        newDataMap.put("账户名称", PublicStatic.checkStr(String.valueOf(dataMap.get("交易主体户名"))) ? s.split("-")[1] : String.valueOf(dataMap.get("交易主体户名")));
                         newDataMap.put("账号", String.valueOf(dataMap.get("交易主体账号")));
                         dataMaps.add(newDataMap);
                     } else {
@@ -252,11 +318,11 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
                                 for (DataMap map : dataMapnew) {
                                     DataMap newDataMap = new DataMap();
                                     newDataMap.put("证件号", String.valueOf(map.get("注册身份证号")));
-                                    newDataMap.put("账户名称", PublicStatic.checkStr(String.valueOf(map.get("注册姓名")))?s.split("-")[1]:String.valueOf(map.get("注册姓名")));
+                                    newDataMap.put("账户名称", PublicStatic.checkStr(String.valueOf(map.get("注册姓名"))) ? s.split("-")[1] : String.valueOf(map.get("注册姓名")));
                                     newDataMap.put("账号", String.valueOf(map.get("账号")));
                                     dataMaps.add(newDataMap);
                                 }
-                            }else {
+                            } 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)));
@@ -274,7 +340,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
                 }
                 if (CollectionUtils.isNotEmpty(dataMaps)) {
                     for (DataMap dataMap : dataMaps) {
-                        String key = String.valueOf(dataMap.get("账号") + "-"+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);
@@ -306,7 +372,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.split("-")[0]);
+                    newDataMap.put("账号", s.split("-").length == 0 ? "" : s.split("-")[0]);
                     needToSaveall.add(newDataMap);
                     alipayIdsAll.add(s);
                 }
@@ -322,7 +388,7 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
                     if (dataMap != null) {
                         DataMap newDataMap = new DataMap();
                         newDataMap.put("证件号", String.valueOf(dataMap.get("证件号码")));
-                        newDataMap.put("账户名称", PublicStatic.checkStr(String.valueOf(dataMap.get("交易主体户名")))? s.split("-")[1]:String.valueOf(dataMap.get("交易主体户名")));
+                        newDataMap.put("账户名称", PublicStatic.checkStr(String.valueOf(dataMap.get("交易主体户名"))) ? s.split("-")[1] : String.valueOf(dataMap.get("交易主体户名")));
                         newDataMap.put("账号", String.valueOf(dataMap.get("交易主体账号")));
                         dataMaps.add(newDataMap);
                     } else {
@@ -336,11 +402,11 @@ public class DataStaticAnalysisTotal extends Ops implements Runnable {
                                 for (DataMap map : dataMapnew) {
                                     DataMap newDataMap = new DataMap();
                                     newDataMap.put("证件号", String.valueOf(map.get("证件号")));
-                                    newDataMap.put("账户名称",  PublicStatic.checkStr(String.valueOf(map.get("账户名称")))? s.split("-")[1]:String.valueOf(map.get("账户名称")));
+                                    newDataMap.put("账户名称", PublicStatic.checkStr(String.valueOf(map.get("账户名称"))) ? s.split("-")[1] : String.valueOf(map.get("账户名称")));
                                     newDataMap.put("账号", String.valueOf(map.get("用户ID")));
                                     dataMaps.add(newDataMap);
                                 }
-                            }else {
+                            } 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)));

+ 216 - 197
src/main/java/ieven/server/webapp/service/datastatic/DataStaticService.java

@@ -12,7 +12,6 @@ import ieven.server.webapp.util.excel.PublicStatic;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
 import org.springframework.data.mongodb.core.query.Criteria;
@@ -22,7 +21,6 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.util.*;
-import java.util.regex.Pattern;
 
 @Slf4j
 @Service
@@ -97,6 +95,8 @@ public class DataStaticService extends Ops {
     }
 
     public Mapped staticModel(StaticModelInput staticModelInput) {
+        long startTime = System.currentTimeMillis();
+        log.error("开始执行");
         String modelId = staticModelInput.getModelId();
         String dateFileId = getFileId("数据分析-主体信息汇总明细", modelId, mongoTemplate);
         String dateFileIdUser = getFileId("数据分析-所有主体信息汇总", modelId, mongoTemplate);
@@ -105,7 +105,8 @@ public class DataStaticService extends Ops {
         if (StringUtils.isBlank(dateFileId)) {
             return Mapped.ERROR("数据分析-主体信息汇总明细不存在");
         }
-
+        long a = System.currentTimeMillis();
+        log.error("查询所需的数据" + (a - startTime));
         if (StringUtils.isBlank(dateFileIdUser)) {
             return Mapped.ERROR("数据分析-所有主体信息汇总");
         }
@@ -116,7 +117,7 @@ public class DataStaticService extends Ops {
                         .is(dateFileIdUserTotal))), DataMap.class);
         if (CollectionUtils.isNotEmpty(dataMapsZt)) {
             for (DataMap dataMap : dataMapsZt) {
-                String jyzthm = StringUtils.isBlank(String.valueOf(dataMap.get("交易主体户名")))?String.valueOf(dataMap.get("交易主体账号")):String.valueOf(dataMap.get("交易主体户名"));
+                String jyzthm = StringUtils.isBlank(String.valueOf(dataMap.get("交易主体户名"))) ? String.valueOf(dataMap.get("交易主体账号")) : String.valueOf(dataMap.get("交易主体户名"));
                 if (!PublicStatic.checkStr(jyzthm)) {
                     String[] split = jyzthm.split(";");
                     for (int i = 0; i < split.length; i++) {
@@ -136,6 +137,8 @@ public class DataStaticService extends Ops {
                 }
             }
         }
+        long b = System.currentTimeMillis();
+        log.error("循环交易主体账号所需时间" + (b - a));
         //查询所有的主体信息汇总
         List<DataMap> dataMaps = this.mongoTemplate.find((new Query(
                 Criteria.where("fileId")
@@ -151,7 +154,8 @@ public class DataStaticService extends Ops {
                 personMap.put(zh, dataMaps1);
             }
         }
-
+        long c = System.currentTimeMillis();
+        log.error("循环交易对手账号所需时间" + (c - b));
         //分两种情况,1:主体是否有数据如果有就按交易主体的计算
 
         Query query = new Query();
@@ -203,225 +207,240 @@ public class DataStaticService extends Ops {
             }
         }
 
-            if (CollectionUtils.isNotEmpty(strings1)) {
-                query.addCriteria(Criteria.where("交易对手账号").in(Objects.requireNonNull(strings1)));
-            } else {
-                return Mapped.ERROR("当前无数据");
-            }
-            Map<String, Object> dataMap = new HashMap<>();
+        if (CollectionUtils.isNotEmpty(strings1)) {
+            query.addCriteria(Criteria.where("交易对手账号").in(Objects.requireNonNull(strings1)));
+        } else {
+            return Mapped.ERROR("当前无数据");
+        }
+        Map<String, Object> dataMap = new HashMap<>();
 
-            List<Map<String, Object>> partyDataList = new ArrayList<>();
-            List<Map<String, Object>> relationshipGraphList = new ArrayList<>();
-            List<Map<String, Object>> relationshipGraphListnew = new ArrayList<>();
-            List<DataMap> dataMapDetail = this.mongoTemplate.find(query, DataMap.class);
-            //先去判断从是否有大于2的数据
+        List<Map<String, Object>> partyDataList = new ArrayList<>();
+        List<Map<String, Object>> relationshipGraphList = new ArrayList<>();
+        List<Map<String, Object>> relationshipGraphListnew = new ArrayList<>();
+        List<DataMap> dataMapDetail = this.mongoTemplate.find(query, DataMap.class);
 
-            Map<String, List<DataMap>> dsMap = new HashMap<>();
+        long d = System.currentTimeMillis();
+        log.error("查询所有数据所需时间" + (d - c));
+        //先去判断从是否有大于2的数据
 
-            Map<String, Set<String>> zh = new HashMap<>();
-            for (DataMap map : dataMapDetail) {
-                String jydszh = String.valueOf(map.get("交易对手账号"));
-                String jyzthm = String.valueOf(map.get("交易主体户名"));
-                if (PublicStatic.checkStr(jydszh) || PublicStatic.checkStr(jyzthm)) {
-                    continue;
-                }
-                Set<String> strings = zh.get(jydszh);
-                if (CollectionUtils.isEmpty(strings)) {
-                    strings = new HashSet<>();
-                    strings.add(jyzthm);
-                } else {
-                    strings.add(jyzthm);
-                }
-                zh.put(jydszh, strings);
+        Map<String, List<DataMap>> dsMap = new HashMap<>();
 
-                List<DataMap> dataMaps1 = Optional.ofNullable(dsMap.get(jydszh)).orElse(new ArrayList<DataMap>());
-                dataMaps1.add(map);
-                dsMap.put(jydszh, dataMaps1);
+        Map<String, Set<String>> zh = new HashMap<>();
+        for (DataMap map : dataMapDetail) {
+            String jydszh = String.valueOf(map.get("交易对手账号"));
+            String jyzthm = String.valueOf(map.get("交易主体户名"));
+            if (PublicStatic.checkStr(jydszh) || PublicStatic.checkStr(jyzthm)) {
+                continue;
             }
-            if (dsMap == null) {
-                return Mapped.ERROR("数据有误,请重新查询");
+            Set<String> strings = zh.get(jydszh);
+            if (CollectionUtils.isEmpty(strings)) {
+                strings = new HashSet<>();
+                strings.add(jyzthm);
+            } else {
+                strings.add(jyzthm);
             }
-            List<DataMap> newList = Lists.newArrayList();
-            for (Map.Entry<String, Set<String>> entry : zh.entrySet()) {
-                if (entry.getValue().size() >= staticModelInput.getStartNum() && entry.getValue().size() <= staticModelInput.getEndNum()) {
-                    List<DataMap> dataMaps1 = dsMap.get(entry.getKey());
-                    newList.addAll(dataMaps1);
-                }
+            zh.put(jydszh, strings);
+
+            List<DataMap> dataMaps1 = Optional.ofNullable(dsMap.get(jydszh)).orElse(new ArrayList<DataMap>());
+            dataMaps1.add(map);
+            dsMap.put(jydszh, dataMaps1);
+        }
+        if (dsMap == null) {
+            return Mapped.ERROR("数据有误,请重新查询");
+        }
+
+        long e = System.currentTimeMillis();
+        log.error("获取所有对手的交易主体账号所需时间" + (e-d));
+        List<DataMap> newList = Lists.newArrayList();
+        for (Map.Entry<String, Set<String>> entry : zh.entrySet()) {
+            if (entry.getValue().size() >= staticModelInput.getStartNum() && entry.getValue().size() <= staticModelInput.getEndNum()) {
+                List<DataMap> dataMaps1 = dsMap.get(entry.getKey());
+                newList.addAll(dataMaps1);
+            }
+        }
+        long f = System.currentTimeMillis();
+        log.error("获取大于2的数据所需时间" + (f-e));
+        List<String> userList = new ArrayList<>();
+        List<String> usermcList = new ArrayList<>();
+        List<String> userAllList = new ArrayList<>();
+        Map<String, Integer> countMap = new HashMap<>();
+        for (DataMap map : newList) {
+            String jythm = String.valueOf(map.get("交易主体户名"));
+            String jythm1 = String.valueOf(map.get("交易对手户名"));
+            if(jythm1.equals("中国银行")){
+                System.out.println("5555");
+            }
+            String jydszh = String.valueOf(map.get("交易对手账号"));
+            if (StringUtils.isBlank(jythm) || "null".equals(jythm)) {
+                continue;
+            }
+            String jdlx = String.valueOf(map.get("借贷类型"));
+            if (!jdlx.equals("借") && !jdlx.equals("贷")) {
+                log.error("借贷类型有误");
+                continue;
             }
 
-            List<String> userList = new ArrayList<>();
-            List<String> usermcList = new ArrayList<>();
-            List<String> userAllList = new ArrayList<>();
-            Map<String,Integer>countMap=new HashMap<>();
-            for (DataMap map : newList) {
-                String jythm = String.valueOf(map.get("交易主体户名"));
-                String jydszh = String.valueOf(map.get("交易对手账号"));
-                if (StringUtils.isBlank(jythm) || "null".equals(jythm)) {
-                    continue;
-                }
-                String jdlx = String.valueOf(map.get("借贷类型"));
-                if (!jdlx.equals("借") && !jdlx.equals("贷")) {
-                    log.error("借贷类型有误");
-                    continue;
+            //获取节点名称
+            List<DataMap> dataMapsparty1 = personzhmcMap.get(jythm);
+            List<DataMap> dataMapsparty2 = personMap.get(jydszh);
+            if (CollectionUtils.isEmpty(dataMapsparty1) || CollectionUtils.isEmpty(dataMapsparty2)) {
+                continue;
+            }
+            if (!usermcList.contains(jythm)) {
+                Map<String, Object> userMap = new HashMap<>();
+                if (CollectionUtils.isNotEmpty(dataMapsparty1)) {
+                    userMap.put("id", String.valueOf(dataMapsparty1.get(0).get("_id")));
+                    userMap.put("name", dataMapsparty1.get(0).get("交易主体户名"));
+                    userMap.put("relationPersons", dataMapsparty1);
+                    userMap.put("type", "主");
+                    partyDataList.add(userMap);
+                    usermcList.add(jythm);
                 }
+            }
 
-                //获取节点名称
-                List<DataMap> dataMapsparty1 = personzhmcMap.get(jythm);
-                List<DataMap> dataMapsparty2 = personMap.get(jydszh);
-                if (CollectionUtils.isEmpty(dataMapsparty1) || CollectionUtils.isEmpty(dataMapsparty2)) {
-                    continue;
+            if (!userList.contains(jydszh)) {
+                Map<String, Object> userMap = new HashMap<>();
+                if (CollectionUtils.isNotEmpty(dataMapsparty2)) {
+                    String cid = String.valueOf(dataMapsparty2.get(0).get("_id"));
+                    userMap.put("id", cid);
+                    userMap.put("name", dataMapsparty2.get(0).get("账号"));
+                    userMap.put("relationPersons", dataMapsparty2);
+                    userMap.put("type", "从");
+                    partyDataList.add(userMap);
+                    userList.add(jydszh);
                 }
-                if (!usermcList.contains(jythm)) {
-                    Map<String, Object> userMap = new HashMap<>();
-                    if (CollectionUtils.isNotEmpty(dataMapsparty1)) {
-                        userMap.put("id", String.valueOf(dataMapsparty1.get(0).get("_id")));
-                        userMap.put("name", dataMapsparty1.get(0).get("交易主体户名"));
-                        userMap.put("relationPersons", dataMapsparty1);
-                        userMap.put("type", "主");
-                        partyDataList.add(userMap);
-                        usermcList.add(jythm);
+            }
+            //增加线上数据
+            Map<String, Object> total = new HashMap<>();
+            Map<String, Object> party1 = new HashMap<>();
+            Map<String, Object> party2 = new HashMap<>();
+            Map<String, Object> relationData = new HashMap<>();
+
+            String userAllId = "";
+            if (jdlx.equals("借")) {
+                List<DataMap> dataMaps1 = personzhmcMap.get(jythm);
+                List<DataMap> dataMaps2 = personMap.get(jydszh);
+                if (CollectionUtils.isNotEmpty(dataMaps1) && CollectionUtils.isNotEmpty(dataMaps2)) {
+                    String one = String.valueOf(dataMaps1.get(0).get("_id"));
+                    party1.put("id", one);
+                    party1.put("name", dataMaps1.get(0).get("交易主体户名"));
+
+                    String two = String.valueOf(dataMaps2.get(0).get("_id"));
+                    party2.put("id", two);
+                    party2.put("name", dataMaps2.get(0).get("账号"));
+                    Integer integer = countMap.get(one);
+                    if (integer == null) {
+                        countMap.put(one, 1);
+                    } else {
+                        countMap.put(one, ++integer);
                     }
-                }
 
-                if (!userList.contains(jydszh)) {
-                    Map<String, Object> userMap = new HashMap<>();
-                    if (CollectionUtils.isNotEmpty(dataMapsparty2)) {
-                        String cid = String.valueOf(dataMapsparty2.get(0).get("_id"));
-                        userMap.put("id", cid);
-                        userMap.put("name", dataMapsparty2.get(0).get("账号"));
-                        userMap.put("relationPersons", dataMapsparty2);
-                        userMap.put("type", "从");
-                        partyDataList.add(userMap);
-                        userList.add(jydszh);
+                    Integer integer1 = countMap.get(two);
+                    if (integer1 == null) {
+                        countMap.put(two, 1);
+                    } else {
+                        countMap.put(two, ++integer1);
                     }
+                    userAllId = one + "-" + two;
                 }
-                //增加线上数据
-                Map<String, Object> total = new HashMap<>();
-                Map<String, Object> party1 = new HashMap<>();
-                Map<String, Object> party2 = new HashMap<>();
-                Map<String, Object> relationData = new HashMap<>();
-
-                String userAllId = "";
-                if (jdlx.equals("借")) {
-                    List<DataMap> dataMaps1 = personzhmcMap.get(jythm);
-                    List<DataMap> dataMaps2 = personMap.get(jydszh);
-                    if (CollectionUtils.isNotEmpty(dataMaps1) && CollectionUtils.isNotEmpty(dataMaps2)) {
-                        String one = String.valueOf(dataMaps1.get(0).get("_id"));
-                        party1.put("id", one);
-                        party1.put("name", dataMaps1.get(0).get("交易主体户名"));
-
-                        String two = String.valueOf(dataMaps2.get(0).get("_id"));
-                        party2.put("id", two);
-                        party2.put("name", dataMaps2.get(0).get("账号"));
-                        Integer integer = countMap.get(one);
-                        if(integer==null){
-                            countMap.put(one,1);
-                        }else {
-                            countMap.put(one,++integer);
-                        }
 
-                        Integer integer1 = countMap.get(two);
-                        if(integer1==null){
-                            countMap.put(two,1);
-                        }else {
-                            countMap.put(two,++integer1);
-                        }
-                        userAllId = one + "-" + two;
+            } else if (jdlx.equals("贷")) {
+                List<DataMap> dataMaps1 = personzhmcMap.get(jythm);
+                List<DataMap> dataMaps2 = personMap.get(jydszh);
+                if (CollectionUtils.isNotEmpty(dataMaps1) && CollectionUtils.isNotEmpty(dataMaps2)) {
+                    String two = String.valueOf(dataMaps1.get(0).get("_id"));
+                    party2.put("id", String.valueOf(dataMaps1.get(0).get("_id")));
+                    party2.put("name", dataMaps1.get(0).get("交易主体户名"));
+
+                    String one = String.valueOf(dataMaps2.get(0).get("_id"));
+                    party1.put("id", String.valueOf(dataMaps2.get(0).get("_id")));
+                    party1.put("name", dataMaps2.get(0).get("账号"));
+
+                    Integer integer = countMap.get(one);
+                    if (integer == null) {
+                        countMap.put(one, 1);
+                    } else {
+                        countMap.put(one, ++integer);
                     }
 
-                } else if (jdlx.equals("贷")) {
-                    List<DataMap> dataMaps1 = personzhmcMap.get(jythm);
-                    List<DataMap> dataMaps2 = personMap.get(jydszh);
-                    if (CollectionUtils.isNotEmpty(dataMaps1) && CollectionUtils.isNotEmpty(dataMaps2)) {
-                        String two = String.valueOf(dataMaps1.get(0).get("_id"));
-                        party2.put("id", String.valueOf(dataMaps1.get(0).get("_id")));
-                        party2.put("name", dataMaps1.get(0).get("交易主体户名"));
-
-                        String one = String.valueOf(dataMaps2.get(0).get("_id"));
-                        party1.put("id", String.valueOf(dataMaps2.get(0).get("_id")));
-                        party1.put("name", dataMaps2.get(0).get("账号"));
-
-                        Integer integer = countMap.get(one);
-                        if(integer==null){
-                            countMap.put(one,1);
-                        }else {
-                            countMap.put(one,++integer);
-                        }
-
-                        Integer integer1 = countMap.get(two);
-                        if(integer1==null){
-                            countMap.put(two,1);
-                        }else {
-                            countMap.put(two,++integer1);
-                        }
-                        userAllId = one + "-" + two;
+                    Integer integer1 = countMap.get(two);
+                    if (integer1 == null) {
+                        countMap.put(two, 1);
+                    } else {
+                        countMap.put(two, ++integer1);
                     }
+                    userAllId = one + "-" + two;
                 }
-                if (!userAllList.contains(userAllId)) {
-                    //查询所有的数据
-                    //查询所有的主体信息汇总
-                    BigDecimal sum = BigDecimal.ZERO;
-                    List<DataMap> dataDetailList = this.mongoTemplate.find((new Query(
-                            Criteria.where("fileId")
-                                    .is(dateFileId)
-                                    .and("交易主体户名")
-                                    .is(jythm)
-                                    .and("交易对手账号")
-                                    .is(jydszh))), DataMap.class);
-                    for (DataMap dataMap1 : dataDetailList) {
-                        String jyje = String.valueOf(dataMap1.get("交易金额"));
-                        sum = sum.add(new BigDecimal(jyje));
-                    }
-                    relationData.put("modelId", modelId);
-                    relationData.put("fileId", dateFileId);
-                    relationData.put("jythm", jythm);
-                    relationData.put("jydszh", jydszh);
-                    relationData.put("jeTotal", sum);
-                    relationData.put("sum", dataDetailList.size());
-                    total.put("party1", party1);
-                    total.put("party2", party2);
-                    total.put("relationData", relationData);
-                    total.put("userAllId", userAllId);
-                    //total.put("relationships", dataDetailList);
-                    relationshipGraphList.add(total);
-                    userAllList.add(userAllId);
-                    if (partyDataList.size() > 400) {
-                        return Mapped.ERROR("节点超过400个,请重新查询");
-                    }
+            }
+            if (!userAllList.contains(userAllId)) {
+                //查询所有的数据
+                //查询所有的主体信息汇总
+                BigDecimal sum = BigDecimal.ZERO;
+                List<DataMap> dataDetailList = this.mongoTemplate.find((new Query(
+                        Criteria.where("fileId")
+                                .is(dateFileId)
+                                .and("交易主体户名")
+                                .is(jythm)
+                                .and("交易对手账号")
+                                .is(jydszh))), DataMap.class);
+                for (DataMap dataMap1 : dataDetailList) {
+                    String jyje = String.valueOf(dataMap1.get("交易金额"));
+                    sum = sum.add(new BigDecimal(jyje));
+                }
+                relationData.put("modelId", modelId);
+                relationData.put("fileId", dateFileId);
+                relationData.put("jythm", jythm);
+                relationData.put("jydszh", jydszh);
+                relationData.put("jeTotal", sum);
+                relationData.put("sum", dataDetailList.size());
+                total.put("party1", party1);
+                total.put("party2", party2);
+                total.put("relationData", relationData);
+                total.put("userAllId", userAllId);
+                //total.put("relationships", dataDetailList);
+                relationshipGraphList.add(total);
+                userAllList.add(userAllId);
+                if (partyDataList.size() > 400) {
+                    return Mapped.ERROR("节点超过400个,请重新查询");
                 }
             }
-            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"));
-                String name2 = String.valueOf(party2.get("name"));
-                String value1 = name2 + "-" + name1;
-                stringObjectMap.put("type", 1);
-                for (Map<String, Object> objectMap : relationshipGraphList) {
-                    Map<String, Object> party11 = (Map) objectMap.get("party1");
-                    Map<String, Object> party21 = (Map) objectMap.get("party2");
-                    String name11 = String.valueOf(party11.get("name"));
-                    String name21 = String.valueOf(party21.get("name"));
-                    String value11 = name11 + "-" + name21;
-                    if (value1.equals(value11)) {
-                        stringObjectMap.put("type", 2);
-                        continue;
-                    }
+        }
+        long g = System.currentTimeMillis();
+        log.error("获取所有的点和线的数据所需时间" + (g-f));
+        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"));
+            String name2 = String.valueOf(party2.get("name"));
+            String value1 = name2 + "-" + name1;
+            stringObjectMap.put("type", 1);
+            for (Map<String, Object> objectMap : relationshipGraphList) {
+                Map<String, Object> party11 = (Map) objectMap.get("party1");
+                Map<String, Object> party21 = (Map) objectMap.get("party2");
+                String name11 = String.valueOf(party11.get("name"));
+                String name21 = String.valueOf(party21.get("name"));
+                String value11 = name11 + "-" + name21;
+                if (value1.equals(value11)) {
+                    stringObjectMap.put("type", 2);
+                    continue;
                 }
-                relationshipGraphListnew.add(stringObjectMap);
-
             }
+            relationshipGraphListnew.add(stringObjectMap);
 
-        List<Map<String, Object>> partyDataListnew = new ArrayList<>();
+        }
+        long h = System.currentTimeMillis();
+        log.error("判断线是否为双向箭头数据所需时间" + (h-g));
+        log.error("网络关系图所需要的时间" + (h-startTime));
+     /*   List<Map<String, Object>> partyDataListnew = new ArrayList<>();
         for (Map<String, Object> stringObjectMap : partyDataList) {
             String id =String.valueOf(stringObjectMap.get("id"));
             stringObjectMap.put("relationCount",countMap.get(id));
             partyDataListnew.add(stringObjectMap);
-        }
-            dataMap.put("partyData", partyDataListnew);
-            dataMap.put("relationshipGraph", relationshipGraphListnew);
-            Mapped mapped = Mapped.OK();
-            mapped.put("result", dataMap);
-            return mapped;
-        }
+        }*/
+        dataMap.put("partyData", partyDataList);
+        dataMap.put("relationshipGraph", relationshipGraphListnew);
+        Mapped mapped = Mapped.OK();
+        mapped.put("result", dataMap);
+        return mapped;
+    }
 }

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

@@ -5,6 +5,7 @@ import ieven.server.webapp.domain.alipay.HeaderProperties;
 import ieven.server.webapp.domain.data.DataMap;
 import ieven.server.webapp.domain.file.FileService;
 import ieven.server.webapp.service.Ops;
+import ieven.server.webapp.util.excel.PublicStatic;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -12,10 +13,7 @@ import org.bson.Document;
 import org.springframework.data.mongodb.core.MongoTemplate;
 
 import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.concurrent.CountDownLatch;
 
 @Slf4j
@@ -156,16 +154,17 @@ public class TenpayTradesEndAnalysis extends Ops implements Runnable {
             }
         }
         if (CollectionUtils.isNotEmpty(idToData.values())) {
+            List<DataMap> needToSave = new ArrayList<>(500);
             for (Map.Entry<String, DataMap> entry : idToData.entrySet()) {
                 String key = entry.getKey();
                 DataMap value = entry.getValue();
                 Set<String> mainIds = idToMainIds.get(key);
                 if (CollectionUtils.isNotEmpty(mainIds)) {
                     value.put("共同交易主体数", mainIds.size());
-                    String str="";
+                    String str = "";
                     for (String mainId : mainIds) {
                         Set<String> strings = hm.get(mainId);
-                        str+=CollectionUtils.isEmpty(strings)?mainId+";":mainId+"("+StringUtils.join(strings, ",")+");";
+                        str += CollectionUtils.isEmpty(strings) ? (PublicStatic.checkStr(mainId)?"":mainId) + ";" : (PublicStatic.checkStr(mainId)?"":mainId) + "(" + StringUtils.join(strings, ",") + ");";
                     }
                     value.put("共同交易主体账号汇总", str);
                 }
@@ -173,15 +172,22 @@ public class TenpayTradesEndAnalysis extends Ops implements Runnable {
                 if (CollectionUtils.isNotEmpty(names)) {
                     value.put("交易对手户名", StringUtils.join(names, ";"));
                 }
-                DataMap dataMap = entry.getValue();
-                BigDecimal money1 = (BigDecimal) dataMap.get("交易总额");
-                dataMap.put("交易总额", money1.doubleValue());
-                BigDecimal money2 = (BigDecimal) dataMap.get("交易主体收入金额");
-                dataMap.put("交易主体收入金额", money2.doubleValue());
-                BigDecimal money3 = (BigDecimal) dataMap.get("交易主体支出金额");
-                dataMap.put("交易主体支出金额", money3.doubleValue());
+                BigDecimal money1 = (BigDecimal) value.get("交易总额");
+                value.put("交易总额", money1.doubleValue());
+                BigDecimal money2 = (BigDecimal) value.get("交易主体收入金额");
+                value.put("交易主体收入金额", money2.doubleValue());
+                BigDecimal money3 = (BigDecimal) value.get("交易主体支出金额");
+                value.put("交易主体支出金额", money3.doubleValue());
+
+                needToSave.add(value);
+                if (needToSave.size() >= 500) {
+                    saveLines(needToSave, "共同交易主体数", mongoTemplate);
+                    needToSave.clear();
+                }
+            }
+            if (CollectionUtils.isNotEmpty(needToSave)) {
+                saveLines(needToSave, mongoTemplate);
             }
-            saveLines(idToData.values(), "共同交易主体数", mongoTemplate);
         }
         latch.countDown();
         log.info("财付通-对手透视结束");

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

@@ -479,19 +479,18 @@ public class PublicStatic {
     }
     return false;
   }
-
+    public static List<String> noQueryData = Lists.newArrayList(
+            "公司", "慈善", "红十字", "店", "工作室", "商行", "中心", "经营部", "水果行", "餐厅", "超市", "市场", "商贸", "西饼屋", "科技", "酒楼", "停车场", "ETC", "etc", "服务", "批发",
+            "渔场", "浴场", "设计", "物业", "咨询", "批发", "合作社", "工厂", "鞋厂", "动物园", "植物园", "土黑猪", "猫狗", "学校", "学院", "大学", "棋牌", "娱乐", "袜厂", "制品厂", "加油站",
+            "体育馆", "研究所", "保健院", "龙虾", "羊蝎子", "足道", "公安局", "税务局", "法院", "菜馆", "棋牌", "水产行", "海鲜行", "公司", "服饰", "服装", "基金", "宠物", "车行", "保险", "理财",
+            "支付宝", "财付通", "apple", "烟酒", "经营者", "商户", "null", "借呗", "花呗", "网商银行", "LIMITED", "INC.", "幼儿园", "备用金", "淘宝现金红包", "基金蚂蚁", "耐克", "航空", "滴滴出行", "果格",
+            "拉扎斯", "网络科技", "字节跳动", "Incorporated", "Limited", "道达尔", "欧莱雅", "星巴克", "咖啡", "实业", "百胜餐饮", "优酷", "爱奇艺", "挚享科技", "云账户", "吱信","广场","中国","移动","联通","电信",
+            "门市","经营","工作","教育","财政","税务","公安","Inc.","LTD","Ltd","协会","天猫","经销","管理","交通","百货","个体","食品","旅行",
+            "携程","同程","淘宝","科技珠宝","农场","公证","包装","到家","京东","委员","管委会","B.V.","财付通","微商","支付","美团","饿了么","运营","中学","小学","幼儿园","ETC","etc","银行","长盛基金管理有限公司"
+    );
     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);
@@ -505,4 +504,5 @@ public class PublicStatic {
         }
         return dataList;
     }
+
 }

+ 3 - 3
src/main/resources/static/index.html

@@ -1,8 +1,8 @@
-<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"><meta http-equiv=X-UA-Compatible content="IE=edge"><title>追迹者-三方支付数据分析</title><link href=/static/css/app.b456dd765f35856ac930a90e5d5d2d6e.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.ee5093f5aa11c9e1e046.js></script><script type=text/javascript src=/static/js/vendor.4a30d08b867d4749cfcc.js></script><script type=text/javascript src=/static/js/app.c6706b986dd8aefd56e7.js></script></body></html>
+<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"><meta http-equiv=X-UA-Compatible content="IE=edge"><title>追迹者-三方支付数据分析</title><link href=/static/css/app.b456dd765f35856ac930a90e5d5d2d6e.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.3003545cb4fbb7457d7b.js></script><script type=text/javascript src=/static/js/vendor.4a30d08b867d4749cfcc.js></script><script type=text/javascript src=/static/js/app.97898cd44b90c755cf43.js></script></body></html>
 <!-- 
  PROJECT_NAME: 三方支付数据分析;
- BUILD_TIME:Wed, 25 Sep 2024 01:31:27 GMT; 
+ BUILD_TIME:Sat, 28 Sep 2024 16:25:59 GMT; 
  GIT_BRANCH:master; 
- GIT_COMMIT:daefbb3af12c3695b747306dee7ace235d27349d; 
+ GIT_COMMIT:4b7c4cf738564cc28e561d3ceef32f21b54b0a19; 
  TICK:3.2.0; 
  -->

BIN
src/main/resources/static/static/img/三方支付数据分析.6af81cd.png


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
src/main/resources/static/static/js/1.341ea53e4a1236cc95e0.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
src/main/resources/static/static/js/1.aa6c97e7bb005fcfc723.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
src/main/resources/static/static/js/2.210455a2ae704a802fad.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
src/main/resources/static/static/js/2.edf46fb7f4f8364fc32a.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
src/main/resources/static/static/js/3.6dc313257ca8f351ea2c.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
src/main/resources/static/static/js/3.999d415be219396519eb.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
src/main/resources/static/static/js/5.3defbbaae0fa3bddba52.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
src/main/resources/static/static/js/5.8e82142563e6af4bb71b.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
src/main/resources/static/static/js/app.97898cd44b90c755cf43.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
src/main/resources/static/static/js/app.c6706b986dd8aefd56e7.js


+ 1 - 1
src/main/resources/static/static/js/manifest.ee5093f5aa11c9e1e046.js → src/main/resources/static/static/js/manifest.3003545cb4fbb7457d7b.js

@@ -1 +1 @@
-!function(e){function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var r=window.webpackJsonp;window.webpackJsonp=function(t,c,a){for(var f,i,u,d=0,s=[];d<t.length;d++)i=t[d],o[i]&&s.push(o[i][0]),o[i]=0;for(f in c)Object.prototype.hasOwnProperty.call(c,f)&&(e[f]=c[f]);for(r&&r(t,c,a);s.length;)s.shift()();if(a)for(d=0;d<a.length;d++)u=n(n.s=a[d]);return u};var t={},o={11:0};n.e=function(e){function r(){f.onerror=f.onload=null,clearTimeout(i);var n=o[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),o[e]=void 0)}var t=o[e];if(0===t)return new Promise(function(e){e()});if(t)return t[2];var c=new Promise(function(n,r){t=o[e]=[n,r]});t[2]=c;var a=document.getElementsByTagName("head")[0],f=document.createElement("script");f.type="text/javascript",f.charset="utf-8",f.async=!0,f.timeout=12e4,n.nc&&f.setAttribute("nonce",n.nc),f.src=n.p+"static/js/"+({0:"vendor-async"}[e]||e)+"."+{0:"f97ed98272f8cf46d635",1:"aa6c97e7bb005fcfc723",2:"edf46fb7f4f8364fc32a",3:"6dc313257ca8f351ea2c",4:"2571522439317ff25e62",5:"3defbbaae0fa3bddba52",6:"eedbbe55278fd36cf8c6",7:"83ecdc9548c3706f90ec",8:"1cfc86658a36840181e1"}[e]+".js";var i=setTimeout(r,12e4);return f.onerror=f.onload=r,a.appendChild(f),c},n.m=e,n.c=t,n.d=function(e,r,t){n.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},n.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(r,"a",r),r},n.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},n.p="/",n.oe=function(e){throw console.error(e),e}}([]);
+!function(e){function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var r=window.webpackJsonp;window.webpackJsonp=function(t,c,a){for(var f,i,u,s=0,d=[];s<t.length;s++)i=t[s],o[i]&&d.push(o[i][0]),o[i]=0;for(f in c)Object.prototype.hasOwnProperty.call(c,f)&&(e[f]=c[f]);for(r&&r(t,c,a);d.length;)d.shift()();if(a)for(s=0;s<a.length;s++)u=n(n.s=a[s]);return u};var t={},o={11:0};n.e=function(e){function r(){f.onerror=f.onload=null,clearTimeout(i);var n=o[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),o[e]=void 0)}var t=o[e];if(0===t)return new Promise(function(e){e()});if(t)return t[2];var c=new Promise(function(n,r){t=o[e]=[n,r]});t[2]=c;var a=document.getElementsByTagName("head")[0],f=document.createElement("script");f.type="text/javascript",f.charset="utf-8",f.async=!0,f.timeout=12e4,n.nc&&f.setAttribute("nonce",n.nc),f.src=n.p+"static/js/"+({0:"vendor-async"}[e]||e)+"."+{0:"f97ed98272f8cf46d635",1:"341ea53e4a1236cc95e0",2:"210455a2ae704a802fad",3:"999d415be219396519eb",4:"2571522439317ff25e62",5:"8e82142563e6af4bb71b",6:"eedbbe55278fd36cf8c6",7:"83ecdc9548c3706f90ec",8:"1cfc86658a36840181e1"}[e]+".js";var i=setTimeout(r,12e4);return f.onerror=f.onload=r,a.appendChild(f),c},n.m=e,n.c=t,n.d=function(e,r,t){n.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},n.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(r,"a",r),r},n.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},n.p="/",n.oe=function(e){throw console.error(e),e}}([]);

BIN
src/main/resources/static/static/login/三方支付数据分析.png


BIN
src/main/resources/static/static/login/追迹者三方.png


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است