|
@@ -1,10 +1,16 @@
|
|
|
package cn.reghao.bnt.web.devops.machine.service;
|
|
package cn.reghao.bnt.web.devops.machine.service;
|
|
|
|
|
|
|
|
import cn.reghao.bnt.common.msg.event.EvtTaskResult;
|
|
import cn.reghao.bnt.common.msg.event.EvtTaskResult;
|
|
|
|
|
+import cn.reghao.bnt.web.devops.machine.db.repository.MachineTaskRepository;
|
|
|
import cn.reghao.bnt.web.devops.machine.model.po.MachineHost;
|
|
import cn.reghao.bnt.web.devops.machine.model.po.MachineHost;
|
|
|
|
|
+import cn.reghao.bnt.web.devops.machine.model.po.MachineTask;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
+import org.springframework.data.domain.PageRequest;
|
|
|
|
|
+import org.springframework.data.domain.Sort;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* @author reghao
|
|
* @author reghao
|
|
|
* @date 2025-12-16 10:55:55
|
|
* @date 2025-12-16 10:55:55
|
|
@@ -12,13 +18,24 @@ import org.springframework.stereotype.Service;
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
@Service
|
|
@Service
|
|
|
public class MachineTaskService {
|
|
public class MachineTaskService {
|
|
|
|
|
+ private final MachineTaskRepository machineTaskRepository;
|
|
|
private final MachineQuery machineQuery;
|
|
private final MachineQuery machineQuery;
|
|
|
|
|
|
|
|
- public MachineTaskService(MachineQuery machineQuery) {
|
|
|
|
|
|
|
+ public MachineTaskService(MachineTaskRepository machineTaskRepository, MachineQuery machineQuery) {
|
|
|
|
|
+ this.machineTaskRepository = machineTaskRepository;
|
|
|
this.machineQuery = machineQuery;
|
|
this.machineQuery = machineQuery;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public List<MachineTask> getMachineTasks(String machineId) {
|
|
|
|
|
+ Sort sort = Sort.by(Sort.Direction.DESC, "createTime");
|
|
|
|
|
+ PageRequest pageRequest = PageRequest.of(0, 100, sort);
|
|
|
|
|
+ return machineTaskRepository.findByMachineId(machineId, pageRequest).getContent();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public void handleTaskResult(EvtTaskResult evtTaskResult) {
|
|
public void handleTaskResult(EvtTaskResult evtTaskResult) {
|
|
|
|
|
+ MachineTask machineTask = new MachineTask(evtTaskResult);
|
|
|
|
|
+ machineTaskRepository.save(machineTask);
|
|
|
|
|
+
|
|
|
String machineId = evtTaskResult.getMachineId();
|
|
String machineId = evtTaskResult.getMachineId();
|
|
|
String result = evtTaskResult.getResult();
|
|
String result = evtTaskResult.getResult();
|
|
|
MachineHost machineHost = machineQuery.getMachineHost(machineId);
|
|
MachineHost machineHost = machineQuery.getMachineHost(machineId);
|
|
@@ -29,4 +46,13 @@ public class MachineTaskService {
|
|
|
log.info("machine {} event result -> {}", machineId, result);
|
|
log.info("machine {} event result -> {}", machineId, result);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ public void clearTask(String machineId) {
|
|
|
|
|
+ Sort sort = Sort.by(Sort.Direction.DESC, "createTime");
|
|
|
|
|
+ PageRequest pageRequest = PageRequest.of(0, 100, sort);
|
|
|
|
|
+ List<MachineTask> list = machineTaskRepository.findByMachineId(machineId, pageRequest).getContent();
|
|
|
|
|
+ if (!list.isEmpty()) {
|
|
|
|
|
+ machineTaskRepository.deleteAll(list);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|