Browse Source

修改部分与第三方平台调用相关代码

dev_shibei_match
wxz 5 years ago
parent
commit
5596bf1bbf
  1. 1
      epmet-commons/epmet-commons-thirdplat/src/main/java/com/epmet/commons/thirdplat/DemoApp.java
  2. 58
      epmet-commons/epmet-commons-thirdplat/src/main/java/com/epmet/commons/thirdplat/apiservice/jcet/JcetApiService.java
  3. 8
      epmet-commons/epmet-commons-thirdplat/src/main/java/com/epmet/commons/thirdplat/constants/JcetApiUrls.java
  4. 14
      epmet-commons/epmet-commons-thirdplat/src/main/java/com/epmet/commons/thirdplat/constants/JcetConstants.java
  5. 48
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java

1
epmet-commons/epmet-commons-thirdplat/src/main/java/com/epmet/commons/thirdplat/DemoApp.java

@ -2,6 +2,7 @@ package com.epmet.commons.thirdplat;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.epmet.commons.thirdplat.dto.form.jcet.SsoTicketFormDTO; import com.epmet.commons.thirdplat.dto.form.jcet.SsoTicketFormDTO;
import com.epmet.commons.thirdplat.dto.form.jcet.SsoTokenFormDTO;
import com.epmet.commons.thirdplat.encrypt.SignUtils; import com.epmet.commons.thirdplat.encrypt.SignUtils;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;

58
epmet-commons/epmet-commons-thirdplat/src/main/java/com/epmet/commons/thirdplat/apiservice/jcet/JcetApiService.java

