|
@@ -11,11 +11,17 @@ import com.redxun.common.base.search.QueryFilter;
|
|
|
import com.redxun.common.service.impl.SuperServiceImpl;
|
|
|
import com.redxun.common.tool.BeanUtil;
|
|
|
import com.redxun.common.tool.IdGenerator;
|
|
|
+import com.redxun.knowledge.entity.dao.Knowledge;
|
|
|
import com.redxun.knowledge.entity.dao.KnowledgeCategory;
|
|
|
import com.redxun.knowledge.entity.vo.KnowledgeCategoryAdminVo;
|
|
|
import com.redxun.knowledge.mapper.KnowledgeCategoryMapper;
|
|
|
+import com.redxun.knowledge.mapper.KnowledgeMapper;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.io.Serializable;
|
|
@@ -27,11 +33,15 @@ import java.util.stream.Collectors;
|
|
|
* [业务--知识分类表]业务服务类
|
|
|
*/
|
|
|
@Service
|
|
|
+@Slf4j
|
|
|
public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCategoryMapper, KnowledgeCategory> implements BaseService<KnowledgeCategory> {
|
|
|
|
|
|
@Resource
|
|
|
private KnowledgeCategoryMapper knowledgeCategoryMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private KnowledgeMapper knowledgeMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public BaseDao<KnowledgeCategory> getRepository() {
|
|
|
return knowledgeCategoryMapper;
|
|
@@ -134,12 +144,6 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
return this.getRepository().updateById(entity);
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public KnowledgeCategory get(Serializable id) {
|
|
|
- KnowledgeCategory knowledgeCategory = this.getRepository().selectById(id);
|
|
|
- return knowledgeCategory;
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 根据id进行数据回显
|
|
|
* @param pkId
|
|
@@ -152,6 +156,29 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
return knowledgeCategoryAdminVo;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 删除知识分类(若分类下还有关联的知识,无法删除)
|
|
|
+ * @param knowledgeCategoryId
|
|
|
+ */
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Integer deleteKnowledgeCategory(String knowledgeCategoryId) {
|
|
|
+ // 查询该分类下是否还有知识
|
|
|
+ Boolean hasKnowledge = hasKnowledge(knowledgeCategoryId);
|
|
|
+ if (hasKnowledge){
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ // 查询该分类的下是否还有子分类
|
|
|
+ KnowledgeCategory knowledgeCategory = this.baseMapper.selectById(knowledgeCategoryId);
|
|
|
+ Boolean hasChirld = findHasChirld(knowledgeCategory);
|
|
|
+ if (hasChirld){
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ // 变更sort
|
|
|
+ knowledgeCategoryMapper.deleteBySort(knowledgeCategory.getParent(),knowledgeCategory.getSort());
|
|
|
+ knowledgeCategoryMapper.deleteKnowledgeCategory(knowledgeCategoryId);
|
|
|
+ return 2;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
|
|
|
// 查询孩子节点(非递归)
|
|
@@ -194,4 +221,12 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ // 判断分类下是否还有知识
|
|
|
+ private Boolean hasKnowledge(String knowledgeCategoryId){
|
|
|
+ QueryWrapper<Knowledge> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("CATEGORY_ID",knowledgeCategoryId);
|
|
|
+ List<Knowledge> knowledges = knowledgeMapper.selectList(queryWrapper);
|
|
|
+ return knowledges.size() > 0;
|
|
|
+ }
|
|
|
}
|