Parcourir la source

更新 AppConfigServiceImpl 的 delete 方法

reghao il y a 1 an
Parent
commit
3f43f55781

+ 1 - 0
web/src/main/java/cn/reghao/bnt/web/devops/app/db/repository/AppBuildingRepository.java

@@ -1,6 +1,7 @@
 package cn.reghao.bnt.web.devops.app.db.repository;
 
 import cn.reghao.bnt.web.devops.app.model.po.AppBuilding;
+import cn.reghao.bnt.web.devops.app.model.po.log.BuildLog;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.JpaRepository;

+ 2 - 1
web/src/main/java/cn/reghao/bnt/web/devops/app/db/repository/log/DeployLogRepository.java

@@ -13,7 +13,8 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
  * @date 2020-01-21 14:53:03
  */
 public interface DeployLogRepository extends JpaRepository<DeployLog, String>, JpaSpecificationExecutor<DeployLog> {
+    void deleteByBuildLog(BuildLog buildLog);
+
     Page<DeployLog> findByBuildLogAndMachineHost(BuildLog buildLog, MachineHost machineHost, Pageable pageable);
     Page<DeployLog> findByMachineHostAndCode(MachineHost machineHost, int code, Pageable pageable);
-    void deleteByBuildLog(BuildLog buildLog);
 }

+ 5 - 1
web/src/main/java/cn/reghao/bnt/web/devops/app/service/bd/BuildLogService.java

@@ -1,5 +1,6 @@
 package cn.reghao.bnt.web.devops.app.service.bd;
 
+import cn.reghao.bnt.web.devops.app.db.repository.AppBuildingRepository;
 import cn.reghao.bnt.web.devops.app.db.repository.log.BuildLogRepository;
 import cn.reghao.bnt.web.devops.app.db.repository.log.DeployLogRepository;
 import cn.reghao.bnt.web.devops.app.model.po.config.AppConfig;
@@ -18,10 +19,13 @@ import java.util.List;
 public class BuildLogService {
     private final BuildLogRepository buildLogRepository;
     private final DeployLogRepository deployLogRepository;
+    private AppBuildingRepository buildingRepository;
 
-    public BuildLogService(BuildLogRepository buildLogRepository, DeployLogRepository deployLogRepository) {
+    public BuildLogService(BuildLogRepository buildLogRepository, DeployLogRepository deployLogRepository,
+                           AppBuildingRepository buildingRepository) {
         this.buildLogRepository = buildLogRepository;
         this.deployLogRepository = deployLogRepository;
+        this.buildingRepository = buildingRepository;
     }
 
     @Modifying

+ 4 - 3
web/src/main/java/cn/reghao/bnt/web/devops/app/service/config/impl/AppConfigServiceImpl.java

@@ -156,6 +156,7 @@ public class AppConfigServiceImpl implements AppConfigService {
         return Result.result(ResultStatus.SUCCESS);
     }
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public Result delete(String appId) {
         AppConfig app = appConfigRepository.findByAppId(appId);
@@ -163,11 +164,11 @@ public class AppConfigServiceImpl implements AppConfigService {
             return Result.result(ResultStatus.FAIL, appId + " 不存在");
         }
 
-        BuildTools.removeApp(app.getAppId());
-        deployConfigService.delete(app);
+        buildStat.delete(app);
         buildLogService.delete(app);
+        deployConfigService.delete(app);
         appConfigRepository.delete(app);
-        buildStat.delete(app);
+        BuildTools.removeApp(app.getAppId());
         return Result.result(ResultStatus.SUCCESS);
     }