From 108816cf6e7c2e211a487b4f14d6250a5bea732b Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期四, 14 九月 2023 18:28:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java |   61 +++++++++++++++++++++++++++++-
 1 files changed, 58 insertions(+), 3 deletions(-)

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 ef70cbe..9d619a3 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,9 +1,24 @@
 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;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+import org.springframework.http.HttpMethod;
+import org.springframework.web.client.RestTemplate;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * 鍏嶅瘑鐧诲綍鏈嶅姟
@@ -13,16 +28,56 @@
 @Service
 public class PasswordFreeLoginServiceImpl implements IPasswordFreeLoginService {
 
+	// 閫氳繃鏈嶅姟娉ㄥ唽涓績鑾峰彇缃戝叧鐨勭鍙e彿
+	@Autowired
+	private DiscoveryClient discoveryClient;
 
 	/**
-	 * 鍏嶅瘑鐧诲綍鏂规硶
-	 * @param account 璐﹀彿
+	 * 鑾峰彇缃戝叧绔彛
+	 * @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";
+	}
+
+	/**
+	 * 鍏嶅瘑鐧诲綍
+	 * @param username 璐﹀彿
 	 * @return
 	 */
 	@Override
-	public boolean passwordFreeLogin(String account) {
+	public boolean passwordFreeLogin(String username) {
+		// 鍏嶅瘑鐧诲綍鎺ュ彛鍦板潃
+		String loginUrl = "http://localhost:"+this.getGatewayPort()+"/ubcs-auth/oauth/password-free-login";
 
+		// 璁剧疆璇锋眰澶�
+		HttpHeaders headers = new HttpHeaders();
+		headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+		headers.set("Authorization", "Basic c3dvcmQ6c3dvcmRfc2VjcmV0");
+		headers.set("Tenant-Id", "000000");
 
+		//璁剧疆璇锋眰浣撳弬鏁�
+		MultiValueMap<String,String> parameters = new LinkedMultiValueMap<String,String>();
+		parameters.add("username",username);
+		parameters.add("grant_type", "captcha");
+		parameters.add("scope", "all");
+		parameters.add("type", "account");
+
+		// 鍙戦�丳OST璇锋眰
+		String responseBody = HttpUtils.post(loginUrl, parameters,headers);
+		System.out.println(responseBody);
+		//鎷垮埌鍝嶅簲浣撳皢token瀛樺叆鍒皉edis涓紝浠ccount浣滀负瀛樺偍鐨刱ey
+
+		// 瑙f瀽鍝嶅簲浣撹幏鍙栦护鐗�
+		// 杩欓噷鍋囪鍝嶅簲浣撴槸JSON鏍煎紡锛屽寘鍚竴涓悕涓�"token"鐨勫瓧娈�
+		// 鏍规嵁瀹為檯鎯呭喌杩涜瑙f瀽
+		// JSONObject json = new JSONObject(responseBody);
+		// String token = json.getString("token");
 
 		return false;
 	}

--
Gitblit v1.9.3