@ -2,8 +2,9 @@ package com.epmet.commons.thirdplat.apiservice.jcet;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.epmet.commons.thirdplat.apiservice.AbstractApiService; import com.epmet.commons.thirdplat.apiservice.AbstractApiService;
import com.epmet.commons.thirdplat.constants.JcetApiUrls; import com.epmet.commons.thirdplat.constants.JcetConstants;
import com.epmet.commons.thirdplat.dto.form.jcet.SsoTicketFormDTO; import com.epmet.commons.thirdplat.dto.form.jcet.SsoTicketFormDTO;
import com.epmet.commons.thirdplat.dto.form.jcet.SsoTokenFormDTO;
import com.epmet.commons.thirdplat.dto.result.jcet.UserInfoResultDTO; import com.epmet.commons.thirdplat.dto.result.jcet.UserInfoResultDTO;
import com.epmet.commons.thirdplat.encrypt.SignUtils; import com.epmet.commons.thirdplat.encrypt.SignUtils;
import com.epmet.commons.thirdplat.properties.JcetThirdplatProps; import com.epmet.commons.thirdplat.properties.JcetThirdplatProps;
@ -26,35 +27,47 @@ public class JcetApiService extends AbstractApiService {
jcetThirdplatProps = props.getJcet(); jcetThirdplatProps = props.getJcet();
} }
public UserInfoResultDTO login(String ticket) { /**
* @return
try { * @Description 通过第三方平台ticket获取用户信息
UserInfoResultDTO userInfoByTicket = getUserInfoByTicket(ticket); * @author wxz
// todo * @date 2021.01.19 10:26
} catch (UnsupportedEncodingException e) { */
e.printStackTrace();
}
return null;
}
public UserInfoResultDTO getUserInfoByTicket(String ticket) throws UnsupportedEncodingException { public UserInfoResultDTO getUserInfoByTicket(String ticket) throws UnsupportedEncodingException {
SsoTicketFormDTO ssoTicket = new SsoTicketFormDTO(); SsoTicketFormDTO ssoTicket = new SsoTicketFormDTO();
ssoTicket.setSsoTicket(ticket); ssoTicket.setSsoTicket(ticket);
Result<String> result = HttpClientManager.getInstance().sendPostByJSONAndHeader(
jcetThirdplatProps.getDomain().concat(JcetApiUrls.GET_USER_BY_TICKET), String domain = jcetThirdplatProps.getDomain();
JSON.toJSONString(ssoTicket), getHeaders(ssoTicket)); Result<String> result = HttpClientManager.getInstance().sendPost(
domain.concat(JcetConstants.URL_GET_USER_BY_TICKET),
domain.startsWith("https://"),
JSON.toJSONString(ssoTicket),
getHeaders(ssoTicket));
UserInfoResultDTO resultDTO = parseResult(result, UserInfoResultDTO.class); UserInfoResultDTO resultDTO = parseResult(result, UserInfoResultDTO.class);
return resultDTO; return resultDTO;
} }
private UserInfoResultDTO getUserInfoByToken(String ticket) throws UnsupportedEncodingException { /**
SsoTicketFormDTO ssoTicket = new SsoTicketFormDTO(); * @return
ssoTicket.setSsoTicket(ticket); * @Description 通过token获取用户信息
Result<String> result = HttpClientManager.getInstance().sendPostByJSONAndHeader( * @author wxz
jcetThirdplatProps.getDomain().concat(JcetApiUrls.GET_USER_BY_TICKET), * @date 2021.01.19 10:28
JSON.toJSONString(ssoTicket), getHeaders(ssoTicket)); */
public UserInfoResultDTO getUserInfoByToken(String token) throws UnsupportedEncodingException {
SsoTokenFormDTO ssoToken = new SsoTokenFormDTO();
ssoToken.setSsoToken(token);
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put(JcetConstants.PLAT_TOKEN_NAME, token);
String domain = jcetThirdplatProps.getDomain();
Result<String> result = HttpClientManager.getInstance().sendGet(
domain.concat(JcetConstants.URL_GET_USER_BY_TOKEN),
domain.startsWith("https://"),
paramMap,
getHeaders(ssoToken));
UserInfoResultDTO resultDTO = parseResult(result, UserInfoResultDTO.class); UserInfoResultDTO resultDTO = parseResult(result, UserInfoResultDTO.class);
return resultDTO; return resultDTO;
@ -62,6 +75,7 @@ public class JcetApiService extends AbstractApiService {
/** /**
* 获取请求所需要的头信息 * 获取请求所需要的头信息
*
* @param contentObject * @param contentObject
* @return * @return
* @throws UnsupportedEncodingException * @throws UnsupportedEncodingException

8
epmet-commons/epmet-commons-thirdplat/src/main/java/com/epmet/commons/thirdplat/constants/JcetApiUrls.java

@ -1,8 +0,0 @@
package com.epmet.commons.thirdplat.constants;
public interface JcetApiUrls {
// 根据ticket查询用户
String GET_USER_BY_TICKET = "/openapi-cgw/openapi-login/sso/getUserInfoByTicket";
}

14
epmet-commons/epmet-commons-thirdplat/src/main/java/com/epmet/commons/thirdplat/constants/JcetConstants.java

@ -0,0 +1,14 @@
package com.epmet.commons.thirdplat.constants;
public interface JcetConstants {
String URL_GET_USER_BY_TICKET = "/openapi-cgw/openapi-login/sso/getUserInfoByTicket";
String URL_GET_USER_BY_TOKEN = "/openapi-cgw/openapi-login/sso/getUserInfoByToken";
String PLAT_TICKET_NAME = "ssoTicket";
String PLAT_TOKEN_NAME = "ssoToken";
String PLAT_HEADER_OPEN_TIMESTAMP = "openTimestamp";
String PLAT_HEADER_OPEN_APP_ID = "openAppId";
String PLAT_HEADER_OPEN_SIGN = "openSign";
}

48
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java

@ -188,6 +188,29 @@ public class HttpClientManager {
} }
public Result<String> sendPost(String url, boolean isHttps, String jsonStrParam,Map<String,String> headerMap) {
try {
HttpPost httppost = new HttpPost(url);
httppost.setConfig(requestConfig);
httppost.addHeader(HEADER_CONTENT_TYPE, HEADER_APPLICATION_JSON);
if (null != headerMap){
headerMap.forEach((k,v) -> {
httppost.addHeader(k,v);
});
}
if (StringUtils.isNotEmpty(jsonStrParam)) {
StringEntity se = new StringEntity(jsonStrParam, UTF8);
httppost.setEntity(se);
}
return execute(httppost, isHttps);
} catch (Exception e) {
log.error("send exception", e);
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), EpmetErrorCode.SERVER_ERROR.getMsg());
}
}
/** /**
* 上传临时素材 * 上传临时素材
* @author zhaoqifeng * @author zhaoqifeng
@ -325,6 +348,31 @@ public class HttpClientManager {
} }
} }
public Result<String> sendGet(String url, boolean isHttps, Map<String, Object> params, Map<String,String> headerMap) {
try {
URIBuilder builder = new URIBuilder(url);
if (!CollectionUtils.isEmpty(params)) {
Set<String> set = params.keySet();
for (String key : set) {
builder.setParameter(key, params.get(key) == null ? "" : String.valueOf(params.get(key)));
}
}
HttpGet httpGet = new HttpGet(builder.build());
httpGet.setConfig(requestConfig);
if (null != headerMap){
headerMap.forEach((k,v) -> {
httpGet.addHeader(k,v);
});
}
return execute(httpGet, isHttps);
} catch (Exception e) {
log.error("sendGet exception", e);
return new Result<String>().error(EpmetErrorCode.SERVER_ERROR.getCode(), EpmetErrorCode.SERVER_ERROR.getMsg());
}
}
private Result<String> execute(HttpRequestBase httpMethod, boolean isHttps) { private Result<String> execute(HttpRequestBase httpMethod, boolean isHttps) {
CloseableHttpResponse response = null; CloseableHttpResponse response = null;
try { try {

Loading…
Cancel
Save