suochencheng 7 lat temu
rodzic
commit
bc0fe8c304

+ 42 - 9
src/main/java/com/izouma/awesomeadmin/service/impl/UserInfoServiceImpl.java

@@ -234,18 +234,54 @@ public class UserInfoServiceImpl implements UserInfoService {
         return null;
     }
 
-    @Override
-    public UserInfo loginSms(String phone, String code, String sessionId) throws LoginException {
-        logger.info("loginSms");
-//        SMSVerifyCodeResult sMSVerifyCodeResult;
+//    @Override
+//    public UserInfo loginSms(String phone, String code, String sessionId) throws LoginException {
+//        logger.info("loginSms");
+////        SMSVerifyCodeResult sMSVerifyCodeResult;
+////        try {
+////            sMSVerifyCodeResult = rongCloud.sms.verifyCode(sessionId, code);
+////        } catch (Exception e) {
+////            e.printStackTrace();
+////            throw new LoginException("验证码错误");
+////        }
 //        try {
-//            sMSVerifyCodeResult = rongCloud.sms.verifyCode(sessionId, code);
+//            if (code.toLowerCase().equals(sessionId)) {
+//                UserInfo userInfo = new UserInfo();
+//                userInfo.setPhone(phone);
+//                userInfo = getUserInfo(userInfo);
+//                if (userInfo == null) {
+//                    userInfo = new UserInfo();
+//                    userInfo.setPhone(phone);
+//                    userInfo.setUsername(phone);
+//                    userInfo.setNickname(phone);
+//                    userInfo.setIcon("https://microball.oss-cn-hangzhou.aliyuncs.com/huanbaojia/icon_morentouxiang.png");
+//                    if (!createUserInfo(userInfo)) {
+//                        throw new LoginException("登录失败");
+//                    }
+//                }
+//                return userInfo;
+//            }
 //        } catch (Exception e) {
 //            e.printStackTrace();
 //            throw new LoginException("验证码错误");
 //        }
+//        throw new LoginException("验证码错误");
+//    }
+
+
+    @Override
+    public UserInfo loginSms(String phone, String code, String sessionId) throws LoginException {
+        logger.info("loginSms");
+        SMSVerifyCodeResult sMSVerifyCodeResult;
         try {
-            if (code.toLowerCase().equals(sessionId)) {
+            sMSVerifyCodeResult = rongCloud.sms.verifyCode(sessionId, code);
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new LoginException("验证码错误");
+        }
+        if (200 == sMSVerifyCodeResult.getCode()) {
+            Boolean success = sMSVerifyCodeResult.getSuccess();
+            if (success) {
                 UserInfo userInfo = new UserInfo();
                 userInfo.setPhone(phone);
                 userInfo = getUserInfo(userInfo);
@@ -261,9 +297,6 @@ public class UserInfoServiceImpl implements UserInfoService {
                 }
                 return userInfo;
             }
-        } catch (Exception e) {
-            e.printStackTrace();
-            throw new LoginException("验证码错误");
         }
         throw new LoginException("验证码错误");
     }

+ 3 - 2
src/main/java/com/izouma/awesomeadmin/web/AuthenticationController.java

@@ -95,15 +95,16 @@ public class AuthenticationController {
     @ResponseBody
     public ModelAndView loginBySms(@RequestParam("phone") String phone,
                                    @RequestParam("code") String code,
+                                   @RequestParam("sessionId") String sessionId,
                                    @RequestParam(value = "remember", required = false, defaultValue = "false") boolean remember,
                                    @RequestParam(value = "requireToken", required = false, defaultValue = "false") boolean requireToken,
                                    HttpServletRequest request,
                                    HttpServletResponse response) {
 
-        String rand = (String) request.getSession(true).getAttribute("aliMsgCode");
+        //String rand = (String) request.getSession(true).getAttribute("aliMsgCode");
 
         ModelAndView result = new ModelAndView(new MappingJackson2JsonView());
-        PhoneCodeToken phoneCodeToken = new PhoneCodeToken(phone, code, rand);
+        PhoneCodeToken phoneCodeToken = new PhoneCodeToken(phone, code, sessionId);
         Map<String, Object> map = login(phoneCodeToken, remember, requireToken, 3, request, response);
         result.addAllObjects(map);
         return result;