瀏覽代碼

feat:添加记录时长逻辑

photo
xmzhao71 1 年之前
父節點
當前提交
e6ac26e2fd
共有 11 個文件被更改,包括 83 次插入16 次删除
  1. +5
    -0
      open-api/src/main/java/com/iformall/controller/BaseController.java
  2. +4
    -6
      open-api/src/main/java/com/iformall/controller/ai/AiVideoController.java
  3. +3
    -4
      open-api/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java
  4. +1
    -1
      open-api/src/main/java/com/iformall/service/AiVideoService.java
  5. +10
    -3
      open-api/src/main/java/com/iformall/service/impl/AiVideoServiceImpl.java
  6. +1
    -1
      suimangService/src/main/java/com/iformall/domain/dto/neuver/SaveServiceInfoDTO.java
  7. +30
    -0
      suimangService/src/main/java/com/iformall/domain/dto/neuver/SaveServiceVideoRecordDTO.java
  8. +4
    -0
      suimangService/src/main/java/com/iformall/domain/po/WxThirdPartyApi.java
  9. +11
    -0
      suimangService/src/main/java/com/iformall/service/sm/ServiceVideoRecordService.java
  10. +12
    -0
      suimangService/src/main/java/com/iformall/service/sm/impl/ServiceVideoRecordServiceImpl.java
  11. +2
    -1
      suimangService/src/main/java/com/iformall/utils/Constant.java

+ 5
- 0
open-api/src/main/java/com/iformall/controller/BaseController.java 查看文件

@@ -64,4 +64,9 @@ public class BaseController {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
return IPUtil.getIpAddr(request);
}

public Long getServiceId() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
return (Long) request.getAttribute(Constant.SERVICE_ID);
}
}

+ 4
- 6
open-api/src/main/java/com/iformall/controller/ai/AiVideoController.java 查看文件

@@ -1,13 +1,11 @@
package com.iformall.controller.ai;

import com.iformall.common.ResultData;
import com.iformall.domain.po.sm.UserMouldVideo;
import com.iformall.controller.BaseController;
import com.iformall.dto.GenerateVideoDTO;
import com.iformall.dto.PreviewVideoDTO;
import com.iformall.service.AiVideoService;
import com.iformall.sm.AiPreviewParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@@ -18,13 +16,13 @@ import org.springframework.web.bind.annotation.RestController;
@Api(tags = "视频相关api")
@RestController
@RequestMapping("/ai/video")
public class AiVideoController {
public class AiVideoController extends BaseController {

@Autowired
private AiVideoService aiVideoService;

@ApiOperation("预览")
@PostMapping("/preview")
@PostMapping("/previewVideo")
public ResultData previewVideo(@RequestBody PreviewVideoDTO dto) {
return new ResultData(aiVideoService.previewVideo(PreviewVideoDTO.mappingParam(dto)));
}
@@ -32,6 +30,6 @@ public class AiVideoController {
@ApiOperation("生成视频")
@PostMapping("generateVideo")
public ResultData generateVideo(@RequestBody GenerateVideoDTO dto) {
return new ResultData(aiVideoService.generateVideo(dto.getAiVideoParam(), dto.getId()));
return new ResultData(aiVideoService.generateVideo(dto.getAiVideoParam(), dto.getId(), getServiceId()));
}
}

+ 3
- 4
open-api/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java 查看文件

@@ -50,6 +50,7 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
if(apiConfig == null){
throw new MallinkException(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"非法请求");
}
request.setAttribute(Constant.SERVICE_ID, apiConfig.getServiceId());
request.setAttribute(Constant.APP_Id, apiConfig.getAppId());
request.setAttribute(Constant.TENANT_ID, apiConfig.getTenantId());
request.setAttribute(Constant.PARENT_TENANT_ID, apiConfig.getParentTenantId());
@@ -77,7 +78,7 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
if(StringUtils.isBlank(timeStamp)){
throw new MallinkException(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"缺少timeStamp");
}
long timestampDate = Long.valueOf(timeStamp) + 1000*60*5;//五分钟有效
long timestampDate = Long.parseLong(timeStamp) + 1000*60*5;//五分钟有效
long currDate = System.currentTimeMillis();
// 请求过期
if (timestampDate < currDate) {
@@ -85,9 +86,7 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
}

for (String key:notKeys) {
if(parameterMap.containsKey(key)){
parameterMap.remove(key);
}
parameterMap.remove(key);
}

String newSignature = SignUtils.getSign(apiConfig.getSignKey(), parameterMap, "MD5");


+ 1
- 1
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 taskId);
AiVideoResult generateVideo(AiVideoParam aiVideoParam, Long taskId, Long serviceId);
}

+ 10
- 3
open-api/src/main/java/com/iformall/service/impl/AiVideoServiceImpl.java 查看文件

@@ -1,12 +1,14 @@
package com.iformall.service.impl;

