reghao 4 лет назад
Родитель
Сommit
8fb7e2746e
23 измененных файлов с 192 добавлено и 151 удалено
  1. 17 17
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/crud/AppConfigController.java
  2. 30 30
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/crud/BuildConfigController.java
  3. 40 50
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/config/AppOrchestrationCrudService.java
  4. 7 3
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/config/BuildDirCrudService.java
  5. 15 10
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/config/CompilerConfigCrudService.java
  6. 8 4
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/config/PackerConfigCrudService.java
  7. 14 14
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/config/ProjOrchestrationCrudService.java
  8. 16 6
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/config/RepoAuthConfigCrudService.java
  9. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/config/SharedEntityChecker.java
  10. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/log/AppStatusCrudService.java
  11. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/log/BuildLogCrudService.java
  12. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/log/CommitLogCrudService.java
  13. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/log/DeployLogCrudService.java
  14. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/AppStatusService.java
  15. 4 0
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/log/BuildDeployLogService.java
  16. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app3/scheduler/BackupScheduler.java
  17. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app3/scheduler/ScriptBakJob.java
  18. 8 0
      dmaster/src/main/java/cn/reghao/autodop/dmaster/common/db/DbQuery.java
  19. 8 0
      dmaster/src/main/java/cn/reghao/autodop/dmaster/common/db/JpaQuery.java
  20. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/common/db/MongoCrud.java
  21. 8 0
      dmaster/src/main/java/cn/reghao/autodop/dmaster/common/db/MongoQuery.java
  22. 5 5
      dmaster/src/main/java/cn/reghao/autodop/dmaster/monitor/MonitorScheduler.java
  23. 3 3
      dmaster/src/test/java/cn/reghao/autodop/dmaster/app/service/RefreshServiceTest.java

+ 17 - 17
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/crud/AppConfigController.java

@@ -5,8 +5,8 @@ import cn.reghao.autodop.dmaster.common.db.PageList;
 import cn.reghao.autodop.common.utils.serializer.JsonConverter;
 import cn.reghao.autodop.dmaster.app.entity.config.AppOrchestration;
 import cn.reghao.autodop.dmaster.app.entity.config.ProjOrchestration;
-import cn.reghao.autodop.dmaster.app.service.crud.AppOrchestrationService;
-import cn.reghao.autodop.dmaster.app.service.crud.ProjOrchestrationService;
+import cn.reghao.autodop.dmaster.app.db.config.AppOrchestrationCrudService;
+import cn.reghao.autodop.dmaster.app.db.config.ProjOrchestrationCrudService;
 import cn.reghao.autodop.dmaster.app.vo.orchestration.AppVO;
 import cn.reghao.autodop.dmaster.app.vo.orchestration.ProjVO;
 import io.swagger.annotations.Api;
