From fbb473488a8b7ece88ecba16d8f2ba25c0c35c61 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 18 九月 2023 14:55:05 +0800
Subject: [PATCH] 代码提交
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 31 +++++++++++++++++++++++++++----
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java | 8 ++++++--
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineFallback.java | 3 ++-
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/UniversalInterfaceI.java | 2 ++
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java | 15 ++++++++-------
5 files changed, 45 insertions(+), 14 deletions(-)
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineFallback.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineFallback.java
index 59c2c3f..a78732c 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineFallback.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineFallback.java
@@ -40,7 +40,8 @@
}
@Override
- public R<Integer> updateBatchByType(String btmType, List<BaseModel> baseModels) {
+ public R<Integer> updateBatchBtypeDatas(String btmType, List<BaseModel> baseModels) {
return R.fail("鏇存柊鏁版嵁澶辫触");
}
+
}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
index 61bc9e2..b82489f 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
@@ -1,6 +1,7 @@
package com.vci.ubcs.code.controller;
import com.vci.ubcs.code.service.UniversalInterfaceI;
+import org.apache.tools.ant.taskdefs.condition.Http;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.core.tool.api.R;
@@ -13,6 +14,7 @@
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.core.Context;
+import java.util.concurrent.ConcurrentHashMap;
/**
* 涓婚搴撳垎绫绘帶鍒跺櫒
@@ -43,10 +45,12 @@
* @throws Throwable
*/
@PostMapping("/applyCode")
- public String applyCode(@RequestParam("dataString")String dataString, @RequestParam("dataType")String dataType, ServletRequest request) {
+ public String applyCode(@RequestParam("dataString")String dataString, @RequestParam("dataType")String dataType, HttpServletRequest request) {
String result="";
- HttpServletRequest httpServletRequest = (HttpServletRequest) request;
try {
+ ThreadLocal<HttpServletRequest> threadLocal = new ThreadLocal<>();
+ threadLocal.set(request);
+ universalInterfaceI.setThreadLocal(threadLocal);
result = universalInterfaceI.applyCode(dataString, dataType);
}catch (Throwable e){
e.printStackTrace();
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/UniversalInterfaceI.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/UniversalInterfaceI.java
index 5770889..428b3e0 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/UniversalInterfaceI.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/UniversalInterfaceI.java
@@ -27,6 +27,8 @@
*/
public String applyCode(String data, String dataType)throws Throwable;
+ public void setThreadLocal(ThreadLocal<HttpServletRequest> threadLocal);
+
/****
* 浜哄憳鏁版嵁鍚屾
* @param personData
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java
index 1457d0a..7008270 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java
@@ -11,6 +11,7 @@
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.secure.BladeUser;
+import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.ObjectUtil;
@@ -84,9 +85,11 @@
String ipAddr = request.getRemoteAddr();
// 鍏堝皾璇曚粠缂撳瓨褰撲腑鍙栵紝瀛樺湪灏辩洿鎺ヤ粠缂撳瓨涓幏鍙�
String authToken = bladeRedis.get(PWD_FREE_LOGIN_TOKEN+ipAddr+":"+userName);
- BladeUser user = null;
+ // 瑙f瀽token瀛樻斁杩沘ttr涓�
+ String token2 = JwtUtil.getToken(authToken);
+ BladeUser user = this.getUser(token2);
//涓嶅瓨鍦ㄥ氨璇锋眰
- if(Func.isEmpty(authToken)){
+ if(Func.isEmpty(authToken) || Func.isEmpty(user)){
// 鍏嶅瘑鐧诲綍鎺ュ彛鍦板潃
String loginUrl = "http://localhost:"+this.getGatewayPort("ubcs-gateway")+"/ubcs-auth/oauth/token";
// 璇锋眰ubcs-auth鏈嶅姟鑾峰彇token锛屽厛璁剧疆璇锋眰澶�
@@ -118,10 +121,10 @@
authToken = "bearer " + tokenUserObject.getAccess_token();
// 灏唗oken瀛樺叆缂撳瓨褰撲腑,杩囨湡鏃堕棿涓�24灏忔椂
bladeRedis.setEx(PWD_FREE_LOGIN_TOKEN+ipAddr+":"+userName,"bearer "+tokenUserObject.getAccess_token(),tokenRedisExpire);
+ token2 = JwtUtil.getToken(authToken);
+ user = this.getUser(token2);
}
- // 瑙f瀽token瀛樻斁杩沘ttr涓�
- String token2 = JwtUtil.getToken(authToken);
- user = this.getUser(token2);
+
//request.setAttribute("Blade-Auth",token);
request.setAttribute("_BLADE_USER_REQUEST_ATTR_",user);
return true;
@@ -186,11 +189,9 @@
if (StringUtil.isNotBlank(authToken)) {
token = JwtUtil.getToken(authToken);
}
-
if (StringUtil.isNotBlank(token)) {
claims = parseJWT(token);
}
-
if (ObjectUtil.isNotEmpty(claims) && getJwtProperties().getState()) {
tenantId = Func.toStr(claims.get("tenant_id"));
String userId = Func.toStr(claims.get("user_id"));
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
index 540121c..31b61e1 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -53,6 +53,9 @@
import com.vci.ubcs.system.vo.DeptVO;
import com.vci.ubcs.system.vo.RoleVO;
import lombok.extern.slf4j.Slf4j;
+import org.apache.tools.ant.taskdefs.condition.Http;
+import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.beans.factory.annotation.Autowired;
@@ -62,7 +65,9 @@
import javax.annotation.Resource;
import javax.jws.WebMethod;
+import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.core.Context;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;
import java.util.*;
@@ -161,13 +166,31 @@
private String objerrorCode="0";
private String objerrorMsg="鎴愬姛";
+ private final ThreadLocal<HttpServletRequest> threadLocal = new ThreadLocal<>();
+
@Resource
private WebServiceContext webServiceContext;
+ @Override
+ public void setThreadLocal(ThreadLocal<HttpServletRequest> requestThreadLocal){
+ this.threadLocal.set(requestThreadLocal.get());
+ requestThreadLocal.remove();
+ }
+
@WebMethod
- public HttpServletRequest getRequest() {
- // 鑾峰彇HttpServletRequest瀵硅薄
- HttpServletRequest request = (HttpServletRequest)webServiceContext.getMessageContext().get(MessageContext.SERVLET_REQUEST);
+ private HttpServletRequest getRequest() {
+ //rest璇锋眰鏂瑰紡鑾峰彇request
+ HttpServletRequest request = this.threadLocal.get();
+ if(Func.isEmpty(request)){
+ try {
+ // webservice璇锋眰鏂瑰紡鑾峰彇HttpServletRequest瀵硅薄
+ request = (HttpServletRequest)webServiceContext.getMessageContext().get(MessageContext.SERVLET_REQUEST);
+ }catch (Exception e){
+ throw new ServiceException("鑾峰彇httpServletRequest澶辫触锛屽師鍥�:"+e.getMessage());
+ }
+ }else {
+ this.threadLocal.remove();
+ }
return request;
}
@@ -215,6 +238,7 @@
UserVO userVo = interParameterVO.getData().getUser();
//鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭�
passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest());
+ AuthUtil.getUser();
List<ClassfyVO> classVOList = classfysVO.getClassify();
InterParameterVO finalInterParameterVO = interParameterVO;
//杩欐槸璐﹀彿淇℃伅
@@ -1463,7 +1487,6 @@
@Override
public String queryClassifyRule(String data, String dataType) throws Throwable {
-
boolean issucess=false;
String resultStr = "";
String errorid="0";
--
Gitblit v1.9.3