feat: 简化DigitalHumanReq类,移除subtitles和effects属性
This commit is contained in:
parent
d91407ac53
commit
44c77a8a83
|
|
@ -2,13 +2,9 @@ package top.continew.admin.business.model.req;
|
|||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import top.continew.admin.business.model.entity.Effect;
|
||||
import top.continew.admin.business.model.entity.SubtitleItem;
|
||||
import top.continew.admin.business.model.entity.SubtitleStyle;
|
||||
import top.continew.starter.extension.crud.model.req.BaseReq;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 数字人请求参数对象
|
||||
*
|
||||
|
|
@ -44,18 +40,8 @@ public class DigitalHumanReq extends BaseReq {
|
|||
*/
|
||||
private String generatedVideoUrl;
|
||||
|
||||
/**
|
||||
* 字幕项列表(冗余存储,用于快速回显)
|
||||
*/
|
||||
private List<SubtitleItem> subtitles;
|
||||
|
||||
/**
|
||||
* 字幕样式配置(冗余或快照)
|
||||
*/
|
||||
private SubtitleStyle subtitleStyle;
|
||||
|
||||
/**
|
||||
* 特效列表(冗余存储)
|
||||
*/
|
||||
private List<Effect> effects;
|
||||
}
|
||||
|
|
@ -20,7 +20,6 @@ import top.continew.admin.business.service.DigitalHumanService;
|
|||
import top.continew.starter.extension.crud.model.resp.PageResp;
|
||||
import top.continew.starter.extension.crud.service.impl.BaseServiceImpl;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
|
@ -116,28 +115,6 @@ public class DigitalHumanServiceImpl extends BaseServiceImpl<DigitalHumanMapper,
|
|||
subtitleStyleMapper.insert(subtitleStyle);
|
||||
}
|
||||
|
||||
// 保存字幕项列表
|
||||
if (req.getSubtitles() != null && !req.getSubtitles().isEmpty()) {
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
for (SubtitleItem subtitleItem : req.getSubtitles()) {
|
||||
subtitleItem.setDigitalHumanId(digitalHuman.getId());
|
||||
subtitleItem.setCreateTime(now);
|
||||
subtitleItem.setUpdateTime(now);
|
||||
subtitleItemMapper.insert(subtitleItem);
|
||||
}
|
||||
}
|
||||
|
||||
// 保存特效列表
|
||||
if (req.getEffects() != null && !req.getEffects().isEmpty()) {
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
for (Effect effect : req.getEffects()) {
|
||||
effect.setDigitalHumanId(digitalHuman.getId());
|
||||
effect.setCreateTime(now);
|
||||
effect.setUpdateTime(now);
|
||||
effectMapper.insert(effect);
|
||||
}
|
||||
}
|
||||
|
||||
return digitalHuman.getId();
|
||||
}
|
||||
|
||||
|
|
@ -197,36 +174,6 @@ public class DigitalHumanServiceImpl extends BaseServiceImpl<DigitalHumanMapper,
|
|||
subtitleStyleMapper.insert(subtitleStyle);
|
||||
}
|
||||
}
|
||||
|
||||
// 删除旧的字幕项,然后保存新的字幕项
|
||||
LambdaQueryWrapper<SubtitleItem> subtitleItemWrapper = new LambdaQueryWrapper<>();
|
||||
subtitleItemWrapper.eq(SubtitleItem::getDigitalHumanId, id);
|
||||
subtitleItemMapper.delete(subtitleItemWrapper);
|
||||
|
||||
if (req.getSubtitles() != null && !req.getSubtitles().isEmpty()) {
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
for (SubtitleItem subtitleItem : req.getSubtitles()) {
|
||||
subtitleItem.setDigitalHumanId(id);
|
||||
subtitleItem.setCreateTime(now);
|
||||
subtitleItem.setUpdateTime(now);
|
||||
subtitleItemMapper.insert(subtitleItem);
|
||||
}
|
||||
}
|
||||
|
||||
// 删除旧的特效,然后保存新的特效
|
||||
LambdaQueryWrapper<Effect> effectWrapper = new LambdaQueryWrapper<>();
|
||||
effectWrapper.eq(Effect::getDigitalHumanId, id);
|
||||
effectMapper.delete(effectWrapper);
|
||||
|
||||
if (req.getEffects() != null && !req.getEffects().isEmpty()) {
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
for (Effect effect : req.getEffects()) {
|
||||
effect.setDigitalHumanId(id);
|
||||
effect.setCreateTime(now);
|
||||
effect.setUpdateTime(now);
|
||||
effectMapper.insert(effect);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private DigitalHumanResp convertToResp(DigitalHuman digitalHuman) {
|
||||
|
|
|
|||
|
|
@ -75,8 +75,6 @@ class DigitalHumanServiceImplTest {
|
|||
subtitleItem2.setEndTime(2.0);
|
||||
subtitleItem2.setText("测试字幕2");
|
||||
|
||||
req.setSubtitles(List.of(subtitleItem1, subtitleItem2));
|
||||
|
||||
// 添加特效
|
||||
Effect effect1 = new Effect();
|
||||
effect1.setType("text");
|
||||
|
|
@ -90,8 +88,6 @@ class DigitalHumanServiceImplTest {
|
|||
effect2.setSourceUrl("http://test.com/effect2.jpg");
|
||||
effect2.setLength(3.0);
|
||||
|
||||
req.setEffects(List.of(effect1, effect2));
|
||||
|
||||
return req;
|
||||
}
|
||||
|
||||
|
|
@ -155,21 +151,6 @@ class DigitalHumanServiceImplTest {
|
|||
updatedStyle.setStrokeWidth(3);
|
||||
updateReq.setSubtitleStyle(updatedStyle);
|
||||
|
||||
// 更新字幕项(只保留一个)
|
||||
SubtitleItem updatedSubtitle = new SubtitleItem();
|
||||
updatedSubtitle.setStartTime(0.0);
|
||||
updatedSubtitle.setEndTime(3.0);
|
||||
updatedSubtitle.setText("更新后的字幕");
|
||||
updateReq.setSubtitles(List.of(updatedSubtitle));
|
||||
|
||||
// 更新特效(只保留一个)
|
||||
Effect updatedEffect = new Effect();
|
||||
updatedEffect.setType("music");
|
||||
updatedEffect.setName("更新后的特效");
|
||||
updatedEffect.setSourceUrl("http://test.com/effect-updated.mp3");
|
||||
updatedEffect.setLength(4.0);
|
||||
updateReq.setEffects(List.of(updatedEffect));
|
||||
|
||||
// 执行更新
|
||||
digitalHumanService.update(updateReq, id);
|
||||
|
||||
|
|
|
|||
|
|
@ -77,8 +77,6 @@ class DigitalHumanServiceImplUnitTest {
|
|||
subtitleItem2.setEndTime(2.0);
|
||||
subtitleItem2.setText("测试字幕2");
|
||||
|
||||
req.setSubtitles(List.of(subtitleItem1, subtitleItem2));
|
||||
|
||||
// 添加特效
|
||||
Effect effect1 = new Effect();
|
||||
effect1.setType("text");
|
||||
|
|
@ -92,8 +90,6 @@ class DigitalHumanServiceImplUnitTest {
|
|||
effect2.setSourceUrl("http://test.com/effect2.jpg");
|
||||
effect2.setLength(3.0);
|
||||
|
||||
req.setEffects(List.of(effect1, effect2));
|
||||
|
||||
return req;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue