|
@@ -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;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|