diff --git a/suimangService/src/main/java/com/iformall/service/sm/VoiceInfoService.java b/suimangService/src/main/java/com/iformall/service/sm/VoiceInfoService.java index e24967e..1f1de87 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/VoiceInfoService.java +++ b/suimangService/src/main/java/com/iformall/service/sm/VoiceInfoService.java @@ -10,4 +10,6 @@ import java.util.List; public interface VoiceInfoService { List chooseType(Long id); + + VoiceInfo getById(Long voiceMouldId); } diff --git a/suimangService/src/main/java/com/iformall/service/sm/VoiceMaterialService.java b/suimangService/src/main/java/com/iformall/service/sm/VoiceMaterialService.java index fb7c186..b82350e 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/VoiceMaterialService.java +++ b/suimangService/src/main/java/com/iformall/service/sm/VoiceMaterialService.java @@ -42,4 +42,6 @@ public interface VoiceMaterialService { void updateOnline(VoiceMaterial record); + void handVideoUrl(VoiceMaterial record); + } diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java index 1148d32..043e487 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/PhotoSpeakVideoServiceImpl.java @@ -45,6 +45,9 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { @Autowired MaterialMouldService materialMouldService; + @Autowired + VoiceInfoService voiceInfoService; + @Autowired VideoFactory videoFactory; @@ -86,13 +89,14 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { if(record.getVoiceMouldId() == null){ return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"未选择声音模板信息"); } - VoiceMould voiceMould = voiceMouldService.getById(record.getVoiceMouldId()); + VoiceInfo voiceMould = voiceInfoService.getById(record.getVoiceMouldId()); +// VoiceMould voiceMould = voiceMouldService.getById(record.getVoiceMouldId()); if(voiceMould == null){ return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"未查询到声音模板信息"); } JSONObject voiceMouldObject = new JSONObject(); - voiceMouldObject.put("title",voiceMould.getTitle()); + voiceMouldObject.put("title",voiceMould.getLocalName()); voiceMouldObject.put("mouldSmId",voiceMould.getMouldSmId()); voiceMouldObject.put("personType",0); voiceMouldObject.put("personTypeStr","默认"); @@ -101,7 +105,7 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { if(StringUtils.isNotBlank(record.getSpeakTypeStr())){ EnumSpeakType speakType = EnumSpeakType.getEnum(record.getSpeakTypeStr()); if(speakType == null){ - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"未查询到声音类型信息"); + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"声音类型信息错误"); } voiceMouldObject.put("speakType",speakType.getCode()); voiceMouldObject.put("speakTypeStr",speakType.getMessage()); @@ -115,6 +119,7 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { if(voiceMaterial == null){ return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"未查询到声音文件"); } + voiceMaterialService.handVideoUrl(voiceMaterial); record.setVoiceMaterialUrl(voiceMaterial.getMaterial()); } } @@ -183,6 +188,12 @@ public class PhotoSpeakVideoServiceImpl implements PhotoSpeakVideoService { } }else if(EnumVoiceFrom.FROM_UPD.getCode().equals(voiceFrom)){ voiceMaterialUrl = photoSpeakVideo.getVoiceMaterialUrl(); + if(StringUtils.isBlank(voiceMaterialUrl)){ + VoiceMaterial voiceMaterial = voiceMaterialService.getById(photoSpeakVideo.getVoiceMaterialId()); + voiceMaterialService.handVideoUrl(voiceMaterial); + voiceMaterialUrl = voiceMaterial.getMaterial(); + videoUpd.setVoiceMaterialUrl(voiceMaterialUrl); + } if(StringUtils.isBlank(voiceMaterialUrl)){ msg = "未找到上传声音文件"; } diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/VoiceInfoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/VoiceInfoServiceImpl.java index 726873e..27f0f2c 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/VoiceInfoServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/VoiceInfoServiceImpl.java @@ -32,4 +32,9 @@ public class VoiceInfoServiceImpl implements VoiceInfoService { }); return voiceInfos; } + + @Override + public VoiceInfo getById(Long voiceMouldId) { + return voiceMapper.selectById(voiceMouldId); + } } diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/VoiceMaterialServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/VoiceMaterialServiceImpl.java index 4b889a7..8ea8879 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/VoiceMaterialServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/VoiceMaterialServiceImpl.java @@ -8,10 +8,13 @@ import com.iformall.domain.po.sm.MouldPatchSign; import com.iformall.domain.po.sm.PersonPhoto; import com.iformall.domain.po.sm.VoiceMaterial; import com.iformall.enums.EnumMouldSendType; +import com.iformall.enums.EnumVideoStatus; import com.iformall.enums.EnumaMouldPatchStatus; import com.iformall.mapper.VoiceMaterialMapper; import com.iformall.service.sm.MouldPatchSignService; import com.iformall.service.sm.VoiceMaterialService; +import com.iformall.video.VideoFactory; +import com.iformall.video.entity.VideUploadResult; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -33,6 +36,12 @@ public class VoiceMaterialServiceImpl implements VoiceMaterialService { @Autowired MouldPatchSignService mouldPatchSignService; + @Autowired + VideoFactory videoFactory; + + @Autowired + String videoType; + private void handleSendType(VoiceMaterial record){ // if(record.getUserId() != null){ @@ -100,6 +109,7 @@ public class VoiceMaterialServiceImpl implements VoiceMaterialService { record.setUpdateDate(now); voiceMaterialMapper.updateById(record); } + handVideoUrl(record); return new ResultData(record); } @@ -121,4 +131,23 @@ public class VoiceMaterialServiceImpl implements VoiceMaterialService { voiceMaterialMapper.updateById(voiceMaterialUpd); } + @Override + public void handVideoUrl(VoiceMaterial record) { + if(StringUtils.isBlank(record.getVideoId()) || StringUtils.isNotBlank(record.getMaterial())){ + return; + } + + VideUploadResult videoDetail = videoFactory.getExcutor(videoType).getVideoDetailWithCache(record.getVideoId()); + if (videoDetail.isSuccess()) { + record.setMaterial(videoDetail.getVideoUrl()); + if(record.getId() != null){ + VoiceMaterial updM = new VoiceMaterial(); + updM.setId(record.getId()); + updM.setMaterial(record.getMaterial()); + voiceMaterialMapper.updateById(updM); + } + } + } + + }