package bce.server.servicers; import java.util.Date; import java.util.Map; import bce.server.dao.UserDAO; import bce.server.entities.PersistentUser; /** * 业务类,RegisterPageServlet的业务服务者 * * @author robins * */ public class RegisterPageServicer { private UserDAO userDAO; public void setUserDAO(UserDAO userDAO) { this.userDAO = userDAO; } public RegisterPageServicer() { } /** * Ajax异步验证用户名是否已存在 * * @param userName 前台异步发来的用户名 * @return true:该用户名可用;false:该用户名已被占用 */ public boolean asyncValidateUserName(String userName) { if (userDAO.get(userName) == null) return true; else return false; } /** * Ajax异步验证邮箱名是否已存在 * * @param email 前台异步发来的邮箱名 * @return true:该邮箱名可用;false:该邮箱名已被占用 */ public boolean asyncValidateEmail(String email) { if (userDAO.getByEmail(email) == null) return true; else return false; } /** * 前台表单提交时,用于验证验证码是否正确 * * @param codeInRequest 存储在request域中的验证码 * @param codeInSession 存储在session域中的验证码 * @return true:验证码正确;false:验证码错误 */ public boolean checkValidateCode(String codeInRequest, String codeInSession) { if (codeInRequest.trim().equals(codeInSession.trim())) return true; else return false; } /** * 将新注册用户存入数据库 * * @param userInfoMap 用户数据的哈希表 * @return 经Hibernate存储并同步后的持久化用户对象 */ public PersistentUser save(Map<String, String> userInfoMap) { PersistentUser user = new PersistentUser(); user.setUserName(userInfoMap.get("userName")); user.setPassword(userInfoMap.get("password")); user.setEmail(userInfoMap.get("email")); user.setRegDate(new Date(System.currentTimeMillis())); System.out.println(user.toString()); userDAO.add(user); return user; } }