首页>代码>基于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";
	}

}
最近下载更多
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日
uid0901  LV2 2024年3月12日
最近浏览更多
11999333  LV3 6月9日
落花清阳 6月6日
暂无贡献等级
hzy159357 5月27日
暂无贡献等级
梁小贤  LV1 5月22日
ljy050925 5月13日
暂无贡献等级
SX520886  LV6 4月24日
2022102154  LV1 3月27日
docnnxxy688 3月22日
暂无贡献等级
PLVAE_514  LV2 3月7日
哪里的完整版  LV8 3月6日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友