提交 6ac36e11 编写于 作者: yubinCloud's avatar yubinCloud

将 Ebook 的条件查询(/query)和全部查询(/all)两个api接口合并为一个

上级 12e016f5
......@@ -2,7 +2,6 @@ package io.github.yubincloud.fairywiki.controller;
import io.github.yubincloud.fairywiki.dto.req.EbookQueryReqDto;
import io.github.yubincloud.fairywiki.dto.req.EbookSaveReqDto;
import io.github.yubincloud.fairywiki.dto.req.PageReqDto;
import io.github.yubincloud.fairywiki.dto.resp.EbookQueryRespDto;
import io.github.yubincloud.fairywiki.dto.resp.ErrorCode;
import io.github.yubincloud.fairywiki.dto.resp.PageRespDto;
......@@ -12,7 +11,6 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
@RestController
@RequestMapping("/ebook")
......@@ -22,17 +20,13 @@ public class EbookController {
private EbookService ebookService;
/**
* 获取全部的电子书信息
* 对 ebook 进行查询的接口
* @param ebookQueryReqDto 查询条件的参数
* @return 查询到的所有ebook
*/
@GetMapping("/list")
public RestfulModel<PageRespDto<EbookQueryRespDto>> getAllEbook(@Valid PageReqDto pageReqDto) {
PageRespDto<EbookQueryRespDto> bookList = ebookService.queryAll(pageReqDto.getPageNum(), pageReqDto.getPageSize());
return new RestfulModel<>(ErrorCode.SUCCESS, "", bookList);
}
@GetMapping("/query")
public RestfulModel<PageRespDto<EbookQueryRespDto>> queryEbooks(@Valid EbookQueryReqDto ebookQueryReqDto) {
PageRespDto<EbookQueryRespDto> bookList = ebookService.fuzzyQueryByName(ebookQueryReqDto);
PageRespDto<EbookQueryRespDto> bookList = ebookService.queryEbooks(ebookQueryReqDto);
return new RestfulModel<>(ErrorCode.SUCCESS, "", bookList);
}
......
......@@ -9,4 +9,6 @@ import lombok.EqualsAndHashCode;
public class EbookQueryReqDto extends PageReqDto {
private String name;
private Long CategoryId2;
}
......@@ -11,6 +11,8 @@ import io.github.yubincloud.fairywiki.dto.resp.PageRespDto;
import io.github.yubincloud.fairywiki.mapper.EbookMapper;
import io.github.yubincloud.fairywiki.utils.CopyUtil;
import io.github.yubincloud.fairywiki.utils.SnowFlake;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
......@@ -20,44 +22,41 @@ import java.util.List;
@Service
public class EbookService {
private static final Logger LOG = LoggerFactory.getLogger(EbookService.class);
@Resource
private EbookMapper ebookMapper;
@Resource
private SnowFlake snowFlake;
/**
* 查询数据库中的全部 ebook
*/
public PageRespDto<EbookQueryRespDto> queryAll(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize); // 对接下来遇到的第一个 SELECT 产生作用
List<Ebook> ebookList = ebookMapper.selectByExample(null);
PageInfo<Ebook> pageInfo = new PageInfo<>(ebookList);
List<EbookQueryRespDto> ebookQueryRespDtoList = CopyUtil.copyList(ebookList, EbookQueryRespDto.class);
PageRespDto<EbookQueryRespDto> pageRespDto = new PageRespDto<>();
pageRespDto.setTotal(pageInfo.getTotal());
pageRespDto.setList(ebookQueryRespDtoList);
return pageRespDto;
}
/**
* 根据 ebook 的 name 进行模糊查询
* 根据查询条件对数据库中的 ebook 进行查询并返回查询到的 ebook
*/
public PageRespDto<EbookQueryRespDto> fuzzyQueryByName(EbookQueryReqDto ebookQueryReqDto) {
// 对数据库进行模糊查询
public PageRespDto<EbookQueryRespDto> queryEbooks(EbookQueryReqDto reqDto) {
EbookExample ebookExample = new EbookExample();
EbookExample.Criteria criteria = ebookExample.createCriteria();
criteria.andNameLike("%" + ebookQueryReqDto.getName() + "%");
PageHelper.startPage(ebookQueryReqDto.getPageNum(), ebookQueryReqDto.getPageSize()); // 对接下来遇到的第一个 SELECT 产生作用
if (!ObjectUtils.isEmpty(reqDto.getName())) {
criteria.andNameLike("%" + reqDto.getName() + "%");
}
if (!ObjectUtils.isEmpty(reqDto.getCategoryId2())) {
criteria.andCategory2IdEqualTo(reqDto.getCategoryId2());
}
PageHelper.startPage(reqDto.getPageNum(), reqDto.getPageSize());
List<Ebook> ebookList = ebookMapper.selectByExample(ebookExample);
// 将 ebookList 拷贝至 dto 对象列表并返回
PageInfo<Ebook> pageInfo = new PageInfo<>(ebookList);
LOG.info("总行数:{}", pageInfo.getTotal());
LOG.info("总页数:{}", pageInfo.getPages());
// 列表复制
List<EbookQueryRespDto> list = CopyUtil.copyList(ebookList, EbookQueryRespDto.class);
List<EbookQueryRespDto> ebookQueryRespDtoList = CopyUtil.copyList(ebookList, EbookQueryRespDto.class);
PageRespDto<EbookQueryRespDto> pageRespDto = new PageRespDto<>();
pageRespDto.setTotal(pageInfo.getTotal());
pageRespDto.setList(ebookQueryRespDtoList);
pageRespDto.setList(list);
return pageRespDto;
}
......
......@@ -148,16 +148,17 @@ export default defineComponent({
}
];
/**
* 根据表单提交的数据进行查询
* 数据查询
**/
const handleQueryFormSubmit = (ebookForm: EbookQueryForm) => {
const handleQuery = (queryParams: any) => {
loading.value = true;
axios.get("/ebook/query", {
params: {
name: ebookForm.name,
pageNum: 1,
pageSize: 4
pageNum: queryParams.pageNum,
pageSize: queryParams.pageSize,
name: queryParams.name,
}
}).then((response) => {
loading.value = false;
......@@ -168,7 +169,7 @@ export default defineComponent({
ebooks.value = pageData.list;
// 重置分页按钮
pagination.value.current = 1;
pagination.value.current = queryParams.pageNum;
pagination.value.total = pageData.total;
} else {
message.error(respData.msg);
......@@ -176,31 +177,14 @@ export default defineComponent({
});
};
/**
* 数据查询
* 根据表单提交的数据进行查询
**/
const handleQuery = (queryParams: any) => {
loading.value = true;
axios.get("/ebook/list", {
params: {
pageNum: queryParams.pageNum,
pageSize: queryParams.pageSize
}
}).then((response) => {
loading.value = false;
const respData = response.data;
if (respData.code == 0) {
const pageData = respData.data;
ebooks.value = pageData.list;
// 重置分页按钮
pagination.value.current = queryParams.pageNum;
pagination.value.total = pageData.total;
} else {
message.error(respData.msg);
}
const handleQueryFormSubmit = (ebookForm: EbookQueryForm) => {
handleQuery({
pageNum: 1,
pageSize: 4,
name: ebookForm.name,
});
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册