From 7a76aa4311c86413ff964ed882f592edec5dc470 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期一, 20 五月 2024 21:37:54 +0800 Subject: [PATCH] 1、完善协议实现代码; 2、实体协议数据处理自动任务(报警及状态+定时上报数据); 3、数据库实体id自动付值插件优化。 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java | 88 +++++++++++++++++++++---------------------- 1 files changed, 43 insertions(+), 45 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..b837f44 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; @@ -14,10 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.annotation.Order; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpMethod; -import org.springframework.http.ResponseEntity; +import org.springframework.http.*; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.UriComponentsBuilder; @@ -31,8 +28,11 @@ @Component public class SsoAspect { + @Value("${pipIrr.global.dev}") + public String isDevStage ;//鏄惁涓哄紑鍙戦樁娈� + @Value("${pipIrr.sso.checkUrl}") - public String SsoCheckUrl ; + public String ssoCheckUrl; private RestTemplate restTemplate; @@ -42,70 +42,68 @@ } @Pointcut("@annotation(com.dy.common.aop.SsoAop)") - public void dyPointCut() { + public void ssoPointCut() { } - @Around("dyPointCut()") + @Around("ssoPointCut()") 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 token = UserTokenContext.get() ; + Object rObj = this.check(token); + if(rObj != null){ + if(rObj instanceof SsoVo ssoVo){ + if(ssoVo.logined){ + if(ssoVo.hasPower){ + if(!StringUtils.isNullOrEmpty(ssoVo.dataSourceName)){ + DataSourceContext.set(ssoVo.dataSourceName); + Object obj = point.proceed(); + DataSourceContext.remove(); + return obj ; + }else{ + //鏃犳暟鎹簮 + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屾湭寰楀埌褰撳墠鐧诲綍鐢ㄦ埛鎵�灞炴満鏋勬爣绛撅紙鏁版嵁婧愬悕锛�") ; + } }else{ - //鏃犳暟鎹簮 - return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屾湭寰楀埌褰撳墠鐧诲綍鐢ㄦ埛鎵�灞炴満鏋勬爣绛撅紙鏁版嵁婧愬悕锛�") ; + //鏃犳潈闄� + return BaseResponseUtils.buildNoPower() ; } }else{ - //鏃犳潈闄� - return BaseResponseUtils.buildNoPower() ; + //鏈櫥褰� + return BaseResponseUtils.buildToLogin() ; } }else{ - //鏈櫥褰� - return BaseResponseUtils.buildToLogin() ; + return rObj ; } }else{ - return rObj ; + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛宑heck鏂规硶杩斿洖null") ; } }else{ - return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛宑heck鏂规硶杩斿洖null") ; + //宸茬粡杩涘叆娉ㄨВ澶勭悊浜嗭紝杩樺緱涓嶅埌娉ㄨВ锛岃繖绉嶆儏鍐垫槸涓嶅彲鑳界殑銆� + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛孌yAop娉ㄨВ涓簄ull") ; } - }else{ - //宸茬粡杩涘叆娉ㄨВ澶勭悊浜嗭紝杩樺緱涓嶅埌娉ㄨВ锛岃繖绉嶆儏鍐垫槸涓嶅彲鑳界殑銆� - return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛孌yAop娉ㄨВ涓簄ull") ; } } /** * 璋冪敤SSO绯荤粺杩涜楠岃瘉 * @param token Header涓殑鐢ㄦ埛token - * @param power 涓�涓潈闄� - * @param allPower 澶氫釜鏉冮檺 - * @param anyPower 澶氫釜鏉冮檺 * @return 杩斿洖瀵硅薄 */ - private Object check(String token, String power, String[] allPower, String[] anyPower){ - if(!StringUtils.isNullOrEmpty(SsoCheckUrl)){ - String url = UriComponentsBuilder.fromUriString(SsoCheckUrl) + private Object check(String token){ + if(!StringUtils.isNullOrEmpty(ssoCheckUrl)){ + String url = UriComponentsBuilder.fromUriString(ssoCheckUrl) .queryParam("token", token) - .queryParam("power", power) - .queryParam("allPower", (Object) allPower) - .queryParam("anyPower", (Object) anyPower) .build() .toUriString(); - // 鐢变簬鑾峰彇student鎺ュ彛鍜变滑璁剧疆浜哹asicauth锛屾墍浠ラ渶瑕佸湪璇锋眰鏃堕厤缃� HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8")); + HttpEntity<?> httpEntity = new HttpEntity<>(headers); ResponseEntity<SsoVo> response = null; try { -- Gitblit v1.8.0