操作增加参数

This commit is contained in:
2026-01-14 09:21:43 +08:00
parent cbc0c8f4dd
commit ab425b4f3b
10 changed files with 83 additions and 82 deletions

View File

@@ -71,24 +71,4 @@ public class FunItemEntity extends BaseEntity implements Serializable {
*/ */
private Long itemId; private Long itemId;
/**
* 是否需要请求参数
*/
private Boolean isReqParams;
/**
* 是否需要响应参数
*/
private Boolean isResParams;
/**
* 是否分页
*/
private Boolean isPage;
/**
* 路径参数与请求参数true互斥
*/
private String pathParams;
} }

View File

@@ -103,4 +103,24 @@ public class FunOperationEntity extends BaseEntity implements Serializable {
*/ */
private Integer operationId; private Integer operationId;
/**
* 是否需要请求参数
*/
private Boolean isReqParams;
/**
* 是否需要响应参数
*/
private Boolean isResParams;
/**
* 是否分页
*/
private Boolean isPage;
/**
* 路径参数与请求参数true互斥
*/
private String pathParams;
} }

View File

@@ -61,20 +61,4 @@ public class FunItemSaveUpdateReq implements Serializable {
@Max(value = 99, message = "功能ID必须大于等于10小于等于99") @Max(value = 99, message = "功能ID必须大于等于10小于等于99")
private Long itemId; private Long itemId;
@NotNull(message = "是否需要请求参数不能为空")
@Schema(description = "是否需要请求参数")
private Boolean isReqParams;
@NotNull(message = "是否需要响应参数不能为空")
@Schema(description = "是否需要响应参数")
private Boolean isResParams;
@NotNull(message = "是否分页不能为空")
@Schema(description = "是否分页")
private Boolean isPage;
@Pattern(regexp = "^[a-zA-Z]*$", message = "路径参数只能包含英文字符")
@Schema(description = "路径参数")
private String pathParams;
} }

View File

@@ -87,4 +87,20 @@ public class FunOperationSaveUpdateReq implements Serializable {
@Max(value = 99, message = "操作ID必须大于等于10小于等于99") @Max(value = 99, message = "操作ID必须大于等于10小于等于99")
private Integer operationId; private Integer operationId;
@NotNull(message = "是否需要请求参数不能为空")
@Schema(description = "是否需要请求参数")
private Boolean isReqParams;
@NotNull(message = "是否需要响应参数不能为空")
@Schema(description = "是否需要响应参数")
private Boolean isResParams;
@NotNull(message = "是否分页不能为空")
@Schema(description = "是否分页")
private Boolean isPage;
@Pattern(regexp = "^[a-zA-Z]*$", message = "路径参数只能包含英文字符")
@Schema(description = "路径参数")
private String pathParams;
} }

View File

@@ -48,16 +48,4 @@ public class FunItemQueryRes implements Serializable {
@Schema(description = "功能ID") @Schema(description = "功能ID")
private Long itemId; private Long itemId;
@Schema(description = "是否需要请求参数")
private Boolean isReqParams;
@Schema(description = "是否需要响应参数")
private Boolean isResParams;
@Schema(description = "是否分页")
private Boolean isPage;
@Schema(description = "路径参数")
private String pathParams;
} }

View File

@@ -74,4 +74,16 @@ public class FunOperationQueryRes implements Serializable {
@Schema(description = "操作ID") @Schema(description = "操作ID")
private Integer operationId; private Integer operationId;
@Schema(description = "是否需要请求参数")
private Boolean isReqParams;
@Schema(description = "是否需要响应参数")
private Boolean isResParams;
@Schema(description = "是否分页")
private Boolean isPage;
@Schema(description = "路径参数")
private String pathParams;
} }

View File

