Просмотр исходного кода

作者:张哲
时间:2022/12/1
类型:开发
描述:知识列表

ZizgZh 2 лет назад
Родитель
Сommit
29fec697ab

+ 26 - 0
src/main/java/com/redxun/knowledge/controller/KnowledgeController.java

@@ -1,9 +1,15 @@
 
 package com.redxun.knowledge.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.redxun.common.annotation.ClassDefine;
 import com.redxun.common.base.db.BaseService;
+import com.redxun.common.base.entity.JsonPageResult;
 import com.redxun.common.base.entity.JsonResult;
+import com.redxun.common.base.entity.QueryData;
+import com.redxun.common.base.search.QueryFilter;
+import com.redxun.common.base.search.QueryFilterBuilder;
+import com.redxun.common.utils.ExceptionUtil;
 import com.redxun.knowledge.entity.dao.Knowledge;
 import com.redxun.knowledge.entity.dto.knowledgeDto;
 import com.redxun.knowledge.entity.vo.KnowledgeApprovalVo;
@@ -11,8 +17,10 @@ import com.redxun.knowledge.entity.vo.KnowledgeVo;
 import com.redxun.knowledge.service.KnowledgeServiceImpl;
 import com.redxun.web.controller.BaseController;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import oracle.jdbc.proxy.annotation.Post;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -66,5 +74,23 @@ public class KnowledgeController extends BaseController<Knowledge> {
         jsonResult.setData(knowledgeService.info(pkId));
         return jsonResult;
     }
+
+    @ApiOperation(value = "知识列表(分页后台)")
+    @ApiImplicitParam(name = "queryData", value = "查询条件")
+    @PostMapping("findAllKnowledge")
+    public JsonPageResult findAllKnowledge(@RequestBody QueryData queryData) {
+        JsonPageResult jsonResult = JsonPageResult.getSuccess("返回数据成功!");
+        try {
+            QueryFilter filter = QueryFilterBuilder.createQueryFilter(queryData);
+            IPage page = knowledgeService.findAllKnowledge(filter);
+            this.handlePage(page);
+            jsonResult.setPageData(page);
+        } catch (Exception e) {
+            jsonResult.setSuccess(false);
+            this.logger.error(ExceptionUtil.getExceptionMessage(e));
+            jsonResult.setMessage(ExceptionUtil.getExceptionMessage(e));
+        }
+        return jsonResult;
+    }
 }
 

+ 2 - 2
src/main/java/com/redxun/knowledge/entity/dao/Knowledge.java

@@ -40,8 +40,8 @@ public class Knowledge  extends BaseExtEntity<java.lang.String> {
     @TableField(value = "CATEGORY_ID")
     private String categoryId;
     //标题
-    @TableField(value = "TITLE")
-    private String title;
+    @TableField(value = "TITLES")
+    private String titles;
     //知识类型;1-文档知识 2-维基知识
     @TableField(value = "TYPE")
     private Integer type;

+ 1 - 1
src/main/java/com/redxun/knowledge/entity/dto/knowledgeDto.java

@@ -20,7 +20,7 @@ public class knowledgeDto {
 
     @NotBlank(message = "缺失关键参数:知识标题")
     // 知识标题
-    private String title;
+    private String titles;
 
     // 知识概要
     private String summary;

+ 1 - 1
src/main/java/com/redxun/knowledge/entity/vo/KnowledgeVo.java

@@ -33,7 +33,7 @@ public class KnowledgeVo {
     }
 
     // 知识标题
-    private String title;
+    private String titles;
 
     // 作者名称
     private String author;

+ 5 - 0
src/main/java/com/redxun/knowledge/mapper/KnowledgeMapper.java

@@ -1,10 +1,13 @@
 package com.redxun.knowledge.mapper;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.redxun.knowledge.entity.dao.Knowledge;
 import org.apache.ibatis.annotations.Mapper;
 import com.redxun.common.base.db.BaseDao;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Map;
+
 /**
  * 业务--知识表数据库访问层
  */
@@ -12,4 +15,6 @@ import org.apache.ibatis.annotations.Param;
 public interface KnowledgeMapper extends BaseDao<Knowledge> {
 
     void create(@Param("param") Knowledge knowledge);
+
+    IPage findAllKnowledge(IPage page, @Param("params") Map<String, Object> params,@Param("w") Map<String, Object> order);
 }

+ 2 - 2
src/main/java/com/redxun/knowledge/service/BannerServiceImpl.java

@@ -72,7 +72,7 @@ public class BannerServiceImpl extends SuperServiceImpl<BannerMapper, Banner> im
                 Map<String, Object> map = new HashMap<>();
                 Knowledge knowledge = knowledgeService.get(knowledgeId);
                 if (knowledge != null){
-                    map.put("knowledgeName",knowledge.getTitle());
+                    map.put("knowledgeName",knowledge.getTitles());
                 }
                 e.setParams(map);
             }
@@ -95,7 +95,7 @@ public class BannerServiceImpl extends SuperServiceImpl<BannerMapper, Banner> im
             if(knowledge != null){
                 KnowledgeCategory knowledgeCategory = knowledgeCategoryService.findAllByCategoryId(knowledge.getCategoryId());
                 Map<String,Object> map = new HashMap<>();
-                map.put("knowledgeName",knowledge.getTitle());
+                map.put("knowledgeName",knowledge.getTitles());
                 map.put("knowledgeCategory",knowledgeCategory);
                 banner.setParams(map);
             }

+ 17 - 2
src/main/java/com/redxun/knowledge/service/KnowledgeServiceImpl.java

@@ -3,9 +3,12 @@ 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;
 import com.redxun.common.base.db.BaseDao;
 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;
@@ -26,6 +29,7 @@ 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;
 
@@ -67,7 +71,7 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
         if (knowledgeDto != null) {
             Knowledge knowledge = new Knowledge();
             knowledge.setPkId(IdGenerator.getIdStr());
-            knowledge.setTitle(knowledgeDto.getTitle());
+            knowledge.setTitles(knowledgeDto.getTitles());
             knowledge.setCategoryId(knowledgeDto.getCategoryId());
             knowledge.setType(knowledgeDto.getType());
             knowledge.setSummary(knowledgeDto.getSummary());
@@ -154,7 +158,7 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
         knowledgeVo.setPkId(knowledge.getPkId());
         knowledgeVo.setCategoryId(knowledge.getCategoryId());
         knowledgeVo.setType(knowledge.getType());
-        knowledgeVo.setTitle(knowledge.getTitle());
+        knowledgeVo.setTitles(knowledge.getTitles());
         knowledgeVo.setAuthor(knowledge.getAuthor());
         knowledgeVo.setContent(knowledge.getContent());
         knowledgeVo.setSummary(knowledge.getSummary());
@@ -164,4 +168,15 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
         knowledgeVo.setApprovals(approvals);
         return knowledgeVo;
     }
+
+    /**
+     * 查看全部知识
+     * @param filter
+     * @return
+     */
+    public IPage findAllKnowledge(QueryFilter filter) {
+        Map<String, Object> params = PageHelper.constructParams(filter);
+        IPage page = knowledgeMapper.findAllKnowledge(filter.getPage(), filter.getParams(), params);
+        return page;
+    }
 }

