feat: 为SubtitleItem添加批量添加API接口
1. 在SubtitleItemService接口中添加了batchAdd方法声明 2. 在SubtitleItemServiceImpl中实现了批量添加逻辑 - 使用saveBatch方法进行批量插入 - 自动设置创建时间和更新时间 - 处理空列表情况 3. 在SubtitleItemController中添加了批量添加API接口 - 接口地址:POST /business/subtitleItem/batchAdd - 支持接收字幕项列表 - 返回成功添加的数量 4. 使用MyBatis Plus的saveBatch方法优化批量插入性能
This commit is contained in:
parent
cf2bc93e78
commit
26bf7326e0
|
|
@ -1,6 +1,7 @@
|
|||
package top.continew.admin.business.service;
|
||||
|
||||
import top.continew.admin.business.model.query.SubtitleItemQuery;
|
||||
import java.util.List;
|
||||
import top.continew.admin.business.model.req.SubtitleItemReq;
|
||||
import top.continew.admin.business.model.resp.SubtitleItemDetailResp;
|
||||
import top.continew.admin.business.model.resp.SubtitleItemResp;
|
||||
|
|
@ -18,5 +19,13 @@ public interface SubtitleItemService extends BaseService<SubtitleItemResp, Subti
|
|||
PageResp<SubtitleItemResp> pageList(SubtitleItemQuery query,
|
||||
top.continew.admin.business.model.query.SubtitleItemPageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 批量添加字幕项
|
||||
*
|
||||
* @param reqList 字幕项请求列表
|
||||
* @return 成功添加的数量
|
||||
*/
|
||||
Integer batchAdd(List<SubtitleItemReq> reqList);
|
||||
|
||||
// 可根据需要添加额外的业务方法
|
||||
}
|
||||
|
|
@ -16,6 +16,8 @@ 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;
|
||||
|
||||
/**
|
||||
* 数字人-字幕项服务实现类
|
||||
*
|
||||
|
|
@ -79,4 +81,22 @@ public class SubtitleItemServiceImpl extends BaseServiceImpl<SubtitleItemMapper,
|
|||
BeanUtils.copyProperties(subtitleItem, resp);
|
||||
return resp;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer batchAdd(List<SubtitleItemReq> reqList) {
|
||||
if (reqList == null || reqList.isEmpty()) {
|
||||
return 0;
|
||||
}
|
||||
// 转换为实体列表
|
||||
List<SubtitleItem> subtitleItems = reqList.stream().map(req -> {
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
|
@ -81,4 +81,11 @@ public class SubtitleItemController extends BaseController<SubtitleItemService,
|
|||
List<Long> idList = Arrays.stream(ids.split(",")).map(Long::valueOf).collect(Collectors.toList());
|
||||
baseService.delete(idList);
|
||||
}
|
||||
|
||||
@Log
|
||||
@Operation(summary = "批量添加字幕项", description = "批量添加字幕项")
|
||||
@PostMapping("/batchAdd")
|
||||
public Integer batchAddSubtitleItem(@RequestBody List<SubtitleItemReq> reqList) {
|
||||
return baseService.batchAdd(reqList);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue