From 0effb069d3c4199a5e76276042dcc4520ceaec4d Mon Sep 17 00:00:00 2001 From: xmzhao71 Date: Fri, 20 Oct 2023 14:37:31 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E4=BF=AE=E6=94=B9=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E8=A7=86=E9=A2=91=E6=8E=A5=E5=8F=A3sdk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserMouldVideoController.java | 17 ++++++++--------- .../java/com/iformall/common/ErrorCode.java | 5 +++-- .../sm/impl/UserMouldVideoServiceImpl.java | 5 ++++- .../com/iformall/smsdk/SmGenerateVideoDTO.java | 8 ++++++-- .../java/com/iformall/smsdk/SmSdkUtils.java | 9 ++++++++- 5 files changed, 29 insertions(+), 15 deletions(-) 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) {