package com.sf.controller;

import com.sf.dto.Result;
import com.sf.entity.Book;
import com.sf.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

/**
 * 编写图书的controller
 */
@Controller
public class BookController {
    /**
     * controller调用service
     */
    @Autowired
    private BookService bookService;

    /**
     * 添加的方法
     * @param book
     * @return
     */
    @RequestMapping(value = "/addBook")
    @ResponseBody
    public Result addBook(@RequestBody Book book){
        bookService.addBook(book);
        System.out.println(book);
        Result result = new Result(200, "添加成功", book);
        return result;
    }

    @RequestMapping(value = "/updateBook")
    @ResponseBody
    public Result updateBook(@RequestBody Book book){
        bookService.updateBook(book);
        System.out.println(book);
        Result result = new Result(200, "更新成功", book);
        return result;
    }

    @RequestMapping(value = "/deleteBook")
    @ResponseBody
    public Result deleteBook(@RequestBody Book book){
        bookService.deleteBook(book.getBookId());
        System.out.println(book.getBookId());
        Result result = new Result(200, "删除成功", book.getBookId());
        return result;
    }

    @RequestMapping(value = "/getList")
    @ResponseBody
    public Result getList(){
        List<Book> list = bookService.getList();
        System.out.println(list);
        Result result = new Result(200, "查询成功", list);
        return result;
    }


    @RequestMapping(value = "/getBookByBookId")
    @ResponseBody
    public Result getBookByBookId(@RequestBody Book book){
        Book bookByBookId = bookService.getBookByBookId(book.getBookId());
        System.out.println(bookByBookId);
        Result result = new Result(200, "查询成功", bookByBookId);
        return result;
    }


    @RequestMapping(value = "/getBookWithLike")
    @ResponseBody
    public Result getBookWithLike(@RequestBody Book book){
        List<Book> bookWithLike = bookService.getBookWithLike(book.getBookName());
        System.out.println(bookWithLike);
        Result result = new Result(200, "查询成功", bookWithLike);
        return result;
    }

    @RequestMapping(value = "/getBookWithPage")
    @ResponseBody
    public Result getBookWithPage(Integer pageNo,Integer pageSize){
        System.out.println(pageNo);
        System.out.println(pageSize);
        List<Book> bookWithPage = bookService.getBookWithPage(pageNo,pageSize);
        System.out.println(bookWithPage);
        Result result = new Result(200, "分页查询成功", bookWithPage);
        return result;
    }
}