reghao 1 год назад
Родитель
Сommit
687d7856c4
32 измененных файлов с 218 добавлено и 244 удалено
  1. 3 2
      common/src/main/java/cn/reghao/devops/common/util/KeyValue.java
  2. 4 6
      web/src/main/java/cn/reghao/devops/web/mgr/app/controller/page/AppConfigPageController.java
  3. 9 12
      web/src/main/java/cn/reghao/devops/web/mgr/app/controller/page/AppDeployConfigPageController.java
  4. 3 3
      web/src/main/java/cn/reghao/devops/web/mgr/app/controller/page/BuildDeployPageController.java
  5. 7 10
      web/src/main/java/cn/reghao/devops/web/mgr/app/controller/page/StatusPageController.java
  6. 8 9
      web/src/main/java/cn/reghao/devops/web/mgr/app/db/query/AppBuildQuery.java
  7. 8 16
      web/src/main/java/cn/reghao/devops/web/mgr/app/db/query/AppDeployQuery.java
  8. 10 28
      web/src/main/java/cn/reghao/devops/web/mgr/app/db/query/impl/AppBuildQueryImpl.java
  9. 46 57
      web/src/main/java/cn/reghao/devops/web/mgr/app/db/query/impl/AppDeployQueryImpl.java
  10. 29 0
      web/src/main/java/cn/reghao/devops/web/mgr/app/model/constant/RunStatus.java
  11. 0 4
      web/src/main/java/cn/reghao/devops/web/mgr/app/model/po/AppBuilding.java
  12. 3 3
      web/src/main/java/cn/reghao/devops/web/mgr/app/model/po/AppDeployingNode.java
  13. 2 2
      web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/AppDeployConfigVO.java
  14. 2 2
      web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/AppDeployingNodeVO.java
  15. 6 41
      web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/AppRunning.java
  16. 56 0
      web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/AppRunningNode.java
  17. 0 18
      web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/AppRunningVO.java
  18. 1 1
      web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/msg/BuildNotifyMsg.java
  19. 1 1
      web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/msg/DeployNotifyMsg.java
  20. 2 2
      web/src/main/java/cn/reghao/devops/web/mgr/app/service/bd/impl/BuildDeployNotifyImpl.java
  21. 2 4
      web/src/main/java/cn/reghao/devops/web/mgr/app/service/bd/impl/DeployAppImpl.java
  22. 0 2
      web/src/main/java/cn/reghao/devops/web/mgr/app/service/impl/AppBuildServiceImpl.java
  23. 1 1
      web/src/main/java/cn/reghao/devops/web/mgr/app/service/impl/AppDeployServiceImpl.java
  24. 1 1
      web/src/main/java/cn/reghao/devops/web/mgr/app/service/webhook/WebhookService.java
  25. 1 1
      web/src/main/java/cn/reghao/devops/web/mgr/builds/controller/page/CompilerPageController.java
  26. 1 2
      web/src/main/java/cn/reghao/devops/web/mgr/builds/controller/page/PackerPageController.java
  27. 1 1
      web/src/main/java/cn/reghao/devops/web/mgr/builds/controller/page/RepoAuthPageController.java
  28. 1 1
      web/src/main/java/cn/reghao/devops/web/mgr/log/model/vo/ChartData.java
  29. 1 1
      web/src/main/java/cn/reghao/devops/web/mgr/machine/controller/page/MachineHostPageController.java
  30. 3 5
      web/src/main/java/cn/reghao/devops/web/mgr/machine/db/query/MachineQuery.java
  31. 6 7
      web/src/main/java/cn/reghao/devops/web/mgr/machine/db/query/impl/MachineQueryImpl.java
  32. 0 1
      web/src/main/resources/templates/devops/app/deploy/index.html

+ 3 - 2
web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/KeyValue.java → common/src/main/java/cn/reghao/devops/common/util/KeyValue.java

@@ -1,14 +1,15 @@
-package cn.reghao.devops.web.mgr.app.model.vo;
+package cn.reghao.devops.common.util;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.Getter;
 
 /**
  * @author reghao
  * @date 2021-06-03 19:00:57
  */
 @AllArgsConstructor
