From a4894b2c25c3f592357f386e902c375ebc5e2add Mon Sep 17 00:00:00 2001 From: chenchuchuan <13554600537@163.com> Date: Wed, 5 Aug 2026 17:22:00 +0800 Subject: [PATCH] =?UTF-8?q?feat(online):=20=E6=B7=BB=E5=8A=A0=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E8=A1=A8=E5=90=8D=E6=9F=A5=E8=AF=A2=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 OnlineFormController 中新增 queryListFormByTableName 接口 - 添加 FormType 常量类导入 - 在 OnlineFormService 中定义 queryByTableName 方法 - 在 OnlineFormServiceImpl 中实现根据表名查询表单的逻辑 - 对查询结果进行字段过滤,移除敏感信息如创建时间、更新时间等 - 添加参数验证和空值处理逻辑 --- .../online/controller/OnlineFormController.java | 28 ++++++++++++++++++++++ .../common/online/service/OnlineFormService.java | 10 ++++++++ .../online/service/impl/OnlineFormServiceImpl.java | 12 ++++++++++ 3 files changed, 50 insertions(+) diff --git a/common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.java b/common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.java index 9e17d87..1f2ee63 100644 --- a/common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.java +++ b/common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.java @@ -25,6 +25,7 @@ import apelet.common.online.config.OnlineProperties; import apelet.common.online.dto.OnlineEventPluginExecuteDto; import apelet.common.online.dto.OnlineFormDto; import apelet.common.online.model.*; +import apelet.common.online.model.constant.FormType; import apelet.common.online.service.*; import apelet.common.online.util.OnlineRedisKeyUtil; import apelet.common.online.util.WidgetFieldTypeMapping; @@ -1547,4 +1548,31 @@ public class OnlineFormController { return map; } + + /** + * 查询指定表名的列表表单 + * + * @param tableName 表名 + * @return 表单信息 + */ + @PostMapping("/queryListFormByTableName") + public ResponseResult> queryListFormByTableName(@MyRequestBody String tableName) { + if (tableName == null) { + return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); + } + List formList = onlineFormService.queryByTableName(tableName, FormType.QUERY); + if (CollUtil.isEmpty(formList)) { + return ResponseResult.success(new ArrayList<>()); + } + formList.forEach(item -> { + item.setWidgetJson(null); + item.setParamsJson(null); + item.setCreateTime(null); + item.setUpdateTime(null); + item.setCreateUserId(null); + item.setUpdateUserId(null); + }); + return ResponseResult.success(formList); + } + } diff --git a/common/common-online/src/main/java/apelet/common/online/service/OnlineFormService.java b/common/common-online/src/main/java/apelet/common/online/service/OnlineFormService.java index 7159ae0..8a6cda5 100644 --- a/common/common-online/src/main/java/apelet/common/online/service/OnlineFormService.java +++ b/common/common-online/src/main/java/apelet/common/online/service/OnlineFormService.java @@ -147,4 +147,14 @@ public interface OnlineFormService extends IBaseService { * @return 表单列表 */ List queryListByFormType(List formType); + + /** + * 根据表名查询表单 + * + * @param formType 表单类型 + * @param tableName 表名 + * @return 表单 + * @see apelet.common.online.model.constant.FormType + */ + List queryByTableName(String tableName, int formType); } diff --git a/common/common-online/src/main/java/apelet/common/online/service/impl/OnlineFormServiceImpl.java b/common/common-online/src/main/java/apelet/common/online/service/impl/OnlineFormServiceImpl.java index 4b341dd..df1e556 100644 --- a/common/common-online/src/main/java/apelet/common/online/service/impl/OnlineFormServiceImpl.java +++ b/common/common-online/src/main/java/apelet/common/online/service/impl/OnlineFormServiceImpl.java @@ -477,6 +477,18 @@ public class OnlineFormServiceImpl extends BaseService impleme return formList; } + @Override + public List queryByTableName(String tableName, int formType) { + List onlineTableList = onlineTableService.list(new LambdaQueryWrapper().eq(OnlineTable::getTableName, tableName)); + if (CollectionUtil.isNotEmpty(onlineTableList)) { + Set tableIdSet = onlineTableList.stream().map(OnlineTable::getTableId).collect(Collectors.toSet()); + return onlineFormMapper.selectList(new LambdaQueryWrapper() + .in(OnlineForm::getMasterTableId, tableIdSet) + .eq(OnlineForm::getFormType, formType)); + } + return Collections.emptyList(); + } + /** * 设置关联表字段转换为对象 *