diff --git a/src/main/java/com/jsl/oa/mapper/ModuleMapper.java b/src/main/java/com/jsl/oa/mapper/ModuleMapper.java index 2dc50a9..15b638c 100644 --- a/src/main/java/com/jsl/oa/mapper/ModuleMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ModuleMapper.java @@ -26,4 +26,7 @@ public interface ModuleMapper { @Delete("DELETE FROM organize_oa.oa_project_work WHERE id = #{id}") void deleteMoudule(Long id); + + @Select("select * from organize_oa.oa_project_work where pid=#{id} and is_delete=0 and type=1 ") + List getAllMoudleByPid(Long id); } diff --git a/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java index 9d0c275..161d0e9 100644 --- a/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java @@ -61,15 +61,30 @@ public class ModuleServiceImpl implements ModuleService { return ResultUtil.success(projectWorkDOList); } + @Override public BaseResponse deleteById(HttpServletRequest request, Long id) { +// 检测是否为管理员 if(!Processing.checkUserIsAdmin(request,roleMapper)){ return ResultUtil.error(ErrorCode.NOT_PERMISSION); } - moduleMapper.deleteMoudule(id); + deleteMoudule(id); return ResultUtil.success("删除成功"); } + +// 删除子模块方法 + public void deleteMoudule(Long id){ + //获取所有父Id=id的子模块 + List projectWorkDOS = moduleMapper.getAllMoudleByPid(id); + + for(ProjectWorkDO workDO: projectWorkDOS){ + deleteMoudule(workDO.getId()); + } + + moduleMapper.deleteMoudule(id); + } + }