提交 e6dc4a62 编写于 作者: 爱吃血肠's avatar 爱吃血肠

优化注册模块

上级 d7b2911a
......@@ -71,4 +71,11 @@ public interface UserDao {
* @return
*/
public User checkUserLogin(User user);
/**
* 根据邮箱查询当前登录用户
* @param email
* @return
*/
public User queryUserByEmail(String email);
}
\ No newline at end of file
......@@ -81,4 +81,11 @@ public interface UserService {
* @param user
*/
public void userRegister(User user, String code, HttpSession session);
/**
* 检查用户是否已经注册
* @param email
* @return
*/
public User queryUserByEmail(String email);
}
\ No newline at end of file
......@@ -4,6 +4,7 @@ import com.yingjun.ssm.dao.UserDao;
import com.yingjun.ssm.entity.User;
import com.yingjun.ssm.exception.BizException;
import com.yingjun.ssm.service.UserService;
import com.yingjun.ssm.util.Md5Util;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -71,6 +72,8 @@ public class UserServiceImpl implements UserService {
@Override
public User checkUserLogin(User user) {
try{
//加密密码
user.setPassword(Md5Util.md5Password(user.getPassword()));
User loginUser = userDao.checkUserLogin(user);
if(loginUser == null){
throw new BizException("用户不存在");
......@@ -94,19 +97,27 @@ public class UserServiceImpl implements UserService {
@Override
public void userRegister(User user, String code,HttpSession session) {
try{
User user1 = queryUserByEmail(user.getEmail());
if(user1 != null){
throw new BizException("用户已经注册");
}
String emailCode = (String)session.getAttribute("code");
if(!emailCode.equals(code)){
throw new BizException("验证码错误");
}
//加密密码
if(user!=null){
user.setPassword(Md5Util.md5Password(user.getPassword()));
}else{
return;
}
if(1 != userDao.insertTUser(user)){
throw new Exception("插入数据影响函数不唯一");
}
}catch (BizException biz){
LOG.error("验证码错误",biz);
throw new BizException("验证码错误");
throw new BizException(biz.getMessage(),biz);
}catch (Exception e){
LOG.error("插入数据影响函数不唯一",e);
throw new BizException("插入数据影响函数不唯一");
throw new RuntimeException("插入数据影响函数不唯一",e);
}
}
......@@ -118,4 +129,14 @@ public class UserServiceImpl implements UserService {
this.userDao = userDao;
}
/**
* 检查用户是否已经注册
* @param email
* @return
*/
@Override
public User queryUserByEmail(String email){
return userDao.queryUserByEmail(email);
}
}
\ No newline at end of file
package com.yingjun.ssm.util;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* md5加密实现
* @author liyunfeng
*/
public class Md5Util {
/**
* 生成32位md5码
* @param password
* @return
*/
public static String md5Password(String password) {
try {
// 得到一个信息摘要器
MessageDigest digest = MessageDigest.getInstance("md5");
byte[] result = digest.digest(password.getBytes());
StringBuffer buffer = new StringBuffer();
// 把每一个byte 做一个与运算 0xff;
for (byte b : result) {
// 与运算
int number = b & 0xff;
String str = Integer.toHexString(number);
if (str.length() == 1) {
buffer.append("0");
}
buffer.append(str);
}
// 标准的md5加密后的结果
return buffer.toString();
} catch (NoSuchAlgorithmException e) {
return "";
}
}
}
......@@ -123,4 +123,13 @@
<if test="password != null "> and t_user.password = #{password}</if>
</where>
</select>
<!--查询用户是否已经注册-->
<select id="queryUserByEmail" parameterType="com.yingjun.ssm.entity.User" resultType="com.yingjun.ssm.entity.User">
select
<include refid="t_user_Column" />
from t_user
where
t_user.email = #{email}
</select>
</mapper>
\ No newline at end of file
......@@ -106,7 +106,7 @@
alert("注册成功");
window.location.href="/user/login";
}else{
alert("注册失败");
alert(data.error);
}
}
});
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册