|
|
@ -10,6 +10,7 @@ import com.epmet.commons.tools.utils.Result; |
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.jetbrains.annotations.NotNull; |
|
|
|
|
|
|
|
import javax.crypto.BadPaddingException; |
|
|
|
import java.security.InvalidKeyException; |
|
|
@ -28,9 +29,19 @@ import java.util.Map; |
|
|
|
@Slf4j |
|
|
|
public class YantaiApi { |
|
|
|
private static final String SSO_SERVER = "http://172.20.46.155:8080/sso/"; |
|
|
|
/** |
|
|
|
* 相当于 appKey |
|
|
|
*/ |
|
|
|
private static final String CLIENT_ID = "1000009"; |
|
|
|
/** |
|
|
|
* 相当于 appSecret 用于解密 他们重定向回来的code 解密他们的token 获取用户嘻嘻 |
|
|
|
*/ |
|
|
|
private static final String CLIENT_SECRET = "a1f9879119bc4080ab5575f832b7d98b"; |
|
|
|
private static final String SSO_CLIENT_TOKEN = "PRm5Db96atozjPQsJOuwlA=="; |
|
|
|
/** |
|
|
|
* 调用sso后台api接口的 秘钥 |
|
|
|
*/ |
|
|
|
private static final String SSO_API_TOKEN = "iJCDUgCBV/Zk5FkkaxLypA=="; |
|
|
|
private static final String SSO_BACKGROUND_SERVER_URL = "http://172.20.46.155:8082/"; |
|
|
|
|
|
|
|
/** |
|
|
|
* desc:根据组织id获取下级组织 |
|
|
@ -46,15 +57,24 @@ public class YantaiApi { |
|
|
|
//加密
|
|
|
|
String organizationIdEn = SM4UtilsForYanTai.dealEncryptData(organizationId); |
|
|
|
//pwd = URLEncoder.encode(pwd, "UTF-8");
|
|
|
|
System.out.println("加密组织Id = " + organizationIdEn); |
|
|
|
String url = "ouinfo/getChildOuInfoByGuid?organizationId=" + organizationIdEn; |
|
|
|
String url = SSO_BACKGROUND_SERVER_URL + "person/ouinfo/getChildOuInfoByGuid"; |
|
|
|
|
|
|
|
Map<String, Object> headerMap = new HashMap<>(); |
|
|
|
Map<String, Object> paramMap = new HashMap<>(); |
|
|
|
log.info("getChildOuInfoByGuid request param: url:{},header:{}", url, headerMap); |
|
|
|
Result<String> result = HttpClientManager.getInstance().sendGet(url, paramMap, headerMap); |
|
|
|
paramMap.put("organizationId",organizationIdEn); |
|
|
|
|
|
|
|
log.info("getChildOuInfoByGuid request param:{} url:{}",paramMap, url); |
|
|
|
Result<String> result = HttpClientManager.getInstance().sendGet(url, paramMap, getApiHeaderMap()); |
|
|
|
log.info("getChildOuInfoByGuid request result:{}", result); |
|
|
|
if (!result.success()){ |
|
|
|
return new ArrayList<>(); |
|
|
|
} |
|
|
|
JSONObject jsonObject = JSONObject.parseObject(result.getData()); |
|
|
|
String secondCode = jsonObject.getString("code"); |
|
|
|
String secondMessage = jsonObject.getString("message"); |
|
|
|
if (!"200".equals(secondCode)) { |
|
|
|
log.warn("getChildOuInfoByGuid 接口错误"); |
|
|
|
return new ArrayList<>(); |
|
|
|
} |
|
|
|
//解密
|
|
|
|
String data = SM4UtilsForYanTai.dealDecryptData(jsonObject.getString("data")); |
|
|
|
List<OrgData> orgData = JSON.parseArray(data, OrgData.class); |
|
|
@ -80,15 +100,24 @@ public class YantaiApi { |
|
|
|
//加密
|
|
|
|
String organizationIdEn = SM4UtilsForYanTai.dealEncryptData(organizationId); |
|
|
|
//pwd = URLEncoder.encode(pwd, "UTF-8");
|
|
|
|
System.out.println("加密组织Id = " + organizationIdEn); |
|
|
|
String url = SSO_SERVER + "ouinfo/getUserByOuGuid?organizationId=" + organizationIdEn; |
|
|
|
String url = SSO_BACKGROUND_SERVER_URL + "person/serInfo/getUserByOuGuid"; |
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> headerMap = new HashMap<>(); |
|
|
|
Map<String, Object> paramMap = new HashMap<>(); |
|
|
|
log.info("getUserByOuGuid request param: url:{},header:{}", url, headerMap); |
|
|
|
Result<String> result = HttpClientManager.getInstance().sendGet(url, paramMap, headerMap); |
|
|
|
paramMap.put("organizationId",organizationIdEn); |
|
|
|
log.info("getUserByOuGuid request param: url:{},param:{}", url, paramMap); |
|
|
|
Result<String> result = HttpClientManager.getInstance().sendGet(url, paramMap, getApiHeaderMap()); |
|
|
|
log.info("getUserByOuGuid request result:{}", result); |
|
|
|
if (!result.success()){ |
|
|
|
return new ArrayList<>(); |
|
|
|
} |
|
|
|
JSONObject jsonObject = JSONObject.parseObject(result.getData()); |
|
|
|
String secondCode = jsonObject.getString("code"); |
|
|
|
String secondMessage = jsonObject.getString("message"); |
|
|
|
if (!"200".equals(secondCode)) { |
|
|
|
log.warn("getUserByOuGuid 接口错误"); |
|
|
|
return new ArrayList<>(); |
|
|
|
} |
|
|
|
//解密
|
|
|
|
String data = SM4UtilsForYanTai.dealDecryptData(jsonObject.getString("data")); |
|
|
|
List<UserData> userData = JSON.parseArray(data, UserData.class); |
|
|
@ -152,21 +181,15 @@ public class YantaiApi { |
|
|
|
|
|
|
|
public static String getUserInfoMobile(String userId) { |
|
|
|
try { |
|
|
|
JSONObject token = new JSONObject(); |
|
|
|
token.put("token", "iJCDUgCBV/Zk5FkkaxLypA=="); |
|
|
|
// token.put("token","iJCDUgCBV/Zk5FkkaxLypA==");
|
|
|
|
token.put("expiration", System.currentTimeMillis()); |
|
|
|
|
|
|
|
String tokanStr = SM4UtilsForYanTai.dealEncryptData(token.toString()); |
|
|
|
String userIdEn = SM4UtilsForYanTai.dealEncryptData(userId); |
|
|
|
System.out.println(tokanStr + "__" + userIdEn); |
|
|
|
String serverUrl = "http://172.20.46.155:8082/person/userInfo/getUserByUserGuid"; |
|
|
|
|
|
|
|
String serverUrl = SSO_BACKGROUND_SERVER_URL + "person/userInfo/getUserByUserGuid"; |
|
|
|
//String serverUrl = "http://120.220.248.247:8081/person/userInfo/getUserByUserGuid";
|
|
|
|
Map<String, Object> param = new HashMap<>(); |
|
|
|
param.put("userGuid", userIdEn); |
|
|
|
Map<String, Object> headerMap = new HashMap<>(); |
|
|
|
headerMap.put("Authorization", "Bearer " + tokanStr); |
|
|
|
Result<String> result = HttpClientManager.getInstance().sendGet(serverUrl, param, headerMap); |
|
|
|
|
|
|
|
Result<String> result = HttpClientManager.getInstance().sendGet(serverUrl, param, getApiHeaderMap()); |
|
|
|
System.out.println(JSON.toJSONString(result)); |
|
|
|
if (!result.success() || StringUtils.isBlank(result.getData())) { |
|
|
|
log.info("getUserInfoMobile fail result:{}", JSON.toJSONString(result)); |
|
|
@ -190,36 +213,60 @@ public class YantaiApi { |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
@NotNull |
|
|
|
private static Map<String, Object> getApiHeaderMap() { |
|
|
|
Map<String, Object> headerMap = new HashMap<>(); |
|
|
|
try { |
|
|
|
JSONObject token = new JSONObject(); |
|
|
|
token.put("token", SSO_API_TOKEN); |
|
|
|
// token.put("token","iJCDUgCBV/Zk5FkkaxLypA==");
|
|
|
|
token.put("expiration", System.currentTimeMillis()); |
|
|
|
|
|
|
|
String tokanStr = SM4UtilsForYanTai.dealEncryptData(token.toString()); |
|
|
|
headerMap.put("Authorization", "Bearer " + tokanStr); |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("getApiHeaderMap exception", e); |
|
|
|
} |
|
|
|
return headerMap; |
|
|
|
} |
|
|
|
|
|
|
|
public static void main(String[] args) throws BadPaddingException, InvalidKeyException, JsonProcessingException { |
|
|
|
// JSONObject token = new JSONObject();
|
|
|
|
// token.put("token", SSO_CLIENT_TOKEN);
|
|
|
|
// token.put("expiration", System.currentTimeMillis());
|
|
|
|
//
|
|
|
|
// String tokanStr = SM4UtilsForYanTai.dealEncryptData(token.toString());
|
|
|
|
// String testUserId = "0ffd76e2-27b5-4b33-be9a-186f9f878bf1";
|
|
|
|
// String userId = SM4UtilsForYanTai.dealEncryptData(testUserId);
|
|
|
|
// System.out.println(tokanStr + "__" + userId);
|
|
|
|
// String serverUrl = "http://172.20.46.155:8082/person/userInfo/getUserByUserGuid";
|
|
|
|
// //String serverUrl = "http://120.220.248.247:8081/person/userInfo/getUserByUserGuid";
|
|
|
|
// Map<String, Object> param = new HashMap<>();
|
|
|
|
// param.put("userGuid", userId);
|
|
|
|
// Map<String, Object> headerMap = new HashMap<>();
|
|
|
|
// headerMap.put("Authorization", "Bearer " + tokanStr);
|
|
|
|
// Result<String> stringResult = HttpClientManager.getInstance().sendGet(serverUrl, param, headerMap);
|
|
|
|
// System.out.println(JSON.toJSONString(stringResult));
|
|
|
|
//
|
|
|
|
// String data = stringResult.getData();
|
|
|
|
// JSONObject jsonObject = JSON.parseObject(data);
|
|
|
|
// String secondCode = jsonObject.getString("code");
|
|
|
|
// String secondMessage = jsonObject.getString("message");
|
|
|
|
// System.out.println(secondCode);
|
|
|
|
// System.out.println(secondMessage);
|
|
|
|
// String data1 = SM4UtilsForYanTai.dealDecryptData(jsonObject.getString("data"));
|
|
|
|
// System.out.println("======" + data1);
|
|
|
|
String s = SM4UtilsForYanTai.dealDecryptData("R5TbfdZPJ7QA9uo02EGT/uDWyUWapZTmTQZwwLYnX5ZChQhV8bYa17yJ+d+KC5vUm9P/O9J25pkpKSzUSaXEmJz3oniLQdj3OyhmZFghKAKVbK/By+3oyVQG3ApRUMwir64RkvnjpP7MjgUaXXongNRheMrsarV2fjr8ZYDzIH0bhsTDgo0/qNSSmFc+0sWmcvraDyeeI5nRNyjaBzybuBQzOCkqf3LtQAwnqWj8lCVPi5dH7KiTzM0pwZWzhfr21xzaw80fQkUMznBfkiJJM8nI2vqgZfa6TgtTH3h7JYLq8LDcu5UMJpMuVjbWwW41N41I+c9magDCUOJ9LkbmrUTvg2Y0asccP7U3jt9NNgwmRT5L/vxNmuapDaADjFR83P3ospRaclr3vo9OWMORSw=="); |
|
|
|
System.out.println("sssssss:"+s); |
|
|
|
|
|
|
|
|
|
|
|
getLoginToken("0d554bccfbac4be3846d643252daf92b"); |
|
|
|
|
|
|
|
//testGetUserByUserId();
|
|
|
|
|
|
|
|
//code只能用一次
|
|
|
|
//getLoginToken("0d554bccfbac4be3846d643252daf92b");
|
|
|
|
|
|
|
|
String organizationId = "44e05de9-34fa-48f6-b89f-02838d792cf9"; |
|
|
|
List<OrgData> childOuInfoByGuid = getChildOuInfoByGuid(organizationId); |
|
|
|
System.out.println("childOuInfoByGuid:"+JSON.toJSONString(childOuInfoByGuid)); |
|
|
|
List<UserData> userByOuGuid = getUserByOuGuid(organizationId); |
|
|
|
System.out.println("getUserByOuGuid:"+JSON.toJSONString(userByOuGuid)); |
|
|
|
|
|
|
|
Map<String, Object> apiHeaderMap = getApiHeaderMap(); |
|
|
|
System.out.println(apiHeaderMap); |
|
|
|
//testGetUserByUserId();
|
|
|
|
} |
|
|
|
|
|
|
|
private static void testGetUserByUserId() throws JsonProcessingException, InvalidKeyException, BadPaddingException { |
|
|
|
String testUserId = "0ffd76e2-27b5-4b33-be9a-186f9f878bf1"; |
|
|
|
|
|
|
|
String serverUrl = SSO_BACKGROUND_SERVER_URL +"person/userInfo/getUserByUserGuid"; |
|
|
|
//String serverUrl = "http://120.220.248.247:8081/person/userInfo/getUserByUserGuid";
|
|
|
|
Map<String, Object> param = new HashMap<>(); |
|
|
|
param.put("userGuid", SM4UtilsForYanTai.dealEncryptData(testUserId)); |
|
|
|
Result<String> stringResult = HttpClientManager.getInstance().sendGet(serverUrl, param, getApiHeaderMap()); |
|
|
|
System.out.println(JSON.toJSONString(stringResult)); |
|
|
|
|
|
|
|
String data = stringResult.getData(); |
|
|
|
JSONObject jsonObject = JSON.parseObject(data); |
|
|
|
String secondCode = jsonObject.getString("code"); |
|
|
|
String secondMessage = jsonObject.getString("message"); |
|
|
|
System.out.println(secondCode); |
|
|
|
System.out.println(secondMessage); |
|
|
|
String data1 = SM4UtilsForYanTai.dealDecryptData(jsonObject.getString("data")); |
|
|
|
System.out.println("======" + data1); |
|
|
|
String s = SM4UtilsForYanTai.dealDecryptData("EsOeQX+A8+GG26lzLnuKeuylkBDRFcTbF+gE/jURIzddlVI8RToQQhzK4EHy0WfpS/L4dSAJC93UyVLJhj+r/pup2RFq/GjpH7Md+1Mjg3dM+eyDuGql71bUrldQwJXYnHrQm3Mn7tk5m2eLhEVNkFvdELjuy3Kg8YihZXf2Sox+kxtmK4DSIn/gxhVCoUneWeL0cA6JGHI6jNuq97rzgcNK3Mwen8MxOoWP3n3r+kIpwZCwIlL70MrBjIZ6FHIhcxpqL82gpLSe1K0TFgeWw+9PMo1yv4cGZn7rU86TDlQFoDP86dVa1jrBoyUmW/vvLXrMKwfBaiv9/EUzcCLZWYxEwH93n0X/NYCYem3pfv4uXk5A7/D+Npgj9OKCEIz0ROn0UW5NiXI5Vibz0dywaq4sfsR/LiwjV81QOGY9tsHzN2+MnyTVpQg1l7looNnq1j+wwLneS0aDmbTqBLEn/baph/Hnr2L/9HYpWfXkhz93XRNAdsbxhXdG5ZIiJSwNasHinPR3e2Hmn/02GOsBPFUifbyNUtslt4RS/gwboonBoXz8wrmXi+PfzUXwN8f2CKdBNEHl72USp70NtBSJUPAkHdXZEQPgGRped63Z9GA="); |
|
|
|
System.out.println("sssssss:" + s); |
|
|
|
} |
|
|
|
} |
|
|
|