فهرست منبع

更新登录接口

xuexb 6 سال پیش
والد
کامیت
ad110fb770

+ 2 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/constants/UrlConstants.java

@@ -12,5 +12,7 @@ public class UrlConstants {
 
     public static final String API_MEDAL="/api/medal";
 
+    public static final String PAGE="/page/";
+
     public static final String API="/api/";
 }

+ 33 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/util/EncryptionUtil.java

@@ -0,0 +1,33 @@
+package cn.iselab.mooctest.user.util;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+
+public class EncryptionUtil {
+
+    private static final Logger LOG = LoggerFactory.getLogger(EncryptionUtil.class);
+
+    public static String encryptMD5(String str) {
+        String s = str;
+        if (s == null) {
+            return "";
+        } else {
+            String value = null;
+            MessageDigest md5 = null;
+            try {
+                md5 = MessageDigest.getInstance("MD5");
+            } catch (NoSuchAlgorithmException ex) {
+                LOG.error("", ex);
+            }
+            sun.misc.BASE64Encoder baseEncoder = new sun.misc.BASE64Encoder();
+            try {
+                value = baseEncoder.encode(md5.digest(s.getBytes("utf-8")));
+            } catch (Exception ex) {
+            }
+            return value;
+        }
+    }
+}

+ 16 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/web/ctrl/UserController.java

@@ -2,6 +2,7 @@ package cn.iselab.mooctest.user.web.ctrl;
 
 import cn.iselab.mooctest.rpc.user.data.UserDTO;
 import cn.iselab.mooctest.user.constants.UrlConstants;
+import cn.iselab.mooctest.user.util.EncryptionUtil;
 import cn.iselab.mooctest.user.web.logic.UserLogic;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -42,6 +43,21 @@ public class UserController extends BaseController {
         return new ModelAndView("index");
     }
 
+    @RequestMapping(value = UrlConstants.PAGE + "login", method = RequestMethod.GET)
+    public ModelAndView login(){
+
+        return new ModelAndView("index");
+    }
+
+    @RequestMapping(value = UrlConstants.API + "login", method = RequestMethod.POST)
+    public UserDTO checkLogin(@RequestBody UserDTO user){
+        String password = EncryptionUtil.encryptMD5(user.getPassword());
+        user.setPassword(password);
+        user = userLogic.checkPWD(user);
+        return user;
+    }
+
+
 //    @RequestMapping(value = UrlConstants.API + "userList", method = RequestMethod.GET)
 //    public List<UserDTO> getUsers() {
 //        List<Long> userIds = new ArrayList<>();

+ 2 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/web/logic/UserLogic.java

@@ -18,6 +18,8 @@ public interface UserLogic {
 
     Boolean checkPassword(UserDTO userDTO);
 
+    UserDTO checkPWD(UserDTO userDTO);
+
     UserDTO save(UserDTO userDTO);
 
     UserDTO updateUser(UserDTO userDTO);

+ 30 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/web/logic/impl/UserLogicImpl.java

@@ -87,6 +87,36 @@ public class UserLogicImpl extends BaseLogic implements UserLogic {
     }
 
     @Override
+    public UserDTO checkPWD(UserDTO userDTO) {
+        if (userDTO.getEmail().isEmpty() && userDTO.getMobile().isEmpty()) {
+            LOG.error("用户名为空,登录失败!");
+            throw new HttpBadRequestException("empty username");
+        }
+        User user;
+        if (!userDTO.getEmail().isEmpty()){
+            user = userService.findByEmail(userDTO.getEmail());
+            if (user.getPassword().equals(userDTO.getPassword())) {
+                LOG.info("邮箱登录成功--用户名--"+user.getEmail());
+                return userWrapper.wrap(user);
+            }
+            else {
+                LOG.error("邮箱登录失败--密码错误--"+user.getEmail());
+                return null;
+            }
+        } else {
+            user = userService.findByMobile(userDTO.getMobile());
+            if(user.getPassword().equals(userDTO.getPassword())){
+                LOG.info("手机登录成功--用户名--"+user.getMobile());
+                return userWrapper.wrap(user);
+            }
+            else{
+                LOG.error("手机登录失败--密码错误");
+                return null;
+            }
+        }
+    }
+
+    @Override
     public UserDTO save(UserDTO userDTO) {
         User user = userWrapper.unwrap(userDTO);
         return userWrapper.wrap(userService.register(user));