@@ -26,12 +26,12 @@ import java.util.stream.Collectors;
 @RestController
 @RequestMapping("/api/config/orchestrate")
 public class AppConfigController {
-    private AppOrchestrationService appOrchestrationService;
-    private ProjOrchestrationService projOrchestrationService;
+    private AppOrchestrationCrudService appOrchestrationCrudService;
+    private ProjOrchestrationCrudService projOrchestrationCrudService;
 
-    public AppConfigController(AppOrchestrationService appOrchestrationService, ProjOrchestrationService projOrchestrationService) {
-        this.appOrchestrationService = appOrchestrationService;
-        this.projOrchestrationService = projOrchestrationService;
+    public AppConfigController(AppOrchestrationCrudService appOrchestrationCrudService, ProjOrchestrationCrudService projOrchestrationCrudService) {
+        this.appOrchestrationCrudService = appOrchestrationCrudService;
+        this.projOrchestrationCrudService = projOrchestrationCrudService;
     }
 
     /* 应用配置 */
@@ -40,7 +40,7 @@ public class AppConfigController {
     public ResponseEntity<String> addAppOrchestration(@RequestBody String json) throws Exception {
         AppVO appVO = JsonConverter.jsonToObject(json, AppVO.class);
         AppOrchestration app = AppVO.to(appVO);
-        appOrchestrationService.insert(app);
+        appOrchestrationCrudService.insert(app);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
@@ -48,7 +48,7 @@ public class AppConfigController {
     @PostMapping(value = "/app/copy")
     public ResponseEntity<String> copyAppOrchestration(@RequestParam("from") String from,
                                                        @RequestParam("to") String to) throws Exception {
-        appOrchestrationService.copy(from, to);
+        appOrchestrationCrudService.copy(from, to);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
@@ -57,14 +57,14 @@ public class AppConfigController {
     public ResponseEntity<String> modifyAppOrchestration(@RequestBody String json) throws Exception {
         AppVO appVO = JsonConverter.jsonToObject(json, AppVO.class);
         AppOrchestration app = AppVO.to(appVO);
-        appOrchestrationService.update(app);
+        appOrchestrationCrudService.update(app);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
     @ApiOperation(value = "删除应用编排")
     @DeleteMapping("/app/{uniqueKey}")
     public ResponseEntity<String> deleteAppOrchestration(@PathVariable("uniqueKey") String uniqueKey) throws Exception {
-        appOrchestrationService.delete(uniqueKey);
+        appOrchestrationCrudService.delete(uniqueKey);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
@@ -73,7 +73,7 @@ public class AppConfigController {
     public ResponseEntity<String> getAppOrchestrationByPage(@RequestParam("page") int page,
                                                             @RequestParam("size") int size,
                                                             @RequestParam("env") String env) {
-        PageList<AppOrchestration> pageList = appOrchestrationService.getByPage(page, size, env);
+        PageList<AppOrchestration> pageList = appOrchestrationCrudService.getByPage(page, size, env);
         PageList<AppVO> vos = new PageList<>();
         vos.setTotalPages(pageList.getTotalPages());
         vos.setTotalSize(pageList.getTotalSize());
@@ -89,7 +89,7 @@ public class AppConfigController {
     public ResponseEntity<String> addProjOrchestration(@RequestBody String json) throws Exception {
         ProjVO projVO = JsonConverter.jsonToObject(json, ProjVO.class);
         ProjOrchestration proj = ProjVO.to(projVO);
-        projOrchestrationService.insert(proj);
+        projOrchestrationCrudService.insert(proj);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
@@ -97,7 +97,7 @@ public class AppConfigController {
     @PostMapping(value = "/proj/copy")
     public ResponseEntity<String> copyProjOrchestration(@RequestParam("from") String from,
                                                        @RequestParam("to") String to) throws Exception {
-        projOrchestrationService.copy(from, to);
+        projOrchestrationCrudService.copy(from, to);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
@@ -105,14 +105,14 @@ public class AppConfigController {
     @PutMapping("/proj")
     public ResponseEntity<String> modifyProjOrchestration(@RequestBody String json) throws Exception {
         ProjOrchestration proj = JsonConverter.jsonToObject(json, ProjOrchestration.class);
-        projOrchestrationService.insert(proj);
+        projOrchestrationCrudService.insert(proj);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
     @ApiOperation(value = "删除项目编排")
     @DeleteMapping("/proj/{uniqueKey}")
     public ResponseEntity<String> deleteProjOrchestration(@PathVariable("uniqueKey") String uniqueKey) throws Exception {
-        projOrchestrationService.delete(uniqueKey);
+        projOrchestrationCrudService.delete(uniqueKey);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
@@ -121,7 +121,7 @@ public class AppConfigController {
     public ResponseEntity<String> getProjOrchestrationByPage(@RequestParam("page") int page,
                                                              @RequestParam("size") int size,
                                                              @RequestParam("env") String env) {
-        PageList<ProjOrchestration> pageList = projOrchestrationService.getByPage(page, size, env);
+        PageList<ProjOrchestration> pageList = projOrchestrationCrudService.getByPage(page, size, env);
         PageList<ProjVO> vos = new PageList<>();
         vos.setTotalPages(pageList.getTotalPages());
         vos.setTotalSize(pageList.getTotalSize());

+ 30 - 30
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/crud/BuildConfigController.java

@@ -2,15 +2,15 @@ package cn.reghao.autodop.dmaster.app.controller.crud;
 
 import cn.reghao.autodop.common.result.WebResult;
 import cn.reghao.autodop.dmaster.app.entity.config.build.BuildDir;
-import cn.reghao.autodop.dmaster.app.service.crud.BuildDirService;
+import cn.reghao.autodop.dmaster.app.db.config.BuildDirCrudService;
 import cn.reghao.autodop.dmaster.common.db.PageList;
 import cn.reghao.autodop.common.utils.serializer.JsonConverter;
 import cn.reghao.autodop.dmaster.app.entity.config.build.CompilerConfig;
 import cn.reghao.autodop.dmaster.app.entity.config.build.PackerConfig;
 import cn.reghao.autodop.dmaster.app.entity.config.build.RepoAuthConfig;
-import cn.reghao.autodop.dmaster.app.service.crud.CompilerConfigService;
-import cn.reghao.autodop.dmaster.app.service.crud.PackerConfigService;
-import cn.reghao.autodop.dmaster.app.service.crud.RepoAuthConfigService;
+import cn.reghao.autodop.dmaster.app.db.config.CompilerConfigCrudService;
+import cn.reghao.autodop.dmaster.app.db.config.PackerConfigCrudService;
+import cn.reghao.autodop.dmaster.app.db.config.RepoAuthConfigCrudService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -26,26 +26,26 @@ import org.springframework.web.bind.annotation.*;
 @RestController
 @RequestMapping("/api/config/build")
 public class BuildConfigController {
-    private BuildDirService buildDirService;
-    private RepoAuthConfigService repoAuthConfigService;
-    private CompilerConfigService compilerConfigService;
-    private PackerConfigService packerConfigService;
-
-    public BuildConfigController(BuildDirService buildDirService,
-                                 RepoAuthConfigService repoAuthConfigService,
-                                 CompilerConfigService compilerConfigService,
-                                 PackerConfigService packerConfigService) {
-        this.buildDirService = buildDirService;
-        this.repoAuthConfigService = repoAuthConfigService;
-        this.compilerConfigService = compilerConfigService;
-        this.packerConfigService = packerConfigService;
+    private BuildDirCrudService buildDirCrudService;
+    private RepoAuthConfigCrudService repoAuthConfigCrudService;
+    private CompilerConfigCrudService compilerConfigCrudService;
+    private PackerConfigCrudService packerConfigCrudService;
+
+    public BuildConfigController(BuildDirCrudService buildDirCrudService,
+                                 RepoAuthConfigCrudService repoAuthConfigCrudService,
+                                 CompilerConfigCrudService compilerConfigCrudService,
+                                 PackerConfigCrudService packerConfigCrudService) {
+        this.buildDirCrudService = buildDirCrudService;
+        this.repoAuthConfigCrudService = repoAuthConfigCrudService;
+        this.compilerConfigCrudService = compilerConfigCrudService;
+        this.packerConfigCrudService = packerConfigCrudService;
     }
 
     /* 构建配置 */
     @ApiOperation(value = "分页获取构建目录配置")
     @GetMapping("/dir")
     public ResponseEntity<String> getBuildDirByPage(@RequestParam("page") int page, @RequestParam("size") int size) {
-        PageList<BuildDir> pageList = buildDirService.getByPage(page, size, "");
+        PageList<BuildDir> pageList = buildDirCrudService.getByPage(page, size, "");
         return ResponseEntity.ok().body(WebResult.success(pageList));
     }
 
@@ -61,7 +61,7 @@ public class BuildConfigController {
     @PostMapping(value = "/repo", consumes = "application/json")
     public ResponseEntity<String> addRepoConfig(@RequestBody String json) throws Exception {
         RepoAuthConfig repoAuthConfig = JsonConverter.jsonToObject(json, RepoAuthConfig.class);
-        repoAuthConfigService.insert(repoAuthConfig);
+        repoAuthConfigCrudService.insert(repoAuthConfig);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
@@ -69,21 +69,21 @@ public class BuildConfigController {
     @PutMapping("/repo")
     public ResponseEntity<String> modifyRepoConfig(@RequestBody String json) throws Exception {
         RepoAuthConfig repoAuthConfig = JsonConverter.jsonToObject(json, RepoAuthConfig.class);
-        repoAuthConfigService.insert(repoAuthConfig);
+        repoAuthConfigCrudService.insert(repoAuthConfig);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
     @ApiOperation(value = "删除仓库认证配置")
     @DeleteMapping("/repo/{uniqueKey}")
     public ResponseEntity<String> deleteRepoConfig(@PathVariable("uniqueKey") String uniqueKey) throws Exception {
-        repoAuthConfigService.delete(uniqueKey);
+        repoAuthConfigCrudService.delete(uniqueKey);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
     @ApiOperation(value = "分页获取仓库认证配置")
     @GetMapping("/repo")
     public ResponseEntity<String> getRepoConfigByPage(@RequestParam("page") int page, @RequestParam("size") int size) {
-        PageList<RepoAuthConfig> pageList = repoAuthConfigService.getByPage(page, size, "");
+        PageList<RepoAuthConfig> pageList = repoAuthConfigCrudService.getByPage(page, size, "");
         return ResponseEntity.ok().body(WebResult.success(pageList));
     }
 
@@ -92,7 +92,7 @@ public class BuildConfigController {
     @PostMapping(value = "/compiler", consumes = "application/json")
     public ResponseEntity<String> addCompileConfig(@RequestBody String json) throws Exception {
         CompilerConfig compilerConfig = JsonConverter.jsonToObject(json, CompilerConfig.class);
-        compilerConfigService.insert(compilerConfig);
+        compilerConfigCrudService.insert(compilerConfig);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
@@ -100,21 +100,21 @@ public class BuildConfigController {
     @PutMapping("/compiler")
     public ResponseEntity<String> modifyCompileConfig(@RequestBody String json) throws Exception {
         CompilerConfig compilerConfig = JsonConverter.jsonToObject(json, CompilerConfig.class);
-        compilerConfigService.insert(compilerConfig);
+        compilerConfigCrudService.insert(compilerConfig);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
     @ApiOperation(value = "删除应用编译配置")
     @DeleteMapping("/compiler/{uniqueKey}")
     public ResponseEntity<String> deleteCompileConfig(@PathVariable("uniqueKey") String uniqueKey) throws Exception {
-        compilerConfigService.delete(uniqueKey);
+        compilerConfigCrudService.delete(uniqueKey);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
     @ApiOperation(value = "分页获取应用编译配置")
     @GetMapping("/compiler")
     public ResponseEntity<String> getCompileConfigByPage(@RequestParam("page") int page, @RequestParam("size") int size) {
-        PageList<CompilerConfig> pageList = compilerConfigService.getByPage(page, size, "");
+        PageList<CompilerConfig> pageList = compilerConfigCrudService.getByPage(page, size, "");
         return ResponseEntity.ok().body(WebResult.success(pageList));
     }
 
@@ -123,7 +123,7 @@ public class BuildConfigController {
     @PostMapping(value = "/packer", consumes = "application/json")
     public ResponseEntity<String> addPackConfig(@RequestBody String json) throws Exception {
         PackerConfig packerConfig = JsonConverter.jsonToObject(json, PackerConfig.class);
-        packerConfigService.insert(packerConfig);
+        packerConfigCrudService.insert(packerConfig);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
@@ -131,21 +131,21 @@ public class BuildConfigController {
     @PutMapping("/packer")
     public ResponseEntity<String> modifyPackConfig(@RequestBody String json) throws Exception {
         PackerConfig packerConfig = JsonConverter.jsonToObject(json, PackerConfig.class);
-        packerConfigService.insert(packerConfig);
+        packerConfigCrudService.insert(packerConfig);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
     @ApiOperation(value = "删除应用打包配置")
     @DeleteMapping("/packer/{uniqueKey}")
     public ResponseEntity<String> deletePackConfig(@PathVariable("uniqueKey") String uniqueKey) throws Exception {
-        packerConfigService.delete(uniqueKey);
+        packerConfigCrudService.delete(uniqueKey);
         return ResponseEntity.ok().body(WebResult.success("ok"));
     }
 
     @ApiOperation(value = "分页获取应用打包配置")
     @GetMapping("/packer")
     public ResponseEntity<String> getPackConfigByPage(@RequestParam("page") int page, @RequestParam("size") int size) {
-        PageList<PackerConfig> pageList = packerConfigService.getByPage(page, size, "");
+        PageList<PackerConfig> pageList = packerConfigCrudService.getByPage(page, size, "");
         return ResponseEntity.ok().body(WebResult.success(pageList));
     }
 }

+ 40 - 50
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/AppOrchestrationService.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/config/AppOrchestrationCrudService.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.crud;
+package cn.reghao.autodop.dmaster.app.db.config;
 
 import cn.reghao.autodop.dmaster.app.constant.AppType;
 import cn.reghao.autodop.dmaster.common.db.CrudOps;
@@ -23,52 +23,19 @@ import java.util.List;
  */
 //@CacheConfig(cacheNames = {"appCache"})
 @Service
-public class AppOrchestrationService implements CrudOps<AppOrchestration> {
+public class AppOrchestrationCrudService implements CrudOps<AppOrchestration> {
     private AppOrchestrationRepository appRepository;
     private SharedEntityChecker sharedEntityChecker;
     private BuildDeployAppCrudService buildDeployAppCrudService;
 
-    public AppOrchestrationService(AppOrchestrationRepository appRepository,
-                                   SharedEntityChecker sharedEntityChecker,
-                                   BuildDeployAppCrudService buildDeployAppCrudService) {
+    public AppOrchestrationCrudService(AppOrchestrationRepository appRepository,
+                                       SharedEntityChecker sharedEntityChecker,
+                                       BuildDeployAppCrudService buildDeployAppCrudService) {
         this.appRepository = appRepository;
         this.sharedEntityChecker = sharedEntityChecker;
         this.buildDeployAppCrudService = buildDeployAppCrudService;
     }
 
-    public void add(AppOrchestration app) throws Exception {
-        checkSharedEntity(app);
-        AppOrchestration appEntity = appRepository.findByIsDeleteFalseAndAppId(app.getAppId());
-        if (appEntity == null) {
-            app.setIsDelete(false);
-            appRepository.save(app);
-            buildDeployAppCrudService.insert(BuildDeployApp.of(app));
-        }
-    }
-
-    @Override
-    public void update(AppOrchestration app) throws Exception {
-        checkSharedEntity(app);
-        AppOrchestration appEntity = appRepository.findByIsDeleteFalseAndAppId(app.getAppId());
-        if (appEntity != null) {
-            app.setId(appEntity.getId());
-            app.setCreateTime(appEntity.getCreateTime());
-            app.setUpdateTime(LocalDateTime.now());
-            app.setIsDelete(false);
-            appRepository.save(app);
-            buildDeployAppCrudService.update(BuildDeployApp.of(app));
-        }
-    }
-
-    private void checkSharedEntity(AppOrchestration app) throws Exception {
-        if (app.getProj() != null) {
-            sharedEntityChecker.checkAndSetProj(app);
-        } else {
-            sharedEntityChecker.checkAndSetBuildConfig(app.getBuildConfig());
-        }
-        sharedEntityChecker.checkAndSetRole(app);
-    }
-
     @Override
     public void insert(AppOrchestration app) throws Exception {
         if (app.getProj() != null) {
@@ -126,19 +93,27 @@ public class AppOrchestrationService implements CrudOps<AppOrchestration> {
         app.setUpdateTime(null);
     }
 
-    //@Cacheable("appList")
     @Override
-    public PageList<AppOrchestration> getByPage(int page, int size, String env) {
-        // 默认按更新时间倒序
-        PageRequest pageRequest =
-                PageRequest.of(page-1, size, Sort.by(Sort.Direction.DESC, "updateTime"));
-        // TODO 指定额外的参数
-        Page<AppOrchestration> page1 = appRepository.findByIsDeleteFalseAndEnv(env, pageRequest);
-        PageList<AppOrchestration> pageList = new PageList<>();
-        pageList.setTotalSize(page1.getTotalElements());
-        pageList.setTotalPages(page1.getTotalPages());
-        pageList.setList(page1.getContent());
-        return pageList;
+    public void update(AppOrchestration app) throws Exception {
+        checkSharedEntity(app);
+        AppOrchestration appEntity = appRepository.findByIsDeleteFalseAndAppId(app.getAppId());
+        if (appEntity != null) {
+            app.setId(appEntity.getId());
+            app.setCreateTime(appEntity.getCreateTime());
+            app.setUpdateTime(LocalDateTime.now());
+            app.setIsDelete(false);
+            appRepository.save(app);
+            buildDeployAppCrudService.update(BuildDeployApp.of(app));
+        }
+    }
+
+    private void checkSharedEntity(AppOrchestration app) throws Exception {
+        if (app.getProj() != null) {
+            sharedEntityChecker.checkAndSetProj(app);
+        } else {
+            sharedEntityChecker.checkAndSetBuildConfig(app.getBuildConfig());
+        }
+        sharedEntityChecker.checkAndSetRole(app);
     }
 
     //@CacheEvict(cacheNames = { "app" }, key = "#uniqueKey")
@@ -154,6 +129,21 @@ public class AppOrchestrationService implements CrudOps<AppOrchestration> {
         }
     }
 
+    //@Cacheable("appList")
+    @Override
+    public PageList<AppOrchestration> getByPage(int page, int size, String env) {
+        // 默认按更新时间倒序
+        PageRequest pageRequest =
+                PageRequest.of(page-1, size, Sort.by(Sort.Direction.DESC, "updateTime"));
+        // TODO 指定额外的参数
+        Page<AppOrchestration> page1 = appRepository.findByIsDeleteFalseAndEnv(env, pageRequest);
+        PageList<AppOrchestration> pageList = new PageList<>();
+        pageList.setTotalSize(page1.getTotalElements());
+        pageList.setTotalPages(page1.getTotalPages());
+        pageList.setList(page1.getContent());
+        return pageList;
+    }
+
     public List<AppOrchestration> find(String env) {
         Specification<AppOrchestration> spec = (Specification<AppOrchestration>) (root, query, cb) -> {
             Predicate predicate1 = cb.equal(root.get("env"), env);

+ 7 - 3
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/BuildDirService.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/config/BuildDirCrudService.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.crud;
+package cn.reghao.autodop.dmaster.app.db.config;
 
 import cn.reghao.autodop.dmaster.app.entity.config.build.BuildDir;
 import cn.reghao.autodop.dmaster.app.repository.config.build.BuildDirRepository;
@@ -14,10 +14,10 @@ import org.springframework.stereotype.Service;
  * @date 2020-11-10 21:58:00
  */
 @Service
-public class BuildDirService implements CrudOps<BuildDir> {
+public class BuildDirCrudService implements CrudOps<BuildDir> {
     private BuildDirRepository buildDirRepository;
 
-    public BuildDirService(BuildDirRepository buildDirRepository) {
+    public BuildDirCrudService(BuildDirRepository buildDirRepository) {
         this.buildDirRepository = buildDirRepository;
     }
 
@@ -25,6 +25,10 @@ public class BuildDirService implements CrudOps<BuildDir> {
     public void insert(BuildDir buildDir) {
     }
 
+    @Override
+    public void update(BuildDir buildDir) {
+    }
+
     @Override
     public PageList<BuildDir> getByPage(int page, int size, String uk) {
         // 默认按更新时间倒序

+ 15 - 10
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/CompilerConfigService.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/config/CompilerConfigCrudService.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.crud;
+package cn.reghao.autodop.dmaster.app.db.config;
 
 import cn.reghao.autodop.dmaster.common.db.CrudOps;
 import cn.reghao.autodop.dmaster.common.db.PageList;
@@ -16,26 +16,31 @@ import java.time.LocalDateTime;
  * @date 2020-11-10 21:58:00
  */
 @Service
-public class CompilerConfigService implements CrudOps<CompilerConfig> {
+public class CompilerConfigCrudService implements CrudOps<CompilerConfig> {
     private CompilerConfigRepository compilerRepository;
 
-    public CompilerConfigService(CompilerConfigRepository compilerRepository) {
+    public CompilerConfigCrudService(CompilerConfigRepository compilerRepository) {
         this.compilerRepository = compilerRepository;
     }
 
     @Override
-    public void insert(CompilerConfig appCompile) throws Exception {
+    public void insert(CompilerConfig compilerConfig) {
         // TODO 检测本机上是否存在编译器
         //checkScript(script);
 
-        CompilerConfig compileEntity = compilerRepository.findByIsDeleteFalseAndName(appCompile.getName());
+        CompilerConfig compileEntity = compilerRepository.findByIsDeleteFalseAndName(compilerConfig.getName());
         if (compileEntity != null) {
-            appCompile.setId(compileEntity.getId());
-            appCompile.setCreateTime(compileEntity.getCreateTime());
-            appCompile.setUpdateTime(LocalDateTime.now());
+            compilerConfig.setId(compileEntity.getId());
+            compilerConfig.setCreateTime(compileEntity.getCreateTime());
+            compilerConfig.setUpdateTime(LocalDateTime.now());
         }
-        appCompile.setIsDelete(false);
-        compilerRepository.save(appCompile);
+        compilerConfig.setIsDelete(false);
+        compilerRepository.save(compilerConfig);
+    }
+
+    @Override
+    public void update(CompilerConfig compilerConfig) {
+
     }
 
     @Override

+ 8 - 4
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/PackerConfigService.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/config/PackerConfigCrudService.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.crud;
+package cn.reghao.autodop.dmaster.app.db.config;
 
 import cn.reghao.autodop.dmaster.common.db.CrudOps;
 import cn.reghao.autodop.dmaster.common.db.PageList;
@@ -17,15 +17,15 @@ import java.time.LocalDateTime;
  * @date 2020-11-10 21:58:00
  */
 @Service
-public class PackerConfigService implements CrudOps<PackerConfig> {
+public class PackerConfigCrudService implements CrudOps<PackerConfig> {
     private PackerConfigRepository packerRepository;
 
-    public PackerConfigService(PackerConfigRepository packerRepository) {
+    public PackerConfigCrudService(PackerConfigRepository packerRepository) {
         this.packerRepository = packerRepository;
     }
 
     @Override
-    public void insert(PackerConfig packerConfig) throws Exception {
+    public void insert(PackerConfig packerConfig) {
         if (PackerType.valueOf(packerConfig.getType()) == PackerType.docker) {
             // TODO 检测本机上是否存在 docker
             // checkScript("docker -v");
@@ -41,6 +41,10 @@ public class PackerConfigService implements CrudOps<PackerConfig> {
         packerRepository.save(packerConfig);
     }
 
+    @Override
+    public void update(PackerConfig packerConfig) {
+    }
+
     @Override
     public void delete(String uniqueKey) throws Exception {
         PackerConfig packEntity = packerRepository.findByIsDeleteFalseAndName(uniqueKey);

+ 14 - 14
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/ProjOrchestrationService.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/config/ProjOrchestrationCrudService.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.crud;
+package cn.reghao.autodop.dmaster.app.db.config;
 
 import cn.reghao.autodop.dmaster.common.db.CrudOps;
 import cn.reghao.autodop.dmaster.common.db.PageList;
@@ -16,12 +16,12 @@ import java.time.LocalDateTime;
  * @date 2020-11-10 21:58:00
  */
 @Service
-public class ProjOrchestrationService implements CrudOps<ProjOrchestration> {
+public class ProjOrchestrationCrudService implements CrudOps<ProjOrchestration> {
     private ProjOrchestrationRepository projRepository;
     private SharedEntityChecker sharedEntityChecker;
 
-    public ProjOrchestrationService(ProjOrchestrationRepository projRepository,
-                                    SharedEntityChecker sharedEntityChecker) {
+    public ProjOrchestrationCrudService(ProjOrchestrationRepository projRepository,
+                                        SharedEntityChecker sharedEntityChecker) {
         this.projRepository = projRepository;
         this.sharedEntityChecker = sharedEntityChecker;
     }
@@ -64,6 +64,16 @@ public class ProjOrchestrationService implements CrudOps<ProjOrchestration> {
         proj.setUpdateTime(null);
     }
 
+    @Override
+    public void delete(String uniqueKey) throws Exception {
+        ProjOrchestration projEntity = projRepository.findByIsDeleteFalseAndProjId(uniqueKey);
+        if (projEntity == null) {
+            throw new Exception(uniqueKey + " 不存在");
+        }
+        projEntity.setIsDelete(true);
+        projRepository.save(projEntity);
+    }
+
     @Override
     public PageList<ProjOrchestration> getByPage(int page, int size, String env) {
         // 默认按更新时间倒序
@@ -77,14 +87,4 @@ public class ProjOrchestrationService implements CrudOps<ProjOrchestration> {
         pageList.setList(page1.getContent());
         return pageList;
     }
-
-    @Override
-    public void delete(String uniqueKey) throws Exception {
-        ProjOrchestration projEntity = projRepository.findByIsDeleteFalseAndProjId(uniqueKey);
-        if (projEntity == null) {
-            throw new Exception(uniqueKey + " 不存在");
-        }
-        projEntity.setIsDelete(true);
-        projRepository.save(projEntity);
-    }
 }

+ 16 - 6
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/RepoAuthConfigService.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/config/RepoAuthConfigCrudService.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.crud;
+package cn.reghao.autodop.dmaster.app.db.config;
 
 import cn.reghao.autodop.dmaster.common.db.CrudOps;
 import cn.reghao.autodop.dmaster.common.db.PageList;
@@ -16,23 +16,33 @@ import java.time.LocalDateTime;
  * @date 2020-11-10 21:58:00
  */
 @Service
-public class RepoAuthConfigService implements CrudOps<RepoAuthConfig> {
+public class RepoAuthConfigCrudService implements CrudOps<RepoAuthConfig> {
     private RepoAuthConfigRepository repoAuthRepository;
 
-    public RepoAuthConfigService(RepoAuthConfigRepository repoAuthRepository) {
+    public RepoAuthConfigCrudService(RepoAuthConfigRepository repoAuthRepository) {
         this.repoAuthRepository = repoAuthRepository;
     }
 
     @Override
-    public void insert(RepoAuthConfig repoAuthConfig) throws Exception {
+    public void insert(RepoAuthConfig repoAuthConfig) {
+        RepoAuthConfig repoAuthConfigEntity = repoAuthRepository.findByIsDeleteFalseAndName(repoAuthConfig.getName());
+        if (repoAuthConfigEntity == null) {
+            repoAuthConfig.setIsDelete(false);
+            LocalDateTime localDateTime = LocalDateTime.now();
+            repoAuthConfig.setCreateTime(localDateTime);
+            repoAuthConfig.setUpdateTime(localDateTime);
+            repoAuthRepository.save(repoAuthConfig);
+        }
+    }
+
+    @Override
+    public void update(RepoAuthConfig repoAuthConfig) {
         RepoAuthConfig repoAuthConfigEntity = repoAuthRepository.findByIsDeleteFalseAndName(repoAuthConfig.getName());
         if (repoAuthConfigEntity != null) {
             repoAuthConfig.setId(repoAuthConfigEntity.getId());
             repoAuthConfig.setCreateTime(repoAuthConfigEntity.getCreateTime());
             repoAuthConfig.setUpdateTime(LocalDateTime.now());
         }
-        repoAuthConfig.setIsDelete(false);
-        repoAuthRepository.save(repoAuthConfig);
     }
 
     @Override

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/crud/SharedEntityChecker.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/config/SharedEntityChecker.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.crud;
+package cn.reghao.autodop.dmaster.app.db.config;
 
 import cn.reghao.autodop.dmaster.app.entity.config.build.BuildConfig;
 import cn.reghao.autodop.dmaster.app.entity.config.build.CompilerConfig;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/log/AppStatusCrudService.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/log/AppStatusCrudService.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.log;
+package cn.reghao.autodop.dmaster.app.db.log;
 
 import cn.reghao.autodop.common.dagent.app.api.data.DeployedAppStatus;
 import cn.reghao.autodop.dmaster.app.repository.status.AppStatusRepository;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/log/BuildLogCrudService.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/log/BuildLogCrudService.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.log;
+package cn.reghao.autodop.dmaster.app.db.log;
 
 import cn.reghao.autodop.dmaster.app.entity.log.BuildLog;
 import cn.reghao.autodop.dmaster.app.repository.log.BuildLogRepository;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/log/CommitLogCrudService.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/log/CommitLogCrudService.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.log;
+package cn.reghao.autodop.dmaster.app.db.log;
 
 import cn.reghao.autodop.dmaster.app.entity.log.CommitLog;
 import cn.reghao.autodop.dmaster.app.repository.log.CommitLogRepository;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/log/DeployLogCrudService.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/app/db/log/DeployLogCrudService.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.service.log;
+package cn.reghao.autodop.dmaster.app.db.log;
 
 import cn.reghao.autodop.dmaster.app.entity.log.BuildLog;
 import cn.reghao.autodop.dmaster.app.entity.log.DeployLog;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/AppStatusService.java

@@ -10,8 +10,8 @@ import cn.reghao.autodop.common.utils.serializer.JsonConverter;
 import cn.reghao.autodop.dmaster.app.cache.BuildDeployCache;
 import cn.reghao.autodop.dmaster.app.entity.config.AppOrchestration;
 import cn.reghao.autodop.dmaster.app.entity.config.deploy.DeployConfig;
-import cn.reghao.autodop.dmaster.app.service.log.AppStatusCrudService;
 import cn.reghao.autodop.common.dagent.app.api.data.log.LogFile;
+import cn.reghao.autodop.dmaster.app.db.log.AppStatusCrudService;
 import cn.reghao.autodop.dmaster.common.db.PageList;
 import org.springframework.stereotype.Service;
 

+ 4 - 0
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/log/BuildDeployLogService.java

@@ -4,6 +4,10 @@ import cn.reghao.autodop.common.dagent.app.api.data.DeployedAppStatus;
 import cn.reghao.autodop.dmaster.app.entity.log.*;
 import cn.reghao.autodop.dmaster.app.entity.status.BuildDeployApp;
 import cn.reghao.autodop.dmaster.app.service.BuildDeployAppCrudService;
+import cn.reghao.autodop.dmaster.app.db.log.AppStatusCrudService;
+import cn.reghao.autodop.dmaster.app.db.log.BuildLogCrudService;
+import cn.reghao.autodop.dmaster.app.db.log.CommitLogCrudService;
+import cn.reghao.autodop.dmaster.app.db.log.DeployLogCrudService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app3/scheduler/BackupScheduler.java

@@ -3,7 +3,7 @@ package cn.reghao.autodop.dmaster.app3.scheduler;
 import cn.reghao.autodop.common.shell.ShellExecutor;
 import cn.reghao.autodop.dmaster.app3.entity.App3Bak;
 import cn.reghao.autodop.dmaster.app3.entity.App3BakLog;
-import cn.reghao.autodop.dmaster.common.db.mongo.MongoCrud;
+import cn.reghao.autodop.dmaster.common.db.MongoCrud;
 import lombok.extern.slf4j.Slf4j;
 import org.quartz.*;
 import org.quartz.impl.StdSchedulerFactory;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app3/scheduler/ScriptBakJob.java

@@ -4,7 +4,7 @@ import cn.reghao.autodop.common.shell.ShellExecutor;
 import cn.reghao.autodop.common.shell.ShellResult;
 import cn.reghao.autodop.common.utils.DateTimeConverter;
 import cn.reghao.autodop.dmaster.app3.entity.App3BakLog;
-import cn.reghao.autodop.dmaster.common.db.mongo.MongoCrud;
+import cn.reghao.autodop.dmaster.common.db.MongoCrud;
 import lombok.extern.slf4j.Slf4j;
 import org.quartz.*;
 

+ 8 - 0
dmaster/src/main/java/cn/reghao/autodop/dmaster/common/db/DbQuery.java

@@ -0,0 +1,8 @@
+package cn.reghao.autodop.dmaster.common.db;
+
+/**
+ * @author reghao
+ * @date 2021-04-25 20:26:17
+ */
+public interface DbQuery {
+}

+ 8 - 0
dmaster/src/main/java/cn/reghao/autodop/dmaster/common/db/JpaQuery.java

@@ -0,0 +1,8 @@
+package cn.reghao.autodop.dmaster.common.db;
+
+/**
+ * @author reghao
+ * @date 2021-04-25 20:26:46
+ */
+public interface JpaQuery extends DbQuery {
+}

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/common/db/mongo/MongoCrud.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/common/db/MongoCrud.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.common.db.mongo;
+package cn.reghao.autodop.dmaster.common.db;
 
 import cn.reghao.autodop.dmaster.common.db.CrudOps;
 import cn.reghao.autodop.dmaster.common.db.PageList;

+ 8 - 0
dmaster/src/main/java/cn/reghao/autodop/dmaster/common/db/MongoQuery.java

@@ -0,0 +1,8 @@
+package cn.reghao.autodop.dmaster.common.db;
+
+/**
+ * @author reghao
+ * @date 2021-04-25 20:26:32
+ */
+public interface MongoQuery extends DbQuery {
+}

+ 5 - 5
dmaster/src/main/java/cn/reghao/autodop/dmaster/monitor/MonitorScheduler.java

@@ -2,7 +2,7 @@ package cn.reghao.autodop.dmaster.monitor;
 
 import cn.reghao.autodop.dmaster.app.constant.EnvType;
 import cn.reghao.autodop.dmaster.app.entity.config.AppOrchestration;
-import cn.reghao.autodop.dmaster.app.service.crud.AppOrchestrationService;
+import cn.reghao.autodop.dmaster.app.db.config.AppOrchestrationCrudService;
 import lombok.extern.slf4j.Slf4j;
 import org.quartz.*;
 import org.quartz.impl.StdSchedulerFactory;
@@ -20,15 +20,15 @@ import java.util.List;
 @Component
 public class MonitorScheduler {
     private Scheduler scheduler;
-    private AppOrchestrationService appOrchestrationService;
+    private AppOrchestrationCrudService appOrchestrationCrudService;
 
-    public MonitorScheduler(AppOrchestrationService appOrchestrationService) throws SchedulerException {
+    public MonitorScheduler(AppOrchestrationCrudService appOrchestrationCrudService) throws SchedulerException {
         this.scheduler = StdSchedulerFactory.getDefaultScheduler();
-        this.appOrchestrationService = appOrchestrationService;
+        this.appOrchestrationCrudService = appOrchestrationCrudService;
     }
 
     public void add(Class<? extends Job> clazz, String jobId, String cronExp) throws SchedulerException {
-        List<AppOrchestration> list = appOrchestrationService.find(EnvType.prod.name());
+        List<AppOrchestration> list = appOrchestrationCrudService.find(EnvType.prod.name());
         JobDataMap jobDataMap = new JobDataMap();
         jobDataMap.put("appConfigs", list);
 

+ 3 - 3
dmaster/src/test/java/cn/reghao/autodop/dmaster/app/service/RefreshServiceTest.java

@@ -7,7 +7,7 @@ import cn.reghao.autodop.dmaster.DmasterApplication;
 import cn.reghao.autodop.dmaster.app.constant.EnvType;
 import cn.reghao.autodop.dmaster.app.entity.config.AppOrchestration;
 import cn.reghao.autodop.dmaster.app.entity.config.deploy.RunningConfig;
-import cn.reghao.autodop.dmaster.app.service.crud.AppOrchestrationService;
+import cn.reghao.autodop.dmaster.app.db.config.AppOrchestrationCrudService;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
@@ -29,14 +29,14 @@ class RefreshServiceTest {
     @Autowired
     private RefreshService refreshService;
     @Autowired
-    private AppOrchestrationService appOrchestrationService;
+    private AppOrchestrationCrudService appOrchestrationCrudService;
 
     @Test
     void refreshBuildList() {
         WebRequest webRequest = new DefaultWebRequest();
 
         //refreshService.refreshBuildList("test");
-        List<AppOrchestration> list = appOrchestrationService.find(EnvType.prod.name());
+        List<AppOrchestration> list = appOrchestrationCrudService.find(EnvType.prod.name());
         List<HealthCheck> healthChecks = new ArrayList<>();
         list.forEach(appConfig -> {
             RunningConfig runningConfig = appConfig.getRunningConfig();