|
|
|
|
@@ -0,0 +1,203 @@
|
|
|
|
|
package com.rj.controller;
|
|
|
|
|
|
|
|
|
|
import com.rj.entity.KnowledgeBase;
|
|
|
|
|
import com.rj.service.IKnowledgeBaseService;
|
|
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
|
|
import io.swagger.v3.oas.annotations.Parameter;
|
|
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.http.ResponseEntity;
|
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <p>
|
|
|
|
|
* 知识库管理表 前端控制器
|
|
|
|
|
* </p>
|
|
|
|
|
*
|
|
|
|
|
* @author 李中华 ,spllzh
|
|
|
|
|
* @since 2025-01-27
|
|
|
|
|
*/
|
|
|
|
|
@RestController
|
|
|
|
|
@RequestMapping("/api/knowledgeBase")
|
|
|
|
|
@Tag(name = "知识库管理", description = "知识库管理相关接口")
|
|
|
|
|
public class KnowledgeBaseController {
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IKnowledgeBaseService knowledgeBaseService;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 新增知识
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping("/add")
|
|
|
|
|
@Operation(summary = "新增知识", description = "添加新的知识信息")
|
|
|
|
|
public ResponseEntity<Map<String, Object>> addKnowledge(
|
|
|
|
|
@Parameter(description = "知识信息", required = true)
|
|
|
|
|
@RequestBody KnowledgeBase knowledgeBase) {
|
|
|
|
|
Map<String, Object> result = knowledgeBaseService.addKnowledge(knowledgeBase);
|
|
|
|
|
Boolean success = (Boolean) result.get("success");
|
|
|
|
|
if (success != null && success) {
|
|
|
|
|
return ResponseEntity.ok(result);
|
|
|
|
|
} else {
|
|
|
|
|
return ResponseEntity.badRequest().body(result);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据ID查询知识
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/get/{id}")
|
|
|
|
|
@Operation(summary = "根据ID查询知识", description = "根据知识ID获取知识详细信息")
|
|
|
|
|
public ResponseEntity<Map<String, Object>> getKnowledgeById(
|
|
|
|
|
@Parameter(description = "知识ID", required = true)
|
|
|
|
|
@PathVariable String id) {
|
|
|
|
|
Map<String, Object> result = knowledgeBaseService.getKnowledgeById(id);
|
|
|
|
|
Boolean success = (Boolean) result.get("success");
|
|
|
|
|
if (success != null && success) {
|
|
|
|
|
return ResponseEntity.ok(result);
|
|
|
|
|
} else {
|
|
|
|
|
return ResponseEntity.notFound().build();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 分页查询知识列表
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/list")
|
|
|
|
|
@Operation(summary = "分页查询知识列表", description = "分页查询知识信息列表")
|
|
|
|
|
public ResponseEntity<Map<String, Object>> getKnowledgeList(
|
|
|
|
|
@Parameter(description = "页码", example = "1")
|
|
|
|
|
@RequestParam(defaultValue = "1") Integer current,
|
|
|
|
|
@Parameter(description = "每页大小", example = "10")
|
|
|
|
|
@RequestParam(defaultValue = "10") Integer size,
|
|
|
|
|
@Parameter(description = "知识标题(模糊查询)")
|
|
|
|
|
@RequestParam(required = false) String title,
|
|
|
|
|
@Parameter(description = "知识分类")
|
|
|
|
|
@RequestParam(required = false) String category,
|
|
|
|
|
@Parameter(description = "应用行业")
|
|
|
|
|
@RequestParam(required = false) String industry,
|
|
|
|
|
@Parameter(description = "创建人")
|
|
|
|
|
@RequestParam(required = false) String creator,
|
|
|
|
|
@Parameter(description = "状态")
|
|
|
|
|
@RequestParam(required = false) String status) {
|
|
|
|
|
Map<String, Object> result = knowledgeBaseService.getKnowledgeList(current, size, title, category, industry, creator, status);
|
|
|
|
|
return ResponseEntity.ok(result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 更新知识信息
|
|
|
|
|
*/
|
|
|
|
|
@PutMapping("/update")
|
|
|
|
|
@Operation(summary = "更新知识信息", description = "更新知识详细信息")
|
|
|
|
|
public ResponseEntity<Map<String, Object>> updateKnowledge(
|
|
|
|
|
@Parameter(description = "知识信息", required = true)
|
|
|
|
|
@RequestBody KnowledgeBase knowledgeBase) {
|
|
|
|
|
Map<String, Object> result = knowledgeBaseService.updateKnowledge(knowledgeBase);
|
|
|
|
|
Boolean success = (Boolean) result.get("success");
|
|
|
|
|
if (success != null && success) {
|
|
|
|
|
return ResponseEntity.ok(result);
|
|
|
|
|
} else {
|
|
|
|
|
return ResponseEntity.badRequest().body(result);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据ID删除知识
|
|
|
|
|
*/
|
|
|
|
|
@DeleteMapping("/delete/{id}")
|
|
|
|
|
@Operation(summary = "删除知识", description = "根据知识ID删除知识信息")
|
|
|
|
|
public ResponseEntity<Map<String, Object>> deleteKnowledge(
|
|
|
|
|
@Parameter(description = "知识ID", required = true)
|
|
|
|
|
@PathVariable String id) {
|
|
|
|
|
Map<String, Object> result = knowledgeBaseService.deleteKnowledge(id);
|
|
|
|
|
Boolean success = (Boolean) result.get("success");
|
|
|
|
|
if (success != null && success) {
|
|
|
|
|
return ResponseEntity.ok(result);
|
|
|
|
|
} else {
|
|
|
|
|
return ResponseEntity.badRequest().body(result);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 批量删除知识
|
|
|
|
|
*/
|
|
|
|
|
@DeleteMapping("/batchDelete")
|
|
|
|
|
@Operation(summary = "批量删除知识", description = "根据知识ID列表批量删除知识信息")
|
|
|
|
|
public ResponseEntity<Map<String, Object>> batchDeleteKnowledge(
|
|
|
|
|
@Parameter(description = "知识ID列表", required = true)
|
|
|
|
|
@RequestBody List<String> ids) {
|
|
|
|
|
Map<String, Object> result = knowledgeBaseService.batchDeleteKnowledge(ids);
|
|
|
|
|
Boolean success = (Boolean) result.get("success");
|
|
|
|
|
if (success != null && success) {
|
|
|
|
|
return ResponseEntity.ok(result);
|
|
|
|
|
} else {
|
|
|
|
|
return ResponseEntity.badRequest().body(result);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 点赞知识
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping("/like/{id}")
|
|
|
|
|
@Operation(summary = "点赞知识", description = "为指定知识点赞")
|
|
|
|
|
public ResponseEntity<Map<String, Object>> likeKnowledge(
|
|
|
|
|
@Parameter(description = "知识ID", required = true)
|
|
|
|
|
@PathVariable String id) {
|
|
|
|
|
Map<String, Object> result = knowledgeBaseService.likeKnowledge(id);
|
|
|
|
|
Boolean success = (Boolean) result.get("success");
|
|
|
|
|
if (success != null && success) {
|
|
|
|
|
return ResponseEntity.ok(result);
|
|
|
|
|
} else {
|
|
|
|
|
return ResponseEntity.badRequest().body(result);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 置顶/取消置顶知识
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping("/toggleTop/{id}")
|
|
|
|
|
@Operation(summary = "置顶/取消置顶知识", description = "切换知识的置顶状态")
|
|
|
|
|
public ResponseEntity<Map<String, Object>> toggleTopKnowledge(
|
|
|
|
|
@Parameter(description = "知识ID", required = true)
|
|
|
|
|
@PathVariable String id) {
|
|
|
|
|
Map<String, Object> result = knowledgeBaseService.toggleTopKnowledge(id);
|
|
|
|
|
Boolean success = (Boolean) result.get("success");
|
|
|
|
|
if (success != null && success) {
|
|
|
|
|
return ResponseEntity.ok(result);
|
|
|
|
|
} else {
|
|
|
|
|
return ResponseEntity.badRequest().body(result);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取知识统计信息
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/statistics")
|
|
|
|
|
@Operation(summary = "获取知识统计信息", description = "获取知识总数等统计信息")
|
|
|
|
|
public ResponseEntity<Map<String, Object>> getKnowledgeStatistics() {
|
|
|
|
|
Map<String, Object> result = knowledgeBaseService.getKnowledgeStatistics();
|
|
|
|
|
return ResponseEntity.ok(result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取分类列表
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/categories")
|
|
|
|
|
@Operation(summary = "获取分类列表", description = "获取所有知识分类")
|
|
|
|
|
public ResponseEntity<Map<String, Object>> getCategories() {
|
|
|
|
|
Map<String, Object> result = knowledgeBaseService.getCategories();
|
|
|
|
|
return ResponseEntity.ok(result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取行业列表
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/industries")
|
|
|
|
|
@Operation(summary = "获取行业列表", description = "获取所有应用行业")
|
|
|
|
|
public ResponseEntity<Map<String, Object>> getIndustries() {
|
|
|
|
|
Map<String, Object> result = knowledgeBaseService.getIndustries();
|
|
|
|
|
return ResponseEntity.ok(result);
|
|
|
|
|
}
|
|
|
|
|
}
|