fix: ASW-125 以引用 package 不可删除

This commit is contained in:
zhangshuai
2024-10-30 16:48:55 +08:00
parent 69eef064c2
commit 7decd03eaa
3 changed files with 15 additions and 0 deletions

View File

@@ -56,6 +56,7 @@ public enum RCode {
PACKAGE_ID_CANNOT_EMPTY(202001, "package id cannot be empty"), PACKAGE_ID_CANNOT_EMPTY(202001, "package id cannot be empty"),
PACKAGE_DESCRIPTION_CANNOT_EMPTY(202002, "package description cannot be empty"), PACKAGE_DESCRIPTION_CANNOT_EMPTY(202002, "package description cannot be empty"),
PACKAGE_FILE_TYPE_ERROR(202003, "package invalid file"), PACKAGE_FILE_TYPE_ERROR(202003, "package invalid file"),
PACKAGE_CANNOT_DELETE(202004, "The referenced package cannot be deleted"),
// GIT // GIT

View File

@@ -3,6 +3,7 @@ package net.geedge.asw.module.app.service.impl;
import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import cn.hutool.log.Log; 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.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import net.geedge.asw.common.config.Query; 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.ApkInfo;
import net.geedge.asw.module.app.util.ApkUtil; import net.geedge.asw.module.app.util.ApkUtil;
import net.geedge.asw.module.app.util.PkgConstant; 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.entity.SysUserEntity;
import net.geedge.asw.module.sys.service.ISysUserService; import net.geedge.asw.module.sys.service.ISysUserService;
import net.geedge.asw.module.workbook.service.IWorkbookResourceService; import net.geedge.asw.module.workbook.service.IWorkbookResourceService;
@@ -42,6 +45,9 @@ public class PackageServiceImpl extends ServiceImpl<PackageDao, PackageEntity> i
@Autowired @Autowired
private IWorkbookResourceService workbookResourceService; private IWorkbookResourceService workbookResourceService;
@Autowired
private IJobService jobService;
@Override @Override
public PackageEntity queryInfo(String id) { public PackageEntity queryInfo(String id) {
PackageEntity entity = this.getById(id); PackageEntity entity = this.getById(id);
@@ -125,6 +131,12 @@ public class PackageServiceImpl extends ServiceImpl<PackageDao, PackageEntity> i
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void removePackage(List<String> ids) { public void removePackage(List<String> ids) {
List<JobEntity> jobList = jobService.list(new LambdaQueryWrapper<JobEntity>().in(JobEntity::getPackageId, ids));
if (T.CollUtil.isNotEmpty(jobList)) {
throw new ASWException(RCode.PACKAGE_CANNOT_DELETE);
}
for (String id : ids) { for (String id : ids) {
PackageEntity entity = this.getById(id); PackageEntity entity = this.getById(id);
// remove file // remove file

View File

@@ -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 (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 (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 (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; SET FOREIGN_KEY_CHECKS = 1;