feat: 修改batchAdd方法返回id列表
1. 将batchAdd方法的返回类型从Integer改为List<Long> 2. 更新了方法注释,说明返回的是id列表 3. 修改了ServiceImpl实现,逐个插入以便获取自增id 4. 添加了必要的导入语句 5. 处理了空列表情况,返回空列表而非null 6. 使用同一时间戳提高性能
This commit is contained in:
parent
cece5b745e
commit
4455c2c3ed
|
|
@ -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);
|
||||||
|
|
||||||
// 可根据需要添加额外的业务方法
|
// 可根据需要添加额外的业务方法
|
||||||
}
|
}
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue