package com.test.bijihoudaun.controller; import com.test.bijihoudaun.common.response.R; import com.test.bijihoudaun.entity.MarkdownFile; import com.test.bijihoudaun.service.MarkdownFileService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; @Tag(name = "markdown接口") @RestController @RequestMapping("/api/markdown") public class MarkdownController { @Autowired private MarkdownFileService markdownFileService; @Operation(summary = "测试") @GetMapping("/test") public R> test() { List test = markdownFileService.test(); return R.success(test); } @Operation(summary = "预览markdown文件") @Parameters({ @Parameter(name = "id", description = "文件ID", required = true) }) @GetMapping("/{id}") public R getMarkdownContent(@PathVariable Long id) { MarkdownFile file = markdownFileService.getMarkdownById(id); if (file != null) { return R.success(file.getContent()); } return R.fail(); } @Operation(summary = "创建markdown文件") @Parameters({ @Parameter(name = "groupingId", description = "分组id",required = true), @Parameter(name = "title", description = "标题",required = true), @Parameter(name = "fileName", description = "文件名",required = true), @Parameter(name = "content", description = "内容",required = true) }) @PostMapping public R createMarkdown( @RequestParam Long groupingId, @RequestParam String title, @RequestParam String fileName, @RequestBody String content) { MarkdownFile file = markdownFileService.createMarkdownFile( groupingId, title, fileName, content); return R.success(file); } @Operation(summary = "更新Markdown文件") @Parameters({ @Parameter(name = "id", description = "Markdown文件ID", required = true), @Parameter(name = "content", description = "Markdown文件内容", required = true) }) @PostMapping("/{id}") public R updateMarkdown( @PathVariable String id, String content) { long l = Long.parseLong(id); MarkdownFile file = markdownFileService.updateMarkdownContent(l, content); if (file != null) { return R.success(file); } return R.fail(); } @Operation(summary = "获取所有Markdown文件") @GetMapping public R> getAllMarkdownFiles() { List files = markdownFileService.getAllMarkdownFiles(); return R.success(files); } @Operation(summary = "删除Markdown文件") @DeleteMapping("/{id}") public R deleteMarkdown(@PathVariable Long id) { if (markdownFileService.deleteMarkdownFile(id)) { return R.success(); } return R.fail(); } @Operation(summary = "根据分组ID获取Markdown文件") @GetMapping("/grouping/{groupingId}") public R> getFilesByGroupingId(@PathVariable String groupingId) { List files = markdownFileService.getFilesByGroupingId(groupingId); return R.success(files); } }