feat: 简化DigitalHumanReq类,移除subtitles和effects属性

This commit is contained in:
wangzhiwei 2026-01-12 14:12:16 +08:00
parent d91407ac53
commit 44c77a8a83
4 changed files with 0 additions and 90 deletions

View File

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

View File

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

View File

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

View File

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