From 7647ae9a3db4712b4154adc6317584b66429212b Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期一, 18 九月 2023 15:05:11 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 42 insertions(+), 10 deletions(-) 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 15415e2..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,12 +53,16 @@ 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; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; + import javax.annotation.Resource; import javax.jws.WebMethod; import javax.servlet.ServletRequest; @@ -81,20 +85,25 @@ @Slf4j @VciWebservice(path = "/universalInterface") public class UniversalInterfaceImpl<IDockingLogeServiceing> implements UniversalInterfaceI { + @Value("${code.universalinterface.checkSystemConfig:true}") public boolean CODE_CHECKCONFIG; + @Autowired(required = false) private AttributeMapConfig attributeMapConfig; + /*** * 浜哄憳鐩稿叧閰嶇疆鏈嶅姟 */ @Autowired(required = false) private PersonAndDeptConfig personAndDeptConfig; + /** * 缂撳瓨鏈嶅姟 */ //@Autowired //private RedisService redisService; + /** * 涓婚搴撳垎绫荤殑鏈嶅姟 */ @@ -134,7 +143,6 @@ /** * 瀵嗙骇鐨勬湇鍔� */ - @Resource private MdmIOService mdmIOService; @@ -158,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; } @@ -210,8 +236,9 @@ ClassfysVO classfysVO = interParameterVO.getData().getClassifys(); systemId = interParameterVO.getData().getSystemId(); UserVO userVo = interParameterVO.getData().getUser(); - //鍏嶅瘑鐧诲綍鐢宠token锛宧eader寰�token涓坊鍔� + //鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭� passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest()); + AuthUtil.getUser(); List<ClassfyVO> classVOList = classfysVO.getClassify(); InterParameterVO finalInterParameterVO = interParameterVO; //杩欐槸璐﹀彿淇℃伅 @@ -362,8 +389,6 @@ //璋冪敤闆嗗洟鐢宠鎺ュ彛鐢宠闆嗗洟鐮� return resultStr; } - - /**** * 浜哄憳鏁版嵁鍚屾 @@ -637,6 +662,7 @@ return resultOrgData; } + /**** * 閮ㄩ棬鏁版嵁鍚屾 * @param orgData @@ -903,6 +929,7 @@ } return resultOrgData; } + /*** * 缁熶竴鏇存柊鎺ュ彛锛堟洿鏀圭姸鎬侊紝鏇存敼灞炴�т俊鎭級鎺ュ彛 * @param data @@ -947,6 +974,8 @@ ClassfysVO classfysVO = interParameterVO.getData().getClassifys(); systemId = interParameterVO.getData().getSystemId(); UserVO userVo = interParameterVO.getData().getUser(); + //鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭� + passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest()); List<ClassfyVO> classVOList = classfysVO.getClassify(); InterParameterVO finalInterParameterVO = interParameterVO; //杩欐槸璐﹀彿淇℃伅 @@ -1118,6 +1147,8 @@ } QueryData queryData=queryClassifyVO.getData(); UserVO userVo=queryData.getUser(); + //鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭� + passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest()); systemId=queryData.getSystemId(); QueryLibraryVO libraryVO= queryData.getLibrary(); String libId= libraryVO.getId(); @@ -1276,6 +1307,8 @@ CondtionsVO condtionsVO=dataCondtionsVO.getCondtions(); systemId=condtionsVO.getSystemId(); UserVO userVo=condtionsVO.getUser(); + //鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭� + passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest()); CondtionVO condtionVO= condtionsVO.getCondtion(); SessionInfo sessionInfo = new SessionInfo(); sessionInfo.setUserId(userVo.getUserName()); @@ -1452,11 +1485,8 @@ return resultStr; } - - @Override public String queryClassifyRule(String data, String dataType) throws Throwable { - boolean issucess=false; String resultStr = ""; String errorid="0"; @@ -1492,6 +1522,8 @@ } QueryData queryData=queryClassifyVO.getData(); UserVO userVo=queryData.getUser(); + //鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭� + passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest()); systemId=queryData.getSystemId(); QueryLibraryVO libraryVO= queryData.getLibrary(); String libId= libraryVO.getId(); -- Gitblit v1.9.3