@@ -89,7 +89,7 @@ public class ProductOrderController extends BaseController { | |||
@ApiOperation("根据id查询接口") | |||
@GetMapping("/findByNumber") | |||
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) | |||
@ApiImplicitParam(name = "orderNumber", value = "orderNumber", dataType = "String", paramType = "query", required = true) | |||
public ResultData findByNumber(String orderNumber) { | |||
logger.debug("[" + getIpAddr() + "] ProductOrderController::findByNumber"); | |||
@@ -0,0 +1,31 @@ | |||
package com.iformall.smsdk; | |||
import java.net.URI; | |||
import org.apache.http.client.methods.HttpEntityEnclosingRequestBase; | |||
import org.apache.http.client.methods.HttpUriRequest; | |||
import org.springframework.http.HttpMethod; | |||
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; | |||
public class HttpComponentsClientRestfulHttpRequestFactory extends HttpComponentsClientHttpRequestFactory{ | |||
@Override | |||
protected HttpUriRequest createHttpUriRequest(HttpMethod httpMethod, URI uri) { | |||
if (httpMethod == HttpMethod.GET) { | |||
return new HttpGetRequestWithEntity(uri); | |||
} | |||
return super.createHttpUriRequest(httpMethod, uri); | |||
} | |||
//核心代码 | |||
private static final class HttpGetRequestWithEntity extends HttpEntityEnclosingRequestBase { | |||
public HttpGetRequestWithEntity(final URI uri) { | |||
super.setURI(uri); | |||
} | |||
@Override | |||
public String getMethod() { | |||
return HttpMethod.GET.name(); | |||
} | |||
} | |||
} |
@@ -39,13 +39,19 @@ public class SmSdkUtils { | |||
@PostConstruct | |||
public void init() { | |||
smSdkUtils = this; | |||
initRestTemplate(); | |||
} | |||
private void initRestTemplate() { | |||
//修改restTemplate的RequestFactory使其支持Get携带body参数 | |||
restTemplate.setRequestFactory(new HttpComponentsClientRestfulHttpRequestFactory()); | |||
} | |||
//POST | |||
public static AiPreviewResult preview(SmPreviewVideoDTO dto) { | |||
String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.PREVIEW_VIDEO; | |||
log.info("(遂芒api)【预览视频】接口的请求参数:{}", JSON.toJSON(dto)); | |||
ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.POST, SmUtils.postHttpEntity(JSON.parseObject(JSON.toJSONString(dto), Map.class)), String.class); | |||
ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.POST, SmUtils.getHttpEntity(JSON.parseObject(JSON.toJSONString(dto), Map.class)), String.class); | |||
log.info("(遂芒api)【预览视频】接口的响应数据:{}", JSON.toJSON(response.getBody())); | |||
JSONObject resultObject = JSON.parseObject(response.getBody()); | |||
String data = resultObject.getString("data"); | |||
@@ -57,7 +63,7 @@ public class SmSdkUtils { | |||
String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.GENERATE_VIDEO; | |||
// log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSONString(dto)); | |||
log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSON(aiVideoParam.getTask_id())); | |||
ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.POST, SmUtils.postHttpEntity(JSON.parseObject(JSON.toJSONString(aiVideoParam), Map.class)), String.class); | |||
ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.POST, SmUtils.getHttpEntity(JSON.parseObject(JSON.toJSONString(aiVideoParam), Map.class)), String.class); | |||
log.info("(遂芒api)【生成视频】接口的响应数据:{}", JSON.toJSON(response.getBody())); | |||
JSONObject resultObject = JSON.parseObject(response.getBody()); | |||
String data = resultObject.getString("data"); | |||
@@ -69,7 +75,7 @@ public class SmSdkUtils { | |||
String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.CURRENT_SERVICE_INFO; | |||
Map param = new HashMap(); | |||
HttpEntity<MultiValueMap<String, Object>> httEntity = SmUtils.getHttpEntity(param); | |||
ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.GET,httEntity , String.class,param); | |||
ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.GET,httEntity , String.class); | |||
log.info("(遂芒api)【查询当前接入方】接口的响应数据:{}", JSON.toJSON(response.getBody())); | |||
JSONObject resultObject = JSON.parseObject(response.getBody()); | |||
String data = resultObject.getString("data"); | |||
@@ -83,7 +89,7 @@ public class SmSdkUtils { | |||
parm.put("pageSize", pageSize); | |||
HttpEntity<MultiValueMap<String, Object>> httEntity = SmUtils.getHttpEntity(parm); | |||
String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.CURRENT_SERVICE_VIDEO_RECORDS+"?pageNum="+pageNum+"&pageSize="+pageSize; | |||
ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.GET, httEntity, String.class,parm); | |||
ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.GET, httEntity, String.class); | |||
log.info("(遂芒api)【查询当前接入方】接口的响应数据:{}", JSON.toJSON(response.getBody())); | |||
JSONObject resultObject = JSON.parseObject(response.getBody()); | |||
String data = resultObject.getString("data"); | |||
@@ -12,6 +12,7 @@ import org.apache.http.protocol.HTTP; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.http.HttpEntity; | |||
import org.springframework.http.HttpHeaders; | |||
import org.springframework.http.MediaType; | |||
import org.springframework.stereotype.Component; | |||
import org.springframework.util.MultiValueMap; | |||
@@ -32,27 +33,17 @@ public class SmUtils { | |||
smUtils = this; | |||
} | |||
public static HttpEntity<Map<String, Object>> postHttpEntity(Map<String, Object> paramMap) { | |||
public static HttpEntity<Map<String, Object>> getHttpEntity(Map<String, Object> paramMap) { | |||
paramMap.put(SmSdkConstant.TIMESTAMP, System.currentTimeMillis()); | |||
WxThirdPartyApi apiConfig = getApiConfig(); | |||
HttpHeaders httpHeaders = new HttpHeaders(); | |||
httpHeaders.setContentType(MediaType.APPLICATION_JSON); | |||
httpHeaders.set(SmSdkConstant.APP_KEY, apiConfig.getAppId() + "&" + apiConfig.getAppKey()); | |||
String sign = SignUtils.getSign(apiConfig.getSignKey(), paramMap, "MD5"); | |||
httpHeaders.set(SmSdkConstant.SIGN, sign); | |||
return new HttpEntity<>(paramMap, httpHeaders); | |||
} | |||
public static HttpEntity<MultiValueMap<String, Object>> getHttpEntity(Map<String, Object> paramMap) { | |||
paramMap.put(SmSdkConstant.TIMESTAMP, System.currentTimeMillis()); | |||
WxThirdPartyApi apiConfig = getApiConfig(); | |||
HttpHeaders httpHeaders = new HttpHeaders(); | |||
httpHeaders.set(SmSdkConstant.APP_KEY, apiConfig.getAppId() + "&" + apiConfig.getAppKey()); | |||
String sign = SignUtils.getSign(apiConfig.getSignKey(), paramMap, "MD5"); | |||
httpHeaders.set(SmSdkConstant.SIGN, sign); | |||
return new HttpEntity<MultiValueMap<String, Object>>(null,httpHeaders); | |||
} | |||
//私有化统一用系统的来调用 | |||
public static WxThirdPartyApi getApiConfig() { | |||
List<WxThirdPartyApi> wxThirdPartyApis = smUtils.wxThirdPartyApiMapper.selectList(new LambdaQueryWrapper<WxThirdPartyApi>() | |||