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(); + } + /** * 设置关联表字段转换为对象 *