# Coverage Summary for Class: BookMapper (cn.edu.ecnu.stu.bookstore.mapper)

Class
BookMapper

     package cn.edu.ecnu.stu.bookstore.mapper;

     import cn.edu.ecnu.stu.bookstore.pojo.Book;
     import cn.edu.ecnu.stu.bookstore.pojo.vo.NewOrderVO;
     import org.apache.ibatis.annotations.*;

     import java.util.List;
     import java.util.Map;
     import java.util.Set;

     @Mapper
     public interface BookMapper {

         int insert(@Param("book") Book book);

         List<String> selectTags(@Param("book_id") String bookId);

         int insertTags(@Param("book_id") String bookId, @Param("tags") List<String> tags);

         List<String> selectPictures(@Param("book_id") String bookId);

         int insertPictures(@Param("book_id") String bookId, @Param("pictures") List<String> pictures);

         @Insert("insert into t_book_detail(book_id, author_intro, book_intro, content) values " +
                 "(#{book.bookId}, #{book.authorIntro}, #{book.bookIntro}, #{book.content})")
         int insertBookDetail(@Param("book") Book book);

         @Select("select count(*) from t_book where store_id = #{storeId} and book_id = #{bookId}")
         int checkBook(@Param("storeId") String storeId, @Param("bookId") String bookId);

         @Update("update t_book set stock_level = stock_level + #{addStockLevel} where store_id = #{storeId} and book_id = #{bookId}")
         void addStockLevel(@Param("storeId") String storeId, @Param("bookId") String bookId, @Param("addStockLevel") int addStockLevel);

         List<Book> batchSelect(@Param("storeId") String storeId, @Param("books") Set<String> books);

         @Update("update t_book set stock_level = stock_level - #{count} where book_id = #{bookId}")
         int minusStockLevel(@Param("bookId") String bookId, @Param("count") int count);

         List<Book> getBookByTitle(@Param("title") String title, @Param("storeId") String storeId, @Param("start") Integer start, @Param("size") Integer size);

         List<Book> getBookByAuthor(@Param("author") String author, @Param("storeId") String storeId, @Param("start") Integer start, @Param("size") Integer size);

         List<Book> getBookByTag(@Param("tag") String tag, @Param("storeId") String storeId, @Param("start") Integer start, @Param("size") Integer size);

         List<Book> getBookByContent(@Param("content") String content, @Param("storeId") String storeId, @Param("start") Integer start, @Param("size") Integer size);

     }