From 26bf7326e0e6fdf1338ac292b6aa97fdcda53107 Mon Sep 17 00:00:00 2001 From: wangzhiwei Date: Thu, 8 Jan 2026 10:31:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=BASubtitleItem=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=B7=BB=E5=8A=A0API=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 在SubtitleItemService接口中添加了batchAdd方法声明 2. 在SubtitleItemServiceImpl中实现了批量添加逻辑 - 使用saveBatch方法进行批量插入 - 自动设置创建时间和更新时间 - 处理空列表情况 3. 在SubtitleItemController中添加了批量添加API接口 - 接口地址:POST /business/subtitleItem/batchAdd - 支持接收字幕项列表 - 返回成功添加的数量 4. 使用MyBatis Plus的saveBatch方法优化批量插入性能 --- .../business/service/SubtitleItemService.java | 9 +++++++++ .../service/impl/SubtitleItemServiceImpl.java | 20 +++++++++++++++++++ .../business/SubtitleItemController.java | 7 +++++++ 3 files changed, 36 insertions(+) diff --git a/continew-admin-business/src/main/java/top/continew/admin/business/service/SubtitleItemService.java b/continew-admin-business/src/main/java/top/continew/admin/business/service/SubtitleItemService.java index 776addb..791c662 100644 --- a/continew-admin-business/src/main/java/top/continew/admin/business/service/SubtitleItemService.java +++ b/continew-admin-business/src/main/java/top/continew/admin/business/service/SubtitleItemService.java @@ -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 pageList(SubtitleItemQuery query, top.continew.admin.business.model.query.SubtitleItemPageQuery pageQuery); + /** + * 批量添加字幕项 + * + * @param reqList 字幕项请求列表 + * @return 成功添加的数量 + */ + Integer batchAdd(List reqList); + // 可根据需要添加额外的业务方法 } \ No newline at end of file diff --git a/continew-admin-business/src/main/java/top/continew/admin/business/service/impl/SubtitleItemServiceImpl.java b/continew-admin-business/src/main/java/top/continew/admin/business/service/impl/SubtitleItemServiceImpl.java index 5b26097..3be170b 100644 --- a/continew-admin-business/src/main/java/top/continew/admin/business/service/impl/SubtitleItemServiceImpl.java +++ b/continew-admin-business/src/main/java/top/continew/admin/business/service/impl/SubtitleItemServiceImpl.java @@ -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 reqList) { + if (reqList == null || reqList.isEmpty()) { + return 0; + } + // 转换为实体列表 + List 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(); + } } \ No newline at end of file diff --git a/continew-admin-webapi/src/main/java/top/continew/admin/controller/business/SubtitleItemController.java b/continew-admin-webapi/src/main/java/top/continew/admin/controller/business/SubtitleItemController.java index 05ee107..af28584 100644 --- a/continew-admin-webapi/src/main/java/top/continew/admin/controller/business/SubtitleItemController.java +++ b/continew-admin-webapi/src/main/java/top/continew/admin/controller/business/SubtitleItemController.java @@ -81,4 +81,11 @@ public class SubtitleItemController extends BaseController 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 reqList) { + return baseService.batchAdd(reqList); + } } \ No newline at end of file