# risk
**Repository Path**: sreeb/risk
## Basic Information
- **Project Name**: risk
- **Description**: 智能风控系统
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2021-09-08
- **Last Updated**: 2025-04-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 变量定义,解析
### 1. 值变量
解释:值变量为固定值
定义:
```json
{
"type": "value",
"value": 1
}
```
### 2. 函数
解释:可以使用php函数,函数参数可以是任何变量
定义:
```json
{
"type": "func", //类型,value:输入值。 field:字段 ,variate:变量
"value": {
"func": "in_array", //函数名
"pars": [ //函数参数
{
"type": "value" //类型,value:输入值。 field:字段 ,variate:变量
"value": 1 //值
},
"type": "value",
"value": [
1,
2,
3
]
}
]
}
}
```
### 3. 预定义字段
解释:由三方接口返回的数据
定义:
```json
{
"type": "field",
"value": 1 //表id
}
```
### 4. 变量
解释:首次使用变量会读取默认值并进行初始。复用变量会直接读取变量值
定义:
```json
{
"type": "variate",
"value": 1 //表id
}
```
# DSL
### 1. 规则
```json
{
"conditions": [
{
"conditions": [
{
"conditions": [
{
"left": "",
"operator": ">=",
"right": "200"
},
{
"left": "在网状态",
"operator": "=",
"right": "true"
}
],
"logic": "or"
},
{
"left": "逾期总条数",
"operator": "<",
"right": "5"
}
],
"logic": "and"
},
{
"left": "用户年龄",
"operator": ">",
"right": "18"
},
{
"left": "用户性别",
"operator": "=",
"right": "男"
}
],
"logic": "or",
}
```

### 2. 规则动作
```
{
"true":[
{
"type":"assign", //变量赋值
"body":{
"id":1, //变量id
"value":{
"type":"value",
"value":1
}
}
}
],
"false" :[]
}
```
## 3. 决策流
```json
{
"type":"condition", //类型:condition条件 或 ruleset规则集
"body":{
"value":"10", //条件要比对值,可以是函数,变量,字段
"conditions":[ //条件表达数组
{
"operator":">", //比较符
"value":"10", //比较值
"next":{
} //条件成立执行的下一个节点,为空则表示执行到了结尾
},
{
"operator":">",
"value":"20",
"next":{
"type":"ruleset", //规则集类型
"body":{
"id":1, //规则集id
"next":{
} //下一个节点
}
}
}
]
}
}
```

# 响应
```
{
"code":200,
"message":"",
"data":[]
}
```