package com.library.controller;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import com.library.model.Book;
import com.library.model.Bookborrow;
import com.library.model.Booktype;
import com.library.model.Borrow;
import com.library.model.User;
import com.library.service.BookBorrowService;
import com.library.service.BookService;
import com.library.service.BookTypeService;
import com.library.service.UserService;
/**
* 用户
*/
@Controller
@Scope(value = "prototype")
public class UserController {
@Autowired
private UserService userService;
@Autowired
private BookService bookService;
@Autowired
private BookTypeService bookTypeService;
@Autowired
private BookBorrowService bookBorrowService;
@RequestMapping("user_home")
public String userHome(HttpServletRequest request) {
List<User> users = userService.getUserAll(null);
List<Book> books = bookService.getBookAll(null, null);
request.setAttribute("users", users);
request.setAttribute("books", books);
return "user/user_home";
}
@RequestMapping("user_book_list")
public String userBookList(HttpServletRequest request) {
String key = request.getParameter("key");
String type = request.getParameter("type");
if (key != null && !key.isEmpty()) {
request.setAttribute("key", key);
}
if (type != null && !type.isEmpty()) {
request.setAttribute("type", type);
}
List<Book> books = bookService.getBookAll(key, type);
List<Booktype> booktypes = bookTypeService.getBooktypeAll();
request.setAttribute("books", books);
request.setAttribute("booktypes", booktypes);
return "user/user_book_list";
}
@RequestMapping("user_book_details")
public String userBookDetails(HttpServletRequest request) {
String id = request.getParameter("id");
if (id != null && !id.isEmpty()) {
Book book = bookService.getBook(Integer.valueOf(id));
if (book != null) {
List<Booktype> booktypes = bookTypeService.getBooktypeAll();
request.setAttribute("book", book);
request.setAttribute("booktypes", booktypes);
return "user/user_book_details";
}
}
List<Book> books = bookService.getBookAll(null, null);
List<Booktype> booktypes = bookTypeService.getBooktypeAll();
request.setAttribute("books", books);
request.setAttribute("booktypes", booktypes);
return "user/user_book_list";
}
@RequestMapping("user_book_borrow")
public String userBookBorrow(HttpServletRequest request, HttpSession session) {
String id = request.getParameter("id");
if (id != null && !id.isEmpty()) {
Book book = bookService.getBook(Integer.valueOf(id));
if (book != null) {
User user = (User) session.getAttribute("user");
Bookborrow bookborrow = new Bookborrow();
bookborrow.setUserid(user.getId());
bookborrow.setBookid(book.getId());
bookBorrowService.addBookborrow(bookborrow);
int surplus = Integer.valueOf(book.getSurplus()) - 1;
int borrow = Integer.valueOf(book.getBorrow()) + 1;
book.setSurplus(String.valueOf(surplus));
book.setBorrow(String.valueOf(borrow));
bookService.updateBook(book);
return "redirect:user_borrow.cc";
}
}
List<Book> books = bookService.getBookAll(null, null);
List<Booktype> booktypes = bookTypeService.getBooktypeAll();
request.setAttribute("books", books);
request.setAttribute("booktypes", booktypes);
return "user/user_book_list";
}
@RequestMapping("user_borrow")
public String userDcShow(HttpServletRequest request, HttpSession session) {
List<Booktype> booktypes = bookTypeService.getBooktypeAll();
request.setAttribute("booktypes", booktypes);
User user = (User) session.getAttribute("user");
if (user != null) {
List<Bookborrow> bookborrows = bookBorrowService.getBookborrowByUserId(user.getId());
List<Borrow> borrows = new ArrayList<>();
for (Bookborrow bookborrow : bookborrows) {
Borrow borrow = new Borrow();
Book book = bookService.getBook(bookborrow.getBookid());
if (book == null) {
continue;
}
borrow.setId(bookborrow.getId());
borrow.setUsername(user.getUsername());
borrow.setTelephone(user.getTelephone());
borrow.setBookname(book.getBookname());
borrow.setAuthor(book.getAuthor());
borrow.setType(book.getType());
borrow.setPicture(book.getPicture());
borrows.add(borrow);
}
request.setAttribute("borrows", borrows);
return "user/user_borrow";
}
List<Book> books = bookService.getBookAll(null, null);
request.setAttribute("books", books);
return "user/user_book_list";
}
@RequestMapping("user_borrow_details")
public String userBorrowDetails(HttpServletRequest request, HttpSession session) {
String id = request.getParameter("id");
if (id != null && !id.isEmpty()) {
Bookborrow bookborrow = bookBorrowService.getBookborrow(Integer.valueOf(id));
if (bookborrow != null) {
Book book = bookService.getBook(bookborrow.getBookid());
if (book != null) {
request.setAttribute("book", book);
List<Booktype> booktypes = bookTypeService.getBooktypeAll();
request.setAttribute("booktypes", booktypes);
return "user/user_borrow_details";
}
}
}
return "redirect:user_book_list.cc";
}
@RequestMapping("user_info")
public String userInfo(HttpServletRequest request, HttpSession session) {
User user = (User) session.getAttribute("user");
request.setAttribute("example", user);
return "user/user_info";
}
@RequestMapping("user_info_edit")
public String userInfoEdit(HttpServletRequest request, HttpSession session) {
User user = (User) session.getAttribute("user");
request.setAttribute("example", user);
return "user/user_info_edit";
}
@RequestMapping("user_info_update")
public String userInfoUpdate(HttpServletRequest request, HttpSession session) {
String sex = request.getParameter("sex");
String telephone = request.getParameter("telephone");
String address = request.getParameter("address");
if (telephone == null || telephone.isEmpty()) {
return "redirect:user_info_edit.cc";
}
User user = (User) session.getAttribute("user");
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) (request);
MultipartFile file = multipartRequest.getFile("file");
if (!file.getOriginalFilename().isEmpty()) {
String path = request.getServletContext().getRealPath("/") + "page/static/images/touxiang/";
String name = String.valueOf(System.currentTimeMillis() + "_" + file.getOriginalFilename());
File destFile = new File(path, name);
try {
file.transferTo(destFile);
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
}
user.setPortrait("images/touxiang/" + name);
}
user.setSex(sex);
user.setTelephone(telephone);
user.setAddress(address);
userService.updateUser(user);
session.setAttribute("user", user);
return "redirect:user_info.cc";
}
}
最近下载更多
vincemokea LV9
9月16日
SX520886 LV6
4月24日
dsffssff LV4
2024年12月25日
zolscy LV24
2024年11月24日
angaochong LV5
2024年10月10日
Darchry LV2
2024年6月29日
lilitu LV6
2024年5月30日
2017143155 LV12
2024年5月13日
pangzhihui LV14
2024年4月11日
weilaizhisheng LV21
2024年3月21日
最近浏览更多
vincemokea LV9
9月15日
d374307168 LV1
8月17日
康日澜 LV10
8月3日
11999333 LV3
6月9日
落花清阳
6月6日
暂无贡献等级
hzy159357
5月27日
暂无贡献等级
梁小贤 LV1
5月22日
ljy050925
5月13日
暂无贡献等级
SX520886 LV6
4月24日
2022102154 LV1
3月27日

