| @@ -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") | ||||
| @@ -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) { | ||||
| @@ -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()+""); | ||||
| @@ -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; | ||||
| } | } | ||||
| } | } | ||||
| @@ -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) { | ||||