Browse Source

修复修改完邮箱无法正常调整问题

wangmh 7 years ago
parent
commit
c7b35c7911

+ 9 - 5
sso-server/src/main/java/com/uas/sso/controller/UpdateUserController.java

@@ -327,7 +327,11 @@ public class UpdateUserController extends BaseController {
         data.put("vipName", user.getVipName());
         // TODO 邮件认证地址
         data.put("type", "验证邮箱");
-        url = getFrontUrl() + "/update/user/email"+ url.substring(url.indexOf("?"), url.length());
+        if (url.contains("?")) {
+            url = getFrontUrl() + "/update/user/email" + url.substring(url.indexOf("?"), url.length());
+        } else {
+            url = getFrontUrl() + "/update/user/email";
+        }
         data.put("url", url + (url.contains("?") ? "&" : "?") + "step=2&token=" + returnToken.getId());
 
         // 发送邮件
@@ -355,13 +359,13 @@ public class UpdateUserController extends BaseController {
         Token existToken = tokenService.findOne(token);
         if (existToken == null || existToken.isExpired()) {
             // token过期,跳转到失败页面
-            return new ModelAndView("redirect:"+ getFrontUrl() + "/validation/validFail" + "&returnURL=" + returnURL);
+            return new ModelAndView("redirect:"+ getFrontUrl() + "/validation/validFail" + (returnURL == null ? "" :"&returnURL=" + returnURL));
         }
 
         // 拿出userUU,并删除token
         if (existToken.getBind() == null || !(existToken.getBind() instanceof Map)) {
             // token错误,跳转到失败页面
-            return new ModelAndView("redirect:"+ getFrontUrl() + "/validation/validFail?step=2&token=" + token + "&returnURL=" + returnURL);
+            return new ModelAndView("redirect:"+ getFrontUrl() + "/validation/validFail?step=2&token=" + token + (returnURL == null ? "" :"&returnURL=" + returnURL));
         }
         Map<String, Object> data = (Map) existToken.getBind();
         Long userUU = (Long) data.get("userUU");
@@ -370,8 +374,8 @@ public class UpdateUserController extends BaseController {
         userService.updateEmail(userUU, newEmail);
 
         // 删除token
-        tokenService.delete(token);
-        return new ModelAndView("redirect:"+ getFrontUrl() + "/validation/emailValidation?step=3&token=" + token + "&returnURL=" + returnURL);
+//        tokenService.delete(token);
+        return new ModelAndView("redirect:"+ getFrontUrl() + "/validation/emailValidation?step=3&token=" + token + (returnURL == null ? "" :"&returnURL=" + returnURL));
     }
 
     @RequestMapping(value = "/setQuestion", method = RequestMethod.POST)