Преглед на файлове

更新 AppBuilding 和 AppDeploying 的字段, 还是采用 OneToOne 方式分别依赖 BuildLog 和 AppBuilding

reghao преди 2 години
родител
ревизия
ea3eb2b05b

+ 1 - 1
manager/src/main/java/cn/reghao/devops/manager/app/controller/page/BuildDeployPageController.java

@@ -108,7 +108,7 @@ public class BuildDeployPageController {
                              @RequestParam("buildLogId") String buildLogId,
                              Model model) {
         AppBuilding appBuilding = buildStat.getAppBuilding(appId);
-        if (buildLogId.equals(appBuilding.getBuildLogId())) {
+        if (buildLogId.equals(appBuilding.getBuildLog().getBuildLogId())) {
         }
 
         List<AppDeployingVO> list = deployStat.get(appId, null);

+ 5 - 5
manager/src/main/java/cn/reghao/devops/manager/app/controller/page/StatusPageController.java

@@ -40,7 +40,7 @@ public class StatusPageController {
     @ApiOperation(value = "应用运行状态列表页面")
     @GetMapping
     public String statusPage1(@RequestParam(value = "env", required = false) String env,
-                              @RequestParam(value = "type", required = false) String type,
+                              @RequestParam(value = "appType", required = false) String appType,
                               @RequestParam(value = "status", required = false) Boolean status,
                               @RequestParam(value = "appName", required = false) String appName,
                               Model model) {
@@ -48,8 +48,8 @@ public class StatusPageController {
             env = EnvMap.getDefaultEnv();
         }
 
-        if (type == null) {
-            type = AppType.dotnetCore.name();
+        if (appType == null) {
+            appType = AppType.dotnetCore.name();
         }
 
         if (status == null) {
@@ -69,11 +69,11 @@ public class StatusPageController {
         PageRequest pageRequest = PageSort.pageRequest();
         int pageNumber = pageRequest.getPageNumber();
         int pageSize = pageRequest.getPageSize();
-        PageList<AppRunningVO> pageList = deployStat.getByPage(env, pageNumber+1, pageSize);
+        PageList<AppRunningVO> pageList = deployStat.getByPage(env, appType, pageNumber+1, pageSize);
         Page<AppRunningVO> appRunnings = new PageImpl<>(pageList.getList(), pageRequest, pageList.getTotalSize());
 
         model.addAttribute("env", env);
-        model.addAttribute("type", type);
+        model.addAttribute("type", appType);
         model.addAttribute("status", status);
         model.addAttribute("page", appRunnings);
         model.addAttribute("list", pageList.getList());

+ 1 - 1
manager/src/main/java/cn/reghao/devops/manager/app/db/repository/AppDeployingRepository.java

@@ -14,5 +14,5 @@ import java.util.List;
 public interface AppDeployingRepository extends JpaRepository<AppDeploying, Integer> {
     List<AppDeploying> findAllByAppDeployConfig_AppConfig_AppId(String appId);
     AppDeploying findAllByAppDeployConfig_AppConfig_AppIdAndAppDeployConfig_MachineHost_MachineId(String appId, String machineId);
-    Page<AppDeploying> findAllByAppDeployConfig_AppConfig_Env(String env, Pageable pageable);
+    Page<AppDeploying> findAllByAppDeployConfig_AppConfig_EnvAndAppDeployConfig_AppConfig_AppType(String env, String appType, Pageable pageable);
 }

+ 5 - 4
manager/src/main/java/cn/reghao/devops/manager/app/model/po/AppBuilding.java

@@ -26,7 +26,8 @@ import java.time.LocalDateTime;
 public class AppBuilding extends BaseEntity {
     @OneToOne
     private AppConfig appConfig;
-    private String buildLogId;
+    @OneToOne
+    private BuildLog buildLog;
     private String commitId;
     private LocalDateTime commitTime;
     private LocalDateTime buildTime;
@@ -47,7 +48,7 @@ public class AppBuilding extends BaseEntity {
 
     public AppBuilding(BuildLog buildLog) {
         this.appConfig = buildLog.getAppConfig();
-        this.buildLogId = buildLog.getBuildLogId();
+        this.buildLog = buildLog;
         this.commitId = buildLog.getCommitId();
         this.commitTime = buildLog.getCommitTime();
 
@@ -70,7 +71,7 @@ public class AppBuilding extends BaseEntity {
     }
 
     public void afterBuild(BuildLog buildLog) {
-        this.buildLogId = buildLog.getBuildLogId();
+        this.buildLog = buildLog;
         this.commitId = buildLog.getCommitId();
         this.commitTime = buildLog.getCommitTime();
 
@@ -84,7 +85,7 @@ public class AppBuilding extends BaseEntity {
     }
 
     public void afterBuild(BuildLog buildLog, String errMsg) {
-        this.buildLogId = buildLog.getBuildLogId();
+        this.buildLog = buildLog;
         this.commitId = buildLog.getCommitId();
         this.commitTime = buildLog.getCommitTime();
 

+ 2 - 3
manager/src/main/java/cn/reghao/devops/manager/app/model/po/AppDeploying.java

@@ -28,9 +28,8 @@ import java.time.LocalDateTime;
 public class AppDeploying extends BaseEntity {
     @OneToOne
     private AppDeployConfig appDeployConfig;
-    @Transient
+    @OneToOne
     private AppBuilding appBuilding;
-    private String buildLogId;
     private LocalDateTime deployTime;
     private String deployResult;
     private String deployBy;
@@ -60,7 +59,7 @@ public class AppDeploying extends BaseEntity {
     public AppDeploying(AppDeployConfig appDeployConfig, AppBuilding appBuilding) {
         this.appDeployConfig = appDeployConfig;
         this.appBuilding = appBuilding;
-        this.buildLogId = appBuilding.getBuildLogId();
+        //this.buildLogId = appBuilding.getBuildLogId();
         this.deployResult = DeployStatus.neverDeploy.getDesc();
         this.deployTime = LocalDateTime.now();
         this.deployBy = appBuilding.getBuildBy();

+ 1 - 1
manager/src/main/java/cn/reghao/devops/manager/app/model/vo/AppBuildingVO.java

@@ -36,7 +36,7 @@ public class AppBuildingVO {
         this.repoBranch = appConfig.getRepoBranch();
         this.bindPorts = appConfig.getBindPorts();
 
-        this.buildLogId = appBuilding.getBuildLogId() == null ? NotAvailable.na.getDesc() : appBuilding.getBuildLogId();
+        this.buildLogId = appBuilding.getBuildLog() == null ? NotAvailable.na.getDesc() : appBuilding.getBuildLog().getBuildLogId();
         this.commitId = appBuilding.getCommitId() == null ? NotAvailable.na.getDesc() : appBuilding.getCommitId();
         this.commitTime = appBuilding.getCommitTime() == null ? NotAvailable.na.getDesc() : DateTimeConverter.format(appBuilding.getCommitTime());
         this.buildTime = appBuilding.getBuildTime() == null ? NotAvailable.na.getDesc() : DateTimeConverter.format(appBuilding.getBuildTime());

+ 1 - 1
manager/src/main/java/cn/reghao/devops/manager/app/service/bd/DeployStat.java

@@ -26,7 +26,7 @@ public interface DeployStat {
 
     List<AppInfo> getAppsByMachineId(String machineId);
     List<AppDeployingVO> get(String appId, AppBuilding appBuilding);
-    PageList<AppRunningVO> getByPage(String env, int pageNumber, int pageSize);
+    PageList<AppRunningVO> getByPage(String env, String appType, int pageNumber, int pageSize);
     List<AppRunning> getAppRunning(String appId);
     boolean isDeploying(String appId, String machineId);
     boolean isRunning(String appId);

+ 7 - 6
manager/src/main/java/cn/reghao/devops/manager/app/service/bd/impl/DeployStatImpl.java

@@ -127,7 +127,8 @@ public class DeployStatImpl implements DeployStat {
                 deployingRepository.save(appDeploying);
 
                 MachineHost machineHost = appDeploying.getAppDeployConfig().getMachineHost();
-                BuildLog buildLog = buildLogRepository.findByBuildLogId(appDeploying.getAppBuilding().getBuildLogId());
+                // BuildLog buildLog = buildLogRepository.findByBuildLogId(appDeploying.getAppBuilding().getBuildLogId());
+                BuildLog buildLog = appDeploying.getAppBuilding().getBuildLog();
                 DeployLog deployLog = new DeployLog(buildLog, machineHost, deployResult);
                 deployLogRepository.save(deployLog);
 
@@ -187,8 +188,8 @@ public class DeployStatImpl implements DeployStat {
                     }
 
                     AppDeployingVO appDeployingVO;
-                    String buildLogId1 = appDeploying.getAppBuilding().getBuildLogId();
-                    if (buildLogId1.equals(appBuilding.getBuildLogId())) {
+                    String buildLogId1 = appDeploying.getAppBuilding().getBuildLog().getBuildLogId();
+                    if (buildLogId1.equals(appBuilding.getBuildLog().getBuildLogId())) {
                         appDeployingVO = new AppDeployingVO(appDeploying, machineStatus);
                     } else {
                         appDeployingVO = new AppDeployingVO(appDeploying, machineStatus, DeployStatus.neverDeploy.getDesc());
@@ -201,9 +202,9 @@ public class DeployStatImpl implements DeployStat {
     }
 
     @Override
-    public PageList<AppRunningVO> getByPage(String env, int pageNumber, int pageSize) {
-        PageRequest pageRequest = PageRequest.of(pageNumber, pageSize);
-        Page<AppDeploying> page = deployingRepository.findAllByAppDeployConfig_AppConfig_Env(env, pageRequest);
+    public PageList<AppRunningVO> getByPage(String env, String appType, int pageNumber, int pageSize) {
+        PageRequest pageRequest = PageRequest.of(pageNumber-1, pageSize);
+        Page<AppDeploying> page = deployingRepository.findAllByAppDeployConfig_AppConfig_EnvAndAppDeployConfig_AppConfig_AppType(env, appType, pageRequest);
         List<AppRunningVO> list2 = page.getContent().stream().map(appDeploying -> {
             AppConfig appConfig = appDeploying.getAppDeployConfig().getAppConfig();
             String appId = appConfig.getAppId();

+ 15 - 1
manager/src/main/java/cn/reghao/devops/manager/home/controller/page/AppEnvPageController.java

@@ -1,7 +1,10 @@
 package cn.reghao.devops.manager.home.controller.page;
 
 import cn.reghao.devops.manager.app.db.repository.AppEnvRepository;
+import cn.reghao.devops.manager.app.model.constant.AppType;
 import cn.reghao.devops.manager.app.model.po.AppEnv;
+import cn.reghao.devops.manager.app.model.vo.KeyValue;
+import cn.reghao.devops.manager.util.UserContext;
 import cn.reghao.devops.manager.util.db.PageList;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -13,6 +16,7 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -35,8 +39,18 @@ public class AppEnvPageController {
         List<AppEnv> list = appEnvRepository.findAll();
         Page<AppEnv> page = new PageImpl<>(list);
         PageList<AppEnv> pageList = PageList.pageList(page);
+        String userRole = UserContext.getUserRole();
+
+        List<KeyValue> list1 = new ArrayList<>();
+        for (AppType appType : AppType.values()) {
+            String name = appType.getName();
+            String value = name;
+            list1.add(new KeyValue(name, value));
+        }
+
         model.addAttribute("page", page);
-        model.addAttribute("list", pageList.getList());
+        model.addAttribute("appEnvList", pageList.getList());
+        model.addAttribute("appTypeList", pageList.getList());
         return "/sys/env/index";
     }
 

+ 1 - 1
manager/src/main/java/cn/reghao/devops/manager/notification/model/BuildNotifyMsg.java

@@ -24,7 +24,7 @@ public class BuildNotifyMsg {
     private String buildBy;
 
     public BuildNotifyMsg(AppBuilding appBuilding) {
-        this.buildId = appBuilding.getBuildLogId();
+        this.buildId = appBuilding.getBuildLog().getBuildLogId();
         this.appId = appBuilding.getAppConfig().getAppId();
         this.env = appBuilding.getAppConfig().getEnv();
         this.repoBranch = appBuilding.getAppConfig().getRepoBranch();