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_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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user