-@Data
+@Getter
 public class KeyValue {
     private String key;
     private String value;

+ 4 - 6
web/src/main/java/cn/reghao/devops/web/mgr/app/controller/page/AppConfigPageController.java

@@ -7,7 +7,7 @@ import cn.reghao.devops.web.mgr.builds.db.repository.RepoAuthConfigRepository;
 import cn.reghao.devops.web.mgr.app.model.constant.AppType;
 import cn.reghao.devops.web.mgr.app.model.po.config.AppConfig;
 import cn.reghao.devops.web.mgr.app.model.vo.AppConfigVO;
-import cn.reghao.devops.web.mgr.app.model.vo.KeyValue;
+import cn.reghao.devops.common.util.KeyValue;
 import cn.reghao.devops.web.mgr.build.model.constant.EnvType;
 import cn.reghao.devops.web.util.DefaultSetting;
 import cn.reghao.devops.web.util.PageSort;
@@ -16,7 +16,6 @@ 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;
@@ -66,9 +65,8 @@ public class AppConfigPageController {
         if (appName != null) {
             Map<String, String> map = new HashMap<>();
             map.put("appName", appName);
-            List<AppConfig> list = appBuildQuery.query(map);
-            Page<AppConfig> page = new PageImpl<>(list);
-
+            PageRequest pageRequest = PageRequest.of(0, 10);
+            Page<AppConfig> page = appBuildQuery.queryByFields(map, pageRequest);
             model.addAttribute("env", env);
             model.addAttribute("type", type);
             model.addAttribute("page", page);
@@ -77,7 +75,7 @@ public class AppConfigPageController {
         }
 
         PageRequest pageRequest = PageSort.pageRequest();
-        Page<AppConfigVO> appPage = appBuildQuery.findByEnvAndType(env, type, pageRequest);
+        Page<AppConfigVO> appPage = appBuildQuery.getByEnvAndType(env, type, pageRequest);
 
         model.addAttribute("env", env);
         model.addAttribute("type", type);

+ 9 - 12
web/src/main/java/cn/reghao/devops/web/mgr/app/controller/page/AppDeployConfigPageController.java

@@ -4,15 +4,12 @@ import cn.reghao.devops.web.mgr.app.db.query.AppBuildQuery;
 import cn.reghao.devops.web.mgr.app.db.query.AppDeployQuery;
 import cn.reghao.devops.web.mgr.app.model.po.config.AppConfig;
 import cn.reghao.devops.web.mgr.app.model.po.config.AppDeployConfig;
-import cn.reghao.devops.web.mgr.app.model.vo.AppDeployConfigVo;
-import cn.reghao.devops.web.mgr.app.model.vo.KeyValue;
+import cn.reghao.devops.web.mgr.app.model.vo.AppDeployConfigVO;
+import cn.reghao.devops.common.util.KeyValue;
 import cn.reghao.devops.web.mgr.machine.db.query.MachineQuery;
-import cn.reghao.devops.web.util.PageSort;
 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.PageRequest;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -20,6 +17,7 @@ import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @author reghao
@@ -44,12 +42,11 @@ public class AppDeployConfigPageController {
     @ApiOperation(value = "部署配置列表页面")
     @GetMapping("/{appId}")
     public String deployConfigIndexPage(@PathVariable("appId") String appId, Model model) {
-        PageRequest pageRequest = PageSort.pageRequest();
-        Page<AppDeployConfigVo> page = appDeployQuery.indexPage(appId, pageRequest);
-        List<AppDeployConfigVo> list = page.getContent();
+        List<AppDeployConfigVO> list = appDeployQuery.getByAppId(appId).stream()
+                .map(AppDeployConfigVO::new)
+                .collect(Collectors.toList());
 
         model.addAttribute("appId", appId);
-        model.addAttribute("page", page);
         model.addAttribute("list", list);
         return "/devops/app/deploy/index";
     }
@@ -70,7 +67,7 @@ public class AppDeployConfigPageController {
     public String editAppConfigPage(@PathVariable("appId") String appId,
                                     @PathVariable("machineId") String machineId,
                                     Model model) {
-        AppDeployConfig appDeployConfig = appDeployQuery.findByAppIdAndMachineId(appId, machineId);
+        AppDeployConfig appDeployConfig = appDeployQuery.getByAppIdAndMachineId(appId, machineId);
         model.addAttribute("appDeployConfig", appDeployConfig);
         return "/devops/app/deploy/edit";
     }
@@ -78,8 +75,8 @@ public class AppDeployConfigPageController {
     @GetMapping("/detail/{appId}/{machineId}")
     public String appConfigPage(@PathVariable("appId") String appId, @PathVariable("machineId") String machineId,
                                 Model model) {
-        AppDeployConfig appDeployConfig = appDeployQuery.findByAppIdAndMachineId(appId, machineId);
-        model.addAttribute("deployConfigVO", new AppDeployConfigVo(appDeployConfig));
+        AppDeployConfig appDeployConfig = appDeployQuery.getByAppIdAndMachineId(appId, machineId);
+        model.addAttribute("deployConfigVO", new AppDeployConfigVO(appDeployConfig));
         return "/devops/app/deploy/detail";
     }
 }

+ 3 - 3
web/src/main/java/cn/reghao/devops/web/mgr/app/controller/page/BuildDeployPageController.java

@@ -6,7 +6,7 @@ import cn.reghao.devops.web.mgr.app.model.po.log.BuildConfigSnapshot;
 import cn.reghao.devops.web.mgr.app.model.po.log.BuildConsumed;
 import cn.reghao.devops.web.mgr.app.model.po.log.BuildLog;
 import cn.reghao.devops.web.mgr.app.model.vo.AppBuildingVO;
-import cn.reghao.devops.web.mgr.app.model.vo.AppDeployingVO;
+import cn.reghao.devops.web.mgr.app.model.vo.AppDeployingNodeVO;
 import cn.reghao.devops.web.mgr.app.model.vo.BuildLogVO;
 import cn.reghao.devops.web.mgr.app.model.vo.BuildTask;
 import cn.reghao.devops.web.mgr.app.service.bd.BuildApp;
@@ -59,7 +59,7 @@ public class BuildDeployPageController {
         PageRequest pageRequest = PageSort.pageRequest();
         Page<AppBuildingVO> page;
         if (appName != null) {
-            page = appBuildQuery.getPageByName(appName, pageRequest);
+            page = Page.empty();
         } else {
             page = appBuildQuery.getByPage(env, type, pageRequest);
         }
@@ -84,7 +84,7 @@ public class BuildDeployPageController {
     public String deployPage(@RequestParam("appId") String appId,
                              @RequestParam("buildLogId") String buildLogId,
                              Model model) {
-        List<AppDeployingVO> list = appDeployQuery.get(appId, null);
+        List<AppDeployingNodeVO> list = appDeployQuery.get(appId);
         model.addAttribute("appId", appId);
         model.addAttribute("buildLogId", buildLogId);
         model.addAttribute("list", list);

+ 7 - 10
web/src/main/java/cn/reghao/devops/web/mgr/app/controller/page/StatusPageController.java

@@ -1,8 +1,8 @@
 package cn.reghao.devops.web.mgr.app.controller.page;
 
 import cn.reghao.devops.web.mgr.app.db.query.AppDeployQuery;
+import cn.reghao.devops.web.mgr.app.model.vo.AppRunningNode;
 import cn.reghao.devops.web.mgr.app.model.vo.AppRunning;
-import cn.reghao.devops.web.mgr.app.model.vo.AppRunningVO;
 import cn.reghao.devops.web.util.DefaultSetting;
 import cn.reghao.devops.web.util.PageSort;
 import cn.reghao.jutil.jdk.db.PageList;
@@ -56,8 +56,8 @@ public class StatusPageController {
         }
 
         if (appName != null) {
-            Page<AppRunningVO> page = new PageImpl<>(Collections.emptyList());
-            PageList<AppRunningVO> pageList = PageList.empty();
+            Page<AppRunning> page = new PageImpl<>(Collections.emptyList());
+            PageList<AppRunning> pageList = PageList.empty();
 
             model.addAttribute("env", env);
             model.addAttribute("page", page);
@@ -66,23 +66,20 @@ public class StatusPageController {
         }
 
         PageRequest pageRequest = PageSort.pageRequest();
-        int pageNumber = pageRequest.getPageNumber();
-        int pageSize = pageRequest.getPageSize();
-        PageList<AppRunningVO> pageList = appDeployQuery.getAppRunningByPage(env, appType, pageNumber+1, pageSize);
-        Page<AppRunningVO> appRunnings = new PageImpl<>(pageList.getList(), pageRequest, pageList.getTotalSize());
+        Page<AppRunning> page = appDeployQuery.getAppRunningByPage(env, appType, pageRequest);
 
         model.addAttribute("env", env);
         model.addAttribute("type", appType);
         model.addAttribute("status", status);
-        model.addAttribute("page", appRunnings);
-        model.addAttribute("list", pageList.getList());
+        model.addAttribute("page", page);
+        model.addAttribute("list", page.getContent());
         return "/devops/app/stat/index1";
     }
 
     @ApiOperation(value = "应用运行状态详情页面")
     @GetMapping(value = "/detail/{appId}")
     public String statusPage2(@PathVariable(value = "appId") String appId, Model model) {
-        List<AppRunning> list = appDeployQuery.getAppRunning(appId);
+        List<AppRunningNode> list = appDeployQuery.getAppRunning(appId);
         model.addAttribute("list", list);
         return "/devops/app/stat/index2";
     }

+ 8 - 9
web/src/main/java/cn/reghao/devops/web/mgr/app/db/query/AppBuildQuery.java

@@ -8,9 +8,7 @@ import cn.reghao.devops.web.mgr.builds.model.po.CompilerConfig;
 import cn.reghao.devops.web.mgr.builds.model.po.PackerConfig;
 import cn.reghao.devops.web.mgr.builds.model.po.RepoAuthConfig;
 import cn.reghao.devops.web.mgr.app.model.vo.AppConfigVO;
-import cn.reghao.jutil.jdk.db.BaseQuery;
 import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
 
 import java.util.List;
@@ -20,18 +18,19 @@ import java.util.Map;
  * @author reghao
  * @date 2021-06-02 15:01:18
  */
-public interface AppBuildQuery extends BaseQuery<AppConfig> {
-    List<AppConfig> query(Map<String, String> kv);
-    AppConfig findByRepoAndBranch(String repo, String branch);
+public interface AppBuildQuery {
+    Page<AppConfigVO> getByEnvAndType(String env, String type, Pageable pageable);
+    Page<AppConfig> queryByFields(Map<String, String> kv, Pageable pageable);
+    AppConfig getByRepoAndBranch(String repo, String branch);
     AppConfig getAppConfig(String appId);
-    Page<AppConfigVO> findByEnvAndType(String env, String type, Pageable pageable);
+
     List<AppConfig> findAllByRepoAuthConfig(RepoAuthConfig repoAuthConfig);
     List<AppConfig> findAllByCompilerConfig(CompilerConfig compilerConfig);
     List<AppConfig> findAllByPackerConfig(PackerConfig packerConfig);
-    Page<AppBuildingVO> getByPage(String appEnv, String appType, PageRequest pageRequest);
-    Page<AppBuildingVO> getPageByName(String appName, PageRequest pageRequest);
+
+    Page<AppBuildingVO> getByPage(String appEnv, String appType, Pageable pageable);
+    Page<BuildLogVO> buildLogVOs(String appId, Pageable pageable);
     boolean isBuilding(String appId);
-    Page<BuildLogVO> buildLogVOs(String appId, PageRequest pageRequest);
     BuildLog getBuildLog(String buildLogId);
     String getBuildResult(String buildLogId);
 }

+ 8 - 16
web/src/main/java/cn/reghao/devops/web/mgr/app/db/query/AppDeployQuery.java

@@ -1,18 +1,12 @@
 package cn.reghao.devops.web.mgr.app.db.query;
 
 import cn.reghao.devops.common.agent.app.dto.AppInfo;
-import cn.reghao.devops.web.mgr.app.model.po.AppBuilding;
 import cn.reghao.devops.web.mgr.app.model.po.config.AppConfig;
 import cn.reghao.devops.web.mgr.app.model.po.config.AppDeployConfig;
-import cn.reghao.devops.web.mgr.app.model.vo.AppDeployConfigVo;
-import cn.reghao.devops.web.mgr.app.model.vo.AppDeployingVO;
+import cn.reghao.devops.web.mgr.app.model.vo.AppDeployingNodeVO;
+import cn.reghao.devops.web.mgr.app.model.vo.AppRunningNode;
 import cn.reghao.devops.web.mgr.app.model.vo.AppRunning;
-import cn.reghao.devops.web.mgr.app.model.vo.AppRunningVO;
-import cn.reghao.devops.web.mgr.machine.model.po.MachineHost;
-import cn.reghao.jutil.jdk.db.BaseQuery;
-import cn.reghao.jutil.jdk.db.PageList;
 import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
 
 import java.util.List;
@@ -21,16 +15,14 @@ import java.util.List;
  * @author reghao
  * @date 2021-06-02 15:01:18
  */
-public interface AppDeployQuery extends BaseQuery<AppDeployConfig> {
-    Page<AppDeployConfig> findByAppId(String appId, Pageable pageable);
-    AppDeployConfig findByAppIdAndMachineId(String appId, String machineId);
+public interface AppDeployQuery {
+    List<AppDeployConfig> getByAppId(String appId);
+    List<AppDeployingNodeVO> get(String appId);
     List<AppInfo> getAppsByMachineId(String machineId);
-    List<AppDeployingVO> get(String appId, AppBuilding appBuilding);
+    AppDeployConfig getByAppIdAndMachineId(String appId, String machineId);
     boolean isDeploying(String appId, String machineId);
-    Page<AppDeployConfigVo> indexPage(String appId, PageRequest pageRequest);
     int countByApp(AppConfig appConfig);
-    int countByMachine(MachineHost machineHost);
 
-    PageList<AppRunningVO> getAppRunningByPage(String env, String appType, int pageNumber, int pageSize);
-    List<AppRunning> getAppRunning(String appId);
+    Page<AppRunning> getAppRunningByPage(String env, String appType, Pageable pageable);
+    List<AppRunningNode> getAppRunning(String appId);
 }

+ 10 - 28
web/src/main/java/cn/reghao/devops/web/mgr/app/db/query/impl/AppBuildQueryImpl.java

@@ -16,7 +16,6 @@ import cn.reghao.devops.web.mgr.builds.model.po.RepoAuthConfig;
 import cn.reghao.devops.web.mgr.app.model.vo.AppConfigVO;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
-import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
@@ -47,12 +46,7 @@ public class AppBuildQueryImpl implements AppBuildQuery {
     }
 
     @Override
-    public AppConfig findById(int id) {
-        return appConfigRepository.getOne(id);
-    }
-
-    @Override
-    public List<AppConfig> query(Map<String, String> kv) {
+    public Page<AppConfig> queryByFields(Map<String, String> kv, Pageable pageable) {
         Specification<AppConfig> specification = (root, query, cb) -> {
             List<Predicate> predicates = new ArrayList<>();
             kv.forEach((name, value) -> {
@@ -62,11 +56,12 @@ public class AppBuildQueryImpl implements AppBuildQuery {
             // select * from app_building where app_id like '%test%' and app_name like '%测试%'
             return cb.and(predicates.toArray(new Predicate[0]));
         };
-        return appConfigRepository.findAll(specification);
+        
+        return appConfigRepository.findAll(specification, pageable);
     }
 
     @Override
-    public AppConfig findByRepoAndBranch(String repo, String branch) {
+    public AppConfig getByRepoAndBranch(String repo, String branch) {
         List<AppConfig> list = appConfigRepository.findByAppRepoAndRepoBranch(repo, branch);
         return list.size() == 1 ? list.get(0) : null;
     }
@@ -78,7 +73,7 @@ public class AppBuildQueryImpl implements AppBuildQuery {
     }
 
     @Override
-    public Page<AppConfigVO> findByEnvAndType(String env, String type, Pageable pageable) {
+    public Page<AppConfigVO> getByEnvAndType(String env, String type, Pageable pageable) {
         Page<AppConfig> page = appConfigRepository.findByEnvAndAppType(env, type, pageable);
         List<AppConfigVO> list = page.stream()
                 .map(appConfig -> {
@@ -89,12 +84,6 @@ public class AppBuildQueryImpl implements AppBuildQuery {
         return new PageImpl<>(list, page.getPageable(), page.getTotalElements());
     }
 
-    //@Cacheable({"appId"})
-    @Override
-    public List<AppConfig> findAll() {
-        return appConfigRepository.findAll();
-    }
-
     @Override
     public List<AppConfig> findAllByRepoAuthConfig(RepoAuthConfig repoAuthConfig) {
         return appConfigRepository.findAllByRepoAuthConfig(repoAuthConfig);
@@ -111,17 +100,10 @@ public class AppBuildQueryImpl implements AppBuildQuery {
     }
 
     @Override
-    public Page<AppBuildingVO> getByPage(String appEnv, String appType, PageRequest pageRequest) {
-        Page<AppBuilding> page = buildingRepository.findAllByAppConfig_EnvAndAppConfig_AppType(appEnv, appType, pageRequest);
-        List<AppBuildingVO> list = page.getContent().stream().map(AppBuildingVO::new).collect(Collectors.toList());
-        return new PageImpl<>(list, pageRequest, page.getTotalElements());
-    }
-
-    @Override
-    public Page<AppBuildingVO> getPageByName(String appName, PageRequest pageRequest) {
-        Page<AppBuilding> page = buildingRepository.findAllByAppConfig_AppName(appName, pageRequest);
+    public Page<AppBuildingVO> getByPage(String appEnv, String appType, Pageable pageable) {
+        Page<AppBuilding> page = buildingRepository.findAllByAppConfig_EnvAndAppConfig_AppType(appEnv, appType, pageable);
         List<AppBuildingVO> list = page.getContent().stream().map(AppBuildingVO::new).collect(Collectors.toList());
-        return new PageImpl<>(list, pageRequest, page.getTotalElements());
+        return new PageImpl<>(list, pageable, page.getTotalElements());
     }
 
     @Override
@@ -141,9 +123,9 @@ public class AppBuildQueryImpl implements AppBuildQuery {
     }
 
     @Override
-    public Page<BuildLogVO> buildLogVOs(String appId, PageRequest pageRequest) {
+    public Page<BuildLogVO> buildLogVOs(String appId, Pageable pageable) {
         AppConfig appConfig = appConfigRepository.findByAppId(appId);
-        return buildLogRepository.findByAppConfig(appConfig, pageRequest).map(BuildLogVO::new);
+        return buildLogRepository.findByAppConfig(appConfig, pageable).map(BuildLogVO::new);
     }
 
     @Override

+ 46 - 57
web/src/main/java/cn/reghao/devops/web/mgr/app/db/query/impl/AppDeployQueryImpl.java

@@ -5,7 +5,6 @@ import cn.reghao.devops.common.msg.constant.NodeStatus;
 import cn.reghao.devops.web.mgr.app.db.repository.AppDeployingRepository;
 import cn.reghao.devops.web.mgr.app.db.repository.config.AppDeployConfigRepository;
 import cn.reghao.devops.web.mgr.app.db.repository.log.DeployLogRepository;
-import cn.reghao.devops.web.mgr.app.model.po.AppBuilding;
 import cn.reghao.devops.web.mgr.app.model.po.AppDeploying;
 import cn.reghao.devops.web.mgr.app.model.po.AppDeployingNode;
 import cn.reghao.devops.web.mgr.app.model.po.config.AppConfig;
@@ -13,14 +12,13 @@ import cn.reghao.devops.web.mgr.app.model.po.config.AppDeployConfig;
 import cn.reghao.devops.web.mgr.app.db.query.AppDeployQuery;
 import cn.reghao.devops.web.mgr.app.model.po.log.BuildLog;
 import cn.reghao.devops.web.mgr.app.model.po.log.DeployLog;
-import cn.reghao.devops.web.mgr.app.model.vo.AppDeployConfigVo;
-import cn.reghao.devops.web.mgr.app.model.vo.AppDeployingVO;
+import cn.reghao.devops.web.mgr.app.model.vo.AppDeployingNodeVO;
+import cn.reghao.devops.web.mgr.app.model.vo.AppRunningNode;
 import cn.reghao.devops.web.mgr.app.model.vo.AppRunning;
-import cn.reghao.devops.web.mgr.app.model.vo.AppRunningVO;
 import cn.reghao.devops.web.mgr.machine.db.query.MachineQuery;
 import cn.reghao.devops.web.mgr.machine.model.po.MachineHost;
-import cn.reghao.jutil.jdk.db.PageList;
 import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.domain.Specification;
@@ -55,28 +53,56 @@ public class AppDeployQueryImpl implements AppDeployQuery {
     }
 
     @Override
-    public Page<AppDeployConfig> findByAppId(String appId, Pageable pageable) {
+    public List<AppDeployConfig> getByAppId(String appId) {
+        PageRequest pageRequest = PageRequest.of(0, 10);
         Specification<AppDeployConfig> specification = (root, query, cb) -> {
             Join<AppDeployConfig, AppConfig> innerJoin = root.join("appConfig", JoinType.INNER);
             Predicate predicate = cb.equal(innerJoin.get("appId"), appId);
             return cb.and(predicate);
         };
 
-        return deployConfigRepository.findAll(specification, pageable);
+        return deployConfigRepository.findAll(specification, pageRequest).getContent();
     }
 
     @Override
-    public int countByApp(AppConfig appConfig) {
-        return deployConfigRepository.countByAppConfig(appConfig);
+    public List<AppDeployingNodeVO> get(String appId) {
+        AppDeploying appDeploying = deployingRepository.findByAppConfig_AppId(appId);
+        if (appDeploying == null) {
+            return Collections.emptyList();
+        }
+
+        BuildLog buildLog = appDeploying.getBuildLog();
+        return appDeploying.getDeployingNodes().stream().map(appDeployingNode -> {
+            MachineHost machineHost = appDeployingNode.getDeployConfig().getMachineHost();
+            String machineStatus = machineQuery.isAgentOnline(machineHost.getMachineId())
+                    ? NodeStatus.Online.name() : NodeStatus.Offline.name();
+            return new AppDeployingNodeVO(appDeployingNode, buildLog, machineStatus);
+        }).sorted(Comparator.comparing(AppDeployingNodeVO::getDeployTime).reversed()).collect(Collectors.toList());
+    }
+
+    @Override
+    public List<AppInfo> getAppsByMachineId(String machineId) {
+        return deployingRepository.findAll().stream()
+                .filter(appDeploying -> {
+                    MachineHost machineHost = appDeploying.getDeployingNodes().get(0).getDeployConfig().getMachineHost();
+                    return machineHost.getMachineId().equals(machineId);
+                })
+                .map(appDeploying -> {
+                    AppDeployConfig deployConfig = appDeploying.getDeployingNodes().get(0).getDeployConfig();
+                    String packType = deployConfig.getAppConfig().getPackerConfig().getType();
+                    String appId = deployConfig.getAppConfig().getAppId();
+                    return new AppInfo(packType, appId);
+                })
+                .collect(Collectors.toList());
     }
 
     @Override
-    public int countByMachine(MachineHost machineHost) {
-        return deployConfigRepository.countByMachineHost(machineHost);
+    public int countByApp(AppConfig appConfig) {
+        return deployConfigRepository.countByAppConfig(appConfig);
     }
 
     @Override
-    public AppDeployConfig findByAppIdAndMachineId(String appId, String machineId) {
+    public AppDeployConfig getByAppIdAndMachineId(String appId, String machineId) {
         Specification<AppDeployConfig> specification = (root, query, cb) -> {
             Join<AppDeployConfig, AppConfig> innerJoin = root.join("appConfig", JoinType.INNER);
             Predicate predicate = cb.equal(innerJoin.get("appId"), appId);
@@ -99,38 +125,6 @@ public class AppDeployQueryImpl implements AppDeployQuery {
         }
     }
 
-    @Override
-    public List<AppInfo> getAppsByMachineId(String machineId) {
-        return deployingRepository.findAll().stream()
-                .filter(appDeploying -> {
-                    MachineHost machineHost = appDeploying.getDeployingNodes().get(0).getDeployConfig().getMachineHost();
-                    return machineHost.getMachineId().equals(machineId);
-                })
-                .map(appDeploying -> {
-                    AppDeployConfig deployConfig = appDeploying.getDeployingNodes().get(0).getDeployConfig();
-                    String packType = deployConfig.getAppConfig().getPackerConfig().getType();
-                    String appId = deployConfig.getAppConfig().getAppId();
-                    return new AppInfo(packType, appId);
-                })
-                .collect(Collectors.toList());
-    }
-
-    @Override
-    public List<AppDeployingVO> get(String appId, AppBuilding appBuilding) {
-        AppDeploying appDeploying = deployingRepository.findByAppConfig_AppId(appId);
-        if (appDeploying == null) {
-            return Collections.emptyList();
-        }
-
-        BuildLog buildLog = appDeploying.getBuildLog();
-        return appDeploying.getDeployingNodes().stream().map(appDeployingNode -> {
-            MachineHost machineHost = appDeployingNode.getDeployConfig().getMachineHost();
-            String machineStatus = machineQuery.isAgentOnline(machineHost.getMachineId())
-                    ? NodeStatus.Online.name() : NodeStatus.Offline.name();
-            return new AppDeployingVO(appDeployingNode, buildLog, machineStatus);
-        }).sorted(Comparator.comparing(AppDeployingVO::getDeployTime).reversed()).collect(Collectors.toList());
-    }
-
     @Override
     public boolean isDeploying(String appId, String machineId) {
         AppDeploying appDeploying = deployingRepository.findByAppConfig_AppId(appId);
@@ -147,15 +141,9 @@ public class AppDeployQueryImpl implements AppDeployQuery {
     }
 
     @Override
-    public Page<AppDeployConfigVo> indexPage(String appId, PageRequest pageRequest) {
-        return findByAppId(appId, pageRequest).map(AppDeployConfigVo::new);
-    }
-
-    @Override
-    public PageList<AppRunningVO> getAppRunningByPage(String env, String appType, int pageNumber, int pageSize) {
-        PageRequest pageRequest = PageRequest.of(pageNumber-1, pageSize);
-        Page<AppDeploying> page = deployingRepository.findAllByAppConfig_EnvAndAppConfig_AppType(env, appType, pageRequest);
-        List<AppRunningVO> list = page.getContent().stream().map(appDeploying -> {
+    public Page<AppRunning> getAppRunningByPage(String env, String appType, Pageable pageable) {
+        Page<AppDeploying> page = deployingRepository.findAllByAppConfig_EnvAndAppConfig_AppType(env, appType, pageable);
+        List<AppRunning> list = page.getContent().stream().map(appDeploying -> {
             List<AppDeployingNode> deployingNodes = appDeploying.getDeployingNodes();
             if (deployingNodes.isEmpty()) {
                 return null;
@@ -173,13 +161,14 @@ public class AppDeployQueryImpl implements AppDeployQuery {
             }
 
             int totalDeployed = deployingNodes.size();
-            return new AppRunningVO(appId, appName, bindPorts, packagePath, totalDeployed);
+            return new AppRunning(appId, appName, bindPorts, packagePath, totalDeployed);
         }).filter(Objects::nonNull).collect(Collectors.toList());
-        return PageList.pageList(pageNumber, pageSize, (int) page.getTotalElements(), list);
+
+        return new PageImpl<>(list, pageable, page.getTotalElements());
     }
 
     @Override
-    public List<AppRunning> getAppRunning(String appId) {
+    public List<AppRunningNode> getAppRunning(String appId) {
         AppDeploying appDeploying = deployingRepository.findByAppConfig_AppId(appId);
         if (appDeploying == null) {
             return Collections.emptyList();
@@ -187,7 +176,7 @@ public class AppDeployQueryImpl implements AppDeployQuery {
 
         BuildLog buildLog = appDeploying.getBuildLog();
         return appDeploying.getDeployingNodes().stream()
-                .map(appDeployingNode -> new AppRunning(appDeployingNode, buildLog))
+                .map(appDeployingNode -> new AppRunningNode(appDeployingNode, buildLog))
                 /*.filter(AppDeploying::isDeployed)
                 .sorted(Comparator.comparing(AppDeploying::getDeployTime).reversed())*/
                 .collect(Collectors.toList());

+ 29 - 0
web/src/main/java/cn/reghao/devops/web/mgr/app/model/constant/RunStatus.java

@@ -0,0 +1,29 @@
+package cn.reghao.devops.web.mgr.app.model.constant;
+
+/**
+ * 运行状态
+ *
+ * @author reghao
+ * @date 2024-08-06 10:56:55
+ */
+public enum RunStatus {
+    neverRun(1, "尚未运行"),
+    running(2, "运行中"),
+    notRun(3, "未运行");
+
+    private final Integer code;
+    private final String desc;
+
+    RunStatus(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+}

+ 0 - 4
web/src/main/java/cn/reghao/devops/web/mgr/app/model/po/AppBuilding.java

@@ -40,8 +40,6 @@ public class AppBuilding extends BaseEntity {
 
     public AppBuilding(AppConfig appConfig) {
         this.appConfig = appConfig;
-        this.commitTime = DateTimeConverter.localDateTime(0);
-        this.buildTime = DateTimeConverter.localDateTime(0);
         this.buildCode = ResultStatus.SUCCESS.getCode();
         this.buildResult = BuildStatus.neverBuild.getDesc();
         this.onBuilding = false;
@@ -63,8 +61,6 @@ public class AppBuilding extends BaseEntity {
     }
 
     public void beforeBuild(String buildBy) {
-        this.commitTime = DateTimeConverter.localDateTime(0);
-        this.buildTime = DateTimeConverter.localDateTime(0);
         this.buildCode = ResultStatus.SUCCESS.getCode();
         this.buildResult = BuildStatus.onBuilding.getDesc();
         this.buildBy = buildBy;

+ 3 - 3
web/src/main/java/cn/reghao/devops/web/mgr/app/model/po/AppDeployingNode.java

@@ -39,14 +39,14 @@ public class AppDeployingNode implements Serializable {
     public AppDeployingNode(AppDeployConfig deployConfig) {
         this.deployConfig = deployConfig;
         this.deployResult = DeployStatus.neverDeploy.getDesc();
-        this.deployTime = DateTimeConverter.localDateTime(0);
+        //this.deployTime = DateTimeConverter.localDateTime(0);
         this.deployBy = NotAvailable.na.getDesc();
         this.onDeploying = false;
         this.deployed = false;
 
         this.running = false;
-        this.startTime = DateTimeConverter.localDateTime(0);
+        //this.startTime = DateTimeConverter.localDateTime(0);
         this.pid = -1;
-        this.lastCheck = DateTimeConverter.localDateTime(0);
+        //this.lastCheck = DateTimeConverter.localDateTime(0);
     }
 }

+ 2 - 2
web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/AppDeployConfigVo.java → web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/AppDeployConfigVO.java

@@ -10,7 +10,7 @@ import lombok.Data;
  * @date 2020-05-13 16:59:20
  */
 @Data
-public class AppDeployConfigVo {
+public class AppDeployConfigVO {
     private Integer appDeployConfigId;
     private String appId;
     private String appName;
@@ -21,7 +21,7 @@ public class AppDeployConfigVo {
     private String unpackScript;
     private String startHome;
 
-    public AppDeployConfigVo(AppDeployConfig appDeployConfig) {
+    public AppDeployConfigVO(AppDeployConfig appDeployConfig) {
         this.appDeployConfigId = appDeployConfig.getId();
         this.appId = appDeployConfig.getAppConfig().getAppId();
         this.appName = appDeployConfig.getAppConfig().getAppName();

+ 2 - 2
web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/AppDeployingVO.java → web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/AppDeployingNodeVO.java

@@ -12,7 +12,7 @@ import lombok.Data;
  * @date 2021-05-21 09:57:35
  */
 @Data
-public class AppDeployingVO {
+public class AppDeployingNodeVO {
     private String machineId;
     private String machineIpv4;
     private String machineStatus;
@@ -22,7 +22,7 @@ public class AppDeployingVO {
     private String deployTime;
     private String deployResult;
 
-    public AppDeployingVO(AppDeployingNode deployingNode, BuildLog buildLog, String machineStatus) {
+    public AppDeployingNodeVO(AppDeployingNode deployingNode, BuildLog buildLog, String machineStatus) {
         MachineHost machineHost = deployingNode.getDeployConfig().getMachineHost();
         this.machineId = machineHost.getMachineId();
         this.machineIpv4 = machineHost.getMachineIpv4();

+ 6 - 41
web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/AppRunning.java

@@ -1,53 +1,18 @@
 package cn.reghao.devops.web.mgr.app.model.vo;
 
-import cn.reghao.devops.web.mgr.app.model.po.AppDeployingNode;
-import cn.reghao.devops.web.mgr.app.model.po.config.AppConfig;
-import cn.reghao.devops.web.mgr.app.model.po.log.BuildLog;
-import cn.reghao.devops.web.mgr.machine.model.po.MachineHost;
-import cn.reghao.devops.common.util.NotAvailable;
-import cn.reghao.jutil.jdk.converter.DateTimeConverter;
-import lombok.Data;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
 
 /**
  * @author reghao
- * @date 2021-05-31 13:36:46
+ * @date 2023-03-08 10:31:04
  */
-@Data
+@AllArgsConstructor
+@Getter
 public class AppRunning {
     private String appId;
     private String appName;
-    private String machineId;
-    private String machineIpv4;
     private String bindPorts;
-    private String healthCheck;
     private String packagePath;
-    private String status;
-    private String startTime;
-    private int pid;
-    private String lastCheck;
-
-    public AppRunning(AppDeployingNode deployingNode, BuildLog buildLog) {
-        AppConfig appConfig = deployingNode.getDeployConfig().getAppConfig();
-        MachineHost machineHost = deployingNode.getDeployConfig().getMachineHost();
-        this.appId = appConfig.getAppId();
-        this.appName = appConfig.getAppName();
-        this.machineId = machineHost.getMachineId();
-        this.machineIpv4 = machineHost.getMachineIpv4();
-        this.bindPorts = appConfig.getBindPorts();
-        this.healthCheck = appConfig.getHealthCheck();
-
-        if (buildLog != null) {
-            this.packagePath = buildLog.getPackagePath();
-            this.status = deployingNode.getRunning() ? "运行中" : "未运行";
-            this.startTime = DateTimeConverter.format(deployingNode.getStartTime());
-            this.pid = deployingNode.getPid();
-            this.lastCheck = DateTimeConverter.format(deployingNode.getLastCheck());
-        } else {
-            this.packagePath = NotAvailable.na.getDesc();
-            this.status = "未运行";
-            this.startTime = NotAvailable.na.getDesc();
-            this.pid = -1;
-            this.lastCheck = NotAvailable.na.getDesc();
-        }
-    }
+    private int totalDeployed;
 }

+ 56 - 0
web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/AppRunningNode.java

@@ -0,0 +1,56 @@
+package cn.reghao.devops.web.mgr.app.model.vo;
+
+import cn.reghao.devops.web.mgr.app.model.constant.RunStatus;
+import cn.reghao.devops.web.mgr.app.model.po.AppDeployingNode;
+import cn.reghao.devops.web.mgr.app.model.po.config.AppConfig;
+import cn.reghao.devops.web.mgr.app.model.po.log.BuildLog;
+import cn.reghao.devops.web.mgr.machine.model.po.MachineHost;
+import cn.reghao.devops.common.util.NotAvailable;
+import cn.reghao.jutil.jdk.converter.DateTimeConverter;
+import lombok.Data;
+
+/**
+ * @author reghao
+ * @date 2021-05-31 13:36:46
+ */
+@Data
+public class AppRunningNode {
+    private String appId;
+    private String appName;
+    private String machineId;
+    private String machineIpv4;
+    private String bindPorts;
+    private String healthCheck;
+    private String packagePath;
+    private String status;
+    private String startTime;
+    private int pid;
+    private String lastCheck;
+
+    public AppRunningNode(AppDeployingNode deployingNode, BuildLog buildLog) {
+        AppConfig appConfig = deployingNode.getDeployConfig().getAppConfig();
+        MachineHost machineHost = deployingNode.getDeployConfig().getMachineHost();
+        this.appId = appConfig.getAppId();
+        this.appName = appConfig.getAppName();
+        this.machineId = machineHost.getMachineId();
+        this.machineIpv4 = machineHost.getMachineIpv4();
+        this.bindPorts = appConfig.getBindPorts();
+        this.healthCheck = appConfig.getHealthCheck();
+
+        if (buildLog != null) {
+            this.packagePath = buildLog.getPackagePath();
+            this.status = deployingNode.getRunning() ? RunStatus.running.getDesc() : RunStatus.notRun.getDesc();
+            this.startTime = deployingNode.getStartTime() != null ?
+                    DateTimeConverter.format(deployingNode.getStartTime()) : NotAvailable.na.getDesc();
+            this.pid = deployingNode.getPid();
+            this.lastCheck = deployingNode.getLastCheck() != null ?
+                    DateTimeConverter.format(deployingNode.getLastCheck()) : NotAvailable.na.getDesc();
+        } else {
+            this.packagePath = NotAvailable.na.getDesc();
+            this.status = RunStatus.notRun.getDesc();
+            this.startTime = NotAvailable.na.getDesc();
+            this.pid = -1;
+            this.lastCheck = NotAvailable.na.getDesc();
+        }
+    }
+}

+ 0 - 18
web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/AppRunningVO.java

@@ -1,18 +0,0 @@
-package cn.reghao.devops.web.mgr.app.model.vo;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * @author reghao
- * @date 2023-03-08 10:31:04
- */
-@AllArgsConstructor
-@Getter
-public class AppRunningVO {
-    private String appId;
-    private String appName;
-    private String bindPorts;
-    private String packagePath;
-    private int totalDeployed;
-}

+ 1 - 1
web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/BuildNotifyMsg.java → web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/msg/BuildNotifyMsg.java

@@ -1,4 +1,4 @@
-package cn.reghao.devops.web.mgr.app.model.vo;
+package cn.reghao.devops.web.mgr.app.model.vo.msg;
 
 import cn.reghao.devops.web.mgr.app.model.po.AppBuilding;
 import cn.reghao.devops.web.admin.sys.service.notifier.ding.DingMsg;

+ 1 - 1
web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/DeployNotifyMsg.java → web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/msg/DeployNotifyMsg.java

@@ -1,4 +1,4 @@
-package cn.reghao.devops.web.mgr.app.model.vo;
+package cn.reghao.devops.web.mgr.app.model.vo.msg;
 
 import cn.reghao.devops.web.mgr.app.model.po.log.BuildLog;
 import cn.reghao.devops.web.mgr.app.model.po.log.DeployLog;

+ 2 - 2
web/src/main/java/cn/reghao/devops/web/mgr/app/service/bd/impl/BuildDeployNotifyImpl.java

@@ -5,8 +5,8 @@ import cn.reghao.devops.web.mgr.app.model.po.AppBuilding;
 import cn.reghao.devops.web.mgr.app.model.po.log.BuildLog;
 import cn.reghao.devops.web.mgr.app.model.po.log.DeployLog;
 import cn.reghao.devops.web.mgr.app.service.bd.BuildDeployNotify;
-import cn.reghao.devops.web.mgr.app.model.vo.BuildNotifyMsg;
-import cn.reghao.devops.web.mgr.app.model.vo.DeployNotifyMsg;
+import cn.reghao.devops.web.mgr.app.model.vo.msg.BuildNotifyMsg;
+import cn.reghao.devops.web.mgr.app.model.vo.msg.DeployNotifyMsg;
 import cn.reghao.devops.web.admin.sys.service.NotifyService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;

+ 2 - 4
web/src/main/java/cn/reghao/devops/web/mgr/app/service/bd/impl/DeployAppImpl.java

@@ -58,16 +58,14 @@ public class DeployAppImpl implements DeployApp {
         BuildLog buildLog = appBuildQuery.getBuildLog(buildLogId);
         AppBuilding appBuilding = new AppBuilding(buildLog);
         String appId = appBuilding.getAppConfig().getAppId();
-        AppDeployConfig appDeployConfig = appDeployQuery.findByAppIdAndMachineId(appId, machineId);
+        AppDeployConfig appDeployConfig = appDeployQuery.getByAppIdAndMachineId(appId, machineId);
         deploy(appBuilding, appDeployConfig);
     }
 
     @Override
     public void deploy(AppBuilding appBuilding) {
         AppConfig appConfig = appBuilding.getAppConfig();
-        PageRequest pageRequest = PageRequest.of(0, 10);
-        appDeployQuery.findByAppId(appConfig.getAppId(), pageRequest)
-                .forEach(appDeployConfig -> deploy(appBuilding, appDeployConfig));
+        appDeployQuery.getByAppId(appConfig.getAppId()).forEach(appDeployConfig -> deploy(appBuilding, appDeployConfig));
     }
 
     private void deploy(AppBuilding appBuilding, AppDeployConfig appDeployConfig) {

+ 0 - 2
web/src/main/java/cn/reghao/devops/web/mgr/app/service/impl/AppBuildServiceImpl.java

@@ -232,8 +232,6 @@ public class AppBuildServiceImpl implements AppBuildService {
         Page<AppBuilding> page = buildingRepository.findAllByOnBuildingIsTrue(pageRequest);
         if (page.hasContent()) {
             page.stream().forEach(appBuilding -> {
-                appBuilding.setCommitTime(DateTimeConverter.localDateTime(0));
-                appBuilding.setBuildTime(DateTimeConverter.localDateTime(0));
                 appBuilding.setBuildCode(ResultStatus.SUCCESS.getCode());
                 appBuilding.setBuildResult(BuildStatus.neverBuild.getDesc());
                 appBuilding.setOnBuilding(false);

+ 1 - 1
web/src/main/java/cn/reghao/devops/web/mgr/app/service/impl/AppDeployServiceImpl.java

@@ -105,7 +105,7 @@ public class AppDeployServiceImpl implements AppDeployService {
     public Result updateStartScript(DeployConfigDto deployConfigDto) {
         String appId = deployConfigDto.getAppId();
         String machineId = deployConfigDto.getMachineId();
-        AppDeployConfig appDeployConfig = appDeployQuery.findByAppIdAndMachineId(appId, machineId);
+        AppDeployConfig appDeployConfig = appDeployQuery.getByAppIdAndMachineId(appId, machineId);
         if (appDeployConfig == null) {
             String msg = String.format("%s 在 %s 上的部署配置不存在", appId, machineId);
             return Result.result(ResultStatus.ERROR, msg);

+ 1 - 1
web/src/main/java/cn/reghao/devops/web/mgr/app/service/webhook/WebhookService.java

@@ -56,7 +56,7 @@ public class WebhookService {
     }
 
     private void buildAndDeploy(BuildParam buildParam) throws Exception {
-        AppConfig appConfig = appBuildQuery.findByRepoAndBranch(buildParam.getRepo(), buildParam.getBranch());
+        AppConfig appConfig = appBuildQuery.getByRepoAndBranch(buildParam.getRepo(), buildParam.getBranch());
         if (appConfig != null && "uat".equals(appConfig.getEnv())) {
             String appId = appConfig.getAppId();
             notifyEvt(appId, buildParam.getBuildBy());

+ 1 - 1
web/src/main/java/cn/reghao/devops/web/mgr/builds/controller/page/CompilerPageController.java

@@ -2,7 +2,7 @@ package cn.reghao.devops.web.mgr.builds.controller.page;
 
 import cn.reghao.devops.web.mgr.builds.db.repository.CompilerConfigRepository;
 import cn.reghao.devops.web.mgr.builds.model.po.CompilerConfig;
-import cn.reghao.devops.web.mgr.app.model.vo.KeyValue;
+import cn.reghao.devops.common.util.KeyValue;
 import cn.reghao.devops.web.mgr.build.model.constant.CompileType;
 import cn.reghao.devops.web.util.PageSort;
 import cn.reghao.devops.common.machine.Machine;

+ 1 - 2
web/src/main/java/cn/reghao/devops/web/mgr/builds/controller/page/PackerPageController.java

@@ -2,9 +2,8 @@ package cn.reghao.devops.web.mgr.builds.controller.page;
 
 import cn.reghao.devops.web.mgr.builds.db.repository.DockerRegistryRepository;
 import cn.reghao.devops.web.mgr.builds.db.repository.PackerConfigRepository;
-import cn.reghao.devops.web.mgr.builds.model.po.DockerRegistry;
 import cn.reghao.devops.web.mgr.builds.model.po.PackerConfig;
-import cn.reghao.devops.web.mgr.app.model.vo.KeyValue;
+import cn.reghao.devops.common.util.KeyValue;
 import cn.reghao.devops.web.util.PageSort;
 import cn.reghao.devops.common.machine.Machine;
 import cn.reghao.devops.common.msg.constant.PackType;

+ 1 - 1
web/src/main/java/cn/reghao/devops/web/mgr/builds/controller/page/RepoAuthPageController.java

@@ -2,7 +2,7 @@ package cn.reghao.devops.web.mgr.builds.controller.page;
 
 import cn.reghao.devops.web.mgr.builds.db.repository.RepoAuthConfigRepository;
 import cn.reghao.devops.web.mgr.builds.model.po.RepoAuthConfig;
-import cn.reghao.devops.web.mgr.app.model.vo.KeyValue;
+import cn.reghao.devops.common.util.KeyValue;
 import cn.reghao.devops.web.mgr.build.model.constant.RepoAuthType;
 import cn.reghao.devops.web.mgr.build.model.constant.RepoType;
 import cn.reghao.devops.web.util.PageSort;

+ 1 - 1
web/src/main/java/cn/reghao/devops/web/mgr/app/model/vo/ChartData.java → web/src/main/java/cn/reghao/devops/web/mgr/log/model/vo/ChartData.java

@@ -1,4 +1,4 @@
-package cn.reghao.devops.web.mgr.app.model.vo;
+package cn.reghao.devops.web.mgr.log.model.vo;
 
 import lombok.Getter;
 import lombok.Setter;

+ 1 - 1
web/src/main/java/cn/reghao/devops/web/mgr/machine/controller/page/MachineHostPageController.java

@@ -1,6 +1,6 @@
 package cn.reghao.devops.web.mgr.machine.controller.page;
 
-import cn.reghao.devops.web.mgr.app.model.vo.KeyValue;
+import cn.reghao.devops.common.util.KeyValue;
 import cn.reghao.devops.web.mgr.machine.db.query.MachineQuery;
 import cn.reghao.devops.web.mgr.machine.model.po.MachineInfo;
 import cn.reghao.devops.web.util.DefaultSetting;

+ 3 - 5
web/src/main/java/cn/reghao/devops/web/mgr/machine/db/query/MachineQuery.java

@@ -1,14 +1,12 @@
 package cn.reghao.devops.web.mgr.machine.db.query;
 
-import cn.reghao.devops.web.mgr.app.model.vo.KeyValue;
+import cn.reghao.devops.common.util.KeyValue;
 import cn.reghao.devops.web.mgr.machine.model.po.MachineHost;
 import cn.reghao.devops.web.mgr.machine.model.po.MachineInfo;
 import cn.reghao.devops.web.mgr.machine.model.vo.MachineHostVO;
-import cn.reghao.devops.web.mgr.machine.model.vo.MachineInfoVO;
 import cn.reghao.devops.web.mgr.machine.model.vo.MachineSshAuth;
-import cn.reghao.jutil.jdk.db.PageList;
 import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
 
 import java.util.List;
 
@@ -17,7 +15,7 @@ import java.util.List;
  * @date 2024-08-04 19:57:45
  */
 public interface MachineQuery {
-    Page<MachineHostVO> getMachineHostByPage(String env, PageRequest pageRequest);
+    Page<MachineHostVO> getMachineHostByPage(String env, Pageable pageable);
     MachineHost getMachineHost(String machineId);
     MachineSshAuth getMachineSshAuth(String machineId);
     MachineInfo getMachineInfo(String machineId);

+ 6 - 7
web/src/main/java/cn/reghao/devops/web/mgr/machine/db/query/impl/MachineQueryImpl.java

@@ -2,7 +2,7 @@ package cn.reghao.devops.web.mgr.machine.db.query.impl;
 
 import cn.reghao.devops.common.msg.constant.NodeStatus;
 import cn.reghao.devops.web.mgr.app.db.repository.config.AppDeployConfigRepository;
-import cn.reghao.devops.web.mgr.app.model.vo.KeyValue;
+import cn.reghao.devops.common.util.KeyValue;
 import cn.reghao.devops.web.mgr.machine.db.query.MachineQuery;
 import cn.reghao.devops.web.mgr.machine.db.repository.MachineHostRepository;
 import cn.reghao.devops.web.mgr.machine.db.repository.MachineInfoRepository;
@@ -14,8 +14,8 @@ import cn.reghao.devops.web.mgr.machine.model.vo.MachineHostVO;
 import cn.reghao.devops.web.mgr.machine.model.vo.MachineSshAuth;
 import cn.reghao.jutil.jdk.converter.DateTimeConverter;
 import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 
@@ -44,9 +44,9 @@ public class MachineQueryImpl implements MachineQuery {
     }
 
     @Override
-    public Page<MachineHostVO> getMachineHostByPage(String env, PageRequest pageRequest) {
-        Page<MachineHost> page = machineHostRepository.findByEnv(env, pageRequest);
-        List<MachineHostVO> list = page.stream().map(machineHost -> {
+    public Page<MachineHostVO> getMachineHostByPage(String env, Pageable pageable) {
+        Page<MachineHost> page = machineHostRepository.findByEnv(env, pageable);
+        return page.map(machineHost -> {
             int used = deployConfigRepository.countByMachineHost(machineHost);
             MachineInfo machineInfo = machineHost.getMachineInfo();
             long bootTime = machineInfo.getBootTime();
@@ -62,8 +62,7 @@ public class MachineQueryImpl implements MachineQuery {
             }
 
             return new MachineHostVO(machineHost, bootTimeStr, status, used);
-        }).collect(Collectors.toList());
-        return new PageImpl<>(list, pageRequest, page.getTotalElements());
+        });
     }
 
     @Override

+ 0 - 1
web/src/main/resources/templates/devops/app/deploy/index.html

@@ -43,7 +43,6 @@
                 </tbody>
             </table>
         </div>
-        <div th:replace="/common/fragment :: page"></div>
     </div>
 </div>
 <script th:replace="/common/template :: script"></script>