diff --git a/src/main/java/com/yingjun/ssm/dao/UserDao.java b/src/main/java/com/yingjun/ssm/dao/UserDao.java
index 0560f14915e41d71a0fcc599bc0d4cdb3a87a1bd..d5f0864d65bef9b7eb794290289d495937464a15 100644
--- a/src/main/java/com/yingjun/ssm/dao/UserDao.java
+++ b/src/main/java/com/yingjun/ssm/dao/UserDao.java
@@ -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
diff --git a/src/main/java/com/yingjun/ssm/service/UserService.java b/src/main/java/com/yingjun/ssm/service/UserService.java
index ec88520bf644a0c78680cfb3eca42c906aab1430..c9da45a442c52cbc9c718eaad50cc363116d9a09 100644
--- a/src/main/java/com/yingjun/ssm/service/UserService.java
+++ b/src/main/java/com/yingjun/ssm/service/UserService.java
@@ -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
diff --git a/src/main/java/com/yingjun/ssm/service/impl/UserServiceImpl.java b/src/main/java/com/yingjun/ssm/service/impl/UserServiceImpl.java
index 32cc36f2a1fbf7ab5356fd3aa15c01c95658acac..9260f78ac4337e971dbfd458f858c6f2a44f4cef 100644
--- a/src/main/java/com/yingjun/ssm/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/yingjun/ssm/service/impl/UserServiceImpl.java
@@ -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
diff --git a/src/main/java/com/yingjun/ssm/util/Md5Util.java b/src/main/java/com/yingjun/ssm/util/Md5Util.java
new file mode 100644
index 0000000000000000000000000000000000000000..7f82e9ec2f8c43273013de4140cd230671e2e730
--- /dev/null
+++ b/src/main/java/com/yingjun/ssm/util/Md5Util.java
@@ -0,0 +1,42 @@
+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 "";
+ }
+
+ }
+}
diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml
index a7621bb397d5fe18cad2e66b6d138f939749bb67..f3d9812c946342223f141906ba7212a65a802530 100644
--- a/src/main/resources/mapper/UserMapper.xml
+++ b/src/main/resources/mapper/UserMapper.xml
@@ -123,4 +123,13 @@
and t_user.password = #{password}
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/user/userResgiter.jsp b/src/main/webapp/WEB-INF/jsp/user/userResgiter.jsp
index 9b5b8a57527f2f46d6b938d1084c406328720d47..eceb43aa691dde716b2fb87277a4e4e96d47f2c0 100644
--- a/src/main/webapp/WEB-INF/jsp/user/userResgiter.jsp
+++ b/src/main/webapp/WEB-INF/jsp/user/userResgiter.jsp
@@ -106,7 +106,7 @@
alert("注册成功");
window.location.href="/user/login";
}else{
- alert("注册失败");
+ alert(data.error);
}
}
});