📄 usermanagerimpl.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 + -