From 7decd03eaa76f1fa895ce314cab580c865a0304c Mon Sep 17 00:00:00 2001 From: zhangshuai Date: Wed, 30 Oct 2024 16:48:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20ASW-125=20=E4=BB=A5=E5=BC=95=E7=94=A8=20?= =?UTF-8?q?package=20=E4=B8=8D=E5=8F=AF=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/net/geedge/asw/common/util/RCode.java | 1 + .../module/app/service/impl/PackageServiceImpl.java | 12 ++++++++++++ src/main/resources/db/migration/R__AZ_sys_i18n.sql | 2 ++ 3 files changed, 15 insertions(+) diff --git a/src/main/java/net/geedge/asw/common/util/RCode.java b/src/main/java/net/geedge/asw/common/util/RCode.java index 6289bfb..8d8e0ec 100644 --- a/src/main/java/net/geedge/asw/common/util/RCode.java +++ b/src/main/java/net/geedge/asw/common/util/RCode.java @@ -56,6 +56,7 @@ public enum RCode { PACKAGE_ID_CANNOT_EMPTY(202001, "package id cannot be empty"), PACKAGE_DESCRIPTION_CANNOT_EMPTY(202002, "package description cannot be empty"), PACKAGE_FILE_TYPE_ERROR(202003, "package invalid file"), + PACKAGE_CANNOT_DELETE(202004, "The referenced package cannot be deleted"), // GIT diff --git a/src/main/java/net/geedge/asw/module/app/service/impl/PackageServiceImpl.java b/src/main/java/net/geedge/asw/module/app/service/impl/PackageServiceImpl.java index 1246c55..647cd46 100644 --- a/src/main/java/net/geedge/asw/module/app/service/impl/PackageServiceImpl.java +++ b/src/main/java/net/geedge/asw/module/app/service/impl/PackageServiceImpl.java @@ -3,6 +3,7 @@ package net.geedge.asw.module.app.service.impl; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.io.FileUtil; import cn.hutool.log.Log; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import net.geedge.asw.common.config.Query; @@ -16,6 +17,8 @@ import net.geedge.asw.module.app.service.IPackageService; import net.geedge.asw.module.app.util.ApkInfo; import net.geedge.asw.module.app.util.ApkUtil; import net.geedge.asw.module.app.util.PkgConstant; +import net.geedge.asw.module.runner.entity.JobEntity; +import net.geedge.asw.module.runner.service.IJobService; import net.geedge.asw.module.sys.entity.SysUserEntity; import net.geedge.asw.module.sys.service.ISysUserService; import net.geedge.asw.module.workbook.service.IWorkbookResourceService; @@ -42,6 +45,9 @@ public class PackageServiceImpl extends ServiceImpl i @Autowired private IWorkbookResourceService workbookResourceService; + @Autowired + private IJobService jobService; + @Override public PackageEntity queryInfo(String id) { PackageEntity entity = this.getById(id); @@ -125,6 +131,12 @@ public class PackageServiceImpl extends ServiceImpl i @Override @Transactional(rollbackFor = Exception.class) public void removePackage(List ids) { + + List jobList = jobService.list(new LambdaQueryWrapper().in(JobEntity::getPackageId, ids)); + if (T.CollUtil.isNotEmpty(jobList)) { + throw new ASWException(RCode.PACKAGE_CANNOT_DELETE); + } + for (String id : ids) { PackageEntity entity = this.getById(id); // remove file diff --git a/src/main/resources/db/migration/R__AZ_sys_i18n.sql b/src/main/resources/db/migration/R__AZ_sys_i18n.sql index 26cc1a1..ca92eae 100644 --- a/src/main/resources/db/migration/R__AZ_sys_i18n.sql +++ b/src/main/resources/db/migration/R__AZ_sys_i18n.sql @@ -147,5 +147,7 @@ INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_ INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_user_id`, `update_timestamp`) VALUES (239, '203002', 'GIT_MERGE_FAILED', '合并失败', 'zh', '', 'admin', 1724030366000); INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_user_id`, `update_timestamp`) VALUES (240, '302003', 'PLAYBOOK_INVALID_FILE', 'playbook Invalid file', 'en', '', 'admin', 1724030366000); INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_user_id`, `update_timestamp`) VALUES (241, '302003', 'PLAYBOOK_INVALID_FILE', '无效文件', 'zh', '', 'admin', 1724030366000); +INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_user_id`, `update_timestamp`) VALUES (242, '202004', 'PACKAGE_CANNOT_DELETE', 'The referenced package cannot be deleted', 'en', '', 'admin', 1724030366000); +INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_user_id`, `update_timestamp`) VALUES (243, '202004', 'PACKAGE_CANNOT_DELETE', '以引用安装包不能删除', 'zh', '', 'admin', 1724030366000); SET FOREIGN_KEY_CHECKS = 1;