后台服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 line
4.5 KiB

  1. package com.iformall.smsdk;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.github.pagehelper.PageInfo;
  5. import com.iformall.domain.po.sm.ServiceInfo;
  6. import com.iformall.domain.po.sm.ServiceVideoRecord;
  7. import com.iformall.sm.AiPreviewResult;
  8. import com.iformall.sm.AiVideoParam;
  9. import com.iformall.sm.AiVideoResult;
  10. import com.iformall.utils.JsonUtil;
  11. import lombok.extern.slf4j.Slf4j;
  12. import org.apache.commons.lang3.StringUtils;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.http.HttpEntity;
  15. import org.springframework.http.HttpMethod;
  16. import org.springframework.http.ResponseEntity;
  17. import org.springframework.stereotype.Component;
  18. import org.springframework.web.client.RestTemplate;
  19. import javax.annotation.PostConstruct;
  20. import javax.annotation.Resource;
  21. import java.util.HashMap;
  22. import java.util.Map;
  23. @Slf4j
  24. @Component
  25. public class SmSdkUtils {
  26. private static SmSdkUtils smSdkUtils;
  27. @Resource(name = "restTemplate")
  28. private RestTemplate restTemplate;
  29. @Autowired
  30. private SmSdkProperties smSdkProperties;
  31. @PostConstruct
  32. public void init() {
  33. smSdkUtils = this;
  34. }
  35. public static AiPreviewResult preview(SmPreviewVideoDTO dto) {
  36. String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.PREVIEW_VIDEO;
  37. log.info("(遂芒api)【预览视频】接口的请求参数:{}", JSON.toJSON(dto));
  38. ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.POST, SmUtils.getHttpEntity(JSON.parseObject(JSON.toJSONString(dto), Map.class)), String.class);
  39. log.info("(遂芒api)【预览视频】接口的响应数据:{}", JSON.toJSON(response.getBody()));
  40. JSONObject resultObject = JSON.parseObject(response.getBody());
  41. String data = resultObject.getString("data");
  42. return StringUtils.isNotBlank(data) ? JSON.parseObject(data, AiPreviewResult.class) : new AiPreviewResult();
  43. }
  44. public static AiVideoResult generateVideo(AiVideoParam aiVideoParam) {
  45. String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.GENERATE_VIDEO;
  46. // log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSONString(dto));
  47. log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSON(aiVideoParam.getTask_id()));
  48. ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.POST, SmUtils.getHttpEntity(JSON.parseObject(JSON.toJSONString(aiVideoParam), Map.class)), String.class);
  49. log.info("(遂芒api)【生成视频】接口的响应数据:{}", JSON.toJSON(response.getBody()));
  50. JSONObject resultObject = JSON.parseObject(response.getBody());
  51. String data = resultObject.getString("data");
  52. return StringUtils.isNotBlank(data) ? JSON.parseObject(data, AiVideoResult.class) : new AiVideoResult();
  53. }
  54. public static ServiceInfo getCurrentServiceInfo() {
  55. String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.CURRENT_SERVICE_INFO;
  56. Map paramMap = new HashMap();
  57. ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.GET, SmUtils.getHttpEntity(paramMap), String.class);
  58. log.info("(遂芒api)【查询当前接入方】接口的响应数据:{}", JSON.toJSON(response.getBody()));
  59. JSONObject resultObject = JSON.parseObject(response.getBody());
  60. String data = resultObject.getString("data");
  61. return StringUtils.isNotBlank(data) ? JSON.parseObject(data, ServiceInfo.class) : new ServiceInfo();
  62. }
  63. public static PageInfo<ServiceVideoRecord> currentVideoRecords(int pageNum,int pageSize) {
  64. Map parm = new HashMap();
  65. parm.put("pageNum", pageNum);
  66. parm.put("pageSize", pageSize);
  67. //String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.CURRENT_SERVICE_VIDEO_RECORDS+"?pageNum="+pageNum+"&pageSize="+pageSize;
  68. String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.CURRENT_SERVICE_VIDEO_RECORDS;
  69. ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.GET, SmUtils.getHttpEntity(parm), String.class);
  70. log.info("(遂芒api)【查询当前接入方】接口的响应数据:{}", JSON.toJSON(response.getBody()));
  71. JSONObject resultObject = JSON.parseObject(response.getBody());
  72. String data = resultObject.getString("data");
  73. return StringUtils.isNotBlank(data) ? JSON.parseObject(data, PageInfo.class) : new PageInfo<ServiceVideoRecord>();
  74. }
  75. }