Browse Source

正在检测 刷新问题

main
maochaoying 2 years ago
parent
commit
82f2a40473
  1. 2
      src/main/java/com/iflytop/nuclear/controller/CheckController.java
  2. 10
      src/main/java/com/iflytop/nuclear/controller/TaskController.java
  3. 2
      src/main/java/com/iflytop/nuclear/entity/CheckResult.java
  4. 1
      src/main/java/com/iflytop/nuclear/service/TaskService.java
  5. 16
      src/main/java/com/iflytop/nuclear/service/impl/CheckServiceImpl.java
  6. 39
      src/main/java/com/iflytop/nuclear/service/impl/TaskServiceImpl.java

2
src/main/java/com/iflytop/nuclear/controller/CheckController.java

@ -35,7 +35,7 @@ public class CheckController {
}
// 判断当前order 0为横向检查 1为纵向检查
CheckResult checkResult = checkService.autoCheck(order, startIndex, taskId);
return ResponseData.success();
return ResponseData.success(checkResult);
}
@GetMapping("/stop/{id}")

10
src/main/java/com/iflytop/nuclear/controller/TaskController.java

@ -105,4 +105,14 @@ public class TaskController {
return ResponseData.success(jo);
}
/**
* 获取处于进行中任务的状态信息
* @return
*/
@GetMapping("/process")
public ResponseData getProcessTaskInfo() {
TaskVO taskVO = taskService.processTask();
return ResponseData.success(taskVO);
}
}

2
src/main/java/com/iflytop/nuclear/entity/CheckResult.java

@ -18,4 +18,6 @@ public class CheckResult {
private boolean isFinished;
private String currentTestCoord;
private String error;
}

1
src/main/java/com/iflytop/nuclear/service/TaskService.java

@ -15,4 +15,5 @@ import java.util.List;
public interface TaskService extends IService<Task> {
List<TaskVO> getTaskInfoByUsername(String username, String user_role);
TaskVO processTask();
}

16
src/main/java/com/iflytop/nuclear/service/impl/CheckServiceImpl.java

@ -2,6 +2,7 @@ package com.iflytop.nuclear.service.impl;
import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.iflytop.nuclear.entity.CheckInfo;
import com.iflytop.nuclear.entity.CheckResult;
@ -91,7 +92,7 @@ public class CheckServiceImpl implements CheckService {
webSocketServer.sendMessage("update");
}
public void initCheck(String initNextCoord,int order, int taskId) throws IOException {
public String initCheck(String initNextCoord,int order, int taskId) throws IOException {
// 指定初始化index为1-6
String nextCoord = initNextCoord;
this.updateCoordAndStatus(taskId, nextCoord, 1, true, false);
@ -125,9 +126,10 @@ public class CheckServiceImpl implements CheckService {
this.updateCoordAndStatus(taskId, nextCoord, 3, false, true);
}
}
return nextCoord;
}
public void continueCheck(int taskId, int order) throws IOException {
public String continueCheck(int taskId, int order) throws IOException {
// 被中断过需要从中断的currentCoord坐标继续
// 首先需要读取数据库获得当前taskId的信息
Task task = taskService.getById(taskId);
@ -160,10 +162,20 @@ public class CheckServiceImpl implements CheckService {
this.updateCoordAndStatus(taskId, nextCoord, 3, false, true);
}
}
return nextCoord;
}
@Override
public CheckResult autoCheck(int order, String startIndex, int taskId) throws IOException {
// 检测是否有正在进行的任务
QueryWrapper<Task> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status", 1);
Task one = taskService.getOne(queryWrapper);
if (one != null) {
CheckResult checkResult = new CheckResult();
checkResult.setError("当前已有一个任务正在进行中,请暂停该任务后重试。");
return checkResult;
}
this.changeBreakOff(false);
this.updateCoordAndStatus(taskId, null, 1, false, false);
currentTaskId = taskId;

39
src/main/java/com/iflytop/nuclear/service/impl/TaskServiceImpl.java

@ -73,4 +73,43 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
}
return result;
}
@Override
public TaskVO processTask() {
QueryWrapper<Task> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status", 1);
Task task = this.getOne(queryWrapper);
if (task != null){
QueryWrapper<NuclearCoreConfig> nuclearCoreConfigQueryWrapper = new QueryWrapper<>();
nuclearCoreConfigQueryWrapper.eq("task_id", task.getId());
List<NuclearCoreConfig> nuclearCoreConfigList = nuclearCoreConfigService.list(nuclearCoreConfigQueryWrapper);
boolean canUpload = true;
if (nuclearCoreConfigList.size() > 0) {
canUpload = false;
}
Long nuclearStationId = task.getNuclearStationId();
Long nuclearCoreId = task.getNuclearCoreId();
NuclearCore nuclearCore = nuclearCoreService.getById(nuclearCoreId);
NuclearStation nuclearStation = nuclearStationService.getById(nuclearStationId);
QueryWrapper<Account> accountQueryWrapper = new QueryWrapper<>();
accountQueryWrapper.eq("username", task.getOperatorId());
Account account = accountService.getOne(accountQueryWrapper);
TaskVO taskVO = TaskVO.builder()
.taskName(task.getTaskName())
.checkOrder(task.getCheckOrder())
.id(task.getId())
.currentCoord(task.getCurrentCoord())
.status(task.getStatus())
.nuclearCoreName(nuclearCore.getName())
.nuclearStationName(nuclearStation.getName())
.publishTime(task.getPublishTime())
.operatorName(account.getNickname())
.startTime(task.getStartTime())
.endTime(task.getEndTime())
.canUpload(canUpload)
.build();
return taskVO;
}
return null;
}
}
Loading…
Cancel
Save