首页>代码>基于SSM实现的图书借阅管理系统>/代码/library/src/com/library/controller/UserController.java
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";
	}

}
最近下载更多
pangzhihui  LV13 4月11日
weilaizhisheng  LV21 3月21日
uid0901  LV2 3月12日
xiaopengzep  LV1 3月11日
n2352441  LV4 3月3日
潘潘123456  LV2 3月2日
renyong  LV3 3月1日
wanglinddad  LV55 2月28日
lo8lukoukoum  LV4 2月27日
最近浏览更多
李俊雄  LV3 昨天
2017143155  LV12 5月6日
fawaikuai 4月19日
暂无贡献等级
saaaaaa  LV14 4月16日
yeanan  LV1 4月12日
pangzhihui  LV13 4月11日
第四维 4月1日
暂无贡献等级
2131234536546  LV7 3月31日
陈仁怀  LV1 3月30日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友