Browse Source

feat:修改创建视频接口sdk

private_deployment
xmzhao71 1 year ago
parent
commit
0effb069d3
5 changed files with 29 additions and 15 deletions
  1. +8
    -9
      suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java
  2. +3
    -2
      suimangService/src/main/java/com/iformall/common/ErrorCode.java
  3. +4
    -1
      suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java
  4. +6
    -2
      suimangService/src/main/java/com/iformall/smsdk/SmGenerateVideoDTO.java
  5. +8
    -1
      suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java

+ 8
- 9
suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java View File

@@ -161,9 +161,8 @@ public class UserMouldVideoController extends BaseController {
* @param record
* @return {@link ResultData}
*/
@Deprecated
@ApiOperation("生成视频")
@PostMapping("createVideo_bak")
@PostMapping("createVideo")
public ResultData create(@RequestBody UserMouldVideo record) {
logger.debug("[" + getIpAddr() + "] MouldPatchController::saveOrUpdate");
if(record.getId() == null){
@@ -202,13 +201,13 @@ public class UserMouldVideoController extends BaseController {
return new ResultData();
}

@AuthIgnore
@ApiOperation("生成视频")
@PostMapping("createVideo")
public ResultData createVideo(@RequestBody UserMouldVideo record) {
SmSdkUtils.generateVideo(SmGenerateVideoDTO.mapping(record));
return new ResultData();
}
// @AuthIgnore
// @ApiOperation("生成视频")
// @PostMapping("createVideo")
// public ResultData createVideo(@RequestBody UserMouldVideo record) {
// SmSdkUtils.generateVideo(SmGenerateVideoDTO.mapping(record));
// return new ResultData();
// }

@ApiOperation("根据id查询接口")
@GetMapping("/findVideo")


+ 3
- 2
suimangService/src/main/java/com/iformall/common/ErrorCode.java View File

@@ -677,9 +677,10 @@ public enum ErrorCode{
*/
ORDER_CREAT_OVERRUN(64000, "重复生成次数超限"),

;
CODE_ALREADY_EXISTS(71000, "该code已存在")
;

private int code;
private int code;
private String message;

ErrorCode(int code, String message) {


+ 4
- 1
suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java View File

@@ -15,6 +15,8 @@ import com.iformall.service.sm.*;
import com.iformall.sm.AiVideoHelper;
import com.iformall.sm.AiVideoParam;
import com.iformall.sm.AiVideoResult;
import com.iformall.smsdk.SmGenerateVideoDTO;
import com.iformall.smsdk.SmSdkUtils;
import com.iformall.utils.Base64Util;
import com.iformall.utils.Constant;
import com.iformall.utils.RedisLock;
@@ -391,7 +393,8 @@ public class UserMouldVideoServiceImpl implements UserMouldVideoService {
}
videoParam.setVideo_files(videoFiles);

AiVideoResult video = AiVideoHelper.createVideo(videoParam,mouldVideo.getId());
// AiVideoResult video = AiVideoHelper.createVideo(videoParam,mouldVideo.getId());
AiVideoResult video = SmSdkUtils.generateVideo(SmGenerateVideoDTO.build(videoParam, mouldVideo.getId()));
if(video.isSuccess()){
videoUpd.setVideoPath(video.getUrl());
// videoUpd.setVideoTime(video.getDuration()+"");


+ 6
- 2
suimangService/src/main/java/com/iformall/smsdk/SmGenerateVideoDTO.java View File

@@ -1,6 +1,7 @@
package com.iformall.smsdk;

import com.iformall.domain.po.sm.UserMouldVideo;
import com.iformall.sm.AiVideoParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -10,10 +11,13 @@ import lombok.Data;
public class SmGenerateVideoDTO {
@ApiModelProperty(value = "视频唯一标识")
private Long id;
@ApiModelProperty(value = "生成视频参数")
private AiVideoParam aiVideoParam;

public static SmGenerateVideoDTO mapping(UserMouldVideo record) {
public static SmGenerateVideoDTO build(AiVideoParam aiVideoParam, Long id) {
SmGenerateVideoDTO dto = new SmGenerateVideoDTO();
dto.setId(record.getId());
dto.setId(id);
dto.setAiVideoParam(aiVideoParam);
return dto;
}
}

+ 8
- 1
suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java View File

@@ -2,7 +2,11 @@ package com.iformall.smsdk;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
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;
@@ -29,12 +33,15 @@ public class SmSdkUtils {
smSdkUtils = this;
}

public static void generateVideo(SmGenerateVideoDTO dto) {
public static AiVideoResult generateVideo(SmGenerateVideoDTO dto) {
String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.GENERATE_VIDEO;
HttpEntity<SmGenerateVideoDTO> httpEntity = new HttpEntity<>(dto);
log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSONString(dto));
ResponseEntity<String> response = smSdkUtils.restTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class);
log.info("(遂芒api)【生成视频】接口的响应数据:{}", JSON.toJSONString(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 Double preview(SmPreviewVideoDTO dto) {


Loading…
Cancel
Save