⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usermanagerimpl.java

📁 用struts hibernate 开发的论坛源码! 开发平台:eclipese 3.1.2 web服务器: tomcat 5 数据库: mysql5.0
💻 JAVA
字号:
package org.lzpeng.service.impl;


import org.apache.log4j.Logger;
import org.springframework.util.StringUtils;
import org.lzpeng.constants.UserStauts;
import org.lzpeng.dao.IBookDAO;
import org.lzpeng.dao.ILendRecordDAO;
import org.lzpeng.dao.IUserDAO;
import org.lzpeng.pojo.Book;
import org.lzpeng.pojo.LendRecord;
import org.lzpeng.pojo.User;
import org.lzpeng.service.IUserManager;
import org.springside.modules.orm.hibernate.Page;


public class UserManagerImpl implements IUserManager {
	private Logger logger = Logger.getLogger(getClass());
	private static String AUTH_HQL = "SELECT COUNT(u) FROM User u WHERE u.loginName = ? AND u.password =? ";
	private IUserDAO userDAO;
	private IBookDAO bookDAO;
	private ILendRecordDAO lendRecordDAO;

	public void setLendRecordDAO(ILendRecordDAO lendRecordDAO) {
		this.lendRecordDAO = lendRecordDAO;
	}

	public void setUserDAO(IUserDAO userDAO) {
		this.userDAO = userDAO;
	}

	public void setBookDAO(IBookDAO bookDAO) {
		this.bookDAO = bookDAO;
	}
	
	public boolean auth(String loginName, String password) {
		if (!StringUtils.hasText(loginName) || !StringUtils.hasText(password)){
			return false;
		}
		return (userDAO.findLong(AUTH_HQL, loginName,password) == 1);
		
	}
	

	public void lendBook(User user, Book book) throws Exception {
		if (user.getBorrowBookAmount() > 4) {
			throw new Exception("每个人最多只可以借5本书 !");
		}
		if (UserStauts.ADMIN_ID != book.getUser().getId()) {
			throw new Exception(book.getTitle() + "被人借走了 !");
		}
		
		
		logger.info("更新用户借书的数量 .");		
		user.setBorrowBookAmount(user.getBorrowBookAmount() + 1);		
		userDAO.save(user);
		
		
		logger.info("将书籍持有人改为"+user.getName());
		book.setUser(user);		
		bookDAO.save(book);
		logger.info("登记借书记录 .");
		lendRecordDAO.save(new LendRecord(user,book,UserStauts.HANDLE_TYPE_BORROW));
		logger.info("借书成功 了吗 ?");
	}

	public void refundBook(User user, Book book) {
		logger.info("更新用户持有书籍的数量.");
		user.setBorrowBookAmount(user.getBorrowBookAmount() - 1);
		userDAO.save(user);	
		logger.info("将持有人设为管理员.");
		book.setUser(userDAO.get(UserStauts.ADMIN_ID));		
		bookDAO.save(book);
		logger.info("登记还书记录 .");
		lendRecordDAO.save(new LendRecord(user, book, UserStauts.HANDLE_TYPE_RESTORE));
		logger.info("还书成功 了吗 ?");
	}

	public Page<User> findAllUser(Page<User> page) {
		return userDAO.findAll(page);
	}

	

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -