mirror of
https://gitee.com/bookshelfplus/bookshelfplus
synced 2025-09-02 23:23:28 +08:00
完成书名搜索功能
This commit is contained in:
@@ -105,7 +105,7 @@ hr {
|
||||
|
||||
/* 搜索框 */
|
||||
.searchBox #searchInput {
|
||||
padding: 0 10px;
|
||||
/* padding: 0 10px; */
|
||||
width: 300px;
|
||||
width: min(70vw, 280px);
|
||||
height: 30px;
|
||||
@@ -116,9 +116,12 @@ hr {
|
||||
|
||||
border: none;
|
||||
border-bottom: 1px solid #ccc;
|
||||
padding: 0.5em;
|
||||
/* padding: 0.5em; */
|
||||
font-size: 1em;
|
||||
outline: none;
|
||||
|
||||
padding-bottom: 0.2em;
|
||||
/* text-align: center; */
|
||||
}
|
||||
|
||||
.searchBox #searchInput:focus {
|
||||
@@ -128,6 +131,8 @@ hr {
|
||||
|
||||
border: 1px solid rgb(133, 133, 133);
|
||||
border-radius: 3px;
|
||||
|
||||
/* text-align: left; */
|
||||
}
|
||||
|
||||
.searchBox #searchButton {
|
||||
|
@@ -48,8 +48,9 @@
|
||||
$('#searchButton').click(function () {
|
||||
var searchBoxValue = $('#searchInput').val();
|
||||
if (!searchBoxValue || searchBoxValue.trim() == "") {
|
||||
alert("请输入搜索内容");
|
||||
return;
|
||||
// alert("请输入搜索内容");
|
||||
// return;
|
||||
window.location.href = "./search";
|
||||
}
|
||||
window.location.href = "./search?keyword=" + encodeURIComponent(searchBoxValue.trim());
|
||||
});
|
||||
|
@@ -52,7 +52,7 @@
|
||||
}
|
||||
|
||||
function search(searchboxValue) {
|
||||
getRequest("/book/search", { bookName: encodeURIComponent(searchboxValue) })
|
||||
getRequest("/book/search", { bookName: searchboxValue })
|
||||
.then(function (responseData) {
|
||||
var axiosData = responseData.data;
|
||||
var status = axiosData.status;
|
||||
@@ -66,12 +66,12 @@
|
||||
var mainDivWidth = 80/*vw*/; // 定义div的宽度(用于计算表格中的数据的显示长度)
|
||||
var columnWidth = [23, 17, 30, 10, 20];
|
||||
renderData.push({
|
||||
书名: ` <a href="/book?id=${element.category.id}">
|
||||
书名: ` <a target="_blank" href="/book?id=${element.category.id}">
|
||||
<span class="overflow-omit" style="max-width: ${columnWidth[0] * mainDivWidth / 100}vw; max-height: 2em; margin: 0 auto;">
|
||||
${element.bookName}
|
||||
</span>
|
||||
</a>`,
|
||||
分类: ` <a href="/category?id=${element.category.id}">
|
||||
分类: ` <a target="_blank" href="/category?id=${element.category.id}">
|
||||
<span class="overflow-omit" style="max-width: ${columnWidth[1] * mainDivWidth / 100}vw; max-height: 2em; margin: 0 auto;">
|
||||
${element.category.name}
|
||||
</span>
|
||||
@@ -89,7 +89,7 @@
|
||||
});
|
||||
|
||||
if(renderData.length == 0) {
|
||||
renderTable({ data: "没有搜索到相关书籍", tableId: "result-table", renderTableHead: true });
|
||||
renderTable({ data: `没有搜索到与 <span style="color: red;">${searchboxValue}</span> 相关的书籍,请换个关键词再试试吧`, tableId: "result-table", renderTableHead: true });
|
||||
} else {
|
||||
renderTable({ data: renderData, tableId: "result-table", renderTableHead: true });
|
||||
}
|
||||
|
@@ -40,6 +40,7 @@ public class BaseController {
|
||||
|
||||
/**
|
||||
* 保存用户的登录状态
|
||||
*
|
||||
* @return String uuidToken
|
||||
*/
|
||||
public String onLogin(UserModel userModel) {
|
||||
|
@@ -1,5 +1,7 @@
|
||||
package plus.bookshelf.Service.Impl;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.math.NumberUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -50,14 +52,22 @@ public class BookServiceImpl implements BookService {
|
||||
}
|
||||
|
||||
BookDOExample bookDOExample = new BookDOExample();
|
||||
BeanUtils.copyProperties(bookModel, bookDOExample);
|
||||
List<BookDO> bookDOS = bookDOMapper.selectByExampleWithBLOBs(bookDOExample);
|
||||
BookDOExample.Criteria criteria = bookDOExample.createCriteria();
|
||||
|
||||
List<BookModel> bookModels = new ArrayList<>();
|
||||
for (BookDO bookDO : bookDOS) {
|
||||
bookModels.add(convertFromDataObjecct(bookDO));
|
||||
}
|
||||
return bookModels;
|
||||
// criteria.andIsDeleteEqualTo(false);
|
||||
// if (bookModel.getId() != null && bookModel.getId() != 0)
|
||||
// criteria.andIdEqualTo(bookModel.getId());
|
||||
if (StringUtils.isNotBlank(bookModel.getBookName()))
|
||||
criteria.andBookNameLike("%" + bookModel.getBookName() + "%");
|
||||
// if (StringUtils.isNotBlank(bookModel.getAuthor()))
|
||||
// criteria.andAuthorEqualTo(bookModel.getAuthor());
|
||||
// if (bookModel.getCategory() != null && bookModel.getCategory().getId() != null && bookModel.getCategory().getId() != 0)
|
||||
// criteria.andCategoryIdEqualTo(bookModel.getCategory().getId());
|
||||
// if (StringUtils.isNotBlank(bookModel.getPublishingHouse()))
|
||||
// criteria.andPublishingHouseEqualTo(bookModel.getPublishingHouse());
|
||||
|
||||
List<BookDO> bookDOs = bookDOMapper.selectByExampleWithBLOBs(bookDOExample);
|
||||
return convertFromDataObjecctList(bookDOs);
|
||||
}
|
||||
|
||||
private BookModel convertFromDataObjecct(BookDO bookDO) {
|
||||
@@ -81,4 +91,12 @@ public class BookServiceImpl implements BookService {
|
||||
|
||||
return bookModel;
|
||||
}
|
||||
|
||||
private List<BookModel> convertFromDataObjecctList(List<BookDO> bookDOs) {
|
||||
List<BookModel> bookModels = new ArrayList<>();
|
||||
for (BookDO bookDO : bookDOs) {
|
||||
bookModels.add(convertFromDataObjecct(bookDO));
|
||||
}
|
||||
return bookModels;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user