@@ -30,7 +30,7 @@ public class AiVideoController extends BaseController { | |||||
@ApiOperation("生成视频") | @ApiOperation("生成视频") | ||||
@PostMapping("generateVideo") | @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())); | |||||
} | } | ||||
} | } |
@@ -1,5 +1,6 @@ | |||||
package com.iformall.dto; | package com.iformall.dto; | ||||
import com.iformall.enums.sm.EnumThirdPartyType; | |||||
import com.iformall.sm.AiVideoParam; | 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; | ||||
@@ -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 = "生成视频参数") | @ApiModelProperty(value = "生成视频参数") | ||||
private AiVideoParam aiVideoParam; | private AiVideoParam aiVideoParam; | ||||
public static GenerateVideoDTO build(AiVideoParam aiVideoParam, Long id) { | |||||
public static GenerateVideoDTO build(AiVideoParam aiVideoParam, Integer type) { | |||||
GenerateVideoDTO dto = new GenerateVideoDTO(); | GenerateVideoDTO dto = new GenerateVideoDTO(); | ||||
dto.setId(id); | |||||
dto.setType(type); | |||||
dto.setAiVideoParam(aiVideoParam); | dto.setAiVideoParam(aiVideoParam); | ||||
return dto; | return dto; | ||||
} | } | ||||
@@ -23,5 +23,5 @@ public interface AiVideoService { | |||||
* @param aiVideoParam | * @param aiVideoParam | ||||
* @return {@link AiVideoResult} | * @return {@link AiVideoResult} | ||||
*/ | */ | ||||
AiVideoResult generateVideo(AiVideoParam aiVideoParam, Long serviceId); | |||||
AiVideoResult generateVideo(GenerateVideoDTO dto, Long serviceId); | |||||
} | } |
@@ -1,9 +1,13 @@ | |||||
package com.iformall.service.impl; | package com.iformall.service.impl; | ||||
import com.iformall.common.CommonConstants; | |||||
import com.iformall.domain.dto.sm.SaveServiceVideoRecordDTO; | 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.AiVideoService; | ||||
import com.iformall.service.sm.ServiceVideoRecordService; | import com.iformall.service.sm.ServiceVideoRecordService; | ||||
import com.iformall.sm.*; | import com.iformall.sm.*; | ||||
import com.iformall.utils.Base64Util; | |||||
import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
@@ -25,15 +29,25 @@ public class AiVideoServiceImpl implements AiVideoService { | |||||
} | } | ||||
@Override | @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); | AiVideoResult video = AiVideoHelper.createVideo(aiVideoParam); | ||||
if (video.isSuccess()) { | if (video.isSuccess()) { | ||||
// 记录时长 | // 记录时长 | ||||
SaveServiceVideoRecordDTO dto = SaveServiceVideoRecordDTO.builder() | |||||
SaveServiceVideoRecordDTO saveServiceVideoRecordDTO = SaveServiceVideoRecordDTO.builder() | |||||
.serviceId(serviceId) | .serviceId(serviceId) | ||||
.videoTime(String.valueOf(video.getDuration())) | .videoTime(String.valueOf(video.getDuration())) | ||||
.build(); | .build(); | ||||
serviceVideoRecordService.saveServiceVideoRecord(dto); | |||||
serviceVideoRecordService.saveServiceVideoRecord(saveServiceVideoRecordDTO); | |||||
} | } | ||||
return video; | return video; | ||||
} | } | ||||
@@ -150,8 +150,8 @@ public class ShiroConfig { | |||||
//配置退出 过滤器,其中的具体的退出代码Shiro已经替我们实现了 | //配置退出 过滤器,其中的具体的退出代码Shiro已经替我们实现了 | ||||
filterChainDefinitionMap.put("/logout", "authc"); | filterChainDefinitionMap.put("/logout", "authc"); | ||||
// filterChainDefinitionMap.put("/**", "corsFilter,token,authc"); | |||||
filterChainDefinitionMap.put("/**", "anon"); | |||||
filterChainDefinitionMap.put("/**", "corsFilter,token,authc"); | |||||
// filterChainDefinitionMap.put("/**", "anon"); | |||||
shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap); | shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap); | ||||
@@ -71,7 +71,6 @@ public class AiVideoHelper { | |||||
} | } | ||||
log.info("生成视频start request:" + videoParam.neglectImgString()); | log.info("生成视频start request:" + videoParam.neglectImgString()); | ||||
log.info("完整参数:{}", JSONObject.toJSONString(videoParam)); | |||||
String response = doPost(oral_broadcasting+"/gen_dh_video", JSONObject.toJSONString(videoParam)); | String response = doPost(oral_broadcasting+"/gen_dh_video", JSONObject.toJSONString(videoParam)); | ||||
log.info("生成视频end response:"+response); | log.info("生成视频end response:"+response); | ||||