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 字幕项请求列表 * @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.req.SubtitleItemReq;
import top.continew.admin.business.model.resp.SubtitleItemDetailResp; import top.continew.admin.business.model.resp.SubtitleItemDetailResp;
import top.continew.admin.business.model.resp.SubtitleItemResp; 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.admin.business.service.SubtitleItemService;
import top.continew.starter.extension.crud.model.resp.PageResp; import top.continew.starter.extension.crud.model.resp.PageResp;
import top.continew.starter.extension.crud.service.impl.BaseServiceImpl; import top.continew.starter.extension.crud.service.impl.BaseServiceImpl;
import java.util.List;
/** /**
* 数字人-字幕项服务实现类 * 数字人-字幕项服务实现类
* *
@ -83,20 +85,25 @@ public class SubtitleItemServiceImpl extends BaseServiceImpl<SubtitleItemMapper,
} }
@Override @Override
public Integer batchAdd(List<SubtitleItemReq> reqList) { public List<Long> batchAdd(List<SubtitleItemReq> reqList) {
if (reqList == null || reqList.isEmpty()) { 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(); SubtitleItem subtitleItem = new SubtitleItem();
BeanUtils.copyProperties(req, subtitleItem); BeanUtils.copyProperties(req, subtitleItem);
subtitleItem.setCreateTime(java.time.LocalDateTime.now()); subtitleItem.setCreateTime(now);
subtitleItem.setUpdateTime(java.time.LocalDateTime.now()); subtitleItem.setUpdateTime(now);
return subtitleItem; // 插入并获取id
}).collect(java.util.stream.Collectors.toList()); save(subtitleItem);
// 批量插入 ids.add(subtitleItem.getId());
saveBatch(subtitleItems); }
return subtitleItems.size();
return ids;
} }
} }

View File

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