From e3d71e6211ada723d38dbb73479c458465391103 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 19 八月 2025 08:56:41 +0800
Subject: [PATCH] 1、程序化哈格里夫斯(Hargreaves)公式; 2、实现每日定时任务,计算作物蒸腾量,并存储数据库
---
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java | 112 ++++++++++++++++++--------------------------------------
1 files changed, 36 insertions(+), 76 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..ebd9d33 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,13 +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.stereotype.Component;
-import org.springframework.web.client.RestTemplate;
-import org.springframework.web.util.UriComponentsBuilder;
import java.lang.reflect.Method;
import java.util.Objects;
@@ -31,94 +25,60 @@
@Component
public class SsoAspect {
- @Value("${pipIrr.sso.checkUrl}")
- public String SsoCheckUrl ;
-
- private RestTemplate restTemplate;
+ @Value("${pipIrr.global.dev}")
+ public String isDevStage ;//鏄惁涓哄紑鍙戦樁娈�
@Autowired
- public void setRestTemplate(RestTemplate restTemplate){
- this.restTemplate = restTemplate ;
- }
+ private SsoCheck ssoCheck ;
@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.ssoCheck.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)
- .queryParam("token", token)
- .queryParam("power", power)
- .queryParam("allPower", (Object) allPower)
- .queryParam("anyPower", (Object) anyPower)
- .build()
- .toUriString();
- // 鐢变簬鑾峰彇student鎺ュ彛鍜变滑璁剧疆浜哹asicauth锛屾墍浠ラ渶瑕佸湪璇锋眰鏃堕厤缃�
- HttpHeaders headers = new HttpHeaders();
- HttpEntity<?> httpEntity = new HttpEntity<>(headers);
- ResponseEntity<SsoVo> response = null;
- try {
- // 閫氳繃Get鏂瑰紡璋冪敤鎺ュ彛
- response = restTemplate.exchange(url, HttpMethod.GET, httpEntity, SsoVo.class);
- } catch (Exception e) {
- e.printStackTrace();
- }
- assert response != null;
- return response.getBody();
- }else {
- return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屾湭寰楀埌SsoCheckUrl");
- }
- }
}
--
Gitblit v1.8.0