Browse Source

机器模块的页面

reghao 4 years ago
parent
commit
e079b4aede

+ 8 - 7
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/view/AppConfigPageController.java

@@ -3,6 +3,8 @@ package cn.reghao.autodop.dmaster.app.controller.view;
 import cn.reghao.autodop.common.dagent.app.deploy.PackType;
 import cn.reghao.autodop.dmaster.app.constant.AppType;
 import cn.reghao.autodop.dmaster.app.constant.EnvType;
+import cn.reghao.autodop.dmaster.machine.db.query.MachineQuery;
+import cn.reghao.autodop.dmaster.machine.entity.po.info.MachineInfo;
 import cn.reghao.autodop.dmaster.machine.entity.po.info.NetworkInfo;
 import cn.reghao.autodop.dmaster.notification.entity.NotifyGroup;
 import cn.reghao.autodop.dmaster.notification.entity.NotifyType;
@@ -14,7 +16,6 @@ import cn.reghao.autodop.dmaster.app.db.query.config.build.RepoAuthQuery;
 import cn.reghao.autodop.dmaster.app.entity.config.AppOrchestration;
 import cn.reghao.autodop.dmaster.app.entity.config.ProjOrchestration;
 import cn.reghao.autodop.dmaster.app.vo.KeyValue;
-import cn.reghao.autodop.dmaster.machine.db.query.MachineInfoQuery;
 import cn.reghao.autodop.dmaster.notification.repository.NotifyGroupRepository;
 import cn.reghao.autodop.dmaster.utils.db.PageList;
 import cn.reghao.autodop.dmaster.utils.db.PageSort;