@@ -6,7 +6,7 @@ import com.mybatisflex.core.table.TableDef;
import java.io.Serial; import java.io.Serial;
/** /**
* 功能项配置表 表定义层。 * 功能 表定义层。
* *
* @author My * @author My
* @since 0.0.1 * @since 0.0.1
@@ -17,20 +17,15 @@ public class FunItemDef extends TableDef {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* 功能项配置表 * 功能
*/ */
public static final FunItemDef FUN_ITEM_ENTITY = new FunItemDef(); public static final FunItemDef FUN_ITEM_ENTITY = new FunItemDef();
/** /**
* 主键ID * id
*/ */
public final QueryColumn ID = new QueryColumn(this, "id"); public final QueryColumn ID = new QueryColumn(this, "id");
/**
* 是否分页
*/
public final QueryColumn IS_PAGE = new QueryColumn(this, "is_page");
/** /**
* 功能ID * 功能ID
*/ */
@@ -66,21 +61,6 @@ public class FunItemDef extends TableDef {
*/ */
public final QueryColumn SORT_ORDER = new QueryColumn(this, "sort_order"); public final QueryColumn SORT_ORDER = new QueryColumn(this, "sort_order");
/**
* 路径参数与请求参数true互斥
*/
public final QueryColumn PATH_PARAMS = new QueryColumn(this, "path_params");
/**
* 是否需要请求参数
*/
public final QueryColumn IS_REQ_PARAMS = new QueryColumn(this, "is_req_params");
/**
* 是否需要响应参数
*/
public final QueryColumn IS_RES_PARAMS = new QueryColumn(this, "is_res_params");
/** /**
* 所有字段。 * 所有字段。
*/ */
@@ -89,7 +69,7 @@ public class FunItemDef extends TableDef {
/** /**
* 默认字段,不包含逻辑删除或者 large 等字段。 * 默认字段,不包含逻辑删除或者 large 等字段。
*/ */
public final QueryColumn[] DEFAULT_COLUMNS = new QueryColumn[]{ID, MODULE_ID, ITEM_NAME, ITEM_CODE, ITEM_ID, IS_TENANT, DESCRIBE, SORT_ORDER, IS_REQ_PARAMS, IS_RES_PARAMS, IS_PAGE, PATH_PARAMS}; public final QueryColumn[] DEFAULT_COLUMNS = new QueryColumn[]{ID, MODULE_ID, ITEM_NAME, ITEM_CODE, IS_TENANT, DESCRIBE, SORT_ORDER, ITEM_ID};
public FunItemDef() { public FunItemDef() {
super("", "cg_fun_item"); super("", "cg_fun_item");

View File

@@ -6,7 +6,7 @@ import com.mybatisflex.core.table.TableDef;
import java.io.Serial; import java.io.Serial;
/** /**
* 操作 表定义层。 * 操作配置 表定义层。
* *
* @author My * @author My
* @since 0.0.1 * @since 0.0.1
@@ -17,7 +17,7 @@ public class FunOperationDef extends TableDef {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* 操作 * 操作配置
*/ */
public static final FunOperationDef FUN_OPERATION_ENTITY = new FunOperationDef(); public static final FunOperationDef FUN_OPERATION_ENTITY = new FunOperationDef();
@@ -26,6 +26,11 @@ public class FunOperationDef extends TableDef {
*/ */
public final QueryColumn ID = new QueryColumn(this, "id"); public final QueryColumn ID = new QueryColumn(this, "id");
/**
* 是否分页
*/
public final QueryColumn IS_PAGE = new QueryColumn(this, "is_page");
/** /**
* 功能ID(表主键ID) * 功能ID(表主键ID)
*/ */
@@ -42,12 +47,12 @@ public class FunOperationDef extends TableDef {
public final QueryColumn FUN_TYPE = new QueryColumn(this, "fun_type"); public final QueryColumn FUN_TYPE = new QueryColumn(this, "fun_type");
/** /**
* 说明 * 说明说明
*/ */
public final QueryColumn DESCRIBE = new QueryColumn(this, "describe"); public final QueryColumn DESCRIBE = new QueryColumn(this, "describe");
/** /**
* 模块ID(表主键ID) * 模块ID
*/ */
public final QueryColumn MODULE_ID = new QueryColumn(this, "module_id"); public final QueryColumn MODULE_ID = new QueryColumn(this, "module_id");
@@ -56,11 +61,26 @@ public class FunOperationDef extends TableDef {
*/ */
public final QueryColumn SORT_ORDER = new QueryColumn(this, "sort_order"); public final QueryColumn SORT_ORDER = new QueryColumn(this, "sort_order");
/**
* 路径参数与请求参数true互斥
*/
public final QueryColumn PATH_PARAMS = new QueryColumn(this, "path_params");
/** /**
* 可配置字段 * 可配置字段
*/ */
public final QueryColumn FIELD_CONFIG = new QueryColumn(this, "field_config"); public final QueryColumn FIELD_CONFIG = new QueryColumn(this, "field_config");
/**
* 是否需要请求参数
*/
public final QueryColumn IS_REQ_PARAMS = new QueryColumn(this, "is_req_params");
/**
* 是否需要响应参数
*/
public final QueryColumn IS_RES_PARAMS = new QueryColumn(this, "is_res_params");
/** /**
* 操作ID * 操作ID
*/ */
@@ -94,7 +114,7 @@ public class FunOperationDef extends TableDef {
/** /**
* 默认字段,不包含逻辑删除或者 large 等字段。 * 默认字段,不包含逻辑删除或者 large 等字段。
*/ */
public final QueryColumn[] DEFAULT_COLUMNS = new QueryColumn[]{ID, MODULE_ID, ITEM_ID, IS_GREEN_LIGHT, FUN_NAME, OPERATION_CODE, FUN_TYPE, REQUEST_TYPE, USABLE_CONFIG, FIELD_CONFIG, SORT_ORDER, DESCRIBE, OPERATION_ID}; public final QueryColumn[] DEFAULT_COLUMNS = new QueryColumn[]{ID, MODULE_ID, ITEM_ID, IS_GREEN_LIGHT, OPERATION_ID, OPERATION_CODE, FUN_NAME, FUN_TYPE, REQUEST_TYPE, IS_REQ_PARAMS, IS_RES_PARAMS, IS_PAGE, PATH_PARAMS, USABLE_CONFIG, FIELD_CONFIG, SORT_ORDER, DESCRIBE};
public FunOperationDef() { public FunOperationDef() {
super("", "cg_fun_operation"); super("", "cg_fun_operation");

View File

@@ -47,7 +47,7 @@ public class FunItemServiceImpl implements FunItemService {
FunItemDef funItemDef = FunItemDef.FUN_ITEM_ENTITY; FunItemDef funItemDef = FunItemDef.FUN_ITEM_ENTITY;
FunModuleDef funModuleDef = FunModuleDef.FUN_MODULE_ENTITY; FunModuleDef funModuleDef = FunModuleDef.FUN_MODULE_ENTITY;
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.select(funItemDef.ALL_COLUMNS,funModuleDef.MODULE_NAME) queryWrapper.select(funItemDef.ALL_COLUMNS, funModuleDef.MODULE_NAME)
.from(funItemDef) .from(funItemDef)
.join(funModuleDef).on(funItemDef.MODULE_ID.eq(funModuleDef.ID)) .join(funModuleDef).on(funItemDef.MODULE_ID.eq(funModuleDef.ID))
.eq(FunItemEntity::getModuleId, req.getModuleId(), ObjectUtil.areNotNull(req.getModuleId())) .eq(FunItemEntity::getModuleId, req.getModuleId(), ObjectUtil.areNotNull(req.getModuleId()))
@@ -64,9 +64,7 @@ public class FunItemServiceImpl implements FunItemService {
@Transactional @Transactional
@Override @Override
public XResult<Void> saveUpdate(FunItemSaveUpdateReq req) { public XResult<Void> saveUpdate(FunItemSaveUpdateReq req) {
if (req.getIsReqParams() && StrUtil.isNotBlank(req.getPathParams())) {
return XResult.failed("请求参数和路径参数冲突");
}
Long id = req.getId(); Long id = req.getId();
if (id != null) { if (id != null) {
// 删除原数据 // 删除原数据

View File

@@ -47,7 +47,7 @@ public class FunOperationServiceImpl implements FunOperationService {
FunModuleDef funModuleDef = FunModuleDef.FUN_MODULE_ENTITY; FunModuleDef funModuleDef = FunModuleDef.FUN_MODULE_ENTITY;
FunItemDef funItemDef = FunItemDef.FUN_ITEM_ENTITY; FunItemDef funItemDef = FunItemDef.FUN_ITEM_ENTITY;
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.select(funOperationDef.ALL_COLUMNS,funItemDef.ITEM_NAME, funModuleDef.MODULE_NAME) queryWrapper.select(funOperationDef.ALL_COLUMNS, funItemDef.ITEM_NAME, funModuleDef.MODULE_NAME)
.from(funOperationDef) .from(funOperationDef)
.join(funItemDef).on(funOperationDef.ITEM_ID.eq(funItemDef.ID)) .join(funItemDef).on(funOperationDef.ITEM_ID.eq(funItemDef.ID))
.join(funModuleDef).on(funOperationDef.MODULE_ID.eq(funModuleDef.ID)) .join(funModuleDef).on(funOperationDef.MODULE_ID.eq(funModuleDef.ID))
@@ -66,6 +66,9 @@ public class FunOperationServiceImpl implements FunOperationService {
@Transactional @Transactional
@Override @Override
public XResult<Void> saveUpdate(FunOperationSaveUpdateReq req) { public XResult<Void> saveUpdate(FunOperationSaveUpdateReq req) {
if (req.getIsReqParams() && StrUtil.isNotBlank(req.getPathParams())) {
return XResult.failed("请求参数和路径参数冲突");
}
Long id = req.getId(); Long id = req.getId();
if (req.getId() != null) { if (req.getId() != null) {
// 删除原数据 // 删除原数据