|
|
@@ -31,6 +31,7 @@ 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.core.tool.utils.CollectionUtil;
|
|
|
import org.springblade.evisa.feign.EVisaClient;
|
|
|
import org.springblade.evisa.vo.CertBeanVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -41,10 +42,7 @@ 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.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
@@ -76,30 +74,57 @@ public class TaskBatchServiceImpl extends BaseServiceImpl<TaskBatchMapper, TaskB
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public R<TaskBatchMonitorVo> selectTaskBatchList(TaskBatchPage page) {
|
|
|
+ public R<List<TaskBatchMonitorDTO>> selectTaskBatchList(TaskBatchPage page) {
|
|
|
//初始化查询参数
|
|
|
- page.setTaskType(page.getTaskType() == null ? 1 : page.getTaskType());
|
|
|
+ page.setTaskType(1);
|
|
|
+
|
|
|
+ List<TaskBatchMonitorDTO> data = new ArrayList<>();
|
|
|
+ //获取合同段id
|
|
|
+ if (page.getTaskType() == 1) {
|
|
|
+ Set<String> keys = redisTemplate.keys("sign-*");
|
|
|
+ if (CollectionUtil.isNotEmpty(keys)) {
|
|
|
+ List<String> strings = new ArrayList<>();
|
|
|
+ keys.forEach(f -> {
|
|
|
+ strings.add(f.replace("sign-", ""));
|
|
|
+ });
|
|
|
+ if (CollectionUtil.isNotEmpty(strings)) {
|
|
|
+ page.setFormDataIds(strings);
|
|
|
+ List<TaskBatchMonitorDTO> list = baseMapper.selectTaskBatchList2(page);
|
|
|
+ for (TaskBatchMonitorDTO taskBatchMonitorDTO : list) {
|
|
|
+ String value = redisTemplate.opsForValue().get("sign-" + taskBatchMonitorDTO.getFormDataId());
|
|
|
+ if (StringUtils.isNotEmpty(value)) {
|
|
|
+ taskBatchMonitorDTO.setTaskType(1);
|
|
|
+ //开始时间
|
|
|
+ DateTime startTime = DateUtil.parse(value, "yyyy-MM-dd HH:MM:ss");
|
|
|
+ taskBatchMonitorDTO.setStartTime(startTime.toString("HH:MM"));
|
|
|
+ //预计完成时间
|
|
|
+ if (taskBatchMonitorDTO.getPdfUrlSize() != null && taskBatchMonitorDTO.getPdfUrlSize() != 0) {
|
|
|
+ Long pdfUrlSize = taskBatchMonitorDTO.getPdfUrlSize();
|
|
|
+ //判断偏移多少秒 每50M 30秒
|
|
|
+ int time = calculateExecutionTime((double) pdfUrlSize / 1024 / 1024);
|
|
|
+
|
|
|
+ DateTime dateTime = DateUtil.offsetSecond(startTime, time);
|
|
|
+
|
|
|
+ String s = TimeConverter.secondsToMinutesSeconds(time);
|
|
|
+ taskBatchMonitorDTO.setFinishTime(s + "(" + dateTime.toString("HH:mm") + ")");
|
|
|
+ }
|
|
|
+ data.add(taskBatchMonitorDTO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return R.data(data);
|
|
|
+ }
|
|
|
|
|
|
- List<TaskBatchMonitorDTO> list = baseMapper.selectTaskBatchList(page);
|
|
|
+ @Override
|
|
|
+ public R<TaskBatchMonitorVo> count(TaskBatchPage page) {
|
|
|
+ List<TaskBatchMonitorDTO> list = baseMapper.selectTaskBatchList2(page);
|
|
|
for (TaskBatchMonitorDTO taskBatchMonitorDTO : list) {
|
|
|
String value = redisTemplate.opsForValue().get("sign-" + taskBatchMonitorDTO.getFormDataId());
|
|
|
- if(StringUtils.isNotEmpty(value)){
|
|
|
+ if (StringUtils.isNotEmpty(value)) {
|
|
|
taskBatchMonitorDTO.setTaskType(1);
|
|
|
- //开始时间
|
|
|
- DateTime startTime = DateUtil.parse(value, "yyyy-MM-dd HH:MM:ss");
|
|
|
- taskBatchMonitorDTO.setStartTime(startTime.toString("HH:MM"));
|
|
|
- //预计完成时间
|
|
|
- if(taskBatchMonitorDTO.getPdfUrlSize() != null && taskBatchMonitorDTO.getPdfUrlSize() != 0){
|
|
|
- Long pdfUrlSize = taskBatchMonitorDTO.getPdfUrlSize();
|
|
|
- //判断偏移多少秒 每50M 30秒
|
|
|
- int time = calculateExecutionTime((double) pdfUrlSize / 1024 / 1024);
|
|
|
-
|
|
|
- DateTime dateTime = DateUtil.offsetSecond(startTime, time);
|
|
|
-
|
|
|
- String s = TimeConverter.secondsToMinutesSeconds(time);
|
|
|
- taskBatchMonitorDTO.setFinishTime(s + "(" + dateTime.toString("HH:mm") + ")");
|
|
|
- }
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
taskBatchMonitorDTO.setTaskType(2);
|
|
|
}
|
|
|
}
|
|
|
@@ -107,19 +132,37 @@ public class TaskBatchServiceImpl extends BaseServiceImpl<TaskBatchMapper, TaskB
|
|
|
boolean jarRunning = false;
|
|
|
try {
|
|
|
jarRunning = isJarRunning("blade-e-visa.jar");
|
|
|
- } catch (Exception e) {}
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
long runTotal = list.stream().filter(f -> f.getTaskType() == 1).count();
|
|
|
long orderTotal = list.stream().filter(f -> f.getTaskType() == 2).count();
|
|
|
TaskBatchMonitorVo taskBatchMonitorVo = new TaskBatchMonitorVo();
|
|
|
taskBatchMonitorVo.setStatus(jarRunning);
|
|
|
taskBatchMonitorVo.setRunTotal(runTotal);
|
|
|
taskBatchMonitorVo.setOrderTotal(orderTotal);
|
|
|
- taskBatchMonitorVo.setList(list.stream().filter(f -> Objects.equals(f.getTaskType(), page.getTaskType())).collect(Collectors.toList()));
|
|
|
return R.data(taskBatchMonitorVo);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public R<IPage<TaskBatchMonitorDTO>> pageOrder(TaskBatchPage page) {
|
|
|
+ //初始化查询参数
|
|
|
+ page.setTaskType(2);
|
|
|
+
|
|
|
+ Set<String> keys = redisTemplate.keys("sign-*");
|
|
|
+ if (CollectionUtil.isNotEmpty(keys)) {
|
|
|
+ List<String> strings = new ArrayList<>();
|
|
|
+ keys.forEach(f -> {
|
|
|
+ strings.add(f.replace("sign-", ""));
|
|
|
+ });
|
|
|
+ page.setFormDataIds(strings);
|
|
|
+ }
|
|
|
+ IPage<TaskBatchMonitorDTO> taskBatchMonitorDTOIPage = baseMapper.selectTaskBatchList(new Page<>(page.getCurrent(),page.getSize()),page);
|
|
|
+ return R.data(taskBatchMonitorDTOIPage);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 根据文件大小计算执行时间
|
|
|
+ *
|
|
|
* @param fileSizeMB 文件大小(MB)
|
|
|
* @return 执行时间(秒)
|
|
|
*/
|