Coverage Summary for Class: BookController (cn.edu.ecnu.stu.bookstore.controller)
Class |
Class, %
|
Method, %
|
Line, %
|
BookController |
100%
(1/1)
|
100%
(9/9)
|
68%
(17/25)
|
package cn.edu.ecnu.stu.bookstore.controller;
import cn.edu.ecnu.stu.bookstore.component.AppException;
import cn.edu.ecnu.stu.bookstore.component.Constants;
import cn.edu.ecnu.stu.bookstore.component.Result;
import cn.edu.ecnu.stu.bookstore.service.impl.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/book")
public class BookController {
@Autowired
private BookService bookService;
@GetMapping("/title")
public Result getBookByTitle(@RequestParam("title") String title,
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize) {
if(!StringUtils.hasText(title))
throw new AppException(Constants.CLIENT_ERROR, Constants.PARAMETER_ERROR_MESSAGE);
return Result.success(bookService.getBookByTitle(title, null, pageNum, pageSize));
}
@GetMapping("/title_in_store")
public Result getBookByTitleInStore(@RequestParam("title") String title,
@RequestParam("storeId") String storeId,
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize) {
if(!StringUtils.hasText(title))
throw new AppException(Constants.CLIENT_ERROR, Constants.PARAMETER_ERROR_MESSAGE);
return Result.success(bookService.getBookByTitle(title, storeId, pageNum, pageSize));
}
@GetMapping("/author")
public Result getBookByAuthor(@RequestParam("author") String author,
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize) {
if(!StringUtils.hasText(author))
throw new AppException(Constants.CLIENT_ERROR, Constants.PARAMETER_ERROR_MESSAGE);
return Result.success(bookService.getBookByAuthor(author, null, pageNum, pageSize));
}
@GetMapping("/author_in_store")
public Result getBookByAuthorInStore(@RequestParam("author") String author,
@RequestParam("storeId") String storeId,
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize) {
if(!StringUtils.hasText(author))
throw new AppException(Constants.CLIENT_ERROR, Constants.PARAMETER_ERROR_MESSAGE);
return Result.success(bookService.getBookByAuthor(author, storeId, pageNum, pageSize));
}
@GetMapping("/tag")
public Result getBookByTag(@RequestParam("tag") String tag,
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize) {
if(!StringUtils.hasText(tag))
throw new AppException(Constants.CLIENT_ERROR, Constants.PARAMETER_ERROR_MESSAGE);
return Result.success(bookService.getBookByTag(tag, null, pageNum, pageSize));
}
@GetMapping("/tag_in_store")
public Result getBookByTagInStore(@RequestParam("tag") String tag,
@RequestParam("storeId") String storeId,
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize) {
if(!StringUtils.hasText(tag))
throw new AppException(Constants.CLIENT_ERROR, Constants.PARAMETER_ERROR_MESSAGE);
return Result.success(bookService.getBookByTag(tag, storeId, pageNum, pageSize));
}
@GetMapping("/content_in_store")
public Result getBookByContentInStore(@RequestParam("content") String content,
@RequestParam("storeId") String storeId,
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize) {
if(!StringUtils.hasText(content))
throw new AppException(Constants.CLIENT_ERROR, Constants.PARAMETER_ERROR_MESSAGE);
return Result.success(bookService.getBookByContent(content, storeId, pageNum, pageSize));
}
@GetMapping("/content")
public Result getBookByContent(@RequestParam("content") String content,
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize) {
if(!StringUtils.hasText(content))
throw new AppException(Constants.CLIENT_ERROR, Constants.PARAMETER_ERROR_MESSAGE);
return Result.success(bookService.getBookByContent(content, null, pageNum, pageSize));
}
}