From a216d2503641b1d2ae6d4a2defa870470f2737bb Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 18 九月 2023 14:14:52 +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 |   51 +++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 43 insertions(+), 8 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 b835bb7..540121c 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
@@ -54,11 +54,17 @@
 import com.vci.ubcs.system.vo.RoleVO;
 import lombok.extern.slf4j.Slf4j;
 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.http.HttpServletRequest;
+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;
@@ -74,20 +80,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;
+
 	/**
 	 * 涓婚搴撳垎绫荤殑鏈嶅姟
 	 */
@@ -127,7 +138,6 @@
 	/**
 	 * 瀵嗙骇鐨勬湇鍔�
 	 */
-
 	@Resource
 	private MdmIOService mdmIOService;
 
@@ -142,12 +152,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 +213,10 @@
 			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;
-
 			//杩欐槸璐﹀彿淇℃伅
 			SessionInfo sessionInfo = new SessionInfo();
 			sessionInfo.setUserId(userVo.getUserName());
@@ -341,8 +365,6 @@
 		//璋冪敤闆嗗洟鐢宠鎺ュ彛鐢宠闆嗗洟鐮�
 		return resultStr;
 	}
-
-
 
 	/****
 	 * 浜哄憳鏁版嵁鍚屾
@@ -616,6 +638,7 @@
 
 		return resultOrgData;
 	}
+
 	/****
 	 * 閮ㄩ棬鏁版嵁鍚屾
 	 * @param orgData
@@ -882,6 +905,7 @@
 		}
 		return resultOrgData;
 	}
+
 	/***
 	 * 缁熶竴鏇存柊鎺ュ彛锛堟洿鏀圭姸鎬侊紝鏇存敼灞炴�т俊鎭級鎺ュ彛
 	 * @param data
@@ -926,6 +950,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;
 			//杩欐槸璐﹀彿淇℃伅
@@ -1097,6 +1123,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();
@@ -1255,6 +1283,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());
@@ -1431,8 +1461,6 @@
 		return resultStr;
 	}
 
-
-
 	@Override
 	public String queryClassifyRule(String data, String dataType) throws Throwable {
 
@@ -1471,6 +1499,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();
@@ -2234,7 +2264,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 +2273,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