Browse Source

接口:新增知识

YangL 2 years ago
parent
commit
2ea1fa09e4

+ 3 - 1
src/main/java/com/redxun/knowledge/controller/KnowledgeController.java

@@ -13,8 +13,10 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.validation.Valid;
 import java.util.List;
 
 @Slf4j
@@ -49,7 +51,7 @@ public class KnowledgeController extends BaseController<Knowledge> {
 
     @ApiOperation("新增知识")
     @GetMapping("create")
-    public JsonResult create(@RequestBody knowledgeDto knowledgeDto) {
+    public JsonResult create(@Validated @RequestBody knowledgeDto knowledgeDto) {
         JsonResult jsonResult = JsonResult.getSuccessResult("新增知识成功!");
         String pkId = knowledgeService.create(knowledgeDto);
         jsonResult.setData(pkId);

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

@@ -2,16 +2,22 @@ package com.redxun.knowledge.entity.dto;
 
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
 // 知识DTO
 @Data
 public class knowledgeDto {
 
+    @NotBlank(message = "缺失关键参数:知识分类")
     // 知识分类ID
     private String categoryId;
 
+    @NotNull(message = "缺失关键参数:知识类型")
     // 知识类型 1-文档知识 2-维基知识
     private Integer type;
 
+    @NotBlank(message = "缺失关键参数:知识标题")
     // 知识标题
     private String title;
 

+ 4 - 2
src/main/java/com/redxun/knowledge/mapper/KnowledgeMapper.java

@@ -3,11 +3,13 @@ package com.redxun.knowledge.mapper;
 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;
 
 /**
-* 业务--知识表数据库访问层
-*/
+ * 业务--知识表数据库访问层
+ */
 @Mapper
 public interface KnowledgeMapper extends BaseDao<Knowledge> {
 
+    void create(@Param("param") Knowledge knowledge);
 }

+ 22 - 4
src/main/java/com/redxun/knowledge/service/KnowledgeServiceImpl.java

@@ -5,26 +5,32 @@ import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.redxun.common.base.db.BaseDao;
 import com.redxun.common.base.db.BaseService;
+import com.redxun.common.model.JPaasUser;
 import com.redxun.common.tool.IdGenerator;
 import com.redxun.common.service.impl.SuperServiceImpl;
+import com.redxun.knowledge.common.UserService;
 import com.redxun.knowledge.entity.dao.Knowledge;
 import com.redxun.knowledge.entity.dto.knowledgeDto;
 import com.redxun.knowledge.mapper.KnowledgeMapper;
 import org.springframework.stereotype.Service;
+
 import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
 
 /**
-* [业务--知识表]业务服务类
-*/
+ * [业务--知识表]业务服务类
+ */
 @Service
 public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Knowledge> implements BaseService<Knowledge> {
 
     @Resource
     private KnowledgeMapper knowledgeMapper;
 
+    @Resource
+    private UserService userService;
+
     @Override
     public BaseDao<Knowledge> getRepository() {
         return knowledgeMapper;
@@ -33,13 +39,13 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
     /**
      * 查询全部维基知识
      */
-    public List<Knowledge> findAllWiki(String categoryId){
+    public List<Knowledge> findAllWiki(String categoryId) {
         //List<Knowledge> knowledges = knowledgeMapper.selectList(null);
         //List<Knowledge> knowledgeWikiList = knowledges.stream().
         //        filter(knowledge -> knowledge.getType() == 2).collect(Collectors.toList());
         QueryWrapper<Knowledge> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("CATEGORY_ID", categoryId);
-        queryWrapper.eq("TYPE",2);
+        queryWrapper.eq("TYPE", 2);
         List<Knowledge> knowledgeWikiList = knowledgeMapper.selectList(queryWrapper);
         return knowledgeWikiList;
     }
@@ -48,6 +54,18 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
         if (knowledgeDto != null) {
             Knowledge knowledge = new Knowledge();
             knowledge.setPkId(IdGenerator.getIdStr());
+            knowledge.setTitle(knowledgeDto.getTitle());
+            knowledge.setCategoryId(knowledgeDto.getCategoryId());
+            knowledge.setType(knowledgeDto.getType());
+            knowledge.setSummary(knowledgeDto.getSummary());
+            knowledge.setAttachment(knowledgeDto.getAttachment());
+            knowledge.setAttachmentType(knowledgeDto.getAttachmentType());
+            knowledge.setContent(knowledgeDto.getContent());
+
+            JPaasUser user = userService.queryUser(userService.queryLoginUser());
+            if (user != null) {
+                knowledge.setAuthor(user.getFullName());
+            }
 
             insert(knowledge);
             return knowledge.getPkId();

+ 1 - 0
src/main/resources/mapper/knowledge/KnowledgeMapper.xml

@@ -43,6 +43,7 @@
         </if>
     </select>
 
+
 </mapper>