@@ -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) { | ||||