Ver Fonte

验证码添加手机号绑定

wangmh há 8 anos atrás
pai
commit
ba2cad873e

+ 11 - 6
sso-server/src/main/java/com/uas/sso/controller/PersonalRegisterController.java

@@ -74,7 +74,7 @@ public class PersonalRegisterController extends BaseController {
         }
 
         // 校验验证码
-        ModelMap checkResult = checkCode(code, token);
+        ModelMap checkResult = checkCode(mobile, code, token);
         if (checkResult.get(Const.SUCCESS) == null) {
             // 校验不成功,返回校验的错误信息
             return checkResult;
@@ -101,6 +101,7 @@ public class PersonalRegisterController extends BaseController {
         // 注册
         user.setFromApp(StringUtils.isEmpty(appId) ? "sso" : appId);
         userService.register(user);
+        tokenService.delete(token);
         registerLogger.info(Type.REGISTER_PERSONAL.getValue(), 1, "个人注册成功", user, user.getFromApp());
 
         return success();
@@ -109,24 +110,25 @@ public class PersonalRegisterController extends BaseController {
     /**
      * 获取验证码
      *
-     * @param tel 手机号
+     * @param mobile 手机号
      * @return success(tokenId)
      */
     @RequestMapping(value = "/checkCode", method = RequestMethod.GET)
     @ResponseBody
-    public ModelMap getCode(String tel) {
+    public ModelMap getCode(String mobile) {
         String code = StringUtil.getRandomNumber(6);
         Token token = new Token(code, 10*60);
+        token.setMobile(mobile);
         tokenService.save(token);
         ModelMap data = new ModelMap();
         data.put("checkcode", code);
         request.getSession().setAttribute("token", token.getId());
         // 手机短信
         try {
-            if (!StringUtils.isEmpty(tel)) {
+            if (!StringUtils.isEmpty(mobile)) {
                 Setting smsTplId = settingService.findOne("templateForSendSmsWhenRegister");
                 if (!StringUtils.isEmpty(smsTplId)) {
-                    smsService.send(smsTplId.getValue(), tel, new Object[]{code});
+                    smsService.send(smsTplId.getValue(), mobile, new Object[]{code});
                 }
             }
         } catch (Exception e) {
@@ -144,7 +146,7 @@ public class PersonalRegisterController extends BaseController {
      */
     @RequestMapping(value = "/checkCode", method = RequestMethod.POST)
     @ResponseBody
-    public ModelMap checkCode(String code, String token) {
+    public ModelMap checkCode(String mobile, String code, String token) {
         // 校验参数
         if (StringUtils.isEmpty(token) || StringUtils.isEmpty(token)) {
             return error("参数错误");
@@ -153,6 +155,9 @@ public class PersonalRegisterController extends BaseController {
         if (existToken == null || existToken.isExpired()) {
             return error("验证码已经失效,请重新获取");
         }
+        if (StringUtils.isEmpty(mobile) || !mobile.equals(existToken.getMobile())) {
+            return error("手机号被修改,请重新获取验证码");
+        }
 
         // 校验验证码
         String existCode = existToken.getBind().toString();

+ 12 - 0
sso-server/src/main/java/com/uas/sso/controller/UserspaceRegisterController.java

@@ -0,0 +1,12 @@
+package com.uas.sso.controller;
+
+/**
+ * 企业注册controller
+ *
+ * @author wangmh
+ * @date 2018/1/4
+ */
+public class UserspaceRegisterController {
+
+
+}

+ 15 - 0
sso-server/src/main/java/com/uas/sso/entity/Token.java

@@ -20,6 +20,8 @@ public class Token implements Serializable {
 
 	private int expires_in;
 
+    private String mobile;
+
 	/**
 	 * 60秒过期
 	 */
@@ -83,4 +85,17 @@ public class Token implements Serializable {
 	public boolean isExpired() {
 		return System.currentTimeMillis() - this.time.getTime() > expires_in * 1000;
 	}
+
+    /**
+     * 绑定手机号
+     *
+     * @return
+     */
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
 }