authorizeservice.java

来自「达内网上购物系统」· Java 代码 · 共 109 行

JAVA
109
字号
package org.whatisjava.dang.service;

import org.apache.log4j.Logger;
import org.whatisjava.dang.dao.DaoFactory;
import org.whatisjava.dang.dao.UserDao;
import org.whatisjava.dang.domain.User;
import org.whatisjava.dang.util.DaoException;
import org.whatisjava.dang.util.MD5Utils;
import org.whatisjava.dang.util.CodeUtils;

public class AuthorizeService {
	private static Logger logger = Logger.getLogger(CatalogService.class);

	private UserDao userDao = DaoFactory.getUserDao();
	
	
	public User getUser(Integer id) throws DaoException {
		return userDao.getUser(id);
	}

	/**
	 * 
	 * 
	 * @param email
	 * @param pwd
	 * @return
	 * @throws DaoException
	 */
	public User validateUser(String email, String pwd) throws DaoException {
		User user = userDao.findUserByEmail(email);
		if (user != null) {
			if (MD5Utils.md5(pwd).equals(user.getPassword())) {
				user.setPassword(null);
				return user;
			}
		}
		return null;
	}

	/**
	 * 
	 * @param email
	 * @return
	 * @throws DaoException
	 */
	public boolean validateUserName(String email) throws DaoException {
		User user = userDao.findUserByEmail(email);
		if (user == null)
			return true;
		return false;
	}

	/**
	 * 
	 * 判断指定id的用户是否已经通过email验证
	 * 
	 * @param id
	 * @return
	 * @throws DaoException
	 */
	public boolean isVerifiedUser(Integer id) throws DaoException {
		User user = userDao.getUser(id);
		return user.getVerify();
	}

	/**
	 * 
	 * 
	 * @param id
	 * @param code
	 * @return
	 * @throws DaoException
	 */
	public User verifyEmail(Integer id, String code) throws DaoException {
		User user = userDao.getUser(id);
		String verifyCode = user.getVerifyCode();
		logger.debug("verifyCode:" + verifyCode);
		logger.debug("code:" + code);
		if (code != null && code.equals(verifyCode)) {
			user.setVerify(true);
			userDao.updateUser(user);
			return user;
		}
		return null;
	}

	/**
	 * 
	 * @param user
	 * @return 用于激活用户的验证码
	 * @throws DaoException
	 */
	public String addUser(User user) throws DaoException {
		// 密码加密
		user.setPassword(MD5Utils.md5(user.getPassword()));
		// 设置积分的初始值为0
		user.setIntegral(0);
		// 设置是否通过email验证为false
		user.setVerify(false);
		// 产生用于激活用户的验证码
		String code = CodeUtils.nextCode();
		user.setVerifyCode(code);

		userDao.addUser(user);
		return code;
	}

}

⌨️ 快捷键说明

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