jyc 2 недель назад
Родитель
Сommit
1d2daab60b

+ 20 - 0
alien-gateway/src/main/java/shop/alien/gateway/config/JwtTokenFilter.java

@@ -23,8 +23,10 @@ import org.springframework.stereotype.Component;
 import org.springframework.web.server.ServerWebExchange;
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
+import shop.alien.entity.store.LawyerUser;
 import shop.alien.entity.store.LifeUser;
 import shop.alien.entity.store.StoreUser;
+import shop.alien.gateway.mapper.LawyerUserMapper;
 import shop.alien.gateway.mapper.LifeUserMapper;
 import shop.alien.gateway.mapper.StoreUserMapper;
 import shop.alien.util.common.JwtUtil;
@@ -62,6 +64,9 @@ public class JwtTokenFilter implements GlobalFilter, Ordered {
     @Autowired
     private LifeUserMapper lifeUserMapper;
 
+    @Autowired
+    private LawyerUserMapper lawyerUserMapper;
+
     /**
      * 过滤器
      *
@@ -142,6 +147,21 @@ public class JwtTokenFilter implements GlobalFilter, Ordered {
                             map.put("code", 666);
                         }
                     }
+                    else if ("lawyer".equals(deviceType)) {
+                        //判断程序是否为用户禁用
+                        LawyerUser lawyerUser = lawyerUserMapper.selectOne(new LambdaQueryWrapper<LawyerUser>().eq(LawyerUser::getPhone, phone));
+                        //注销标记, 0:未注销, 1:已注销
+                        if (null != lawyerUser.getLogoutFlag() && lawyerUser.getLogoutFlag() == 1) {
+                            map.put("msg", "你的账号已注销");
+                            //别问, 问就是约定俗成
+                            map.put("code", 777);
+                        }
+                        if (!redisVal.equals(token)) {
+                            map.put("msg", "账号在别处登录");
+                            //别问, 问就是约定俗成
+                            map.put("code", 666);
+                        }
+                    }
                     map.put("success", false);
                     exchange.getResponse().getHeaders().setContentType(MediaType.APPLICATION_JSON);
                     return exchange.getResponse()