diff --git a/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java b/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java index a3a5fe5..7f2274a 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java @@ -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") diff --git a/suimangService/src/main/java/com/iformall/common/ErrorCode.java b/suimangService/src/main/java/com/iformall/common/ErrorCode.java index 5fde228..4b4a768 100644 --- a/suimangService/src/main/java/com/iformall/common/ErrorCode.java +++ b/suimangService/src/main/java/com/iformall/common/ErrorCode.java @@ -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) { diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java index 9cd8881..cf9ab7b 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java @@ -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()+""); diff --git a/suimangService/src/main/java/com/iformall/smsdk/SmGenerateVideoDTO.java b/suimangService/src/main/java/com/iformall/smsdk/SmGenerateVideoDTO.java index d8289dd..1ea3682 100644 --- a/suimangService/src/main/java/com/iformall/smsdk/SmGenerateVideoDTO.java +++ b/suimangService/src/main/java/com/iformall/smsdk/SmGenerateVideoDTO.java @@ -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; } } diff --git a/suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java b/suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java index c171411..0d0aadb 100644 --- a/suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java +++ b/suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java @@ -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 httpEntity = new HttpEntity<>(dto); log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSONString(dto)); ResponseEntity 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) {