Procházet zdrojové kódy

个人账号登录修改,添加登出和判断登录接口

wangmh před 8 roky
rodič
revize
c6a7381809

+ 1 - 2
sso-common/src/main/java/com/uas/sso/entity/UserAccount.java

@@ -150,7 +150,7 @@ public class UserAccount implements Serializable {
         this.lastLoginTime = lastLoginTime;
     }
 
-    public UserAccount(Long userUU, String vipName, String mobile, String mobileArea, Short mobileValidCode, String password, String erpPassword, String salt, String email, Short emailValidCode, Short identityValidCode, Integer lock, String appId, Date lastLoginTime) {
+    public UserAccount(Long userUU, String vipName, String mobile, String mobileArea, Short mobileValidCode, String password, String erpPassword, String salt, String email, Short emailValidCode, Short identityValidCode, Integer lock, Date lastLoginTime) {
         this.userUU = userUU;
         this.vipName = vipName;
         this.mobile = mobile;
@@ -163,7 +163,6 @@ public class UserAccount implements Serializable {
         this.emailValidCode = emailValidCode;
         this.identityValidCode = identityValidCode;
         this.lock = lock;
-        this.appId = appId;
         this.lastLoginTime = lastLoginTime;
     }
 

+ 16 - 5
sso-server/src/main/java/com/uas/sso/controller/LoginController.java

@@ -148,11 +148,12 @@ public class LoginController extends BaseController {
             // 没有记录
             if (CollectionUtils.isEmpty(userAccounts)) {
                 // 没有记录如果当前应用允许个人账号的话,查找个人账号
-                if (personalEnable) {
-                    UserAccount userAccount = personalAccountService.findOneByUserUU(appId, user.getUserUU());
-                    return loginByUser(userAccount, returnUrl, user.getUserRecord());
+                UserAccount userAccount = personalAccountService.findOneByUserUU(appId, user.getUserUU());
+                if (!personalEnable) {
+                    // 不支持个人账号则跳转优软云
+                    returnUrl = HOME_PAGE;
                 }
-                return error("您的账号未绑定企业并且当前应用不支持个人账号");
+                return loginByUser(userAccount, returnUrl, user.getUserRecord());
             }
 
             // 应用允许个人账号,并且账号未绑定企业,或者只绑定了一个企业,直接登录
@@ -356,7 +357,7 @@ public class LoginController extends BaseController {
     }
 
     /**
-     * 退出接口
+     * 退出接口,测试接口
      * @return
      */
     @RequestMapping(value = "/logout", method = RequestMethod.GET)
@@ -365,4 +366,14 @@ public class LoginController extends BaseController {
         return success();
     }
 
+    /**
+     * 判断是否登录, 测试接口
+     * @return
+     */
+    @RequestMapping(value = "/isLogin", method = RequestMethod.GET)
+    public ModelMap isLogin() {
+        SSOToken token = SSOHelper.getToken(request);
+        return success(new ModelMap("isLogin", token != null));
+    }
+
 }

+ 3 - 4
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 UserAccount(user.userUU, user.vipName, user.mobile, user.mobileArea, " +
             "user.mobileValidCode, user.password, user.erpPassword, 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 and app.personalEnable = 1 ";
+            "user.identityValidCode, user.lock, ur.lastLoginTime) from UserRecord ur, User user where user.userRecord.id = ur.id ";
 
     @Override
     public List<UserAccount> findAll() {
@@ -43,12 +43,11 @@ public class PersonalAccountServiceImpl implements PersonalAccountService {
 
     @Override
     public UserAccount findOneByUserUU(String appId, Long userUU) {
-        String sql = JPQL + " and app.uid = ?1 and user.userUU = ?2";
+        String sql = JPQL + " and user.userUU = ?1";
         //建立有类型的查询
         TypedQuery<UserAccount> reportTypedQuery= entityManager.createQuery(sql, UserAccount.class);
         //另外有详细查询条件的在jpql中留出参数位置来(?1 ?2 ?3....),然后在这设置
-        reportTypedQuery.setParameter(1, appId);
-        reportTypedQuery.setParameter(2, userUU);
+        reportTypedQuery.setParameter(1, userUU);
         List<UserAccount> reports= reportTypedQuery.getResultList();
         return CollectionUtils.isEmpty(reports) ? null : reports.get(0);
     }