Browse Source

feat(online): 添加根据表名查询列表表单功能

- 在 OnlineFormController 中新增 queryListFormByTableName 接口
- 添加 FormType 常量类导入
- 在 OnlineFormService 中定义 queryByTableName 方法
- 在 OnlineFormServiceImpl 中实现根据表名查询表单的逻辑
- 对查询结果进行字段过滤,移除敏感信息如创建时间、更新时间等
- 添加参数验证和空值处理逻辑
feature/2026-07-ccc-dev
chenchuchuan 3 days ago
parent
commit
a4894b2c25
  1. 28
      common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.java
  2. 10
      common/common-online/src/main/java/apelet/common/online/service/OnlineFormService.java
  3. 12
      common/common-online/src/main/java/apelet/common/online/service/impl/OnlineFormServiceImpl.java

28
common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.java

@ -25,6 +25,7 @@ import apelet.common.online.config.OnlineProperties; @@ -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 { @@ -1547,4 +1548,31 @@ public class OnlineFormController {
return map;
}
/**
* 查询指定表名的列表表单
*
* @param tableName 表名
* @return 表单信息
*/
@PostMapping("/queryListFormByTableName")
public ResponseResult<List<OnlineForm>> queryListFormByTableName(@MyRequestBody String tableName) {
if (tableName == null) {
return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST);
}
List<OnlineForm> 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);
}
}

10
common/common-online/src/main/java/apelet/common/online/service/OnlineFormService.java

@ -147,4 +147,14 @@ public interface OnlineFormService extends IBaseService<OnlineForm, Long> { @@ -147,4 +147,14 @@ public interface OnlineFormService extends IBaseService<OnlineForm, Long> {
* @return 表单列表
*/
List<OnlineForm> queryListByFormType(List<Integer> formType);
/**
* 根据表名查询表单
*
* @param formType 表单类型
* @param tableName 表名
* @return 表单
* @see apelet.common.online.model.constant.FormType
*/
List<OnlineForm> queryByTableName(String tableName, int formType);
}

12
common/common-online/src/main/java/apelet/common/online/service/impl/OnlineFormServiceImpl.java

@ -477,6 +477,18 @@ public class OnlineFormServiceImpl extends BaseService<OnlineForm, Long> impleme @@ -477,6 +477,18 @@ public class OnlineFormServiceImpl extends BaseService<OnlineForm, Long> impleme
return formList;
}
@Override
public List<OnlineForm> queryByTableName(String tableName, int formType) {
List<OnlineTable> onlineTableList = onlineTableService.list(new LambdaQueryWrapper<OnlineTable>().eq(OnlineTable::getTableName, tableName));
if (CollectionUtil.isNotEmpty(onlineTableList)) {
Set<Long> tableIdSet = onlineTableList.stream().map(OnlineTable::getTableId).collect(Collectors.toSet());
return onlineFormMapper.selectList(new LambdaQueryWrapper<OnlineForm>()
.in(OnlineForm::getMasterTableId, tableIdSet)
.eq(OnlineForm::getFormType, formType));
}
return Collections.emptyList();
}
/**
* 设置关联表字段转换为对象
*

Loading…
Cancel
Save