feat: 修改batchAdd方法返回id列表

1. 将batchAdd方法的返回类型从Integer改为List<Long>
2. 更新了方法注释,说明返回的是id列表
3. 修改了ServiceImpl实现,逐个插入以便获取自增id
4. 添加了必要的导入语句
5. 处理了空列表情况,返回空列表而非null
6. 使用同一时间戳提高性能
This commit is contained in:
wangzhiwei 2026-01-08 14:15:00 +08:00
parent cece5b745e
commit 4455c2c3ed
3 changed files with 23 additions and 16 deletions

View File

@ -23,9 +23,9 @@ public interface SubtitleItemService extends BaseService<SubtitleItemResp, Subti
* 批量添加字幕项
*
* @param reqList 字幕项请求列表
* @return 成功添加的数量
* @return 所有新增记录的id列表
*/
Integer batchAdd(List<SubtitleItemReq> reqList);
List<Long> batchAdd(List<SubtitleItemReq> reqList);
// 可根据需要添加额外的业务方法
}

View File

@ -12,12 +12,14 @@ import top.continew.admin.business.model.query.SubtitleItemQuery;
import top.continew.admin.business.model.req.SubtitleItemReq;
import top.continew.admin.business.model.resp.SubtitleItemDetailResp;
import top.continew.admin.business.model.resp.SubtitleItemResp;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import top.continew.admin.business.service.SubtitleItemService;
import top.continew.starter.extension.crud.model.resp.PageResp;
import top.continew.starter.extension.crud.service.impl.BaseServiceImpl;
import java.util.List;
/**
* 数字人-字幕项服务实现类
*
@ -83,20 +85,25 @@ public class SubtitleItemServiceImpl extends BaseServiceImpl<SubtitleItemMapper,
}
@Override
public Integer batchAdd(List<SubtitleItemReq> reqList) {
public List<Long> batchAdd(List<SubtitleItemReq> reqList) {
if (reqList == null || reqList.isEmpty()) {
return 0;
return Collections.emptyList();
}
// 转换为实体列表
List<SubtitleItem> subtitleItems = reqList.stream().map(req -> {
List<Long> ids = new ArrayList<>();
LocalDateTime now = LocalDateTime.now();
// 遍历逐个插入获取每个id
for (SubtitleItemReq req : reqList) {
SubtitleItem subtitleItem = new SubtitleItem();
BeanUtils.copyProperties(req, subtitleItem);
subtitleItem.setCreateTime(java.time.LocalDateTime.now());
subtitleItem.setUpdateTime(java.time.LocalDateTime.now());
return subtitleItem;
}).collect(java.util.stream.Collectors.toList());
// 批量插入
saveBatch(subtitleItems);
return subtitleItems.size();
subtitleItem.setCreateTime(now);
subtitleItem.setUpdateTime(now);
// 插入并获取id
save(subtitleItem);
ids.add(subtitleItem.getId());
}
return ids;
}
}

View File

@ -85,7 +85,7 @@ public class SubtitleItemController extends BaseController<SubtitleItemService,
@Log
@Operation(summary = "批量添加字幕项", description = "批量添加字幕项")
@PostMapping("/batchAdd")
public Integer batchAddSubtitleItem(@RequestBody List<SubtitleItemReq> reqList) {
public List<Long> batchAddSubtitleItem(@RequestBody List<SubtitleItemReq> reqList) {
return baseService.batchAdd(reqList);
}
}