4 커밋

9개의 변경된 파일37개의 추가작업 그리고 19개의 파일을 삭제
통합 보기
  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 파일 보기

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

+ 7
- 4
open-api/src/main/java/com/iformall/dto/GenerateVideoDTO.java 파일 보기

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


+ 1
- 1
open-api/src/main/java/com/iformall/service/AiVideoService.java 파일 보기

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

+ 17
- 3
open-api/src/main/java/com/iformall/service/impl/AiVideoServiceImpl.java 파일 보기

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


+ 2
- 2
suimangAdmin/src/main/java/com/iformall/config/ShiroConfig.java 파일 보기

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


+ 2
- 1
suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java 파일 보기

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


// AiVideoResult video = AiVideoHelper.createVideo(videoParam,mouldVideo.getId()); // AiVideoResult video = AiVideoHelper.createVideo(videoParam,mouldVideo.getId());
// AiVideoResult video = SmSdkUtils.generateVideo(SmGenerateVideoDTO.build(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()){ if(video.isSuccess()){
videoUpd.setVideoPath(video.getUrl()); videoUpd.setVideoPath(video.getUrl());
// videoUpd.setVideoTime(video.getDuration()+""); // videoUpd.setVideoTime(video.getDuration()+"");


+ 0
- 1
suimangService/src/main/java/com/iformall/sm/AiVideoHelper.java 파일 보기

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




+ 4
- 4
suimangService/src/main/java/com/iformall/smsdk/SmGenerateVideoDTO.java 파일 보기

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


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


+ 2
- 1
suimangService/src/main/java/com/iformall/smsdk/SmSdkUtils.java 파일 보기

@@ -45,7 +45,8 @@ public class SmSdkUtils {
return StringUtils.isNotBlank(data) ? JSON.parseObject(data, AiPreviewResult.class) : new AiPreviewResult(); 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; String url = smSdkUtils.smSdkProperties.getBaseUrl() + SmSdkConstant.GENERATE_VIDEO;
// log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSONString(dto)); // log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSONString(dto));
log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSON(aiVideoParam.getTask_id())); log.info("(遂芒api)【生成视频】接口的请求参数:{}", JSON.toJSON(aiVideoParam.getTask_id()));


불러오는 중...
취소
저장