规则引擎服务服务客户端
组件编码
hzero-boot-rule-engine
一、简介
1.1 概述
规则引擎客户端依赖于规则引擎服务,用于在HZERO微服务体系中嵌入规则引擎的计算能力,如果规则引擎配置需要在某个微服务中执行,这个微服务就需要添加规则引擎客户端的依赖。
规则引擎客户端提供通过规则引擎服务的规则配置来计算结果,并且存储执行记录。
1.2 特性
- 基于规则引擎服务实现:hzero-rule-engine
1.3 组件坐标
<dependency>
<groupId>org.hzero.boot</groupId>
<artifactId>hzero-boot-rule-engine</artifactId>
<version>${hzero.boot.version}</version>
</dependency>
二、使用指南
2.1 规则引擎客户端客户端使用方法
- 在调用服务中添加目标服务的
Feign
客户端
@FeignClient(value = "${targetService}", fallbackFactory = RuleEngineFeignFallBack.class)
public interface RuleEngineFeignClient {
/**
* 客户端测试接口
*
* @param tenantId 租户id
* @param ruleCode 编码规则
* @param dataList 传入数据
*/
@PostMapping("/v1/{organizationId}/rule-engine/execute")
ResponseEntity<ComponentReturn> calc(@PathVariable("organizationId") Long tenantId,
@RequestParam("ruleCode") String ruleCode,
@RequestParam("dataList") String dataList);
}
${targetService}
是执行规则引擎计算的目标服务,目标服务需要依赖hzero-boot-rule-engine
- 参数说明:
tenantId
:调用规则引擎的目标租户ruleCode
:规则引擎配置编码dataList
:一个JSON
数组,存储规则引擎的计算入参,每一组入参都会返回一组结果,如下所示
[{
"inParam1": "入参1",
"inParam2": "入参2"
},{
"inParam1": "入参3",
"inParam2": "入参4"
}]