From c9257e5aa9b568d6ea8477b0655ce34289d2ab47 Mon Sep 17 00:00:00 2001 From: xmzhao71 Date: Fri, 27 Oct 2023 17:23:03 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat=EF=BC=9A=E6=8E=A5=E5=8F=A3=E9=AA=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/iformall/config/ShiroConfig.java | 4 ++-- .../src/main/java/com/iformall/sm/AiVideoHelper.java | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) 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); From 4ffbdb3f89c840bce3d6295d7c83103a82a29d5c Mon Sep 17 00:00:00 2001 From: xmzhao71 Date: Fri, 27 Oct 2023 18:30:11 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat=EF=BC=9A=E4=BF=AE=E6=94=B9=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E8=A7=86=E5=B1=8Fapi=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ai/AiVideoController.java | 4 ++-- .../com/iformall/dto/GenerateVideoDTO.java | 11 ++++++---- .../com/iformall/service/AiVideoService.java | 2 +- .../service/impl/AiVideoServiceImpl.java | 20 ++++++++++++++++--- 4 files changed, 27 insertions(+), 10 deletions(-) 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; }