diff --git a/open-api/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java b/open-api/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java index 71c1852..a03ab3e 100644 --- a/open-api/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java +++ b/open-api/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java @@ -64,15 +64,15 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter { throw new MallinkException(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"缺少加密串"); } - BufferedReader reader = request.getReader(); - StringBuilder stringBuilder = new StringBuilder(); - String line; - while ((line = reader.readLine()) != null) { - stringBuilder.append(line); - } - String body = stringBuilder.toString(); - //Map requestBodyMap = new Gson().fromJson(body, Map.class); - //String body = ((BodyReaderHttpServletRequestWrapper) request).getBody(); +// BufferedReader reader = request.getReader(); +// StringBuilder stringBuilder = new StringBuilder(); +// String line; +// while ((line = reader.readLine()) != null) { +// stringBuilder.append(line); +// } +// String body = stringBuilder.toString(); +// //Map requestBodyMap = new Gson().fromJson(body, Map.class); + String body = ((BodyReaderHttpServletRequestWrapper) request).getBody(); if(StringUtils.isBlank(body)){ throw new MallinkException(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"缺少请求body"); } diff --git a/suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java b/suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java index 2317fb2..28384ea 100644 --- a/suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java +++ b/suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java @@ -16,6 +16,7 @@ import org.springframework.http.HttpEntity; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; +import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; import javax.annotation.PostConstruct; @@ -44,7 +45,7 @@ public class SmSdkUtils { public static AiPreviewResult preview(SmPreviewVideoDTO dto) { String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.PREVIEW_VIDEO; log.info("(遂芒api)【预览视频】接口的请求参数:{}", JSON.toJSON(dto)); - ResponseEntity response = smSdkUtils.restTemplate.exchange(url, HttpMethod.POST, SmUtils.getHttpEntity(JSON.parseObject(JSON.toJSONString(dto), Map.class)), String.class); + ResponseEntity response = smSdkUtils.restTemplate.exchange(url, HttpMethod.POST, SmUtils.postHttpEntity(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"); @@ -56,7 +57,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 response = smSdkUtils.restTemplate.exchange(url, HttpMethod.POST, SmUtils.getHttpEntity(JSON.parseObject(JSON.toJSONString(aiVideoParam), Map.class)), String.class); + ResponseEntity response = smSdkUtils.restTemplate.exchange(url, HttpMethod.POST, SmUtils.postHttpEntity(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"); @@ -66,7 +67,9 @@ public class SmSdkUtils { //GET public static ServiceInfo getCurrentServiceInfo() { String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.CURRENT_SERVICE_INFO; - ResponseEntity response = smSdkUtils.restTemplate.exchange(url, HttpMethod.GET, SmUtils.getHttpEntity(new HashMap()), String.class); + Map param = new HashMap(); + HttpEntity> httEntity = SmUtils.getHttpEntity(param); + ResponseEntity response = smSdkUtils.restTemplate.exchange(url, HttpMethod.GET,httEntity , String.class,param); log.info("(遂芒api)【查询当前接入方】接口的响应数据:{}", JSON.toJSON(response.getBody())); JSONObject resultObject = JSON.parseObject(response.getBody()); String data = resultObject.getString("data"); @@ -78,8 +81,9 @@ public class SmSdkUtils { Map parm = new HashMap(); parm.put("pageNum", pageNum); parm.put("pageSize", pageSize); + HttpEntity> httEntity = SmUtils.getHttpEntity(parm); String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.CURRENT_SERVICE_VIDEO_RECORDS+"?pageNum="+pageNum+"&pageSize="+pageSize; - ResponseEntity response = smSdkUtils.restTemplate.exchange(url, HttpMethod.GET, SmUtils.getHttpEntity(parm), String.class); + ResponseEntity response = smSdkUtils.restTemplate.exchange(url, HttpMethod.GET, httEntity, String.class,parm); log.info("(遂芒api)【查询当前接入方】接口的响应数据:{}", JSON.toJSON(response.getBody())); JSONObject resultObject = JSON.parseObject(response.getBody()); String data = resultObject.getString("data"); diff --git a/suimangService/src/main/java/com/iformall/smsdk/SmUtils.java b/suimangService/src/main/java/com/iformall/smsdk/SmUtils.java index d7f6be8..aa38745 100644 --- a/suimangService/src/main/java/com/iformall/smsdk/SmUtils.java +++ b/suimangService/src/main/java/com/iformall/smsdk/SmUtils.java @@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.stereotype.Component; +import org.springframework.util.MultiValueMap; import javax.annotation.PostConstruct; import java.util.List; @@ -31,7 +32,7 @@ public class SmUtils { smUtils = this; } - public static HttpEntity> getHttpEntity(Map paramMap) { + public static HttpEntity> postHttpEntity(Map paramMap) { paramMap.put(SmSdkConstant.TIMESTAMP, System.currentTimeMillis()); WxThirdPartyApi apiConfig = getApiConfig(); HttpHeaders httpHeaders = new HttpHeaders(); @@ -40,6 +41,16 @@ public class SmUtils { httpHeaders.set(SmSdkConstant.SIGN, sign); return new HttpEntity<>(paramMap, httpHeaders); } + + public static HttpEntity> getHttpEntity(Map 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>(null,httpHeaders); + } //私有化统一用系统的来调用