58408 问题知识库-分类维护删除增加校验。

This commit is contained in:
wangzhijiang
2022-08-19 14:34:45 +08:00
parent 6f298a894d
commit a977d224ac
3 changed files with 34 additions and 8 deletions
@@ -111,8 +111,8 @@ public class ProblemKnowledgeBaseClassifyEOController extends JeroController<Pro
@AutoLog(value = "问题知识库-分类表-通过id删除")
@ApiOperation(value="问题知识库-分类表-通过id删除", notes="问题知识库-分类表-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
problemKnowledgeBaseClassifyEOService.deleteById(id);
public Result<?> delete(@RequestParam(name="id",required=true) String id,@RequestParam(name="cut",required=true) String cut) {
problemKnowledgeBaseClassifyEOService.deleteById(id,cut);
return Result.OK("删除成功!");
}
@@ -125,8 +125,8 @@ public class ProblemKnowledgeBaseClassifyEOController extends JeroController<Pro
@AutoLog(value = "问题知识库-分类表-批量删除")
@ApiOperation(value="问题知识库-分类表-批量删除", notes="问题知识库-分类表-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.problemKnowledgeBaseClassifyEOService.deleteByIds(Arrays.asList(ids.split(",")));
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids,@RequestParam(name="cut",required=true) String cut) {
this.problemKnowledgeBaseClassifyEOService.deleteByIds(Arrays.asList(ids.split(",")),cut);
return Result.OK("批量删除成功!");
}
@@ -34,7 +34,7 @@ public interface IProblemKnowledgeBaseClassifyEOService extends IService<Problem
* @param id
* @return
*/
void deleteById(String id);
void deleteById(String id,String cut);
/**
* 批量删除
@@ -42,7 +42,7 @@ public interface IProblemKnowledgeBaseClassifyEOService extends IService<Problem
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
void deleteByIds(List<String> ids,String cut);
/**
* 通过id查询
@@ -1,8 +1,13 @@
package com.jero.modules.problemKnowledgeBase.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseClassifyEO;
import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseEO;
import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseClassifyEOMapper;
import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseClassifyEOService;
import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseEOService;
import com.jero.modules.project.entity.ConditionAssessmentEO;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
@@ -30,6 +35,8 @@ import org.springframework.transaction.annotation.Transactional;
public class ProblemKnowledgeBaseClassifyEOServiceImpl extends ServiceImpl<ProblemKnowledgeBaseClassifyEOMapper, ProblemKnowledgeBaseClassifyEO> implements IProblemKnowledgeBaseClassifyEOService {
@Autowired
private ISysUserService sysUserService;
@Autowired
private IProblemKnowledgeBaseEOService problemKnowledgeBaseEOService;
/**
* 保存
@@ -65,7 +72,8 @@ public class ProblemKnowledgeBaseClassifyEOServiceImpl extends ServiceImpl<Probl
* @return
*/
@Override
public void deleteById(String id) {
public void deleteById(String id,String cut) {
checkData(Arrays.asList(id.split(",")),cut);
removeById(id);
}
@@ -76,7 +84,8 @@ public class ProblemKnowledgeBaseClassifyEOServiceImpl extends ServiceImpl<Probl
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
public void deleteByIds(List<String> ids,String cut) {
checkData(ids,cut);
removeByIds(ids);
}
@@ -144,4 +153,21 @@ public class ProblemKnowledgeBaseClassifyEOServiceImpl extends ServiceImpl<Probl
});
}
}
/**
* 根据id验证数据是否能被删除。
* @param idList
*/
public void checkData(List<String> idList,String cut){
QueryWrapper<ProblemKnowledgeBaseEO> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().in(ProblemKnowledgeBaseEO::getProblemType,idList);
List<ProblemKnowledgeBaseEO> problemKnowledgeBaseEOS = this.problemKnowledgeBaseEOService.list(queryWrapper);
if(CollectionUtils.isNotEmpty(problemKnowledgeBaseEOS)){
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
throw new JeroBootException("分类不能删除,已经被问题知识库引用!");
}else if(StringUtils.equals(cut, CutEnum.EN.getValue())){
throw new JeroBootException("Classification cannot be deleted, has been referenced by the problem knowledge base!");
}
}
}
}