package com.itheima.controller;
import com.itheima.domain.Book;
import com.itheima.domain.User;
import com.itheima.service.BookService;
import entity.PageResult;
import entity.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
/*
图书信息Controller
*/
@Controller
@RequestMapping("/book")
public class BookController {
//注入BookService对象
@Autowired
private BookService bookService;
/**
* 查询最新上架的图书
*/
@RequestMapping("/selectNewbooks")
public ModelAndView selectNewbooks() {
//查询最新上架的5个的图书信息
int pageNum = 1;
int pageSize = 5;
PageResult pageResult = bookService.selectNewBooks(pageNum, pageSize);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("books_new");
modelAndView.addObject("pageResult", pageResult);
return modelAndView;
}
/**
* 根据图书id查询图书信息
* @param id 查询的图书id
*/
@ResponseBody
@RequestMapping("/findById")
public Result<Book> findById(String id) {
try {
Book book=bookService.findById(id);
if(book==null){
return new Result(false,"查询图书失败!");
}
return new Result(true,"查询图书成功",book);
}catch (Exception e){
e.printStackTrace();
return new Result(false,"查询图书失败!");
}
}
/**
* 借阅图书
* @param book 借阅的图书
* @return
*/
@ResponseBody
@RequestMapping("/borrowBook")
public Result borrowBook(Book book, HttpSession session) {
//获取当前登录的用户姓名
String pname = ((User) session.getAttribute("USER_SESSION")).getName();
book.setBorrower(pname);
try {
//根据图书的id和用户进行图书借阅
Integer count = bookService.borrowBook(book);
if (count != 1) {
return new Result(false, "借阅图书失败!");
}
return new Result(true, "借阅成功,请到行政中心取书!");
} catch (Exception e) {
e.printStackTrace();
return new Result(false, "借阅图书失败!");
}
}
/**
* 分页查询符合条件且未下架图书信息
* @param book 查询的条件封装到book中
* @param pageNum 数据列表的当前页码
* @param pageSize 数据列表1页展示多少条数据
*/
@RequestMapping("/search")
public ModelAndView search(Book book, Integer pageNum, Integer pageSize, HttpServletRequest request) {
if (pageNum == null) {
pageNum = 1;
}
if (pageSize == null) {
pageSize = 10;
}
//查询到的图书信息
PageResult pageResult = bookService.search(book, pageNum, pageSize);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("books");
//将查询到的数据存放在 ModelAndView的对象中
modelAndView.addObject("pageResult", pageResult);
//将查询的参数返回到页面,用于回显到查询的输入框中
modelAndView.addObject("search", book);
//将当前页码返回到页面,用于分页插件的分页显示
modelAndView.addObject("pageNum", pageNum);
//将当前查询的控制器路径返回到页面,页码变化时继续向该路径发送请求
modelAndView.addObject("gourl", request.getRequestURI());
return modelAndView;
}
/**
* 新增图书
* @param book 页面表单提交的图书信息
* 将新增的结果和向页面传递信息封装到Result对象中返回
*/
@ResponseBody
@RequestMapping("/addBook")
public Result addBook(Book book) {
try {
Integer count=bookService.addBook(book);
if(count!=1){
return new Result(false, "新增图书失败!");
}
return new Result(true, "新增图书成功!");
}catch (Exception e){
e.printStackTrace();
return new Result(false, "新增图书失败!");
}
}
/**
* 编辑图书信息
* @param book 编辑的图书信息
*/
@ResponseBody
@RequestMapping("/editBook")
public Result editBook(Book book) {
try {
Integer count= bookService.editBook(book);
if(count!=1){
return new Result(false, "编辑失败!");
}
return new Result(true, "编辑成功!");
}catch (Exception e){
e.printStackTrace();
return new Result(false, "编辑失败!");
}
}
/**
*分页查询当前被借阅且未归还的图书信息
* @param pageNum 数据列表的当前页码
* @param pageSize 数据列表1页展示多少条数据
*/
@RequestMapping("/searchBorrowed")
public ModelAndView searchBorrowed(Book book,Integer pageNum, Integer pageSize, HttpServletRequest request) {
if (pageNum == null) {
pageNum = 1;
}
if (pageSize == null) {
pageSize = 10;
}
//获取当前登录的用户
User user = (User) request.getSession().getAttribute("USER_SESSION");
PageResult pageResult = bookService.searchBorrowed(book,user, pageNum, pageSize);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("book_borrowed");
//将查询到的数据存放在 ModelAndView的对象中
modelAndView.addObject("pageResult", pageResult);
//将查询的参数返回到页面,用于回显到查询的输入框中
modelAndView.addObject("search", book);
//将当前页码返回到页面,用于分页插件的分页显示
modelAndView.addObject("pageNum", pageNum);
//将当前查询的控制器路径返回到页面,页码变化时继续向该路径发送请求
modelAndView.addObject("gourl", request.getRequestURI());
return modelAndView;
}
/**
* 归还图书
* @param id 归还的图书的id
*/
@ResponseBody
@RequestMapping("/returnBook")
public Result returnBook(String id, HttpSession session) {
//获取当前登录的用户信息
User user = (User) session.getAttribute("USER_SESSION");
try {
boolean flag = bookService.returnBook(id, user);
if (!flag) {
return new Result(false, "还书失败!");
}
return new Result(true, "还书确认中,请先到行政中心还书!");
}catch (Exception e){
e.printStackTrace();
return new Result(false, "还书失败!");
}
}
/**
* 确认图书归还
* @param id 确认归还的图书的id
*/
@ResponseBody
@RequestMapping("/returnConfirm")
public Result returnConfirm(String id) {
try {
Integer count=bookService.returnConfirm(id);
if(count!=1){
return new Result(false, "确认失败!");
}
return new Result(true, "确认成功!");
}catch (Exception e){
e.printStackTrace();
return new Result(false, "确认失败!");
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于SSM框架的云借阅图书管理系统源码+数据库(毕业设计).zip

共187个文件
class:48个
jar:37个
java:24个

1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉

温馨提示
基于SSM框架的云借阅图书管理系统(源码+数据库).zip 获导师指导并通过的高分毕设项目,代码完整确保可以运行,下载即用无需修改。 软件架构说明 根据功能的不同,云借阅图书管理系统项目结构可以划分为以下几个层次。 持久对象层(持久层或持久化层):该层由若干持久化类(实体类)组成。 数据访问层(DAO层):该层由若干DAO接口和MyBatis映射文件组成。DAO接口的名称统一以Mapper结尾,且MyBatis的映射文件名称要与接口的名称相同。 业务逻辑层(Service层):该层由若干Service接口和实现类组成。逻辑层主要用于实现系统的业务逻辑。 Web表现层:该层主要包括Spring MVC中的Controller类和JSP页面。 基于SSM框架的云借阅图书管理系统(源码+数据库).zip 获导师指导并通过的高分毕设项目,代码完整确保可以运行,下载即用无需修改。基于SSM框架的云借阅图书管理系统(源码+数据库).zip 获导师指导并通过的高分毕设项目,代码完整确保可以运行,下载即用无需修改。基于SSM框架的云借阅图书管理系统(源码+数据库).zip 获导师指导并通过的高分
资源推荐
资源详情
资源评论






















收起资源包目录





































































































共 187 条
- 1
- 2

猰貐的新时代
- 粉丝: 1w+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 快速学习plc专题培训课件.ppt
- 教育学网络信息制作与发布形成性考核册试题答案.doc
- 新型智慧城市综合管理平台功能清单.docx
- 新型智慧城市顶层设计调研问卷.docx
- 收藏级资源肿瘤数据库汇总.docx
- 数字传输系统误码率测试器的MATLAB实现及性能分析毕业设计.doc
- 数字图像处理畸变校正.doc
- 思科高级网络技术实验室解决方案.pptx
- 探索大数据与人工智能习题库.doc
- 探索大数据和人工智能最全试题.doc
- 探索东航信息化建设运作模式专题培训课件.ppt
- 投资学网络核心课形成性考核全解.doc
- 微软虚拟化解决方案hp合作伙伴.pptx
- 我国电子商务人才培养模式探析.docx
- 我国互联网发展概况与互联网时代发展趋势.doc
- 我国跨境电子商务的创新发展及主要政策解读.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

- 1
- 2
- 3
前往页