winter 1年前
コミット
359674e010
4個のファイルの変更45行の追加17行の削除
  1. +1
    -1
      suimangCApi/src/main/java/com/iformall/controller/ProductOrderController.java
  2. +31
    -0
      suimangService/src/main/java/com/iformall/smsdk/HttpComponentsClientRestfulHttpRequestFactory.java
  3. +10
    -4
      suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java
  4. +3
    -12
      suimangService/src/main/java/com/iformall/smsdk/SmUtils.java

+ 1
- 1
suimangCApi/src/main/java/com/iformall/controller/ProductOrderController.java ファイルの表示

@@ -89,7 +89,7 @@ public class ProductOrderController extends BaseController {


@ApiOperation("根据id查询接口") @ApiOperation("根据id查询接口")
@GetMapping("/findByNumber") @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) { public ResultData findByNumber(String orderNumber) {
logger.debug("[" + getIpAddr() + "] ProductOrderController::findByNumber"); logger.debug("[" + getIpAddr() + "] ProductOrderController::findByNumber");




+ 31
- 0
suimangService/src/main/java/com/iformall/smsdk/HttpComponentsClientRestfulHttpRequestFactory.java ファイルの表示

@@ -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();
}
}
}

+ 10
- 4
suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java ファイルの表示

@@ -39,13 +39,19 @@ public class SmSdkUtils {
@PostConstruct @PostConstruct
public void init() { public void init() {
smSdkUtils = this; smSdkUtils = this;
initRestTemplate();
}
private void initRestTemplate() {
//修改restTemplate的RequestFactory使其支持Get携带body参数
restTemplate.setRequestFactory(new HttpComponentsClientRestfulHttpRequestFactory());
} }
//POST //POST
public static AiPreviewResult preview(SmPreviewVideoDTO dto) { public static AiPreviewResult preview(SmPreviewVideoDTO dto) {
String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.PREVIEW_VIDEO; String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.PREVIEW_VIDEO;
log.info("(遂芒api)【预览视频】接口的请求参数:{}", JSON.toJSON(dto)); 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())); log.info("(遂芒api)【预览视频】接口的响应数据:{}", JSON.toJSON(response.getBody()));
JSONObject resultObject = JSON.parseObject(response.getBody()); JSONObject resultObject = JSON.parseObject(response.getBody());
String data = resultObject.getString("data"); String data = resultObject.getString("data");
@@ -57,7 +63,7 @@ public class SmSdkUtils {
String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.GENERATE_VIDEO; String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.GENERATE_VIDEO;
// log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSONString(dto)); // log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSONString(dto));
log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSON(aiVideoParam.getTask_id())); 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())); log.info("(遂芒api)【生成视频】接口的响应数据:{}", JSON.toJSON(response.getBody()));
JSONObject resultObject = JSON.parseObject(response.getBody()); JSONObject resultObject = JSON.parseObject(response.getBody());
String data = resultObject.getString("data"); String data = resultObject.getString("data");
@@ -69,7 +75,7 @@ public class SmSdkUtils {
String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.CURRENT_SERVICE_INFO; String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.CURRENT_SERVICE_INFO;
Map param = new HashMap(); Map param = new HashMap();
HttpEntity<MultiValueMap<String, Object>> httEntity = SmUtils.getHttpEntity(param); 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())); log.info("(遂芒api)【查询当前接入方】接口的响应数据:{}", JSON.toJSON(response.getBody()));
JSONObject resultObject = JSON.parseObject(response.getBody()); JSONObject resultObject = JSON.parseObject(response.getBody());
String data = resultObject.getString("data"); String data = resultObject.getString("data");
@@ -83,7 +89,7 @@ public class SmSdkUtils {
parm.put("pageSize", pageSize); parm.put("pageSize", pageSize);
HttpEntity<MultiValueMap<String, Object>> httEntity = SmUtils.getHttpEntity(parm); HttpEntity<MultiValueMap<String, Object>> httEntity = SmUtils.getHttpEntity(parm);
String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.CURRENT_SERVICE_VIDEO_RECORDS+"?pageNum="+pageNum+"&pageSize="+pageSize; 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())); log.info("(遂芒api)【查询当前接入方】接口的响应数据:{}", JSON.toJSON(response.getBody()));
JSONObject resultObject = JSON.parseObject(response.getBody()); JSONObject resultObject = JSON.parseObject(response.getBody());
String data = resultObject.getString("data"); String data = resultObject.getString("data");


+ 3
- 12
suimangService/src/main/java/com/iformall/smsdk/SmUtils.java ファイルの表示

@@ -12,6 +12,7 @@ import org.apache.http.protocol.HTTP;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity; import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.MultiValueMap; import org.springframework.util.MultiValueMap;


@@ -32,27 +33,17 @@ public class SmUtils {
smUtils = this; 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()); paramMap.put(SmSdkConstant.TIMESTAMP, System.currentTimeMillis());
WxThirdPartyApi apiConfig = getApiConfig(); WxThirdPartyApi apiConfig = getApiConfig();
HttpHeaders httpHeaders = new HttpHeaders(); HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
httpHeaders.set(SmSdkConstant.APP_KEY, apiConfig.getAppId() + "&" + apiConfig.getAppKey()); httpHeaders.set(SmSdkConstant.APP_KEY, apiConfig.getAppId() + "&" + apiConfig.getAppKey());
String sign = SignUtils.getSign(apiConfig.getSignKey(), paramMap, "MD5"); String sign = SignUtils.getSign(apiConfig.getSignKey(), paramMap, "MD5");
httpHeaders.set(SmSdkConstant.SIGN, sign); httpHeaders.set(SmSdkConstant.SIGN, sign);
return new HttpEntity<>(paramMap, httpHeaders); 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() { public static WxThirdPartyApi getApiConfig() {
List<WxThirdPartyApi> wxThirdPartyApis = smUtils.wxThirdPartyApiMapper.selectList(new LambdaQueryWrapper<WxThirdPartyApi>() List<WxThirdPartyApi> wxThirdPartyApis = smUtils.wxThirdPartyApiMapper.selectList(new LambdaQueryWrapper<WxThirdPartyApi>()


読み込み中…
キャンセル
保存