@@ -45,18 +46,18 @@ public class AppConfigPageController {
     private RepoAuthQuery repoAuthQuery;
     private CompilerQuery compilerQuery;
     private PackerQuery packerQuery;
-    private MachineInfoQuery machineInfoQuery;
+    private MachineQuery machineQuery;
     private NotifyGroupRepository receiverRepository;
 
     public AppConfigPageController(AppQuery appQuery, ProjQuery projQuery,
                                    RepoAuthQuery repoAuthQuery, CompilerQuery compilerQuery, PackerQuery packerQuery,
-                                   MachineInfoQuery machineInfoQuery, NotifyGroupRepository receiverRepository) {
+                                   MachineQuery machineQuery, NotifyGroupRepository receiverRepository) {
         this.appQuery = appQuery;
         this.projQuery = projQuery;
         this.repoAuthQuery = repoAuthQuery;
         this.compilerQuery = compilerQuery;
         this.packerQuery = packerQuery;
-        this.machineInfoQuery = machineInfoQuery;
+        this.machineQuery = machineQuery;
         this.receiverRepository = receiverRepository;
     }
 
@@ -114,8 +115,9 @@ public class AppConfigPageController {
 
         Map<String, String> queryMap = new HashMap<>();
         queryMap.put("env", "test");
-        List<KeyValue> machineList = machineInfoQuery.queryAll(queryMap).stream()
-                .map(machineInfo -> {
+        List<KeyValue> machineList = machineQuery.queryByMatchAll(queryMap).stream()
+                .map(machineHost -> {
+                    MachineInfo machineInfo = machineHost.getMachineInfo();
                     List<NetworkInfo> networkInfos = machineInfo.getNetworkInfos();
                     if (!networkInfos.isEmpty()) {
                         return new KeyValue(String.valueOf(machineInfo.getMachineId()), networkInfos.get(0).getIpv4());
@@ -138,7 +140,6 @@ public class AppConfigPageController {
         model.addAttribute("projs", projs);
         model.addAttribute("machines", machines);
         model.addAttribute("packTypes", packTypes);
-
         setCommon(model);
     }
 

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/controller/MachineController.java

@@ -56,6 +56,6 @@ public class MachineController {
     @ApiOperation(value = "删除机器")
     @DeleteMapping(value = "/host/{machineId}", produces = MediaType.APPLICATION_JSON_VALUE)
     public ResponseEntity<String> machine(@PathVariable("machineId") String machineId) {
-        return ResponseEntity.ok().body(WebBody.successWithMsg("删除成功"));
+        return ResponseEntity.ok().body(WebBody.successWithMsg("暂未实现"));
     }
 }

+ 49 - 26
dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/controller/MachinePageController.java

@@ -3,10 +3,8 @@ package cn.reghao.autodop.dmaster.machine.controller;
 import cn.reghao.autodop.common.utils.DateTimeConverter;
 import cn.reghao.autodop.dmaster.app.constant.EnvType;
 import cn.reghao.autodop.dmaster.app.vo.KeyValue;
-import cn.reghao.autodop.dmaster.machine.db.crud.MachineHostCrudService;
 import cn.reghao.autodop.dmaster.machine.db.crud.MachineInfoCrudService;
-import cn.reghao.autodop.dmaster.machine.db.crud.MachineStatCrudService;
-import cn.reghao.autodop.dmaster.machine.db.query.MachineHostQuery;
+import cn.reghao.autodop.dmaster.machine.db.query.MachineQuery;
 import cn.reghao.autodop.dmaster.machine.db.query.MachineStatQuery;
 import cn.reghao.autodop.dmaster.machine.entity.SshConnData;
 import cn.reghao.autodop.dmaster.machine.entity.po.MachineHost;
@@ -23,6 +21,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -32,38 +31,29 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 
 /**
  * @author reghao
  * @date 2019-08-30 18:49:15
  */
 @Slf4j
-@Api(tags = "机器页面接口")
+@Api(tags = "机器模块页面")
 @Controller
 @RequestMapping("/machine")
 public class MachinePageController {
     private MachineInfoCrudService infoCrudService;
-    private MachineHostCrudService hostCrudService;
-    private MachineHostQuery hostQuery;
+    private MachineQuery machineQuery;
     private MachineStatQuery statQuery;
-    private MachineStatCrudService statCrudService;
     private NotifyGroupRepository receiverRepository;
 
     public MachinePageController(MachineInfoCrudService infoCrudService,
-                                 MachineHostCrudService hostCrudService,
-                                 MachineHostQuery hostQuery,
+                                 MachineQuery machineQuery,
                                  MachineStatQuery statQuery,
-                                 MachineStatCrudService statCrudService,
                                  NotifyGroupRepository receiverRepository) {
         this.infoCrudService = infoCrudService;
-        this.hostCrudService = hostCrudService;
-        this.hostQuery = hostQuery;
+        this.machineQuery = machineQuery;
         this.statQuery = statQuery;
-        this.statCrudService = statCrudService;
         this.receiverRepository = receiverRepository;
     }
 
@@ -72,21 +62,43 @@ public class MachinePageController {
     public String hostPage(@RequestParam(value = "env", required = false) String env,
                            @RequestParam(value = "machineIpv4", required = false) String machineIpv4,
                            Model model) {
+        if (env == null) {
+            env = EnvType.test.name();
+        }
+
+        if (machineIpv4 != null) {
+            searchByMachineIpv4(env, machineIpv4, model);
+            return "/machine/host";
+        }
+
+        Map<String, String> queryMap = new HashMap<>();
+        queryMap.put("env", env);
         PageRequest pageRequest = PageSort.pageRequest();
-        Page<MachineHost> page = hostCrudService.selectByPage(pageRequest);
+        Page<MachineHost> page = machineQuery.queryByMatchAll(queryMap, pageRequest);
         Page<HostInfo> hostInfos = page.map(HostInfo::new);
         PageList<HostInfo> pageList = PageList.pageList(hostInfos);
 
-        //model.addAttribute("env", env);
+        model.addAttribute("env", env);
         model.addAttribute("page", page);
         model.addAttribute("list", pageList.getList());
         return "/machine/host";
     }
 
+    private void searchByMachineIpv4(String env, String machineIpv4, Model model) {
+        List<MachineHost> list = machineQuery.queryByMachineIpv4(machineIpv4);
+        Page<MachineHost> page = new PageImpl<>(list);
+        Page<HostInfo> hostInfos = page.map(HostInfo::new);
+        PageList<HostInfo> pageList = PageList.pageList(hostInfos);
+
+        model.addAttribute("env", env);
+        model.addAttribute("page", page);
+        model.addAttribute("list", pageList.getList());
+    }
+
     @ApiOperation(value = "机器通知设置页面")
     @GetMapping("/notify/{machineId}")
     public String machineNotifyPage(@PathVariable("machineId") String machineId, Model model) {
-        MachineHost machineHost = hostQuery.query(machineId);
+        MachineHost machineHost = machineQuery.query(machineId);
         Set<NotifyGroup> currentSet = new HashSet<>(machineHost.getNotifyGroups());
         List<NotifyGroup> list = receiverRepository.findAll();
 
@@ -99,7 +111,7 @@ public class MachinePageController {
     @ApiOperation(value = "SSH 认证设置页面")
     @GetMapping("/sshauth/{machineId}")
     public String sshAuthPage(@PathVariable("machineId") String machineId, Model model) {
-        MachineHost machineHost = hostQuery.query(machineId);
+        MachineHost machineHost = machineQuery.query(machineId);
         SshAuth sshAuth = machineHost.getSshAuth();
 
         model.addAttribute("machineId", machineId);
@@ -110,7 +122,7 @@ public class MachinePageController {
     @ApiOperation(value = "SSH 控制台页面")
     @GetMapping("/webssh/{machineId}")
     public String webSshPage(@PathVariable("machineId") String machineId, Model model) {
-        MachineHost machineHost = hostQuery.query(machineId);
+        MachineHost machineHost = machineQuery.query(machineId);
         String machineIpv4 = machineHost.getMachineInfo().machineIpv4();
         SshAuth sshAuth = machineHost.getSshAuth();
         if (sshAuth == null) {
@@ -136,7 +148,7 @@ public class MachinePageController {
             envs.add(new KeyValue(envType.name(), envType.name()));
         }
 
-        MachineHost machineHost = hostQuery.query(machineId);
+        MachineHost machineHost = machineQuery.query(machineId);
         model.addAttribute("machineId", machineId);
         model.addAttribute("environments", envs);
         model.addAttribute("env", machineHost.getEnv());
@@ -156,18 +168,29 @@ public class MachinePageController {
     public String statusPage(@RequestParam(value = "env", required = false) String env,
                              @RequestParam(value = "machineIpv4", required = false) String machineIpv4,
                              Model model) {
+        if (env == null) {
+            env = EnvType.test.name();
+        }
+
+        if (machineIpv4 != null) {
+            searchByMachineIpv4(env, machineIpv4, model);
+            return "/machine/status";
+        }
+
+        Map<String, String> queryMap = new HashMap<>();
+        queryMap.put("env", env);
         PageRequest pageRequest = PageSort.pageRequest();
-        Page<MachineHost> page = hostCrudService.selectByPage(pageRequest);
+        Page<MachineHost> page = machineQuery.queryByMatchAll(queryMap, pageRequest);
         Page<HostInfo> hostInfos = page.map(HostInfo::new);
         PageList<HostInfo> pageList = PageList.pageList(hostInfos);
 
-        //model.addAttribute("env", env);
+        model.addAttribute("env", env);
         model.addAttribute("page", page);
         model.addAttribute("list", pageList.getList());
         return "/machine/status";
     }
 
-    @ApiOperation(value = "机器系统负载页面")
+    @ApiOperation(value = "系统负载页面")
     @GetMapping("/status/sys/{machineId}")
     public String hostStatusPage(@PathVariable("machineId") String machineId, Model model) {
         MachineStat machineStat = statQuery.query(machineId);

+ 0 - 36
dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/db/query/MachineHostQuery.java

@@ -1,36 +0,0 @@
-package cn.reghao.autodop.dmaster.machine.db.query;
-
-import cn.reghao.autodop.dmaster.machine.entity.po.MachineHost;
-import cn.reghao.autodop.dmaster.machine.entity.po.info.MachineInfo;
-import cn.reghao.autodop.dmaster.machine.repository.MachineHostRepository;
-import org.springframework.data.jpa.domain.Specification;
-import org.springframework.stereotype.Service;
-
-import javax.persistence.criteria.Join;
-import javax.persistence.criteria.JoinType;
-import javax.persistence.criteria.Predicate;
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2021-06-17 22:52:32
- */
-@Service
-public class MachineHostQuery {
-    private MachineHostRepository hostRepository;
-
-    public MachineHostQuery(MachineHostRepository hostRepository) {
-        this.hostRepository = hostRepository;
-    }
-
-    public MachineHost query(String machineId) {
-        Specification<MachineHost> specification = (root, query, cb) -> {
-            Join<MachineHost, MachineInfo> innerJoin = root.join("machineInfo", JoinType.INNER);
-            Predicate predicate = cb.equal(innerJoin.get("machineId"), machineId);
-            //
-            return cb.and(predicate);
-        };
-        List<MachineHost> list = hostRepository.findAll(specification);
-        return list.isEmpty() ? null : list.get(0);
-    }
-}

+ 0 - 38
dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/db/query/MachineInfoQuery.java

@@ -1,38 +0,0 @@
-package cn.reghao.autodop.dmaster.machine.db.query;
-
-import cn.reghao.autodop.dmaster.machine.entity.po.info.MachineInfo;
-import cn.reghao.autodop.dmaster.machine.repository.MachineInfoRepository;
-import org.springframework.data.jpa.domain.Specification;
-import org.springframework.stereotype.Service;
-
-import javax.persistence.criteria.Predicate;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author reghao
- * @date 2021-06-17 22:52:32
- */
-@Service
-public class MachineInfoQuery {
-    private MachineInfoRepository infoRepository;
-
-    public MachineInfoQuery(MachineInfoRepository infoRepository) {
-        this.infoRepository = infoRepository;
-    }
-
-    public List<MachineInfo> queryAll(Map<String, String> kv) {
-        return infoRepository.findAll();
-    }
-
-    public MachineInfo query(String machineId) {
-        Specification<MachineInfo> specification = (root, query, cb) -> {
-            Predicate predicate = cb.equal(root.get("machineId"), machineId);
-            // select * from app_building where app_id like '%test%' and app_name like '%测试%'
-            return cb.and(predicate);
-        };
-
-        return null;
-    }
-}

+ 77 - 0
dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/db/query/MachineQuery.java

@@ -0,0 +1,77 @@
+package cn.reghao.autodop.dmaster.machine.db.query;
+
+import cn.reghao.autodop.dmaster.machine.entity.po.MachineHost;
+import cn.reghao.autodop.dmaster.machine.entity.po.info.MachineInfo;
+import cn.reghao.autodop.dmaster.machine.entity.po.info.NetworkInfo;
+import cn.reghao.autodop.dmaster.machine.repository.MachineHostRepository;
+import cn.reghao.autodop.dmaster.machine.repository.MachineInfoRepository;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+
+import javax.persistence.criteria.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author reghao
+ * @date 2021-06-17 22:52:32
+ */
+@Service
+public class MachineQuery {
+    private MachineInfoRepository infoRepository;
+    private MachineHostRepository hostRepository;
+
+    public MachineQuery(MachineInfoRepository infoRepository, MachineHostRepository hostRepository) {
+        this.infoRepository = infoRepository;
+        this.hostRepository = hostRepository;
+    }
+
+    public MachineHost query(String machineId) {
+        Specification<MachineHost> specification = (root, query, cb) -> {
+            Join<MachineHost, MachineInfo> innerJoin = root.join("machineInfo", JoinType.INNER);
+            Predicate predicate = cb.equal(innerJoin.get("machineId"), machineId);
+            //
+            return cb.and(predicate);
+        };
+        List<MachineHost> list = hostRepository.findAll(specification);
+        return list.isEmpty() ? null : list.get(0);
+    }
+
+    public List<MachineHost> queryByMatchAll(Map<String, String> kv) {
+        Specification<MachineHost> specification = matchSpec(kv);
+        return hostRepository.findAll(specification);
+    }
+
+    public Page<MachineHost> queryByMatchAll(Map<String, String> kv, PageRequest pageRequest) {
+        Specification<MachineHost> specification = matchSpec(kv);
+        return hostRepository.findAll(specification, pageRequest);
+    }
+
+    public List<MachineHost> queryByMachineIpv4(String machineIpv4) {
+        Specification<MachineHost> specification = innerJoinMatchSpec(machineIpv4);
+        return hostRepository.findAll(specification);
+    }
+
+    private Specification<MachineHost> matchSpec(Map<String, String> kv) {
+        return (root, query, cb) -> {
+            List<Predicate> predicates = new ArrayList<>();
+            kv.forEach((name, value) -> {
+                predicates.add(cb.equal(root.get(name), value));
+            });
+            return cb.and(predicates.toArray(new Predicate[0]));
+        };
+    }
+
+    private Specification<MachineHost> innerJoinMatchSpec(String machineIpv4) {
+        return (root, query, cb) -> {
+            Join<MachineHost, MachineInfo> innerJoin = root.join("machineInfo", JoinType.INNER);
+            // MachineInfo 中的 NetworkInfo 集合
+            ListJoin<MachineInfo, NetworkInfo> listJoin = innerJoin.joinList("networkInfos");
+            Predicate predicate = cb.equal(listJoin.get("ipv4"), machineIpv4);
+            return cb.and(predicate);
+        };
+    }
+}

+ 5 - 5
dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/service/DagentOpsService.java

@@ -3,7 +3,7 @@ package cn.reghao.autodop.dmaster.machine.service;
 import cn.reghao.autodop.dmaster.machine.db.crud.MachineHostCrudService;
 import cn.reghao.autodop.dmaster.machine.db.crud.MachineInfoCrudService;
 import cn.reghao.autodop.dmaster.machine.db.crud.MachineStatCrudService;
-import cn.reghao.autodop.dmaster.machine.db.query.MachineHostQuery;
+import cn.reghao.autodop.dmaster.machine.db.query.MachineQuery;
 import cn.reghao.autodop.dmaster.machine.entity.po.MachineHost;
 import cn.reghao.autodop.dmaster.machine.entity.po.MachineStat;
 import cn.reghao.autodop.dmaster.machine.entity.po.info.MachineInfo;
@@ -33,7 +33,7 @@ import java.util.List;
 public class DagentOpsService {
     private MachineInfoCrudService infoCrudService;
     private MachineHostCrudService hostCrudService;
-    private MachineHostQuery hostQuery;
+    private MachineQuery machineQuery;
     private MachineStatCrudService statCrudService;
     private AppRuntimeLogCrudService logCrudService;
     private MonitorService monitorService;
@@ -42,7 +42,7 @@ public class DagentOpsService {
 
     public DagentOpsService(MachineInfoCrudService infoCrudService,
                             MachineHostCrudService hostCrudService,
-                            MachineHostQuery hostQuery,
+                            MachineQuery machineQuery,
                             MachineStatCrudService statCrudService,
                             AppRuntimeLogCrudService logCrudService,
                             MonitorService monitorService,
@@ -50,7 +50,7 @@ public class DagentOpsService {
                             MonitorJobCrudService jobCrudService) {
         this.infoCrudService = infoCrudService;
         this.hostCrudService = hostCrudService;
-        this.hostQuery = hostQuery;
+        this.machineQuery = machineQuery;
         this.statCrudService = statCrudService;
         this.logCrudService = logCrudService;
         this.monitorService = monitorService;
@@ -94,7 +94,7 @@ public class DagentOpsService {
 
     public void heartbeat(MachineStat machineStat) {
         String machineId = machineStat.getMachineId();
-        MachineHost machineHost = hostQuery.query(machineId);
+        MachineHost machineHost = machineQuery.query(machineId);
         if (machineHost != null) {
             machineHost.setLastCheck(LocalDateTime.now());
             hostCrudService.insertOrUpdate(machineHost);

+ 7 - 7
dmaster/src/main/java/cn/reghao/autodop/dmaster/machine/service/MachineService.java

@@ -1,7 +1,7 @@
 package cn.reghao.autodop.dmaster.machine.service;
 
 import cn.reghao.autodop.dmaster.machine.db.crud.MachineHostCrudService;
-import cn.reghao.autodop.dmaster.machine.db.query.MachineHostQuery;
+import cn.reghao.autodop.dmaster.machine.db.query.MachineQuery;
 import cn.reghao.autodop.dmaster.machine.entity.po.MachineHost;
 import cn.reghao.autodop.dmaster.machine.entity.po.SshAuth;
 import cn.reghao.autodop.dmaster.notification.entity.NotifyGroup;
@@ -16,27 +16,27 @@ import java.util.List;
 @Service
 public class MachineService {
     private MachineHostCrudService hostCrudService;
-    private MachineHostQuery hostQuery;
+    private MachineQuery machineQuery;
 
-    public MachineService(MachineHostCrudService hostCrudService, MachineHostQuery hostQuery) {
+    public MachineService(MachineHostCrudService hostCrudService, MachineQuery machineQuery) {
         this.hostCrudService = hostCrudService;
-        this.hostQuery = hostQuery;
+        this.machineQuery = machineQuery;
     }
 
     public void setMachineNotify(String machineId, List<NotifyGroup> notifyGroups) {
-        MachineHost machineHost = hostQuery.query(machineId);
+        MachineHost machineHost = machineQuery.query(machineId);
         machineHost.setNotifyGroups(notifyGroups);
         hostCrudService.insertOrUpdate(machineHost);
     }
 
     public void setSshAuth(String machineId, SshAuth sshAuth) {
-        MachineHost machineHost = hostQuery.query(machineId);
+        MachineHost machineHost = machineQuery.query(machineId);
         machineHost.setSshAuth(sshAuth);
         hostCrudService.insertOrUpdate(machineHost);
     }
 
     public void setEnv(String machineId, String env) {
-        MachineHost machineHost = hostQuery.query(machineId);
+        MachineHost machineHost = machineQuery.query(machineId);
         machineHost.setEnv(env);
         hostCrudService.insertOrUpdate(machineHost);
     }

+ 10 - 6
dmaster/src/main/java/cn/reghao/autodop/dmaster/monitor/service/MonitorJobData.java

@@ -4,7 +4,8 @@ import cn.reghao.autodop.common.http.DefaultWebRequest;
 import cn.reghao.autodop.dmaster.app.db.query.config.AppQuery;
 import cn.reghao.autodop.dmaster.app.repository.AppRunningRepository;
 import cn.reghao.autodop.dmaster.machine.db.crud.MachineStatCrudService;
-import cn.reghao.autodop.dmaster.machine.db.query.MachineHostQuery;
+import cn.reghao.autodop.dmaster.machine.db.query.MachineQuery;
+import cn.reghao.autodop.dmaster.machine.db.query.MachineStatQuery;
 import cn.reghao.autodop.dmaster.monitor.db.MonitorJobCrudService;
 import cn.reghao.autodop.dmaster.monitor.entity.JobId;
 import cn.reghao.autodop.dmaster.monitor.entity.JobType;
@@ -12,7 +13,6 @@ import cn.reghao.autodop.dmaster.monitor.entity.MonitorJob;
 import cn.reghao.autodop.dmaster.monitor.service.job.AppHealthCheckJob;
 import cn.reghao.autodop.dmaster.monitor.service.job.MachineStatCheckJob;
 import cn.reghao.autodop.dmaster.notification.service.NotifyService;
-import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.quartz.JobDataMap;
 import org.springframework.stereotype.Service;
@@ -29,20 +29,23 @@ public class MonitorJobData {
     private MonitorJobCrudService jobCrudService;
     private NotifyService notifyService;
     private MachineStatCrudService statCrudService;
-    private MachineHostQuery hostQuery;
+    private MachineStatQuery statQuery;
+    private MachineQuery machineQuery;
     private AppRunningRepository runningRepository;
     private AppQuery appQuery;
 
     public MonitorJobData(MonitorJobCrudService jobCrudService,
                           NotifyService notifyService,
                           MachineStatCrudService statCrudService,
-                          MachineHostQuery hostQuery,
+                          MachineStatQuery statQuery,
+                          MachineQuery machineQuery,
                           AppRunningRepository runningRepository,
                           AppQuery appQuery) {
         this.jobCrudService = jobCrudService;
         this.notifyService = notifyService;
         this.statCrudService = statCrudService;
-        this.hostQuery = hostQuery;
+        this.statQuery = statQuery;
+        this.machineQuery = machineQuery;
         this.runningRepository = runningRepository;
         this.appQuery = appQuery;
     }
@@ -83,7 +86,8 @@ public class MonitorJobData {
         jobDataMap.put("notifyService", notifyService);
         jobDataMap.put("jobCrudService", jobCrudService);
         jobDataMap.put("statCrudService", statCrudService);
-        jobDataMap.put("hostQuery", hostQuery);
+        jobDataMap.put("statQuery", statQuery);
+        jobDataMap.put("machineQuery", machineQuery);
         jobDataMap.put("machineId", machineId);
         return jobDataMap;
     }

+ 6 - 5
dmaster/src/main/java/cn/reghao/autodop/dmaster/monitor/service/job/MachineStatCheckJob.java

@@ -6,9 +6,9 @@ import cn.reghao.autodop.common.utils.ByteConverter;
 import cn.reghao.autodop.common.utils.ByteType;
 import cn.reghao.autodop.common.utils.DateTimeConverter;
 import cn.reghao.autodop.common.utils.PercentCalculator;
-import cn.reghao.autodop.dmaster.machine.db.crud.MachineHostCrudService;
 import cn.reghao.autodop.dmaster.machine.db.crud.MachineStatCrudService;
-import cn.reghao.autodop.dmaster.machine.db.query.MachineHostQuery;
+import cn.reghao.autodop.dmaster.machine.db.query.MachineQuery;
+import cn.reghao.autodop.dmaster.machine.db.query.MachineStatQuery;
 import cn.reghao.autodop.dmaster.machine.entity.po.MachineHost;
 import cn.reghao.autodop.dmaster.machine.entity.po.MachineStat;
 import cn.reghao.autodop.dmaster.machine.entity.po.StatusType;
@@ -48,17 +48,18 @@ public class MachineStatCheckJob implements Job {
         NotifyService notifyService = (NotifyService) jobDataMap.get("notifyService");
         MonitorJobCrudService jobCrudService = (MonitorJobCrudService) jobDataMap.get("jobCrudService");
         MachineStatCrudService statCrudService = (MachineStatCrudService) jobDataMap.get("statCrudService");
-        MachineHostQuery hostQuery = (MachineHostQuery) jobDataMap.get("hostQuery");
+        MachineStatQuery statQuery = (MachineStatQuery) jobDataMap.get("statQuery");
+        MachineQuery machineQuery = (MachineQuery) jobDataMap.get("machineQuery");
         String machineId = jobDataMap.getString("machineId");
 
-        MachineHost machineHost = hostQuery.query(machineId);
+        MachineHost machineHost = machineQuery.query(machineId);
         List<NotifyGroup> notifyGroups = machineHost.getNotifyGroups();
         if (notifyGroups.isEmpty()) {
             log.error("没有通知组,不执行机器状态检查任务");
             return;
         }
 
-        MachineStat machineStat = statCrudService.selectByUk(machineId);
+        MachineStat machineStat = statQuery.query(machineId);
         long lastCheck = DateTimeConverter.msTimestamp(machineStat.getLastCheck());
         long now = System.currentTimeMillis();
 

+ 1 - 1
dmaster/src/main/resources/templates/machine/status.html

@@ -6,7 +6,7 @@
 <body class="timo-layout-page">
 <div class="layui-card">
     <div class="layui-card-header timo-card-header">
-        <span><i class="fa fa-bars"></i> 机器列表</span>
+        <span><i class="fa fa-bars"></i> 机器状态</span>
         <i class="layui-icon layui-icon-refresh refresh-btn"></i>
     </div>
     <div class="layui-card-body">

+ 3 - 5
dmaster/src/test/java/cn/reghao/autodop/dmaster/machine/db/query/MachineHostQueryTest.java → dmaster/src/test/java/cn/reghao/autodop/dmaster/machine/db/query/MachineQueryTest.java

@@ -9,19 +9,17 @@ import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.junit4.SpringRunner;
 
-import static org.junit.jupiter.api.Assertions.*;
-
 @ActiveProfiles("dev")
 @SpringBootTest(classes = DmasterApplication.class)
 @RunWith(SpringRunner.class)
-class MachineHostQueryTest {
+class MachineQueryTest {
     @Autowired
-    private MachineHostQuery hostQuery;
+    private MachineQuery machineQuery;
 
     @Test
     void query() {
         String machineId = "5d1a727991f34d3a9c1220a1899e6ebd";
-        MachineHost machineHost = hostQuery.query(machineId);
+        MachineHost machineHost = machineQuery.query(machineId);
         System.out.println();
     }
 }