diff --git a/open-api/src/main/java/com/iformall/controller/ai/AiVideoController.java b/open-api/src/main/java/com/iformall/controller/ai/AiVideoController.java index ff1d3d0..2681945 100644 --- a/open-api/src/main/java/com/iformall/controller/ai/AiVideoController.java +++ b/open-api/src/main/java/com/iformall/controller/ai/AiVideoController.java @@ -30,7 +30,7 @@ public class AiVideoController extends BaseController { @ApiOperation("生成视频") @PostMapping("generateVideo") - public ResultData generateVideo(@RequestBody AiVideoParam aiVideoParam) { - return new ResultData(aiVideoService.generateVideo(aiVideoParam, getServiceId())); + public ResultData generateVideo(@RequestBody GenerateVideoDTO dto) { + return new ResultData(aiVideoService.generateVideo(dto, getServiceId())); } } diff --git a/open-api/src/main/java/com/iformall/dto/GenerateVideoDTO.java b/open-api/src/main/java/com/iformall/dto/GenerateVideoDTO.java index 8ff8c62..2e98534 100644 --- a/open-api/src/main/java/com/iformall/dto/GenerateVideoDTO.java +++ b/open-api/src/main/java/com/iformall/dto/GenerateVideoDTO.java @@ -1,5 +1,6 @@ package com.iformall.dto; +import com.iformall.enums.sm.EnumThirdPartyType; import com.iformall.sm.AiVideoParam; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -38,15 +39,17 @@ public class GenerateVideoDTO { * } * } */ - @ApiModelProperty(value = "视频唯一标识") - private Long id; +// @ApiModelProperty(value = "视频唯一标识") +// private Long id; + @ApiModelProperty(value = "接入方式") + private Integer type = EnumThirdPartyType.API_JOIN.getCode(); @ApiModelProperty(value = "生成视频参数") private AiVideoParam aiVideoParam; - public static GenerateVideoDTO build(AiVideoParam aiVideoParam, Long id) { + public static GenerateVideoDTO build(AiVideoParam aiVideoParam, Integer type) { GenerateVideoDTO dto = new GenerateVideoDTO(); - dto.setId(id); + dto.setType(type); dto.setAiVideoParam(aiVideoParam); return dto; } diff --git a/open-api/src/main/java/com/iformall/service/AiVideoService.java b/open-api/src/main/java/com/iformall/service/AiVideoService.java index 63e6757..5bee599 100644 --- a/open-api/src/main/java/com/iformall/service/AiVideoService.java +++ b/open-api/src/main/java/com/iformall/service/AiVideoService.java @@ -23,5 +23,5 @@ public interface AiVideoService { * @param aiVideoParam * @return {@link AiVideoResult} */ - AiVideoResult generateVideo(AiVideoParam aiVideoParam, Long serviceId); + AiVideoResult generateVideo(GenerateVideoDTO dto, Long serviceId); } diff --git a/open-api/src/main/java/com/iformall/service/impl/AiVideoServiceImpl.java b/open-api/src/main/java/com/iformall/service/impl/AiVideoServiceImpl.java index df53e86..cfdf67e 100644 --- a/open-api/src/main/java/com/iformall/service/impl/AiVideoServiceImpl.java +++ b/open-api/src/main/java/com/iformall/service/impl/AiVideoServiceImpl.java @@ -1,9 +1,13 @@ package com.iformall.service.impl; +import com.iformall.common.CommonConstants; import com.iformall.domain.dto.sm.SaveServiceVideoRecordDTO; +import com.iformall.dto.GenerateVideoDTO; +import com.iformall.enums.sm.EnumThirdPartyType; import com.iformall.service.AiVideoService; import com.iformall.service.sm.ServiceVideoRecordService; import com.iformall.sm.*; +import com.iformall.utils.Base64Util; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,15 +29,25 @@ public class AiVideoServiceImpl implements AiVideoService { } @Override - public AiVideoResult generateVideo(AiVideoParam aiVideoParam, Long serviceId) { + public AiVideoResult generateVideo(GenerateVideoDTO dto, Long serviceId) { + AiVideoParam aiVideoParam = dto.getAiVideoParam(); + // 如果是api接入,则将图片地址转为base64 + if (EnumThirdPartyType.API_JOIN.getCode().equals(dto.getType())) { + AiVideoParam.VideoFiles videoFiles = aiVideoParam.getVideo_files(); + videoFiles.getBack_ground().setImage(Base64Util.imageUrlToBase64(videoFiles.getBack_ground().getImage())); + for (AiVideoParam.Material material : videoFiles.getMaterial()) { + material.setImage(Base64Util.imageUrlToBase64(material.getImage())); + } + } + AiVideoResult video = AiVideoHelper.createVideo(aiVideoParam); if (video.isSuccess()) { // 记录时长 - SaveServiceVideoRecordDTO dto = SaveServiceVideoRecordDTO.builder() + SaveServiceVideoRecordDTO saveServiceVideoRecordDTO = SaveServiceVideoRecordDTO.builder() .serviceId(serviceId) .videoTime(String.valueOf(video.getDuration())) .build(); - serviceVideoRecordService.saveServiceVideoRecord(dto); + serviceVideoRecordService.saveServiceVideoRecord(saveServiceVideoRecordDTO); } return video; }