liujc hai 1 ano
pai
achega
0b315fa2a8

+ 3 - 0
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/dto/TenantWrapper.java

@@ -77,6 +77,9 @@ public class TenantWrapper implements Serializable {
         @ApiModelProperty("机构ID")
         private Long tenantId;
 
+        @ApiModelProperty("机构状态")
+        private Boolean tenantEnableFlag;
+
         @ApiModelProperty("用户ID")
         private Long userId;
 

+ 7 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/handler/BaseAuthenticationFailureEvenHandler.java

@@ -44,6 +44,13 @@ public class BaseAuthenticationFailureEvenHandler extends ExceptionMappingAuthen
             resultCode = 5001;
             // 用户未绑定openId错误信息
             message = "用户未绑定小程序账号";
+        }else if (message.startsWith("MA:5004:")) {
+            // 返回用户绑定openId
+            data = message.split(":")[2];
+            // 用户未绑定openId错误码
+            resultCode = 5004;
+            // 用户未绑定openId错误信息
+            message = "该机构已被冻结,请联系管理员";
         }
         logger.info("登录失败,异常:{}", message);
         HttpResponseResult result = new HttpResponseResult(false, resultCode, data, message);

+ 3 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/provider/service/DefaultUserDetailsService.java

@@ -94,6 +94,9 @@ public class DefaultUserDetailsService implements UserDetailsService {
                 throw new UsernameNotFoundException("账户不存在");
             }
             if (UserLockFlag.LOCKED.name().equals(tenantStaff.getStatus())) {
+                if (Boolean.FALSE.equals(tenantStaff.getTenantEnableFlag())) {
+                    throw new UsernameNotFoundException("MA:5004:该机构已被冻结");
+                }
                 throw new LockedException("账户被锁定");
             }
         }

+ 4 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/open/AdminClient.java

@@ -54,6 +54,7 @@ import java.security.interfaces.RSAPublicKey;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 @Slf4j
@@ -176,6 +177,9 @@ public class AdminClient extends BaseController {
         TenantStaff staff = tenantStaffService.getByUserId(userId);
         if (Objects.nonNull(staff)) {
             ret = TenantWrapper.Staff.from(JSON.toJSONString(staff));
+            Long tenantId = staff.getTenantId();
+            TenantInfo tenantInfo = tenantInfoService.getById(Optional.ofNullable(tenantId).orElse(-1L));
+            ret.setTenantEnableFlag(Optional.ofNullable(tenantInfo).map(TenantInfo::getEnableFlag).orElse(false));
         }
         return succeed(ret);
     }

+ 9 - 9
cooleshow-user/user-tenant/src/main/java/com/yonge/cooleshow/tenant/controller/open/OpenTenantController.java

@@ -87,15 +87,15 @@ public class OpenTenantController {
                 throw new BizException(5003, "请等待审核完成");
             }
         }
-        Long tenantId = tenantStaff.getTenantId();
-        TenantInfo tenantInfo = tenantInfoService.getById(tenantId);
-        if(tenantInfo == null){
-            throw new BizException("机构不存在");
-        }
-        if (Boolean.FALSE.equals(tenantInfo.getEnableFlag())) {
-            String configValue = sysConfigService.findConfigValue("customer_service_phone");
-            throw new BizException(5004, "机构已停用,请联系客服/n" + (StringUtils.isEmpty(configValue) ? "" : configValue));
-        }
+//        Long tenantId = tenantStaff.getTenantId();
+//        TenantInfo tenantInfo = tenantInfoService.getById(tenantId);
+//        if(tenantInfo == null){
+//            throw new BizException("机构不存在");
+//        }
+//        if (Boolean.FALSE.equals(tenantInfo.getEnableFlag())) {
+//            String configValue = sysConfigService.findConfigValue("customer_service_phone");
+//            throw new BizException(5004, "机构已停用,请联系客服/n" + (StringUtils.isEmpty(configValue) ? "" : configValue));
+//        }
         tenantStaff.setWxOpenid(openId);
         tenantStaffService.updateById(tenantStaff);
         return HttpResponseResult.succeed();