Explorar el Código

商城个人注册完直接登录

wangmh hace 7 años
padre
commit
7bf6213239

+ 28 - 1
sso-server/src/main/java/com/uas/sso/controller/PersonalRegisterController.java

@@ -1,11 +1,17 @@
 package com.uas.sso.controller;
 package com.uas.sso.controller;
 
 
+import com.alibaba.fastjson.JSON;
+import com.uas.sso.SSOHelper;
+import com.uas.sso.SSOToken;
 import com.uas.sso.core.Step;
 import com.uas.sso.core.Step;
 import com.uas.sso.core.Type;
 import com.uas.sso.core.Type;
 import com.uas.sso.core.PasswordStrength;
 import com.uas.sso.core.PasswordStrength;
 import com.uas.sso.entity.User;
 import com.uas.sso.entity.User;
+import com.uas.sso.entity.UserAccount;
 import com.uas.sso.logging.LoggerManager;
 import com.uas.sso.logging.LoggerManager;
 import com.uas.sso.logging.RegisterBufferedLogger;
 import com.uas.sso.logging.RegisterBufferedLogger;
+import com.uas.sso.service.AppService;
+import com.uas.sso.service.PersonalAccountService;
 import com.uas.sso.service.UserService;
 import com.uas.sso.service.UserService;
 import com.uas.sso.util.PasswordLevelUtils;
 import com.uas.sso.util.PasswordLevelUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,6 +22,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 
+import java.util.List;
+
 /**
 /**
  * 个人注册controller
  * 个人注册controller
  *
  *
@@ -29,6 +37,12 @@ public class PersonalRegisterController extends BaseController {
     @Autowired
     @Autowired
     private UserService userService;
     private UserService userService;
 
 
+    @Autowired
+    private PersonalAccountService personalAccountService;
+
+    @Autowired
+    private AppService appService;
+
     private RegisterBufferedLogger registerLogger = LoggerManager.getLogger(RegisterBufferedLogger.class);
     private RegisterBufferedLogger registerLogger = LoggerManager.getLogger(RegisterBufferedLogger.class);
 
 
     /**
     /**
@@ -42,7 +56,7 @@ public class PersonalRegisterController extends BaseController {
      */
      */
     @RequestMapping(method = RequestMethod.POST)
     @RequestMapping(method = RequestMethod.POST)
     @ResponseBody
     @ResponseBody
-    public ModelMap register(User user, String appId, String code, String token) {
+    public ModelMap register(User user, String appId, String code, String token, String baseUrl) {
         // 获取参数
         // 获取参数
         String vipName = user.getVipName();
         String vipName = user.getVipName();
         String mobile = user.getMobile();
         String mobile = user.getMobile();
@@ -79,6 +93,19 @@ public class PersonalRegisterController extends BaseController {
         // 注册成功后删除验证码token
         // 注册成功后删除验证码token
         tokenService.delete(token);
         tokenService.delete(token);
 
 
+        if ("mall".equals(appId)) {
+            UserAccount userAccount = personalAccountService.findOneByUserUU(appId, user.getUserUU());
+            List<String> loginUrls = appService.findAllLoginUrl();
+            ModelMap data = new ModelMap();
+            data.addAttribute("data", userAccount)
+                    .addAttribute("loginUrls", loginUrls)
+                    .addAttribute("currentUrl", baseUrl);
+            SSOToken st = new SSOToken(request, userAccount.getMobile());
+            st.setData(JSON.toJSONString(userAccount));
+            SSOHelper.setSSOCookie(request, response, st, true);
+            return success(data);
+        }
+
         // 设置返回数据
         // 设置返回数据
         return success(new ModelMap("userUU", user.getUserUU()));
         return success(new ModelMap("userUU", user.getUserUU()));
     }
     }

+ 1 - 1
sso-server/src/main/java/com/uas/sso/service/impl/PersonalAccountServiceImpl.java

@@ -26,7 +26,7 @@ public class PersonalAccountServiceImpl implements PersonalAccountService {
      */
      */
     private static final String JPQL= "select new com.uas.sso.entity.UserAccount(user.userUU, user.vipName, user.mobile, user.mobileArea, " +
     private static final String JPQL= "select new com.uas.sso.entity.UserAccount(user.userUU, user.vipName, user.mobile, user.mobileArea, " +
             "user.mobileValidCode, user.password, user.salt, user.email, user.emailValidCode, " +
             "user.mobileValidCode, user.password, user.salt, user.email, user.emailValidCode, " +
-            "user.identityValidCode, user.lock, app.uid, ur.lastLoginTime) from UserRecord ur, User user, App app where user.userRecord.id = ur.id ";
+            "user.identityValidCode, user.lock, app.uid, ur.lastLoginTime) from User user, App app left join user.userRecord ur where 1=1 ";
 
 
     @Override
     @Override
     public List<UserAccount> findAll() {
     public List<UserAccount> findAll() {