+ 35 - 2
src/main/resources/mapper/knowledge/KnowledgeMapper.xml

@@ -5,7 +5,7 @@
     <resultMap id="Knowledge" type="com.redxun.knowledge.entity.dao.Knowledge">
                 <id property="pkId" column="PK_ID" jdbcType="VARCHAR"/>
                 <result property="categoryId" column="CATEGORY_ID" jdbcType="VARCHAR"/>
-                <result property="title" column="TITLE" jdbcType="VARCHAR"/>
+                <result property="titles" column="TITLES" jdbcType="VARCHAR"/>
                 <result property="type" column="TYPE" jdbcType="INTEGER"/>
                 <result property="summary" column="SUMMARY" jdbcType="VARCHAR"/>
                 <result property="views" column="VIEWS" jdbcType="INTEGER"/>
@@ -27,9 +27,17 @@
                 <result property="updateTime" column="UPDATE_TIME_" jdbcType="DATE"/>
     </resultMap>
 
+    <sql id="COLUMNS">
+        PK_ID,CATEGORY_ID,TITLES,TYPE,SUMMARY,VIEWS,AUTHOR,CONTENT,ATTACHMENT,
+        ATTACHMENT_NAME,ATTACHMENT_TYPE,APPROVAL_STATUS,APPROVAL_BATCH,ORGANIZATION_ID,IS_DEL,
+        COMPANY_ID_,CREATE_DEP_ID_,TENANT_ID_,CREATE_BY_,CREATE_TIME_,UPDATE_BY_,UPDATE_TIME_
+    </sql>
+
 
     <select id="query" resultType="com.redxun.knowledge.entity.dao.Knowledge" parameterType="java.util.Map">
-        select PK_ID,CATEGORY_ID,TITLE,TYPE,SUMMARY,VIEWS,AUTHOR,CONTENT,ATTACHMENT,ATTACHMENT_NAME,ATTACHMENT_TYPE,APPROVAL_STATUS,APPROVAL_BATCH,ORGANIZATION_ID,IS_DEL,COMPANY_ID_,CREATE_DEP_ID_,TENANT_ID_,CREATED_BY_,CREATED_TIME_,UPDATED_BY_,UPDATED_TIME_ from KM_KNOWLEDGE
+        select PK_ID,CATEGORY_ID,TITLE,TYPE,SUMMARY,VIEWS,AUTHOR,CONTENT,ATTACHMENT,
+        ATTACHMENT_NAME,ATTACHMENT_TYPE,APPROVAL_STATUS,APPROVAL_BATCH,ORGANIZATION_ID,IS_DEL,
+        COMPANY_ID_,CREATE_DEP_ID_,TENANT_ID_,CREATED_BY_,CREATED_TIME_,UPDATED_BY_,UPDATED_TIME_ from KM_KNOWLEDGE
         <where>
             <if test="@rx.Ognl@isNotEmpty(w.whereSql)">
                 ${w.whereSql}
@@ -43,6 +51,31 @@
         </if>
     </select>
 
+    <select id="findAllKnowledge" resultType="com.redxun.knowledge.entity.vo.BannerAdminVo">
+    SELECT
+    <include refid="COLUMNS" />
+    FROM KM_KNOWLEDGE
+    <where>
+        <if test="@rx.Ognl@isNotEmpty(params.titles)">
+            TITLES LIKE '%' || #{params.titles} || '%'
+        </if>
+        <if test="@rx.Ognl@isNotEmpty(params.type)">
+            and TYPE = #{params.type}
+        </if>
+        <if test="@rx.Ognl@isNotEmpty(params.author)">
+            and AUTHOR = #{params.author}
+        </if>
+        <if test="@rx.Ognl@isNotEmpty(params.beginTime)">
+            and CREATE_TIME_ &gt;= TO_DATE(#{params.beginTime}, 'YYYY-MM-DD')
+        </if>
+        <if test="@rx.Ognl@isNotEmpty(params.endTime)">
+            and CREATE_TIME_ &lt;= TO_DATE(#{params.endTime}, 'YYYY-MM-DD')
+        </if>
+        and IS_DEL = 0
+    </where>
+    ORDER BY CREATE_TIME_ DESC
+    </select>
+
 
 </mapper>