From 3f896038c270d0933d6361d49f186d19f66addda Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 7 Nov 2023 00:41:47 +0800 Subject: [PATCH] fix --- .../service/impl/AiVideoServiceImpl.java | 21 ++++++++++++++++++- .../iformall/mapper/ServiceInfoMapper.java | 4 ++++ .../service/sm/ServiceInfoService.java | 2 ++ .../sm/impl/ServiceInfoServiceImpl.java | 5 +++++ .../resources/mapper/ServiceInfoMapper.xml | 4 ++++ 5 files changed, 35 insertions(+), 1 deletion(-) 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 b12ba7e..da79e2f 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 @@ -19,6 +19,7 @@ import com.iformall.vo.PagePersonMouldVO; import com.iformall.vo.PageServiceVedioRecordVO; import com.iformall.vo.PageVO; +import java.math.BigDecimal; import java.util.List; import java.util.stream.Collectors; @@ -50,13 +51,29 @@ public class AiVideoServiceImpl implements AiVideoService { ServiceInfo serviceInfo = serviceInfoService.getServiceInfo(serviceId); // 如果是api接入,则将图片地址转为base64 if (EnumThirdPartyType.API_JOIN.getCode().equals(serviceInfo.getType())) { + //判断时长是否还有 + if (serviceInfo.getRemainingTimes() <= 0 ) { + AiVideoResult result = new AiVideoResult(); + result.setSuccess(false); + result.setMsg("接入方无有效时长,请联系销售充时长。"); + return result; + } 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())); } + }else if(EnumThirdPartyType.PRIVATE_JOIN.getCode().equals(serviceInfo.getType())) { + //私有化部署校验时长 + if (serviceInfo.getRemainingTimes() <= 0 ) { + AiVideoResult result = new AiVideoResult(); + result.setSuccess(false); + result.setMsg("接入方无有效时长,请联系销售充时长。"); + return result; + } + //TODO 本地部署的视频文件怎么处理 } - //TODO 本地部署的视频文件怎么处理 + AiVideoResult video = AiVideoHelper.createVideo(aiVideoParam); if (video.isSuccess()) { // 记录时长 @@ -66,6 +83,8 @@ public class AiVideoServiceImpl implements AiVideoService { .videoUrl(video.getUrl()) .build(); serviceVideoRecordService.saveServiceVideoRecord(saveServiceVideoRecordDTO); + //扣掉总时长 + serviceInfoService.reduceTimes(serviceId, new BigDecimal(video.getDuration()).multiply(new BigDecimal(60)).longValue()); } return video; } diff --git a/suimangService/src/main/java/com/iformall/mapper/ServiceInfoMapper.java b/suimangService/src/main/java/com/iformall/mapper/ServiceInfoMapper.java index b678a16..702e498 100644 --- a/suimangService/src/main/java/com/iformall/mapper/ServiceInfoMapper.java +++ b/suimangService/src/main/java/com/iformall/mapper/ServiceInfoMapper.java @@ -5,6 +5,8 @@ import com.iformall.domain.po.sm.ServiceInfo; import java.util.List; +import org.apache.ibatis.annotations.Param; + /** * 合作商service * @@ -20,4 +22,6 @@ public interface ServiceInfoMapper extends CommonMapper { * @return {@link List}<{@link ServiceInfo}> */ List listServiceInfo(ServiceInfo serviceInfo); + + void reduceTimes(@Param("id") Long id,@Param("seconds") Long seconds); } diff --git a/suimangService/src/main/java/com/iformall/service/sm/ServiceInfoService.java b/suimangService/src/main/java/com/iformall/service/sm/ServiceInfoService.java index 44d5410..711c32f 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/ServiceInfoService.java +++ b/suimangService/src/main/java/com/iformall/service/sm/ServiceInfoService.java @@ -54,4 +54,6 @@ public interface ServiceInfoService { void associatedMoulds(Long[] mouldIds,Long id); + void reduceTimes(Long serviceId,Long seconds); + } diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/ServiceInfoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/ServiceInfoServiceImpl.java index c856406..27ad3ab 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/ServiceInfoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/ServiceInfoServiceImpl.java @@ -125,4 +125,9 @@ public class ServiceInfoServiceImpl implements ServiceInfoService { servicePersonMouldMapper.saveBatch(spmlist); } } + + @Override + public void reduceTimes(Long serviceId,Long seconds) { + serviceInfoMapper.reduceTimes(serviceId,seconds); + } } diff --git a/suimangService/src/main/resources/mapper/ServiceInfoMapper.xml b/suimangService/src/main/resources/mapper/ServiceInfoMapper.xml index 278e6b8..1a38a86 100644 --- a/suimangService/src/main/resources/mapper/ServiceInfoMapper.xml +++ b/suimangService/src/main/resources/mapper/ServiceInfoMapper.xml @@ -39,6 +39,10 @@ FROM service_info + + + update service_info set remaining_times = remaining_times - #{seconds} where id = #{id} + \ No newline at end of file