Browse Source

调整分页问题

hankunkun 10 months ago
parent
commit
a8126fe26e

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

@@ -251,6 +251,9 @@ public class DataService {
             criteria.andOperator(cri);
         }
         Query dataQuery = new Query(criteria);
+        if (param.getDeleteName() == 2) {
+            dataQuery.addCriteria(new Criteria().andOperator(PublicStatic.getQuery()));
+        }
         if (CollectionUtils.isNotEmpty(param.getOrders())) {
             for (QueryParam.Param2 param2 : param.getOrders()) {
                 String alias = param2.getFieldAlias();

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

@@ -25,7 +25,6 @@ import ieven.server.webapp.util.excel.ExcelXlsReader;
 import ieven.server.webapp.util.excel.ExcelXlsxReader;
 import ieven.server.webapp.util.excel.PublicStatic;
 import info.monitorenter.cpdetector.io.*;
-import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.csv.CSVFormat;
 import org.apache.commons.csv.CSVParser;
@@ -49,14 +48,14 @@ import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.AsyncResult;
 import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.stereotype.Service;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.*;
 import java.nio.charset.Charset;
-import java.util.*;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -66,7 +65,7 @@ public class FileService {
     @Value("${spring.data.fileExportPath}")
     private String fileUploadPath;
 
-    String[] order1 = {"反诈数据-订单明细", "治安数据-订单明细","经侦数据-订单明细","网黑数据-订单明细", "反诈治安-交易明细", "反诈治安-账户透视", "反诈治安-对手透视"};
+    String[] order1 = {"反诈数据-订单明细", "治安数据-订单明细", "经侦数据-订单明细", "网黑数据-订单明细", "反诈治安-交易明细", "反诈治安-账户透视", "反诈治安-对手透视"};
     String[] order2 = {
             "五联单-注册信息",
             "五联单-登录日志",
@@ -79,9 +78,9 @@ public class FileService {
             "五联单-IP地址分析",
             "五联单-收货地址分析"
     };
-    String[] order3 = {"财付通-注册信息", "财付通-订单明细1","财付通-订单明细2", "财付通-交易明细", "财付通-账户透视", "财付通-对手透视", "财付通-手机明细"};
+    String[] order3 = {"财付通-注册信息", "财付通-订单明细1", "财付通-订单明细2", "财付通-交易明细", "财付通-账户透视", "财付通-对手透视", "财付通-手机明细"};
 
-    String[] order4 = {"数据分析-主体信息汇总","数据分析-账户透视","数据分析-对手透视", "数据分析-共同关系网络"};
+    String[] order4 = {"数据分析-主体信息汇总", "数据分析-账户透视", "数据分析-对手透视", "数据分析-共同关系网络"};
     @Autowired
     private GridFsTemplate gridFsTemplate;
     @Autowired
@@ -231,7 +230,8 @@ public class FileService {
                                     curRow,
                                     strings2.stream()
                                             .map(PublicStatic::removeAllSpecial)
-                                            .collect(Collectors.toList()));
+                                            .collect(Collectors.toList())
+                            );
                             curRow++;
                         }
                         mongoExcelService.insertRest();
@@ -251,7 +251,8 @@ public class FileService {
                             mongoExcelService.getRows(
                                     0,
                                     curRow,
-                                    values.stream().map(PublicStatic::removeAllSpecial).collect(Collectors.toList()));
+                                    values.stream().map(PublicStatic::removeAllSpecial).collect(Collectors.toList())
+                            );
                             curRow++;
                         }
                         mongoExcelService.insertRest();
@@ -285,7 +286,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);
@@ -340,7 +341,7 @@ public class FileService {
 
             for (LogicalFile logicalFile : list) {
                 if (logicalFile.getFilename().equals(s)) {
-                    if("数据分析-共同关系网络".equals(logicalFile.getFilename())){
+                    if ("数据分析-共同关系网络".equals(logicalFile.getFilename())) {
                         logicalFile.setFileType("map");
                     }
                     child.add(logicalFile);
@@ -458,19 +459,28 @@ public class FileService {
 
     public Mapped uploadFilesAndSave(List<MultipartFile> multipartFiles, String modelId) {
         List<String> failNameList = new ArrayList<>();
-        for (int i = 1; i <= multipartFiles.size(); i++) {
+        for (int i = 0; i < multipartFiles.size(); i++) {
             MultipartFile multipartFile = multipartFiles.get(i);
             String originName = multipartFile.getOriginalFilename();
             String suffix = originName.substring(originName.lastIndexOf(".") + 1);
             String prefix = originName.substring(0, originName.lastIndexOf("."));
-            String savedName = prefix + "(" + i + ")." + suffix;
+            String savedName = prefix + "(" + (i + 1) + ")." + suffix;
             String filepath = fileUploadPath + File.separator + modelId + File.separator + savedName;
             FileUtils.uploadFile(multipartFile, filepath);
             MultipartFile multipartFile1 = FileUtils.getMultipartFile(new File(filepath));
             try {
-                Mapped mapped = uploadSingle(multipartFile1, modelId);
-                if(!"200".equals(mapped.get("code"))){
-                    failNameList.add(String.valueOf(mapped.get("message")));
+                ExecutorService executor = Executors.newSingleThreadExecutor();
+                Future<Mapped> future = executor.submit(new Callable<Mapped>() {
+                    @Override
+                    public Mapped call() throws Exception {
+                        return uploadSingle(multipartFile1, modelId);
+                    }
+                });
+
+                // 在这里,主线程会等待 future 的结果
+                Mapped mapped = future.get(); // 这将会阻塞,直到Callable任务完成
+                if (200 != Integer.valueOf(String.valueOf(mapped.get("code")))) {
+                    failNameList.add(savedName+":"+String.valueOf(mapped.get("message")));
                 }
                 //删除文件
                 FileUtils.deleteFile(filepath);

+ 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.1f25baa9f2b560f3622142c34afb7309.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.ac1346828110953772ce.js></script><script type=text/javascript src=/static/js/vendor.4a30d08b867d4749cfcc.js></script><script type=text/javascript src=/static/js/app.6b79adfa44a0e0d044b9.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.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>
 <!-- 
  PROJECT_NAME: 三方支付数据分析;
- BUILD_TIME:Tue, 24 Sep 2024 01:56:26 GMT; 
+ BUILD_TIME:Wed, 25 Sep 2024 01:31:27 GMT; 
  GIT_BRANCH:master; 
- GIT_COMMIT:3ea7a359ef78b24b69c9a2d1e2b986965209cfa5; 
+ GIT_COMMIT:daefbb3af12c3695b747306dee7ace235d27349d; 
  TICK:3.2.0; 
  -->

File diff suppressed because it is too large
+ 0 - 0
src/main/resources/static/static/css/app.b456dd765f35856ac930a90e5d5d2d6e.css


File diff suppressed because it is too large
+ 0 - 0
src/main/resources/static/static/js/1.021b907ea6838e16002a.js


File diff suppressed because it is too large
+ 0 - 0
src/main/resources/static/static/js/1.aa6c97e7bb005fcfc723.js


File diff suppressed because it is too large
+ 0 - 0
src/main/resources/static/static/js/1.fd216fd0f157a631c515.js


File diff suppressed because it is too large
+ 0 - 0
src/main/resources/static/static/js/2.edf46fb7f4f8364fc32a.js


File diff suppressed because it is too large
+ 0 - 0
src/main/resources/static/static/js/3.6dc313257ca8f351ea2c.js


File diff suppressed because it is too large
+ 0 - 0
src/main/resources/static/static/js/4.2571522439317ff25e62.js


File diff suppressed because it is too large
+ 0 - 0
src/main/resources/static/static/js/4.4cb2bf4ec86307f8aa7d.js


File diff suppressed because it is too large
+ 0 - 0
src/main/resources/static/static/js/app.c6706b986dd8aefd56e7.js


+ 0 - 1
src/main/resources/static/static/js/manifest.e7065ba1f42a8ca19b31.js

@@ -1 +0,0 @@
-!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:"fd216fd0f157a631c515",2:"43384261e5d6b8c85bb7",3:"8124a69fbfe430b4050f",4:"4cb2bf4ec86307f8aa7d",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}}([]);

+ 1 - 1
src/main/resources/static/static/js/manifest.ac1346828110953772ce.js → src/main/resources/static/static/js/manifest.ee5093f5aa11c9e1e046.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:"021b907ea6838e16002a",2:"43384261e5d6b8c85bb7",3:"8124a69fbfe430b4050f",4:"4cb2bf4ec86307f8aa7d",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,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}}([]);

Some files were not shown because too many files changed in this diff