Эх сурвалжийг харах

高速投资效益系统-删除类型时判断当前类型是否正在使用

LHB 2 сар өмнө
parent
commit
983dc46fe8

+ 16 - 1
src/main/java/org/springblade/modules/system/controller/DictBizController.java

@@ -45,7 +45,11 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
+import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringPool;
+import org.springblade.modules.investment.mapper.IbaProjectMapper;
+import org.springblade.modules.investment.pojo.entity.IbaProject;
+import org.springblade.modules.project.mapper.ProjectInfoMapper;
 import org.springblade.modules.system.pojo.dto.DictBizDTO;
 import org.springblade.modules.system.pojo.entity.DictBiz;
 import org.springblade.modules.system.service.IDictBizService;
@@ -72,6 +76,8 @@ public class DictBizController extends BladeController {
 
 	private final IDictBizService dictService;
 
+	private final IbaProjectMapper projectMapper;
+
 	/**
 	 * 详情
 	 */
@@ -178,7 +184,16 @@ public class DictBizController extends BladeController {
 	@ApiOperationSupport(order = 7)
 	@Operation(summary = "删除", description = "传入ids")
 	public R remove(@Parameter(name = "主键集合", required = true) @RequestParam String ids) {
-		CacheUtil.clear(DICT_CACHE);
+        Long l = projectMapper.selectCount(Wrappers.<IbaProject>lambdaQuery()
+                .in(IbaProject::getType, Func.toLongList(ids))
+                .or()
+                .in(IbaProject::getRouteType, Func.toLongList(ids))
+        );
+        if(l > 0){
+            return R.fail("当前类型正在使用");
+        }
+
+        CacheUtil.clear(DICT_CACHE);
 		return R.status(dictService.removeDict(ids));
 	}