From 7f9d6840cc01c25ac9816df60dbac3d040594fa3 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 12 九月 2023 19:12:55 +0800
Subject: [PATCH] 代码提交

---
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java             |    1 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/config/AuthenticationInterceptor.java          |   28 +++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java         |    7 
 Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/BladeTokenEndPoint.java                            |   22 ++++
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyValueVO.java  |   14 +-
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java          |   17 +--
 Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/config/BladeResourceServerConfiguration.java                |    1 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java |   33 +++++-
 Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/PwdFreeLoginEndpoint.java                          |   97 +++++++++++++++++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/config/WebConfig.java                          |   21 ++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/PasswordFreeLoginController.java    |   33 ++++++
 12 files changed, 244 insertions(+), 32 deletions(-)

diff --git a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/config/BladeResourceServerConfiguration.java b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/config/BladeResourceServerConfiguration.java
index 5f680cc..f30b930 100644
--- a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/config/BladeResourceServerConfiguration.java
+++ b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/config/BladeResourceServerConfiguration.java
@@ -38,6 +38,7 @@
 			.antMatchers(
 				"/actuator/**",
 				"/oauth/captcha",
+				"/oauth/passwordFreeLogin",
 				"/oauth/logout",
 				"/oauth/clear-cache",
 				"/oauth/render/**",
diff --git a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/BladeTokenEndPoint.java b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/BladeTokenEndPoint.java
index 1d4aaf1..6a35d65 100644
--- a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/BladeTokenEndPoint.java
+++ b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/BladeTokenEndPoint.java
@@ -32,16 +32,34 @@
 import org.springblade.core.tool.support.Kv;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.core.tool.utils.WebUtil;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.authentication.InsufficientAuthenticationException;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.oauth2.common.OAuth2AccessToken;
 import org.springframework.security.oauth2.common.OAuth2RefreshToken;
+import org.springframework.security.oauth2.common.exceptions.InvalidClientException;
+import org.springframework.security.oauth2.common.exceptions.InvalidGrantException;
+import org.springframework.security.oauth2.common.exceptions.InvalidRequestException;
+import org.springframework.security.oauth2.common.exceptions.UnsupportedGrantTypeException;
+import org.springframework.security.oauth2.common.util.OAuth2Utils;
 import org.springframework.security.oauth2.provider.AuthorizationRequest;
+import org.springframework.security.oauth2.provider.ClientDetails;
 import org.springframework.security.oauth2.provider.ClientDetailsService;
+import org.springframework.security.oauth2.provider.TokenRequest;
+import org.springframework.security.oauth2.provider.endpoint.TokenEndpoint;
 import org.springframework.security.oauth2.provider.token.TokenStore;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.util.StringUtils;
+import org.springframework.web.HttpRequestMethodNotSupportedException;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.security.Principal;
+import java.util.Collections;
+import java.util.Map;
 
 import javax.servlet.http.HttpSession;
 import java.time.Duration;
diff --git a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/PwdFreeLoginEndpoint.java b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/PwdFreeLoginEndpoint.java
new file mode 100644
index 0000000..101a074
--- /dev/null
+++ b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/PwdFreeLoginEndpoint.java
@@ -0,0 +1,97 @@
+/*
+package com.vci.ubcs.auth.endpoint;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.oauth2.common.OAuth2AccessToken;
+import org.springframework.security.oauth2.provider.ClientDetailsService;
+import org.springframework.security.oauth2.provider.OAuth2RequestFactory;
+import org.springframework.security.oauth2.provider.TokenGranter;
+import org.springframework.security.oauth2.provider.TokenRequest;
+import org.springframework.security.oauth2.provider.endpoint.TokenEndpoint;
+import org.springframework.security.oauth2.provider.token.AuthorizationServerTokenServices;
+import org.springframework.stereotype.Component;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.HttpRequestMethodNotSupportedException;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.Map;
+
+*/
+/**
+ * 鍏嶅瘑鐧诲綍
+ * @author ludc
+ * @date 2023/9/12 18:03
+ *//*
+
+@Component
+public class PwdFreeLoginEndpoint extends TokenEndpoint {
+
+
+	@Autowired
+	private AuthorizationServerTokenServices tokenServices;
+
+	@Autowired
+	private ClientDetailsService clientDetailsService;
+
+	@Autowired
+	private OAuth2RequestFactory requestFactory;
+
+	@Autowired
+	private TokenGranter tokenGranter;
+
+	@RequestMapping(value = "/oauth/password-free-login",method = RequestMethod.GET)
+	public ResponseEntity<OAuth2AccessToken> getPasswordFreeLogin(@RequestParam Map<String, String> parameters) throws HttpRequestMethodNotSupportedException {
+		return postPasswordFreeLogin(parameters);
+	}
+
+	@RequestMapping(value = "/oauth/password-free-login",method = RequestMethod.POST)
+	public ResponseEntity<OAuth2AccessToken> postPasswordFreeLogin(@RequestParam Map<String, String> parameters) throws HttpRequestMethodNotSupportedException {
+		// 鍒ゆ柇鏄惁婊¤冻鍏嶅瘑鐧诲綍鐨勬潯浠�
+		if (isSkipLogin(parameters)) {
+			// 鐢熸垚璁块棶浠ょ墝
+			OAuth2AccessToken accessToken = createAccessToken(parameters);
+			// 杩斿洖璁块棶浠ょ墝
+			return ResponseEntity.ok(accessToken);
+		}
+
+		// 涓嶆弧瓒冲厤瀵嗙櫥褰曟潯浠讹紝杩斿洖閿欒淇℃伅
+		return ResponseEntity.status(HttpStatus.UNAUTHORIZED).build();
+	}
+
+	private boolean isSkipLogin(Map<String, String> parameters) {
+		// 鏍规嵁鍏蜂綋闇�姹傚垽鏂槸鍚︽弧瓒冲厤瀵嗙櫥褰曠殑鏉′欢
+		// 渚嬪锛屽垽鏂姹傚弬鏁颁腑鏄惁鍖呭惈鏌愪釜鐗瑰畾鐨勬爣璇嗙
+		return parameters.containsKey("skipLogin");
+	}
+
+	private OAuth2AccessToken createAccessToken(Map<String, String> parameters) throws HttpRequestMethodNotSupportedException {
+		// 鏋勯�犺姹傚弬鏁�
+		MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
+		for (Map.Entry<String, String> entry : parameters.entrySet()) {
+			params.add(entry.getKey(), entry.getValue());
+		}
+
+		// 璋冪敤TokenEndpoint鐨刾ostAccessToken鏂规硶鐢熸垚璁块棶浠ょ墝
+		return postAccessToken(PrincipalUtils.getPrincipal(), params).getBody();
+	}
+
+	private ResponseEntity<OAuth2AccessToken> postAccessToken(Authentication authentication, MultiValueMap<String, String> parameters) throws HttpRequestMethodNotSupportedException {
+		// 鏋勯�犺姹�
+		TokenRequest tokenRequest = requestFactory.createTokenRequest(parameters, clientDetailsService.loadClientByClientId("your-client-id"));
+
+		// 鐢熸垚璁块棶浠ょ墝
+		OAuth2AccessToken accessToken = tokenGranter.grant("password", tokenRequest);
+
+		// 杩斿洖璁块棶浠ょ墝
+		return ResponseEntity.ok(accessToken);
+	}
+
+}
+*/
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyValueVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyValueVO.java
index 7194c73..305a111 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyValueVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyValueVO.java
@@ -23,7 +23,7 @@
 	/**
 	* 鍒嗙被鐮佹涓婚敭鏄剧ず鏂囨湰
 	*/
-	private String codeclassifysecoidName;
+	private String codeClassifySecOidName;
 
 	/**
 	* 鐮佸�煎簭鍙�
@@ -61,15 +61,15 @@
 	/**
 	 * 鑾峰彇鍒嗙被鐮佹涓婚敭鏄剧ず鏂囨湰
 	 */
-	public String getCodeclassifysecoidName (){
-		return codeclassifysecoidName;
+	public String getCodeClassifySecOidName (){
+		return codeClassifySecOidName;
 	}
 
 	/**
 	* 璁剧疆鍒嗙被鐮佹涓婚敭鏄剧ず鏂囨湰
 	*/
-	public void setCodeclassifysecoidName (String codeclassifysecoidName){
-		this.codeclassifysecoidName = codeclassifysecoidName;
+	public void setCodeClassifySecOidName (String codeclassifysecoidName){
+		this.codeClassifySecOidName = codeclassifysecoidName;
 	}
 	/**
 	 * 鑾峰彇 鐮佸�煎簭鍙�
@@ -118,16 +118,16 @@
 		this.name = name;
 	}
 
-
 	@Override
 	public String toString() {
 		return "CodeClassifyValueVO{" +
 				"codeClassifySecOid='" + codeClassifySecOid + '\'' +
-				", codeclassifysecoidName='" + codeclassifysecoidName + '\'' +
+				", codeClassifySecOidName='" + codeClassifySecOidName + '\'' +
 				", orderNum=" + orderNum +
 				", parentClassifyValueOid='" + parentClassifyValueOid + '\'' +
 				", id='" + id + '\'' +
 				", name='" + name + '\'' +
 				"} " + super.toString();
 	}
+
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java
index 0baa065..61d8b70 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/Tree.java
@@ -207,6 +207,7 @@
 
 	}
 
+	@Override
 	public String toString() {
 		return "Tree{oid='" + this.oid + '\'' + ", text='" + this.text + '\'' + ", leaf=" + this.leaf + ", showCheckbox=" + this.showCheckbox + ", checked=" + this.checked + ", children=" + this.children + ", icon='" + this.icon + '\'' + ", iconCls='" + this.iconCls + '\'' + ", parentId='" + this.parentId + '\'' + ", parentName='" + this.parentName + '\'' + ", parentBtmName='" + this.parentBtmName + '\'' + ", expanded=" + this.expanded + ", href='" + this.href + '\'' + ", index='" + this.index + '\'' + ", attributes=" + this.attributes + '}';
 	}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/config/AuthenticationInterceptor.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/config/AuthenticationInterceptor.java
new file mode 100644
index 0000000..b8cfd51
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/config/AuthenticationInterceptor.java
@@ -0,0 +1,28 @@
+package com.vci.ubcs.code.config;
+
+import org.springframework.web.servlet.HandlerInterceptor;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @author ludc
+ * @date 2023/9/12 11:49
+ */
+public class AuthenticationInterceptor implements HandlerInterceptor {
+	@Override
+	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+		return HandlerInterceptor.super.preHandle(request, response, handler);
+	}
+
+	@Override
+	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
+		HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
+	}
+
+	@Override
+	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
+		HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
+	}
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/config/WebConfig.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/config/WebConfig.java
new file mode 100644
index 0000000..ad32b4c
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/config/WebConfig.java
@@ -0,0 +1,21 @@
+package com.vci.ubcs.code.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * webservice鎺ュ彛鎷︽埅鍣�
+ * @author ludc
+ * @date 2023/9/12 11:16
+ */
+@Configuration
+public class WebConfig implements WebMvcConfigurer {
+
+	@Override
+	public void addInterceptors(InterceptorRegistry registry) {
+		registry.addInterceptor(new AuthenticationInterceptor())
+			.addPathPatterns("/api/protected/**");
+	}
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/PasswordFreeLoginController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/PasswordFreeLoginController.java
new file mode 100644
index 0000000..4e04c10
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/PasswordFreeLoginController.java
@@ -0,0 +1,33 @@
+package com.vci.ubcs.code.controller;
+
+import com.vci.ubcs.code.service.IPasswordFreeLoginService;
+import io.swagger.annotations.Api;
+import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * @author ludc
+ * @date 2023/9/12 9:07
+ */
+@RestController
+@RequestMapping("/passwordFree")
+@Api(value = "鍏嶅瘑鐧诲綍鎺ュ彛", tags = "鍏嶅瘑鐧诲綍鎺ュ彛")
+public class PasswordFreeLoginController {
+
+	@Resource
+	private IPasswordFreeLoginService passwordFreeLoginService;
+
+	@GetMapping("/login")
+	public R passwordFreeLogin(String account) {
+		boolean resBoolean = passwordFreeLoginService.passwordFreeLogin(account);
+		return R.status(resBoolean);
+	}
+
+
+
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java
index 88770ac..9c1f965 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java
@@ -101,7 +101,7 @@
 		treeWrapperOptions.copyFromTreeQuery(treeQueryObject);
 		return revisionModelUtil.doList2Trees(voList,treeWrapperOptions,(CodeClassifyValueVO s) ->{
 			//鍙互鍦ㄨ繖閲屽鐞嗘爲鑺傜偣鐨勬樉绀�
-			return s.getId() + " " + s.getName() + (FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s
+			return s.getId() + " " + (Func.isNotEmpty(s.getName()) ? s.getName():"") + (FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s
 				.getLcStatus()) ? (" 銆愬仠鐢ㄣ�� ") : "");
 		});
 	}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
index 5d8bd08..f02f7e6 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
@@ -119,9 +119,6 @@
 	@Resource
 	private ICodeFixedValueService codeFixedValueService;
 
-	@Resource
-	private ICodeClassifyValueService codeClassifyValueService;
-
 	/**
 	 * 鍒嗛〉鏌ヨ
 	 * @param query
@@ -129,7 +126,7 @@
 	 * @return
 	 */
 	@Override
-	public IPage<CodeRuleVO> gridCodeRule(Query query, Map<String,Object> conidtionMap) {
+	public IPage<CodeRuleVO> gridCodeRule(Query query, Map<String,Object> conidtionMap) throws VciBaseException {
 		//濡傛灉绛変簬鑷繁閰嶇疆鐨勭鐞嗙粍绉熸埛id鍜岀鐞嗙粍瓒呯璐﹀彿锛屽氨涓嶉渶瑕佹寜鐓ц鍒欐墍鏈夎�呮潵杩涜鏌ヨ
 		if(!(AuthUtil.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId())
 			&& AuthUtil.getUserId().toString().equals(nacosConfigCache.getAdminUserInfo().getUserId().toString()))
@@ -170,7 +167,7 @@
 	 * @return 杩斿洖false琛ㄧず鏈噸澶�
 	 */
 	@Override
-	public boolean checkCodeRuleRepeat(CodeRuleDTO codeRuleDTO){
+	public boolean checkCodeRuleRepeat(CodeRuleDTO codeRuleDTO)throws VciBaseException {
 		LambdaQueryWrapper<CodeRule> wrapper = Wrappers.<CodeRule>query()
 			.lambda().eq(CodeRule::getId, codeRuleDTO.getId());
 		if(AuthUtil.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId())){
@@ -331,7 +328,7 @@
 	 * @return true琛ㄧず宸茬粡浣跨敤锛宖alse琛ㄧず鏈浣跨敤
 	 */
 	@Override
-	public boolean isAlreadyInUse(String oid) {
+	public boolean isAlreadyInUse(String oid) throws VciBaseException {
 		Collection<CodeClassifyVO> codeClassifyVOS = listUseRangeInCodeClassify(oid);
 		if (codeClassifyVOS.size() > 0) {
 			return true;
@@ -347,7 +344,7 @@
 	 * @return 涓婚搴撳垎绫讳娇鐢ㄥ埌璇ョ紪鐮佽鍒欑殑鎵�鏈夐泦鍚�
 	 */
 	@Override
-	public Collection<CodeClassifyVO> listUseRangeInCodeClassify(String oid) {
+	public Collection<CodeClassifyVO> listUseRangeInCodeClassify(String oid) throws VciBaseException {
 		List<CodeClassify> codeClassifies = codeClassifyServcie.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getCodeRuleOid, oid));
 		return CodeClassifyWrapper.build().listVO(codeClassifies);
 	}
@@ -400,7 +397,7 @@
 	 * @param oidCollections 涓婚敭鐨勯泦鍚�
 	 * @return 鏁版嵁瀵硅薄鍒楄〃
 	 */
-	private List<CodeRule> listCodeRuleDOByOidCollections(Collection<String> oidCollections) {
+	private List<CodeRule> listCodeRuleDOByOidCollections(Collection<String> oidCollections) throws VciBaseException {
 		List<CodeRule> codeRuleDOList = new ArrayList<CodeRule>();
 		if (!CollectionUtils.isEmpty(oidCollections)) {
 			Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections);
@@ -434,7 +431,7 @@
 	 * @return 鎵ц缁撴灉
 	 */
 	@Override
-	public R updateStatus(String oid, String update) {
+	public R updateStatus(String oid, String update) throws VciBaseException {
 		int count = 0;
 		//鍏堟煡璇㈠璞�
 		CodeRule codeRuleDO = selectByOid(oid);
@@ -545,7 +542,7 @@
 	 * @return 瑙勫垯鐨勬樉绀哄璞�
 	 */
 	@Override
-	public CodeRuleVO getObjectHasSecByOid(String oid) {
+	public CodeRuleVO getObjectHasSecByOid(String oid) throws VciBaseException {
 		CodeRule ruleDO = selectByOid(oid);
 		return codeRuleDO2VO(ruleDO, true);
 	}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index b0163b3..3c693e1 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -2408,7 +2408,6 @@
         return phaseAttrService.listAttrByTemplateOidAndPhaseId(templateVO.getOid(), phase);
     }
 
-
     /**
      * 璺緞涓婂寘鍚綋鍓嶅垎绫荤殑鎵�鏈夊垎绫讳俊鎭�
      *
@@ -2756,13 +2755,13 @@
 			CodeSecTypeEnum.CODE_FIXED_SEC.getValue(),
 			CodeSecTypeEnum.CODE_VARIABLE_SEC.getValue(),
 			CodeSecTypeEnum.CODE_CLASSIFY_SEC.getValue(),
-			CodeSecTypeEnum.CODE_REFER_SEC.getValue()
+			CodeSecTypeEnum.CODE_REFER_SEC.getValue(),
+			CodeSecTypeEnum.CODE_DATE_SEC.getValue()
 		);
 		// 鍙鐮佹绫诲瀷
 		List<String> readOnlyTypes = Arrays.asList(
 			CodeSecTypeEnum.CODE_LEVEL_SEC.getValue(),
-			CodeSecTypeEnum.CODE_ATTR_SEC.getValue(),
-			CodeSecTypeEnum.CODE_DATE_SEC.getValue()
+			CodeSecTypeEnum.CODE_ATTR_SEC.getValue()
 		);
 		// 闅愯棌鐮佹绫诲瀷
 		/*List<String> hideType = Arrays.asList(
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 692c097..5134140 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
@@ -1,8 +1,12 @@
 package com.vci.ubcs.code.service.impl;
 
 import com.vci.ubcs.code.service.IPasswordFreeLoginService;
+import com.vci.ubcs.code.util.HttpUtils;
 import org.apache.commons.collections4.MultiValuedMap;
 import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cloud.client.ServiceInstance;
+import org.springframework.cloud.client.discovery.DiscoveryClient;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
@@ -13,6 +17,9 @@
 import org.springframework.http.HttpMethod;
 import org.springframework.web.client.RestTemplate;
 
+import javax.annotation.Resource;
+import java.util.List;
+
 /**
  * 鍏嶅瘑鐧诲綍鏈嶅姟
  * @author ludc
@@ -21,8 +28,22 @@
 @Service
 public class PasswordFreeLoginServiceImpl implements IPasswordFreeLoginService {
 
-	private RestTemplate restTemplate;
+	// 閫氳繃鏈嶅姟娉ㄥ唽涓績鑾峰彇缃戝叧鐨勭鍙e彿
+	@Autowired
+	private DiscoveryClient discoveryClient;
 
+	/**
+	 * 鑾峰彇缃戝叧绔彛
+	 * @return
+	 */
+	public String getGatewayPort() {
+		List<ServiceInstance> instances = discoveryClient.getInstances("ubcs-gateway");
+		if (!instances.isEmpty()) {
+			ServiceInstance gatewayInstance = instances.get(0);
+			return String.valueOf(gatewayInstance.getPort());
+		}
+		return "80";
+	}
 
 	/**
 	 * 鍏嶅瘑鐧诲綍
@@ -32,7 +53,7 @@
 	@Override
 	public boolean passwordFreeLogin(String account) {
 		// 鍏嶅瘑鐧诲綍鎺ュ彛鍦板潃
-		String loginUrl = "http://ubcs-auth/auth/login";
+		String loginUrl = "http://localhost:"+this.getGatewayPort()+"/ubcs-auth/oauth/passwordFreeLogin?username=admin&grant_type=captcha&scope=all&type=account";
 
 		// 璁剧疆璇锋眰澶�
 		HttpHeaders headers = new HttpHeaders();
@@ -42,13 +63,9 @@
 		MultiValueMap<String,String> bodyParams = new LinkedMultiValueMap<String,String>();
 		bodyParams.add("account",account);
 
-		// 鍒涘缓璇锋眰瀹炰綋
-		HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(bodyParams, headers);
-
 		// 鍙戦�丳OST璇锋眰
-		ResponseEntity<String> responseEntity = restTemplate.exchange(loginUrl, HttpMethod.POST, requestEntity, String.class);
-		String responseBody = responseEntity.getBody();
-
+		String responseBody = HttpUtils.post(loginUrl, bodyParams);
+		System.out.println(responseBody);
 		//鎷垮埌鍝嶅簲浣撳皢token瀛樺叆鍒皉edis涓紝浠ccount浣滀负瀛樺偍鐨刱ey
 
 		// 瑙f瀽鍝嶅簲浣撹幏鍙栦护鐗�

--
Gitblit v1.9.3