文献相关接口

This commit is contained in:
dww
2026-01-27 13:32:19 +08:00
parent 3963d64781
commit ddcb8a1ad3
8 changed files with 81 additions and 24 deletions

View File

@@ -3,8 +3,8 @@ package com.bicloud.controller;
import com.bicloud.common.result.PageResult; import com.bicloud.common.result.PageResult;
import com.bicloud.common.result.Result; import com.bicloud.common.result.Result;
import com.bicloud.pojo.dto.LiteratureCreateDto; import com.bicloud.pojo.dto.LiteratureCreateDto;
import com.bicloud.pojo.dto.LiteratureDto;
import com.bicloud.pojo.dto.LiteraturePageQueryDto; import com.bicloud.pojo.dto.LiteraturePageQueryDto;
import com.bicloud.pojo.vo.DocumentTypeVo;
import com.bicloud.pojo.vo.LiteratureListVo; import com.bicloud.pojo.vo.LiteratureListVo;
import com.bicloud.service.LiteratureService; import com.bicloud.service.LiteratureService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@@ -13,6 +13,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
@CrossOrigin @CrossOrigin
@RestController @RestController
@RequestMapping("/literature") @RequestMapping("/literature")
@@ -51,4 +53,12 @@ public class LiteratureController {
PageResult<LiteratureListVo> result = literatureService.pageQuery(queryDTO); PageResult<LiteratureListVo> result = literatureService.pageQuery(queryDTO);
return Result.success(result); return Result.success(result);
} }
// 文献分类下拉框document_type
@GetMapping("/types")
@Operation(summary = "获取文献分类下拉列表")
public Result<List<DocumentTypeVo>> types() {
return Result.success(literatureService.listTypes());
}
} }

View File

@@ -2,10 +2,13 @@ package com.bicloud.mapper;
import com.bicloud.pojo.dto.LiteratureCreateDto; import com.bicloud.pojo.dto.LiteratureCreateDto;
import com.bicloud.pojo.dto.LiteraturePageQueryDto; import com.bicloud.pojo.dto.LiteraturePageQueryDto;
import com.bicloud.pojo.vo.DocumentTypeVo;
import com.bicloud.pojo.vo.LiteratureListVo; import com.bicloud.pojo.vo.LiteratureListVo;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper @Mapper
public interface LiteratureMapper { public interface LiteratureMapper {
@@ -17,4 +20,7 @@ public interface LiteratureMapper {
// 分页查询返回列表VOPageHelper自动分页 // 分页查询返回列表VOPageHelper自动分页
Page<LiteratureListVo> pageQuery(LiteraturePageQueryDto queryDTO); Page<LiteratureListVo> pageQuery(LiteraturePageQueryDto queryDTO);
// 获取文献分类
List<DocumentTypeVo> listTypes();
} }

View File

@@ -0,0 +1,12 @@
package com.bicloud.pojo.vo;
import lombok.Data;
/**
* 文献分类document_type下拉项
*/
@Data
public class DocumentTypeVo {
private Integer id;
private String name;
}

View File

@@ -8,11 +8,12 @@ import lombok.Data;
@Data @Data
public class LiteratureListVo { public class LiteratureListVo {
private Long id; // 隐藏id(用于操作) private Long id; // 隐藏id
private Integer year; // 年份:由 YEAR(publish_time) 计算得到 private Integer year; // 年份
private String docTitle; // 文章标题 private String docTitle; // 文章标题
private String publication; // 期刊 private String publication; // 期刊
private String impactFactor; // IFvarchar原样返回避免精度/格式问题) private String impactFactor; // IFvarchar原样返回避免精度/格式问题)
private String techniques; // 样品来源(先用 techniques private String techniques; // 样品来源(先用 techniques
private String typeName; // 文献分类名(来自 biology_document_type.name private String typeName; // 文献分类名
private String docUrl; //链接
} }

View File

@@ -3,8 +3,11 @@ package com.bicloud.service;
import com.bicloud.common.result.PageResult; import com.bicloud.common.result.PageResult;
import com.bicloud.pojo.dto.LiteratureCreateDto; import com.bicloud.pojo.dto.LiteratureCreateDto;
import com.bicloud.pojo.dto.LiteraturePageQueryDto; import com.bicloud.pojo.dto.LiteraturePageQueryDto;
import com.bicloud.pojo.vo.DocumentTypeVo;
import com.bicloud.pojo.vo.LiteratureListVo; import com.bicloud.pojo.vo.LiteratureListVo;
import java.util.List;
public interface LiteratureService { public interface LiteratureService {
// 新增文献(写入 biology_document_info // 新增文献(写入 biology_document_info
@@ -15,4 +18,7 @@ public interface LiteratureService {
// 分页查询返回列表VO // 分页查询返回列表VO
PageResult<LiteratureListVo> pageQuery(LiteraturePageQueryDto queryDTO); PageResult<LiteratureListVo> pageQuery(LiteraturePageQueryDto queryDTO);
// 获取文献分类下拉列表
List<DocumentTypeVo> listTypes();
} }

View File

@@ -4,6 +4,7 @@ import com.bicloud.common.result.PageResult;
import com.bicloud.mapper.LiteratureMapper; import com.bicloud.mapper.LiteratureMapper;
import com.bicloud.pojo.dto.LiteratureCreateDto; import com.bicloud.pojo.dto.LiteratureCreateDto;
import com.bicloud.pojo.dto.LiteraturePageQueryDto; import com.bicloud.pojo.dto.LiteraturePageQueryDto;
import com.bicloud.pojo.vo.DocumentTypeVo;
import com.bicloud.pojo.vo.LiteratureListVo; import com.bicloud.pojo.vo.LiteratureListVo;
import com.bicloud.service.LiteratureService; import com.bicloud.service.LiteratureService;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
@@ -11,6 +12,8 @@ import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
@Service @Service
public class LiteratureServiceImpl implements LiteratureService { public class LiteratureServiceImpl implements LiteratureService {
@@ -45,4 +48,10 @@ public class LiteratureServiceImpl implements LiteratureService {
// 4) 取 total + records // 4) 取 total + records
return new PageResult<>(p.getTotal(), p.getResult()); return new PageResult<>(p.getTotal(), p.getResult());
} }
@Override
public List<DocumentTypeVo> listTypes() {
return literatureMapper.listTypes();
}
} }

View File

@@ -36,7 +36,8 @@
d.publication AS publication, d.publication AS publication,
d.impact_factor AS impactFactor, d.impact_factor AS impactFactor,
d.techniques AS techniques, d.techniques AS techniques,
t.name AS typeName t.name AS typeName,
d.doc_url AS docUrl
FROM biology_document_info d FROM biology_document_info d
LEFT JOIN biology_document_type t LEFT JOIN biology_document_type t
ON t.id = d.doc_type ON t.id = d.doc_type
@@ -92,4 +93,16 @@
ORDER BY d.id DESC ORDER BY d.id DESC
</select> </select>
<!-- 文献分类document_type下拉列表 -->
<select id="listTypes" resultType="com.bicloud.pojo.vo.DocumentTypeVo">
SELECT
id,
name
FROM biology_document_type
WHERE removed = '0'
ORDER BY position ASC, id ASC
</select>
</mapper> </mapper>