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 * @param record
* @return {@link ResultData} * @return {@link ResultData}
*/ */
@Deprecated
@ApiOperation("生成视频") @ApiOperation("生成视频")
@PostMapping("createVideo_bak")
@PostMapping("createVideo")
public ResultData create(@RequestBody UserMouldVideo record) { public ResultData create(@RequestBody UserMouldVideo record) {
logger.debug("[" + getIpAddr() + "] MouldPatchController::saveOrUpdate"); logger.debug("[" + getIpAddr() + "] MouldPatchController::saveOrUpdate");
if(record.getId() == null){ if(record.getId() == null){
@@ -202,13 +201,13 @@ public class UserMouldVideoController extends BaseController {
return new ResultData(); 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查询接口") @ApiOperation("根据id查询接口")
@GetMapping("/findVideo") @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, "重复生成次数超限"), ORDER_CREAT_OVERRUN(64000, "重复生成次数超限"),


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


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


ErrorCode(int code, 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.AiVideoHelper;
import com.iformall.sm.AiVideoParam; import com.iformall.sm.AiVideoParam;
import com.iformall.sm.AiVideoResult; import com.iformall.sm.AiVideoResult;
import com.iformall.smsdk.SmGenerateVideoDTO;
import com.iformall.smsdk.SmSdkUtils;
import com.iformall.utils.Base64Util; import com.iformall.utils.Base64Util;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
import com.iformall.utils.RedisLock; import com.iformall.utils.RedisLock;
@@ -391,7 +393,8 @@ public class UserMouldVideoServiceImpl implements UserMouldVideoService {
} }
videoParam.setVideo_files(videoFiles); 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()){ if(video.isSuccess()){
videoUpd.setVideoPath(video.getUrl()); videoUpd.setVideoPath(video.getUrl());
// videoUpd.setVideoTime(video.getDuration()+""); // 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; package com.iformall.smsdk;


import com.iformall.domain.po.sm.UserMouldVideo; import com.iformall.domain.po.sm.UserMouldVideo;
import com.iformall.sm.AiVideoParam;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -10,10 +11,13 @@ import lombok.Data;
public class SmGenerateVideoDTO { public class SmGenerateVideoDTO {
@ApiModelProperty(value = "视频唯一标识") @ApiModelProperty(value = "视频唯一标识")
private Long id; 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(); SmGenerateVideoDTO dto = new SmGenerateVideoDTO();
dto.setId(record.getId());
dto.setId(id);
dto.setAiVideoParam(aiVideoParam);
return dto; 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.JSON;
import com.alibaba.fastjson.JSONObject; 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 lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity; import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod; import org.springframework.http.HttpMethod;
@@ -29,12 +33,15 @@ public class SmSdkUtils {
smSdkUtils = this; smSdkUtils = this;
} }


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


Loading…
Cancel
Save