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 6e5b9f0..5eee0fd 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; } diff --git a/suimangAdmin/src/main/java/com/iformall/config/ShiroConfig.java b/suimangAdmin/src/main/java/com/iformall/config/ShiroConfig.java index 9ba5a6e..89b38cb 100644 --- a/suimangAdmin/src/main/java/com/iformall/config/ShiroConfig.java +++ b/suimangAdmin/src/main/java/com/iformall/config/ShiroConfig.java @@ -150,8 +150,8 @@ public class ShiroConfig { //配置退出 过滤器,其中的具体的退出代码Shiro已经替我们实现了 filterChainDefinitionMap.put("/logout", "authc"); -// filterChainDefinitionMap.put("/**", "corsFilter,token,authc"); - filterChainDefinitionMap.put("/**", "anon"); + filterChainDefinitionMap.put("/**", "corsFilter,token,authc"); +// filterChainDefinitionMap.put("/**", "anon"); shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap); diff --git a/suimangService/src/main/java/com/iformall/sm/AiVideoHelper.java b/suimangService/src/main/java/com/iformall/sm/AiVideoHelper.java index 279a812..dfa5272 100644 --- a/suimangService/src/main/java/com/iformall/sm/AiVideoHelper.java +++ b/suimangService/src/main/java/com/iformall/sm/AiVideoHelper.java @@ -71,7 +71,6 @@ public class AiVideoHelper { } log.info("生成视频start request:" + videoParam.neglectImgString()); - log.info("完整参数:{}", JSONObject.toJSONString(videoParam)); String response = doPost(oral_broadcasting+"/gen_dh_video", JSONObject.toJSONString(videoParam)); log.info("生成视频end response:"+response);