|
- package com.iformall.smsdk;
-
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.github.pagehelper.PageInfo;
- import com.iformall.domain.po.sm.ServiceInfo;
- import com.iformall.domain.po.sm.ServiceVideoRecord;
- 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.HashMap;
- 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(AiVideoParam aiVideoParam) {
- 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.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");
- return StringUtils.isNotBlank(data) ? JSON.parseObject(data, AiVideoResult.class) : new AiVideoResult();
- }
-
- public static ServiceInfo getCurrentServiceInfo() {
- String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.CURRENT_SERVICE_INFO;
- Map paramMap = new HashMap();
- ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.GET, SmUtils.getHttpEntity(paramMap), 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, ServiceInfo.class) : new ServiceInfo();
- }
-
- public static PageInfo<ServiceVideoRecord> currentVideoRecords(int pageNum,int pageSize) {
- Map parm = new HashMap();
- parm.put("pageNum", pageNum);
- parm.put("pageSize", pageSize);
- //String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.CURRENT_SERVICE_VIDEO_RECORDS+"?pageNum="+pageNum+"&pageSize="+pageSize;
- String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.CURRENT_SERVICE_VIDEO_RECORDS;
- ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.GET, SmUtils.getHttpEntity(parm), 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, PageInfo.class) : new PageInfo<ServiceVideoRecord>();
- }
- }
|