From e23089373652716f0bb73a2d2e52abab83130d34 Mon Sep 17 00:00:00 2001 From: dww Date: Fri, 26 Dec 2025 14:38:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E7=8C=AE=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 6 ++- pom.xml | 1 + .../com/genepioneer/config/OpenApiConfig.java | 40 +++++++++++++++++++ .../controller/LiteratureController.java | 20 +++++++--- .../genepioneer/mapper/LiteratureMapper.java | 8 +++- .../service/LiteratureService.java | 3 ++ .../service/impl/LiteratureServiceImpl.java | 14 +++++++ 7 files changed, 85 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/genepioneer/config/OpenApiConfig.java diff --git a/.gitignore b/.gitignore index de21ba6..2993aeb 100644 --- a/.gitignore +++ b/.gitignore @@ -74,4 +74,8 @@ temp/ runConfigurations/ # 测试报告 surefire-reports/ -failsafe-reports/ \ No newline at end of file +failsafe-reports/ + +# 忽略所有媒体文件夹内容,不上传到Git +/media/img/* +/media/video/* \ No newline at end of file diff --git a/pom.xml b/pom.xml index d6f6bbf..e38fc3b 100644 --- a/pom.xml +++ b/pom.xml @@ -60,6 +60,7 @@ true + com.github.xiaoymin knife4j-openapi3-jakarta-spring-boot-starter diff --git a/src/main/java/com/genepioneer/config/OpenApiConfig.java b/src/main/java/com/genepioneer/config/OpenApiConfig.java new file mode 100644 index 0000000..20cb71b --- /dev/null +++ b/src/main/java/com/genepioneer/config/OpenApiConfig.java @@ -0,0 +1,40 @@ +package com.genepioneer.config; + +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Contact; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.info.License; +import org.springdoc.core.models.GroupedOpenApi; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * Knife4j + OpenAPI 3 文档主信息配置(无externalDocs) + */ +@Configuration +public class OpenApiConfig { + + @Bean + public OpenAPI myOpenAPI() { + return new OpenAPI() + .info(new Info() + + .title("genepioneer接口文档") + .description("OpenAPI 3接口文档") + .version("v1.0.0") + .license(new License() + .name("Apache 2.0") + .url("https://www.apache.org/licenses/LICENSE-2.0") + ) + ); + } + + // 分组1:文献管理接口 + @Bean + public GroupedOpenApi literatureApi() { + return GroupedOpenApi.builder() + .group("文献管理接口") // 分组名称 + .packagesToScan("com.genepioneer.controller") // 匹配的接口路径 + .build(); + } +} \ No newline at end of file diff --git a/src/main/java/com/genepioneer/controller/LiteratureController.java b/src/main/java/com/genepioneer/controller/LiteratureController.java index 0819548..d17a457 100644 --- a/src/main/java/com/genepioneer/controller/LiteratureController.java +++ b/src/main/java/com/genepioneer/controller/LiteratureController.java @@ -6,10 +6,7 @@ import com.genepioneer.service.LiteratureService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/literature") @@ -19,7 +16,7 @@ public class LiteratureController { @Autowired private LiteratureService literatureService; - // 接收前端POST请求,保存文献数据 + // 新增文献数据 @PostMapping("/add") @Operation(summary = "新增文献") public Result addLiterature(@RequestBody LiteratureDTO literatureDTO) { @@ -33,4 +30,17 @@ public class LiteratureController { return Result.error("新增文献失败:" + e.getMessage()); } } + + // 新增:删除文献接口 + @DeleteMapping("/delete/{id}") // 通过路径变量接收文献ID + @Operation(summary = "删除文献") + public Result deleteLiterature(@PathVariable Long id) { // @PathVariable绑定路径中的id参数 + try { + literatureService.deleteLiterature(id); + return Result.success("删除文献成功"); + } catch (Exception e) { + e.printStackTrace(); + return Result.error("删除文献失败:" + e.getMessage()); + } + } } \ No newline at end of file diff --git a/src/main/java/com/genepioneer/mapper/LiteratureMapper.java b/src/main/java/com/genepioneer/mapper/LiteratureMapper.java index e2a29c0..3f71437 100644 --- a/src/main/java/com/genepioneer/mapper/LiteratureMapper.java +++ b/src/main/java/com/genepioneer/mapper/LiteratureMapper.java @@ -1,14 +1,20 @@ package com.genepioneer.mapper; import com.genepioneer.entity.LiteratureInfo; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Mapper; @Mapper public interface LiteratureMapper { - // 插入文献数据(字段对应entity的属性) + // 插入文献数据 @Insert("INSERT INTO literature_info(year, article_title, journal_name, impact_factor, sample_source, literature_type,literature_url) " + "VALUES(#{year}, #{articleTitle}, #{journalName}, #{impactFactor}, #{sampleSource}, #{literatureType},#{literatureUrl})") int insertLiterature(LiteratureInfo literatureInfo); + + + // 根据文献ID删除数据 + @Delete("DELETE FROM literature_info WHERE id = #{id}") + void deleteLiteratureById(Long id); } \ No newline at end of file diff --git a/src/main/java/com/genepioneer/service/LiteratureService.java b/src/main/java/com/genepioneer/service/LiteratureService.java index df94d03..c371e27 100644 --- a/src/main/java/com/genepioneer/service/LiteratureService.java +++ b/src/main/java/com/genepioneer/service/LiteratureService.java @@ -5,4 +5,7 @@ import com.genepioneer.dto.LiteratureDTO; public interface LiteratureService { // 新增文献 void addLiterature(LiteratureDTO literatureDTO); + + // 删除文献 + void deleteLiterature(Long id); } \ No newline at end of file diff --git a/src/main/java/com/genepioneer/service/impl/LiteratureServiceImpl.java b/src/main/java/com/genepioneer/service/impl/LiteratureServiceImpl.java index 25fba7e..030a921 100644 --- a/src/main/java/com/genepioneer/service/impl/LiteratureServiceImpl.java +++ b/src/main/java/com/genepioneer/service/impl/LiteratureServiceImpl.java @@ -14,6 +14,11 @@ public class LiteratureServiceImpl implements LiteratureService { @Autowired private LiteratureMapper literatureMapper; + + /** + * 新增文献 + * @param literatureDTO + */ @Override public void addLiterature(LiteratureDTO literatureDTO) { // 把DTO转成Entity @@ -23,4 +28,13 @@ public class LiteratureServiceImpl implements LiteratureService { // 调用Mapper插入数据库 literatureMapper.insertLiterature(literatureInfo); } + + /** + * 删除文献 + * @param id + */ + @Override + public void deleteLiterature(Long id) { + literatureMapper.deleteLiteratureById(id); + } } \ No newline at end of file