4 Commits

9 changed files with 37 additions and 19 deletions
Split View
  1. +2
    -2
      open-api/src/main/java/com/iformall/controller/ai/AiVideoController.java
  2. +7
    -4
      open-api/src/main/java/com/iformall/dto/GenerateVideoDTO.java
  3. +1
    -1
      open-api/src/main/java/com/iformall/service/AiVideoService.java
  4. +17
    -3
      open-api/src/main/java/com/iformall/service/impl/AiVideoServiceImpl.java
  5. +2
    -2
      suimangAdmin/src/main/java/com/iformall/config/ShiroConfig.java
  6. +2
    -1
      suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java
  7. +0
    -1
      suimangService/src/main/java/com/iformall/sm/AiVideoHelper.java
  8. +4
    -4
      suimangService/src/main/java/com/iformall/smsdk/SmGenerateVideoDTO.java
  9. +2
    -1
      suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java

+ 2
- 2
open-api/src/main/java/com/iformall/controller/ai/AiVideoController.java View File

@@ -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()));
}
}

+ 7
- 4
open-api/src/main/java/com/iformall/dto/GenerateVideoDTO.java View File

@@ -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;
}


+ 1
- 1
open-api/src/main/java/com/iformall/service/AiVideoService.java View File

@@ -23,5 +23,5 @@ public interface AiVideoService {
* @param aiVideoParam
* @return {@link AiVideoResult}
*/
AiVideoResult generateVideo(AiVideoParam aiVideoParam, Long serviceId);
AiVideoResult generateVideo(GenerateVideoDTO dto, Long serviceId);
}

+ 17
- 3
open-api/src/main/java/com/iformall/service/impl/AiVideoServiceImpl.java View File

@@ -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;
}


+ 2
- 2
suimangAdmin/src/main/java/com/iformall/config/ShiroConfig.java View File

@@ -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);


+ 2
- 1
suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java View File

@@ -10,6 +10,7 @@ import com.iformall.common.IdWorker;
import com.iformall.common.ResultData;
import com.iformall.domain.po.sm.*;
import com.iformall.enums.*;
import com.iformall.enums.sm.EnumThirdPartyType;
import com.iformall.mapper.UserMouldVideoMapper;
import com.iformall.service.sm.*;
import com.iformall.sm.AiVideoHelper;
@@ -396,7 +397,7 @@ public class UserMouldVideoServiceImpl implements UserMouldVideoService {

// AiVideoResult video = AiVideoHelper.createVideo(videoParam,mouldVideo.getId());
// AiVideoResult video = SmSdkUtils.generateVideo(SmGenerateVideoDTO.build(videoParam, mouldVideo.getId()));
AiVideoResult video = SmSdkUtils.generateVideo(videoParam);
AiVideoResult video = SmSdkUtils.generateVideo(SmGenerateVideoDTO.build(videoParam, EnumThirdPartyType.PRIVATE_JOIN.getCode()));
if(video.isSuccess()){
videoUpd.setVideoPath(video.getUrl());
// videoUpd.setVideoTime(video.getDuration()+"");


+ 0
- 1
suimangService/src/main/java/com/iformall/sm/AiVideoHelper.java View File

@@ -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);



+ 4
- 4
suimangService/src/main/java/com/iformall/smsdk/SmGenerateVideoDTO.java View File

@@ -9,14 +9,14 @@ import lombok.Data;
@ApiModel(value = "生成视频请求参数")
@Data
public class SmGenerateVideoDTO {
@ApiModelProperty(value = "视频唯一标识")
private Long id;
@ApiModelProperty(value = "类型")
private Integer type;
@ApiModelProperty(value = "生成视频参数")
private AiVideoParam aiVideoParam;

public static SmGenerateVideoDTO build(AiVideoParam aiVideoParam, Long id) {
public static SmGenerateVideoDTO build(AiVideoParam aiVideoParam, Integer type) {
SmGenerateVideoDTO dto = new SmGenerateVideoDTO();
dto.setId(id);
dto.setType(type);
dto.setAiVideoParam(aiVideoParam);
return dto;
}


+ 2
- 1
suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java View File

@@ -45,7 +45,8 @@ public class SmSdkUtils {
return StringUtils.isNotBlank(data) ? JSON.parseObject(data, AiPreviewResult.class) : new AiPreviewResult();
}

public static AiVideoResult generateVideo(AiVideoParam aiVideoParam) {
public static AiVideoResult generateVideo(SmGenerateVideoDTO dto) {
AiVideoParam aiVideoParam = dto.getAiVideoParam();
String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.GENERATE_VIDEO;
// log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSONString(dto));
log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSON(aiVideoParam.getTask_id()));


Loading…
Cancel
Save