From dd82c35f5da519d344113514fda3dec62d3ce623 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期日, 17 九月 2023 21:56:30 +0800
Subject: [PATCH] 代码提交

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java |   34 ++++++++++++++++++++++++++++++----
 1 files changed, 30 insertions(+), 4 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 8381d07..15415e2 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,19 @@
 import com.vci.ubcs.system.vo.DeptVO;
 import com.vci.ubcs.system.vo.RoleVO;
 import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 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;
+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.*;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -142,12 +149,25 @@
 	 */
 	@Resource
 	private IDockingLogeService dockingLogeService;
+	@Resource
+	private IPasswordFreeLoginService passwordFreeLoginService;
 
 	private  static String separator="##VCI##";
 	private  String errorid="0";
 	private String msg="鎴愬姛";
 	private  String objerrorCode="0";
 	private String objerrorMsg="鎴愬姛";
+
+	@Resource
+	private WebServiceContext webServiceContext;
+
+	@WebMethod
+	public HttpServletRequest getRequest() {
+		// 鑾峰彇HttpServletRequest瀵硅薄
+		HttpServletRequest request = (HttpServletRequest) webServiceContext.getMessageContext().get(MessageContext.SERVLET_REQUEST);
+		return request;
+	}
+
 	/***
 	 * 鐢宠缂栫爜鎺ュ彛
 	 * @param data 浼犻�掔殑鏁版嵁鍙傛暟
@@ -190,9 +210,10 @@
 			ClassfysVO classfysVO = interParameterVO.getData().getClassifys();
 			systemId = interParameterVO.getData().getSystemId();
 			UserVO userVo = interParameterVO.getData().getUser();
+			//鍏嶅瘑鐧诲綍鐢宠token锛宧eader寰�token涓坊鍔�
+			passwordFreeLoginService.passwordFreeLogin(userVo.getUserName(),this.getRequest());
 			List<ClassfyVO> classVOList = classfysVO.getClassify();
 			InterParameterVO finalInterParameterVO = interParameterVO;
-
 			//杩欐槸璐﹀彿淇℃伅
 			SessionInfo sessionInfo = new SessionInfo();
 			sessionInfo.setUserId(userVo.getUserName());
@@ -1781,10 +1802,10 @@
 									}
 									log.info(libId);
 								}else if(secType.equals("codelevelsec")) {//灞傜骇鐮佹
-									int level = codeBasicSecVO.getCodeLevelValue();
 									CodeClassifyVO levelCodeClassifyVO = new CodeClassifyVO();
 									CodeClassifyFullInfoBO classifyFullInfoBO = this.classifyService.getClassifyFullInfo(codeClassifyDO.getOid());
 									if(codeBasicSecVO.getCodeLevelType().equals("code_level_special")){//鎸囧畾灞傜骇
+										int level = codeBasicSecVO.getCodeLevelValue();
 										List<CodeClassifyVO> classifyVOS = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> o2.getDataLevel().compareTo(o1.getDataLevel()))).collect(Collectors.toList());
 										if (classifyVOS.size() >= level && level > 0) {
 											levelCodeClassifyVO = classifyVOS.get(level - 1);
@@ -2234,7 +2255,8 @@
 		if(StringUtils.isNotBlank(classOid)){
 			queryWrapper.in(DockingSystemConfig::getClassifyOid,classOid);
 		}
-		List<DockingSystemConfig> dockingSystemConfigList=	dockingSystemConfigList=dockingSystemConfigService.list(queryWrapper);
+		List<DockingSystemConfig> dockingSystemConfigList=new ArrayList<>();
+		dockingSystemConfigList=	dockingSystemConfigList=dockingSystemConfigService.list(queryWrapper);
 		if(!CollectionUtils.isEmpty(dockingSystemConfigList)){
 		 return	dockingSystemConfigList.get(0);
 		}else{
@@ -2242,6 +2264,10 @@
 				return checkIspass(systemId, type, operationType, codeClassifyVO.getParentCodeClassifyOid());
 			}
 		}
-		return dockingSystemConfigList.get(0);
+		if(dockingSystemConfigList.size()>0){
+			return dockingSystemConfigList.get(0);
+		}else{
+			return	new DockingSystemConfig();
+		}
 	}
 }

--
Gitblit v1.9.3