import com.iformall.common.ErrorCode;
import com.iformall.domain.dto.neuver.SaveServiceVideoRecordDTO;
import com.iformall.domain.po.sm.UserMouldVideo;
import com.iformall.dto.GenerateVideoDTO;
import com.iformall.dto.PreviewVideoDTO;
import com.iformall.enums.EnumVideoStatus;
import com.iformall.exception.BizException;
import com.iformall.service.AiVideoService;
import com.iformall.service.sm.ServiceVideoRecordService;
import com.iformall.service.sm.UserMouldVideoService;
import com.iformall.service.sm.VoiceInfoService;
import com.iformall.sm.*;
@@ -26,10 +28,10 @@ import java.util.Optional;
@Service
public class AiVideoServiceImpl implements AiVideoService {

@Autowired
private VoiceInfoService voiceInfoService;
@Autowired
private UserMouldVideoService userMouldVideoService;
@Autowired
private ServiceVideoRecordService serviceVideoRecordService;

@Override
public AiPreviewResult previewVideo(AiPreviewParam aiPreviewParam) {
@@ -37,7 +39,7 @@ public class AiVideoServiceImpl implements AiVideoService {
}

@Override
public AiVideoResult generateVideo(AiVideoParam aiVideoParam, Long taskId) {
public AiVideoResult generateVideo(AiVideoParam aiVideoParam, Long taskId, Long serviceId) {
// // 参数校验
// UserMouldVideo userMouldVideo = Optional.ofNullable(userMouldVideoService.getById(dto.getId())).orElseThrow(() -> new BizException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "未找到用户数据"));
// if (StringUtils.isBlank(userMouldVideo.getPaperwork())) {
@@ -60,6 +62,11 @@ public class AiVideoServiceImpl implements AiVideoService {
AiVideoResult video = AiVideoHelper.createVideo(aiVideoParam, taskId);
if (video.isSuccess()) {
// 记录时长
SaveServiceVideoRecordDTO dto = SaveServiceVideoRecordDTO.builder()
.serviceId(serviceId)
.videoTime(String.valueOf(video.getDuration()))
.build();
serviceVideoRecordService.saveServiceVideoRecord(dto);
}
return video;
}


+ 1
- 1
suimangService/src/main/java/com/iformall/domain/dto/neuver/SaveServiceInfoDTO.java 查看文件

@@ -9,7 +9,7 @@ import lombok.Data;

import java.util.Date;

@ApiModel(value = "获取语种")
@ApiModel(value = "新增接入商")
@Data
public class SaveServiceInfoDTO {
@ApiModelProperty("客户名称")


+ 30
- 0
suimangService/src/main/java/com/iformall/domain/dto/neuver/SaveServiceVideoRecordDTO.java 查看文件

@@ -0,0 +1,30 @@
package com.iformall.domain.dto.neuver;

import com.iformall.common.IdWorker;
import com.iformall.domain.po.sm.ServiceVideoRecord;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

import java.util.Date;

@ApiModel(value = "新增生成视频时长记录")
@Data
@Builder
public class SaveServiceVideoRecordDTO {
@ApiModelProperty("接入商标识")
private Long serviceId;
@ApiModelProperty("视频时长")
private String videoTime;

public static ServiceVideoRecord mapping(SaveServiceVideoRecordDTO dto) {
ServiceVideoRecord serviceVideoRecord = new ServiceVideoRecord();
serviceVideoRecord.setId(IdWorker.get().nextId());
serviceVideoRecord.setCreateTime(new Date());
serviceVideoRecord.setUpdateTime(new Date());
serviceVideoRecord.setServiceId(dto.getServiceId());
serviceVideoRecord.setVideoTime(dto.getVideoTime());
return serviceVideoRecord;
}
}

+ 4
- 0
suimangService/src/main/java/com/iformall/domain/po/WxThirdPartyApi.java 查看文件

@@ -2,6 +2,7 @@ package com.iformall.domain.po;

import com.baomidou.mybatisplus.annotation.TableName;
import com.iformall.domain.po.base.TenantEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

@@ -52,5 +53,8 @@ public class WxThirdPartyApi extends TenantEntity {

@io.swagger.annotations.ApiModelProperty(value="",name="tpId")
private String tpId;

@ApiModelProperty("接入商id")
private Long serviceId;
}

+ 11
- 0
suimangService/src/main/java/com/iformall/service/sm/ServiceVideoRecordService.java 查看文件

@@ -1,4 +1,15 @@
package com.iformall.service.sm;

import com.iformall.domain.dto.neuver.SaveServiceVideoRecordDTO;

/**
* @author xmzhao71
* @date 2023-10-20
*/
public interface ServiceVideoRecordService {

/**
* @param dto
*/
void saveServiceVideoRecord(SaveServiceVideoRecordDTO dto);
}

+ 12
- 0
suimangService/src/main/java/com/iformall/service/sm/impl/ServiceVideoRecordServiceImpl.java 查看文件

@@ -1,8 +1,20 @@
package com.iformall.service.sm.impl;

import com.iformall.domain.dto.neuver.SaveServiceVideoRecordDTO;
import com.iformall.domain.po.sm.ServiceVideoRecord;
import com.iformall.mapper.ServiceVideoRecordMapper;
import com.iformall.service.sm.ServiceVideoRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class ServiceVideoRecordServiceImpl implements ServiceVideoRecordService {

@Autowired
private ServiceVideoRecordMapper serviceVideoRecordMapper;

@Override
public void saveServiceVideoRecord(SaveServiceVideoRecordDTO dto) {
serviceVideoRecordMapper.insert(SaveServiceVideoRecordDTO.mapping(dto));
}
}

+ 2
- 1
suimangService/src/main/java/com/iformall/utils/Constant.java 查看文件

@@ -69,7 +69,8 @@ public class Constant {
public static final String APP_Id = "APP_Id";
public static final String APP_NAME = "APP_NAME";
public static final String APP_INFO = "APPINFO";
public static final String SERVICE_ID = "SERVICE_ID";

public static final String LOGIN_B_USER_KEY = "LOGIN_B_USER_KEY";




Loading…
取消
儲存