系统参数管理
该接口主要实现了对系统参数的管理,包括添加、删除、更新、查询等功能。此外,还提供了参数缓存同步的方法,可以根据需要进行调用。
Maven坐标
xml
<dependency>
<groupId>com.ikingtech.platform</groupId>
<artifactId>sdk-variable-api</artifactId>
</dependency>
主要方法说明
- VariableController层
方法名 | 说明 |
---|---|
add(VariableDTO variable) | 添加新的系统参数。如果ID策略为手动并且未设置ID,则抛出异常;如果已存在相同名称的参数,则抛出异常。最后将新增的参数同步到缓存中。 |
delete(String id) | 根据ID删除指定的系统参数。 |
update(VariableDTO variable) | 更新系统参数。在更新前会先检查该参数是否存在;如果存在具有相同名称的其他参数则抛出异常;如果参数值无效也会抛出异常。最后将更新后的参数同步到缓存中。 |
page(VariableQueryParamDTO queryParam) | 分页查询系统参数。 |
all() | 查询所有系统参数。 |
detail(String id) | 根据ID查询单个系统参数的详细信息。 |
valueByKey(String key) | 根据键名获取对应的参数值。 |
- VariableService层
方法名 | 说明 |
---|---|
listByTenantCode(String tenantCode) | 根据租户代码列出所有相关的系统参数。 |
getValueByKey(String key) | 根据键名获取对应的参数值。 |
syncVariableToCache(VariableDO entity) | 将一个系统参数同步到缓存中。 |
syncVariableToCache(List< VariableDO> entities) | 将一组系统参数同步到缓存中。 |
nameExist(String name, String tenantCode) | 检查指定租户下是否存在具有给定名称的系统参数。 |
nameExist(String id, String name, String tenantCode) | 在排除特定ID的前提下,检查指定租户下是否存在具有给定名称的系统参数。 |
listPage(VariableQueryParamDTO queryParam, String tenantCode) | 分页查询指定租户下的系统参数。 |
removeByTenantCode(String tenantCode) | 删除指定租户的所有系统参数。 |
existByTenantCode(String tenantCode) | 检查是否存在指定租户的系统参数。 |
使用方式
调用add方法添加系统参数。需要传入一个VariableDTO对象,其中包含了参数的基本信息。如果成功,返回新创建参数的ID。
调用delete方法删除系统参数。需要传入要删除参数的ID。
调用update方法更新系统参数。需要传入一个包含了新参数信息的VariableDTO对象,其中必须包含要更新的参数的ID。
调用page方法分页查询系统参数。
调用all方法获取所有参数。
调用detail方法获取单个参数的详细信息。需要传入参数ID。
调用valueByKey方法获取指定键名的参数值。
注意
在进行增删改查操作前,建议先进行名称或ID的检查,以避免重复或无效操作。在添加或更新参数后,需要手动调用同步方法将数据同步到缓存中。
实例代码:
java
// 创建一个新的系统参数
VariableDTO variable = new VariableDTO();
variable.setPolicy(IdPolicyEnum.MANUAL);
variable.setName("test");
variable.setId("1234");
R<String> result = controller.add(variable);
// 删除一个系统参数
controller.delete("1234");
// 更新一个系统参数
VariableDTO updatedVariable = new VariableDTO();
updatedVariable.setId("1234");
updatedVariable.setName("test_updated");
controller.update(updatedVariable);
// 查询所有系统参数
R<List<VariableDTO>> allVariables = controller.all();
// 获取指定ID的系统参数详细信息
R<VariableDTO> detail = controller.detail("1234");
// 获取指定键名的系统参数值
R<String> value = controller.valueByKey("test_key");
异常处理
在使用接口时,若发生异常,例如参数不存在、已存在相同名称或键名的参数、参数值无效等,会抛出FrameworkException异常。具体的错误信息可通过VariableExceptionInfo枚举类获取。