fix: ASW-125 以引用 package 不可删除
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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<PackageDao, PackageEntity> 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<PackageDao, PackageEntity> i
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
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) {
|
||||
PackageEntity entity = this.getById(id);
|
||||
// remove 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 (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;
|
||||
|
||||
Reference in New Issue
Block a user