isv 新增入参

This commit is contained in:
zhangchenbiao
2023-09-25 13:36:51 +08:00
parent c723af1381
commit eb42eefcbc
2 changed files with 57 additions and 24 deletions

View File

@@ -14,19 +14,19 @@ import com.cool.store.enums.FeiShuNoticeMsgEnum;
import com.cool.store.exception.ApiException;
import com.cool.store.exception.ServiceException;
import com.cool.store.mq.util.HttpRestTemplateService;
import com.cool.store.utils.RestTemplateUtil;
import com.cool.store.utils.Md5Utils;
import com.cool.store.utils.UUIDUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.text.MessageFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
@@ -39,8 +39,8 @@ import java.util.Objects;
@Slf4j
public class ISVHttpRequest {
@Value("${isv.domain:null}")
private String isvDomain;
//@Value("${isv.domain:null}")
private String isvDomain = "http://localhost:31100/isv";
@Resource
private HttpRestTemplateService httpRestTemplateService;
@@ -50,7 +50,7 @@ public class ISVHttpRequest {
HashMap requestMap = new HashMap();
requestMap.put("code", code);
try {
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap);
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return JSONObject.parseObject(JSONObject.toJSONString(responseEntity.getData()), UserIdInfoDTO.class);
@@ -68,7 +68,7 @@ public class ISVHttpRequest {
requestMap.put("userId", userId);
ResultDTO responseEntity = null;
try {
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap);
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return JSONObject.parseObject(JSONObject.toJSONString(responseEntity.getData()), EnterpriseUserDTO.class);
@@ -85,7 +85,7 @@ public class ISVHttpRequest {
HashMap requestMap = new HashMap();
ResultDTO responseEntity = null;
try {
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap);
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return JSONObject.parseArray(JSONObject.toJSONString(responseEntity.getData()), String.class);
@@ -102,7 +102,7 @@ public class ISVHttpRequest {
HashMap requestMap = new HashMap();
ResultDTO responseEntity = null;
try {
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap);
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return JSONObject.parseObject(JSONObject.toJSONString(responseEntity.getData()), AuthInfoDTO.class);
@@ -120,7 +120,7 @@ public class ISVHttpRequest {
requestMap.put("parentId", parentId);
ResultDTO responseEntity = null;
try {
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap);
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return JSONObject.parseArray(JSONObject.toJSONString(responseEntity.getData()), SysDepartmentDTO.class);
@@ -143,7 +143,7 @@ public class ISVHttpRequest {
requestMap.put("deptId", deptId);
ResultDTO responseEntity = null;
try {
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap);
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return JSONObject.parseObject(JSONObject.toJSONString(responseEntity.getData()), SysDepartmentDTO.class);
@@ -160,7 +160,7 @@ public class ISVHttpRequest {
HashMap requestMap = new HashMap();
ResultDTO responseEntity = null;
try {
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap);
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return JSONObject.parseObject(JSONObject.toJSONString(responseEntity.getData()), AuthScopeDTO.class);
@@ -178,7 +178,7 @@ public class ISVHttpRequest {
requestMap.put("deptId", deptId);
ResultDTO responseEntity = null;
try {
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap);
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return JSONObject.parseArray(JSONObject.toJSONString(responseEntity.getData()), EnterpriseUserDTO.class);
@@ -196,7 +196,7 @@ public class ISVHttpRequest {
requestMap.put("userIds", String.join(CommonConstants.COMMA, userIdList));
ResultDTO responseEntity = null;
try {
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap);
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return JSONObject.parseArray(JSONObject.toJSONString(responseEntity.getData()), EnterpriseUserDTO.class);
@@ -215,7 +215,7 @@ public class ISVHttpRequest {
requestMap.put("fetchChild", fetchChild);
ResultDTO responseEntity = null;
try {
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap);
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return JSONObject.parseArray(JSONObject.toJSONString(responseEntity.getData()), SysDepartmentDTO.class);
@@ -242,7 +242,7 @@ public class ISVHttpRequest {
requestMap.put("endTime", endTime);
ResultDTO responseEntity = null;
try {
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap);
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return JSONObject.parseArray(JSONObject.toJSONString(responseEntity.getData()), UserFreeBusyInfoDTO.class);
@@ -264,7 +264,7 @@ public class ISVHttpRequest {
String url = isvDomain + "/user/createUserCalendarEvent";
ResultDTO responseEntity = null;
try {
responseEntity = httpRestTemplateService.postForObject(url, param, ResultDTO.class);
responseEntity = httpRestTemplateService.postForObject(url, param, ResultDTO.class, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return JSONObject.parseObject(JSONObject.toJSONString(responseEntity.getData()), UserCalendarsEventDTO.class);
@@ -286,7 +286,7 @@ public class ISVHttpRequest {
String url = isvDomain + "/user/updateUserCalendarEvent";
ResultDTO responseEntity = null;
try {
responseEntity = httpRestTemplateService.postForObject(url, param, ResultDTO.class);
responseEntity = httpRestTemplateService.postForObject(url, param, ResultDTO.class, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return JSONObject.parseObject(JSONObject.toJSONString(responseEntity.getData()), UserCalendarsEventDTO.class);
@@ -308,7 +308,7 @@ public class ISVHttpRequest {
String url = isvDomain + "/user/deleteUserCalendarEvent";
ResultDTO responseEntity = null;
try {
responseEntity = httpRestTemplateService.postForObject(url, param, ResultDTO.class);
responseEntity = httpRestTemplateService.postForObject(url, param, ResultDTO.class, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return JSONObject.parseObject(JSONObject.toJSONString(responseEntity.getData()), UserCalendarsEventDTO.class);
@@ -336,7 +336,7 @@ public class ISVHttpRequest {
requestMap.put("endTime", endTime);
ResultDTO responseEntity = null;
try {
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap);
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return JSONObject.parseArray(JSONObject.toJSONString(responseEntity.getData()), UserCalendarsEventDTO.class);
@@ -363,7 +363,7 @@ public class ISVHttpRequest {
FeiShuNoticeMsgEnum messageType = param.getMessageType();
JSONObject request = JSONObject.parseObject(JSONObject.toJSONString(param));
request.put("messageType", messageType.getMessageObject());
responseEntity = httpRestTemplateService.postForObject(url, request, ResultDTO.class);
responseEntity = httpRestTemplateService.postForObject(url, request, ResultDTO.class, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
} catch (Exception e) {
log.info("调用isv出错{}", e);
@@ -373,13 +373,12 @@ public class ISVHttpRequest {
public String getWechatAccessToken(String appId, String appSecret)throws ApiException{
String url = "https://isv-partner.hsay.com/isv/wechat/getWechatAccessToken";
//String url = "https://abstore-isv.coolstore.cn/isv/wechat/getWechatAccessToken";
HashMap requestMap = new HashMap();
requestMap.put("appId", appId);
requestMap.put("appSecret", appSecret);
ResultDTO responseEntity = null;
try {
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap);
responseEntity = httpRestTemplateService.getForObject(url, ResultDTO.class, requestMap, getRequestHeadMap());
log.info("url:{}, response:{}", url, JSONObject.toJSONString(responseEntity));
if(Objects.nonNull(responseEntity.getData()) && responseEntity.isSuccess()){
return (String) responseEntity.getData();
@@ -390,4 +389,18 @@ public class ISVHttpRequest {
}
return null;
}
public Map<String, String> getRequestHeadMap(){
String appKey = "qS13yHA4Z4";
String appSecret = "1MddrP2MlUMAo9c5";
String signStr ="appKey={0}&appSecret={1}&nonce={2}&timestamp={3}";
String nonce = UUIDUtils.get8UUID();
String timestamp = String.valueOf(System.currentTimeMillis());
String sign = Md5Utils.md5(MessageFormat.format(signStr, appKey, appSecret, nonce, timestamp));
Map<String, String> headMap = new HashMap<>();
headMap.put("nonce", nonce);
headMap.put("sign", sign);
headMap.put("timestamp", timestamp);
return headMap;
}
}

View File

@@ -128,6 +128,26 @@ public class HttpRestTemplateService {
return result;
}
public <T> T postForObject(String url, Object request, Class<T> responseType, Map<String, String> headMap) {
logger.info("postForObject start:url={},request={},responseType={}, tenantAccessToken:{}", url, JSONObject.toJSONString(request), responseType.getName(), JSONObject.toJSONString(headMap));
T result = null;
try {
MultiValueMap<String, String> headers = new LinkedMultiValueMap();
headMap.forEach((k, v)->{
headers.add(k, v);
});
headers.add("Content-Type", "application/json");
HttpEntity httpEntity = new HttpEntity(request, headers);
result = restTemplate.postForObject(url, httpEntity, responseType);
} catch (RestClientException e) {
logger.error("postForObject error:{}", JSONObject.toJSONString(result));
logger.error("postForObject error:{}", e);
throw e;
}
logger.info("postForObject end:result={}", JSONObject.toJSONString(result));
return result;
}
/**
* 获取Headers