|
@@ -1,7 +1,6 @@
|
|
|
|
|
|
package com.redxun.knowledge.service;
|
|
|
|
|
|
-import cn.hutool.core.bean.BeanUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
@@ -10,30 +9,22 @@ import com.redxun.common.base.db.BaseService;
|
|
|
import com.redxun.common.base.db.PageHelper;
|
|
|
import com.redxun.common.base.search.QueryFilter;
|
|
|
import com.redxun.common.model.JPaasUser;
|
|
|
-import com.redxun.common.tool.IdGenerator;
|
|
|
import com.redxun.common.service.impl.SuperServiceImpl;
|
|
|
-import com.redxun.common.utils.ExceptionUtil;
|
|
|
+import com.redxun.common.tool.IdGenerator;
|
|
|
import com.redxun.knowledge.common.UserService;
|
|
|
import com.redxun.knowledge.entity.dao.*;
|
|
|
import com.redxun.knowledge.entity.dto.knowledgeDto;
|
|
|
-import com.redxun.knowledge.entity.vo.BannerPcVo;
|
|
|
import com.redxun.knowledge.entity.vo.KnowledgeApprovalVo;
|
|
|
import com.redxun.knowledge.entity.vo.KnowledgeCategoryAdminVo;
|
|
|
import com.redxun.knowledge.entity.vo.KnowledgeVo;
|
|
|
-import com.redxun.knowledge.mapper.BannerMapper;
|
|
|
-import com.redxun.knowledge.mapper.KnowledgeApprovalNodeMapper;
|
|
|
-import com.redxun.knowledge.mapper.KnowledgeApproveMapper;
|
|
|
-import com.redxun.knowledge.mapper.KnowledgeMapper;
|
|
|
-import org.checkerframework.checker.units.qual.K;
|
|
|
+import com.redxun.knowledge.mapper.*;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.stream.Collectors;
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* [业务--知识表]业务服务类
|
|
@@ -59,6 +50,9 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
|
@Autowired
|
|
|
private BannerMapper bannerMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private KnowledgeCategoryMapper knowledgeCategoryMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public BaseDao<Knowledge> getRepository() {
|
|
|
return knowledgeMapper;
|
|
@@ -263,4 +257,48 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
|
|
|
}
|
|
|
return page;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据分类id查询工作成果列表和经验案例列表
|
|
|
+ * @param filter
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public IPage getAllKnowledgeByCategoryId(QueryFilter filter) {
|
|
|
+ Map<String, Object> params = PageHelper.constructParams(filter);
|
|
|
+ IPage page = knowledgeMapper.getAllKnowledgeByCategoryId(filter.getPage(), filter.getParams(), params);
|
|
|
+ List<KnowledgeVo> knowledgeVoList = page.getRecords();
|
|
|
+ knowledgeVoList.forEach(e -> {
|
|
|
+ KnowledgeCategoryAdminVo knowledgeCategoryAdminVo = knowledgeCategoryService.findAllParentByCategoryId(e.getCategoryId());
|
|
|
+ e.setKnowledgeCategoryAdminVo(knowledgeCategoryAdminVo);
|
|
|
+ });
|
|
|
+ List<KnowledgeVo> result = new ArrayList<>(knowledgeVoList);
|
|
|
+ knowledgeVoList.forEach(e -> {
|
|
|
+ //把一级分类下的分类的知识加入返回结果集
|
|
|
+ KnowledgeCategory knowledgeCategory = knowledgeCategoryMapper.selectById(e.getCategoryId());
|
|
|
+ KnowledgeCategoryAdminVo knowledgeCategoryAdminVo = new KnowledgeCategoryAdminVo();
|
|
|
+ BeanUtils.copyProperties(knowledgeCategory,knowledgeCategoryAdminVo);
|
|
|
+ List<KnowledgeCategoryAdminVo> childrens = knowledgeCategoryService.findChildrens(knowledgeCategoryAdminVo);
|
|
|
+ childrens.forEach(children -> {
|
|
|
+ List<Knowledge> knowledgeList = this.baseMapper.selectList(new QueryWrapper<Knowledge>().eq("CATEGORY_ID", children.getPkId()));
|
|
|
+ List<KnowledgeVo> collect = knowledgeList.stream().map(h -> {
|
|
|
+ KnowledgeVo knowledgeVo = new KnowledgeVo();
|
|
|
+ BeanUtils.copyProperties(h, knowledgeVo);
|
|
|
+ return knowledgeVo;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ collect.forEach(g -> {
|
|
|
+ KnowledgeCategoryAdminVo knowledgeCategoryAdminVos = knowledgeCategoryService.findAllParentByCategoryId(g.getCategoryId());
|
|
|
+ g.setKnowledgeCategoryAdminVo(knowledgeCategoryAdminVos);
|
|
|
+ });
|
|
|
+
|
|
|
+ result.addAll(collect);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ // 按照创建时间排序
|
|
|
+ List<KnowledgeVo> collect = result.stream().
|
|
|
+ sorted((t1, t2) -> t2.getCreateTime().compareTo(t1.getCreateTime())).collect(Collectors.toList());
|
|
|
+ page.setRecords(collect);
|
|
|
+ page.setTotal(collect.size());
|
|
|
+ return page;
|
|
|
+ }
|
|
|
}
|