Selaa lähdekoodia

用户登录状态判断

yang 4 vuotta sitten
vanhempi
commit
8bfea9cecf

+ 37 - 5
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/LoginService.java

@@ -129,6 +129,12 @@ public class LoginService implements ILoginService {
         if (userAccount == null) {
             return RestResponse.fail(ApiConstants.RESULT_ERROR, "手机号尚未注册");
         }
+        //用户状态判断
+        RestResponse restResponse = judgeStatus(userAccount);
+        if (restResponse != null) {
+            return restResponse;
+        }
+
         //判断用户是否为物管端用户
         int userType = userAccount.getType() != null ? userAccount.getType() : ApiConstants.UserConstants.TYPE_USER;
         if (ApiConstants.UserConstants.PUBLIC_TYPE_USER == userType) {
@@ -218,6 +224,11 @@ public class LoginService implements ILoginService {
         if (userAccount == null) {
             return RestResponse.fail(ApiConstants.RESULT_ERROR, "未绑定微信号,请登录绑定微信号");
         }
+        //用户状态判断
+        RestResponse restResponse = judgeStatus(userAccount);
+        if (restResponse != null) {
+            return restResponse;
+        }
         //用户存在,关联登录成功
         //登录成功初始化登录信息
         userRequest.setUserId(userAccount.getUserId());
@@ -241,6 +252,11 @@ public class LoginService implements ILoginService {
         if (userAccount == null) {
             return RestResponse.success(openId, ApiConstants.RESULT_NO_DATA, "用户尚未绑定用户信息");
         }
+        //用户状态判断
+        RestResponse restResponse = judgeStatus(userAccount);
+        if (restResponse != null) {
+            return restResponse;
+        }
         userRequest.setMobile(userAccount.getMobile());
         UserResponse userResponse = userService.getAppletUserInfo(userAccount.getUserId());
         if (userResponse == null) {
@@ -280,7 +296,7 @@ public class LoginService implements ILoginService {
         ));
         if (oldBindUser != null) {
             //解除上一个手机的绑定信息
-            if (!userAccountService.update(Wrappers.<UserAccount>update().set("wechat_open_id", null).eq("user_id",oldBindUser.getUserId()))) {
+            if (!userAccountService.update(Wrappers.<UserAccount>update().set("wechat_open_id", null).eq("user_id", oldBindUser.getUserId()))) {
                 return RestResponse.fail(ApiConstants.RESULT_ERROR, "解除原来绑定失败");
             }
         }
@@ -432,11 +448,11 @@ public class LoginService implements ILoginService {
         //用户app权限
         List<Appmenu> appmenus = appuserMenuService.getAllMenuByLevelId(userResponse.getUserLevel());
         //如果该用户是专家的话,追加专家权限
-        if (userResponse.getExpertFlag().equals(1)){
+        if (userResponse.getExpertFlag().equals(1)) {
             //3表示专家用户,把专家的权限追加到用户下面
             List<Appmenu> exprotRole = appuserMenuService.getAllMenuByLevelId(3);
-            if (exprotRole != null && exprotRole.size() > 0){
-                if (appmenus == null){
+            if (exprotRole != null && exprotRole.size() > 0) {
+                if (appmenus == null) {
                     appmenus = new ArrayList<>();
                 }
                 appmenus.addAll(exprotRole);
@@ -449,7 +465,6 @@ public class LoginService implements ILoginService {
         userResponse.setAppMenus(appmenus);
 
 
-
         return null;
     }
 
@@ -577,4 +592,21 @@ public class LoginService implements ILoginService {
         return false;
     }
 
+    /**
+     * 用户状态断言
+     *
+     * @param userAccount
+     * @return
+     */
+    private RestResponse judgeStatus(UserAccount userAccount) {
+
+        switch (userAccount.getDeleteFlag()) {
+            case 1:
+                return RestResponse.fail(ApiConstants.RESULT_ERROR, "用户被冻结,无法登录!");
+            default:
+                return null;
+        }
+    }
+
+
 }