From ac36bcd41519764d9a79eaffca3fe41e6ecb89f9 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 09 十一月 2023 11:30:17 +0800
Subject: [PATCH] 1、增加是否为开发阶段的配置,基于此配置,进行判断,若开发阶段设置临时数据源名称,及不进行登录及权限验证。 2、分配各个子系统id生成器的后缀

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java |   73 ++++++++++++++++++++++--------------
 1 files changed, 44 insertions(+), 29 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java
index 8ff3393..fbfa354 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java
@@ -4,7 +4,7 @@
 import com.dy.common.multiDataSource.DataSourceContext;
 import com.dy.common.webFilter.UserTokenContext;
 import com.dy.common.webUtil.BaseResponseUtils;
-import com.mysql.jdbc.StringUtils;
+import com.mysql.cj.util.StringUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.annotation.Around;
@@ -31,6 +31,9 @@
 @Component
 public class SsoAspect {
 
+    @Value("${pipIrr.global.dev}")
+    public String isDevStage ;//鏄惁涓哄紑鍙戦樁娈�
+
     @Value("${pipIrr.sso.checkUrl}")
     public String SsoCheckUrl ;
 
@@ -47,43 +50,55 @@
 
     @Around("dyPointCut()")
     public Object execute(ProceedingJoinPoint point) throws Throwable {
-        MethodSignature signature = (MethodSignature) point.getSignature();
-        Method method = signature.getMethod();
-        SsoAop aop = method.getAnnotation(SsoAop.class) ;
-        if (Objects.nonNull(aop)){
-            String token = UserTokenContext.get() ;
-            String power = aop.power() ;
-            String[] allPower = aop.ifAllPower() ;
-            String[] anyPower = aop.ifAnyPower() ;
-            Object rObj = this.check(token, power, allPower, anyPower);
-            if(rObj != null){
-                if(rObj instanceof SsoVo ssoVo){
-                    if(ssoVo.logined){
-                        if(ssoVo.hasPower){
-                            if(!StringUtils.isNullOrEmpty(ssoVo.dataSourceName)){
-                                DataSourceContext.set(ssoVo.dataSourceName);
-                                return point.proceed();
+        if(isDevStage != null && !isDevStage.trim().equals("") && isDevStage.trim().equalsIgnoreCase("true")){
+            return point.proceed();
+        }else{
+            MethodSignature signature = (MethodSignature) point.getSignature();
+            Method method = signature.getMethod();
+            SsoAop aop = method.getAnnotation(SsoAop.class) ;
+            if (Objects.nonNull(aop)){
+                String power = aop.value() ;
+                if(power.trim().equals("")){
+                    power = aop.power() ;
+                }
+                if(power.trim().equals("-1")){
+                    //涓嶈繘琛岀櫥褰曞強鏉冮檺楠岃瘉
+                    return point.proceed();
+                }else{
+                    String[] allPower = aop.ifAllPower() ;
+                    String[] anyPower = aop.ifAnyPower() ;
+                    String token = UserTokenContext.get() ;
+                    Object rObj = this.check(token, power, allPower, anyPower);
+                    if(rObj != null){
+                        if(rObj instanceof SsoVo ssoVo){
+                            if(ssoVo.logined){
+                                if(ssoVo.hasPower){
+                                    if(!StringUtils.isNullOrEmpty(ssoVo.dataSourceName)){
+                                        DataSourceContext.set(ssoVo.dataSourceName);
+                                        return point.proceed();
+                                    }else{
+                                        //鏃犳暟鎹簮
+                                        return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屾湭寰楀埌褰撳墠鐧诲綍鐢ㄦ埛鎵�灞炴満鏋勬爣绛撅紙鏁版嵁婧愬悕锛�") ;
+                                    }
+                                }else{
+                                    //鏃犳潈闄�
+                                    return BaseResponseUtils.buildNoPower() ;
+                                }
                             }else{
-                                //鏃犳暟鎹簮
-                                return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屾湭寰楀埌褰撳墠鐧诲綍鐢ㄦ埛鎵�灞炴満鏋勬爣绛撅紙鏁版嵁婧愬悕锛�") ;
+                                //鏈櫥褰�
+                                return BaseResponseUtils.buildToLogin() ;
                             }
                         }else{
-                            //鏃犳潈闄�
-                            return BaseResponseUtils.buildNoPower() ;
+                            return rObj ;
                         }
                     }else{
-                        //鏈櫥褰�
-                        return BaseResponseUtils.buildToLogin() ;
+                        return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛宑heck鏂规硶杩斿洖null") ;
                     }
-                }else{
-                    return rObj ;
                 }
             }else{
-                return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛宑heck鏂规硶杩斿洖null") ;
+                //宸茬粡杩涘叆娉ㄨВ澶勭悊浜嗭紝杩樺緱涓嶅埌娉ㄨВ锛岃繖绉嶆儏鍐垫槸涓嶅彲鑳界殑銆�
+                return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛孌yAop娉ㄨВ涓簄ull") ;
             }
-        }else{
-            //宸茬粡杩涘叆娉ㄨВ澶勭悊浜嗭紝杩樺緱涓嶅埌娉ㄨВ锛岃繖绉嶆儏鍐垫槸涓嶅彲鑳界殑銆�
-            return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛孌yAop娉ㄨВ涓簄ull") ;
         }
     }
 

--
Gitblit v1.8.0