|
- package com.iformall.smsdk;
-
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.iformall.sm.AiPreviewResult;
- import com.iformall.sm.AiVideoParam;
- import com.iformall.sm.AiVideoResult;
- import com.iformall.utils.JsonUtil;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.HttpEntity;
- import org.springframework.http.HttpMethod;
- import org.springframework.http.ResponseEntity;
- import org.springframework.stereotype.Component;
- import org.springframework.web.client.RestTemplate;
-
- import javax.annotation.PostConstruct;
- import javax.annotation.Resource;
- import java.util.Map;
-
- @Slf4j
- @Component
- public class SmSdkUtils {
- private static SmSdkUtils smSdkUtils;
-
- @Resource(name = "restTemplate")
- private RestTemplate restTemplate;
-
- @Autowired
- private SmSdkProperties smSdkProperties;
-
- @PostConstruct
- public void init() {
- smSdkUtils = this;
- }
-
- 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.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");
- return StringUtils.isNotBlank(data) ? JSON.parseObject(data, AiPreviewResult.class) : new AiPreviewResult();
- }
-
- public static AiVideoResult generateVideo(SmGenerateVideoDTO dto) {
- String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.GENERATE_VIDEO;
- // log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSONString(dto));
- log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSON(dto.getId()));
- 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");
- return StringUtils.isNotBlank(data) ? JSON.parseObject(data, AiVideoResult.class) : new AiVideoResult();
- }
- }
|