|
|
@@ -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 taskId, Long serviceId) { |
|
|
|
AiVideoResult video = AiVideoHelper.createVideo(aiVideoParam, taskId); |
|
|
|
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; |
|
|
|
} |
|
|
|