Explorar o código

后管-电签监控
1、数据统计+服务监控

LHB hai 3 días
pai
achega
fe94cf0741

+ 2 - 1
blade-service/blade-business/src/main/java/org/springblade/business/controller/TaskBatchController.java

@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author LHB
@@ -36,7 +37,7 @@ public class TaskBatchController {
     @PostMapping("/page")
     @ApiOperationSupport(order = 1)
     @ApiOperation(value = "电签监控接口")
-    public R<List<TaskBatchMonitorDTO>> selectTaskBatchList(@RequestBody TaskBatchPage page){
+    public R<Map<String, Object>> selectTaskBatchList(@RequestBody TaskBatchPage page){
         return taskBatchService.selectTaskBatchList(page);
     }
 }

+ 2 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/ITaskBatchService.java

@@ -24,6 +24,7 @@ import org.springblade.core.mp.base.BaseService;
 import org.springblade.core.tool.api.R;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 服务类
@@ -40,5 +41,5 @@ public interface ITaskBatchService extends BaseService<TaskBatch> {
 
     List<TaskBatch> queryDataInfo();
 
-    R<List<TaskBatchMonitorDTO>> selectTaskBatchList(TaskBatchPage page);
+    R<Map<String, Object>> selectTaskBatchList(TaskBatchPage page);
 }

+ 51 - 4
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskBatchServiceImpl.java

@@ -18,6 +18,7 @@ package org.springblade.business.service.impl;
 
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.commons.lang.StringUtils;
@@ -29,13 +30,19 @@ import org.springblade.business.service.ITaskBatchService;
 import org.springblade.business.utils.TimeConverter;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.tool.api.R;
+import org.springblade.evisa.feign.EVisaClient;
+import org.springblade.evisa.vo.CertBeanVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
@@ -49,7 +56,8 @@ import java.util.stream.Collectors;
 public class TaskBatchServiceImpl extends BaseServiceImpl<TaskBatchMapper, TaskBatch> implements ITaskBatchService {
     @Autowired
     private StringRedisTemplate redisTemplate;
-
+    @Autowired
+    private EVisaClient eVisaClient;
 
     @Override
     public void deletedById(String id) {
@@ -67,7 +75,7 @@ public class TaskBatchServiceImpl extends BaseServiceImpl<TaskBatchMapper, TaskB
     }
 
     @Override
-    public R<List<TaskBatchMonitorDTO>> selectTaskBatchList(TaskBatchPage page) {
+    public R<Map<String, Object>> selectTaskBatchList(TaskBatchPage page) {
         //初始化查询参数
         page.setTaskType(page.getTaskType() == null ? 1 : page.getTaskType());
 
@@ -94,8 +102,19 @@ public class TaskBatchServiceImpl extends BaseServiceImpl<TaskBatchMapper, TaskB
                 taskBatchMonitorDTO.setTaskType(2);
             }
         }
-
-        return R.data(list.stream().filter(f -> Objects.equals(f.getTaskType(), page.getTaskType())).collect(Collectors.toList()));
+        //检测项目下所有工序资料PDF签章有效性
+        boolean jarRunning = false;
+        try {
+            jarRunning = isJarRunning("blade-e-visa.jar");
+        } catch (Exception e) {}
+        long runTotal = list.stream().filter(f -> f.getTaskType() == 1).count();
+        long orderTotal = list.stream().filter(f -> f.getTaskType() == 2).count();
+        Map<String, Object> map = new HashMap<>();
+        map.put("status",jarRunning);
+        map.put("runTotal",runTotal);
+        map.put("orderTotal",orderTotal);
+        map.put("list",list.stream().filter(f -> Objects.equals(f.getTaskType(), page.getTaskType())).collect(Collectors.toList()));
+        return R.data(map);
     }
 
     /**
@@ -121,4 +140,32 @@ public class TaskBatchServiceImpl extends BaseServiceImpl<TaskBatchMapper, TaskB
             return 90 + increments * 30;
         }
     }
+
+    /**
+     * 使用jps命令检查jar包是否在运行
+     */
+    public static boolean isJarRunning(String jarName) {
+        try {
+            ProcessBuilder processBuilder = new ProcessBuilder("jps", "-l");
+            Process process = processBuilder.start();
+
+            BufferedReader reader = new BufferedReader(
+                    new InputStreamReader(process.getInputStream())
+            );
+
+            String line;
+            while ((line = reader.readLine()) != null) {
+                if (line.contains(jarName)) {
+                    return true;
+                }
+            }
+
+            process.waitFor();
+            return false;
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
 }