获取指标结果
<p><strong>简要描述:</strong></p>
<ul>
<li>获取指标结果
@李文珂</li>
</ul>
<p><strong>请求URL:</strong></p>
<ul>
<li>示例地址</li>
</ul>
<p><code>http://xx.com/indicator/result</code></p>
<p><strong> 指标系统环境:</strong></p>
<ul>
<li>测试环境:<code>http://172.16.158.55:10001</code></li>
<li>线上环境A:<code>http://172.16.158.109:10001</code></li>
<li>线上环境B:<code>http://172.16.158.107:10001</code></li>
</ul>
<p><strong>指标微服务feign方式坐标</strong></p>
<pre><code><dependency>
<groupId>com.linzi</groupId>
<artifactId>risk-indicator-api</artifactId>
<version>3.0-SNAPSHOT</version>
</dependency></code></pre>
<ul>
<li>feign接口 <code>com.linzi.risk.indicator.api.feign.IndicatorFeign#getIndicatorResult</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>POST</li>
</ul>
<p><strong>请求参数说明</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">indicatorId</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">String</td>
<td>指标id,如果不传会从params参数中查询指标列表去获取结果,看示例2</td>
</tr>
<tr>
<td style="text-align: left;">indicatorCodes</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">String Array</td>
<td>指标Code数组,如果这个字段有值会忽略indicatorId</td>
</tr>
<tr>
<td style="text-align: left;">mainAttr</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">String</td>
<td>主体属性值</td>
</tr>
<tr>
<td style="text-align: left;">params</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">Map</td>
<td>详细参数</td>
</tr>
<tr>
<td style="text-align: left;">bizId</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">String</td>
<td>业务Id,riskV2_rule:风控规则,riskV2_event:风控事件,dataBrain:数据大脑</td>
</tr>
</tbody>
</table>
<h3>规则说明,3种请求场景</h3>
<ul>
<li>1.请求单个指标结果:indicatorId有值,indicatorCodes为空,直接请求indicatorId指标结果,返回指标结果</li>
<li>2.批量请求指标结果:indicatorCodes有值,无论indicatorId是否有值,直接请求indicatorCodes对应指标数组结果,返回指标列表结果</li>
<li>3.根据参数查询指标结果:indicatorId和indicatorCodes均为空,从params查询指标(查询逻辑:<a href="https://www.showdoc.cc/61948367129254?page_id=1434892268221045">https://www.showdoc.cc/61948367129254?page_id=1434892268221045</a> ),再返回计算对应的指标列表结果</li>
</ul>
<h3>3种场景请求示例:</h3>
<hr />
<p><strong>请求场景1</strong></p>
<pre><code class="language-json">{
"indicatorId": "176",
"mainAttr": "2173184",
"bizId": "riskv2_rule_wrkujxRIAHJ380953018969435",
"params": {
"consumerNo": "2173184",
"devId": "null",
"eventCode": "loan_verify_syn",
"productCode": "xfd",
"partnerCode": "linzi",
"phone": "15978643339",
"optId": "wrkujxRIAHJ380953018969435",
"envInfo": { // 事件环境数据
"app_version": "h5",
...
},
"bizInfo": { // 事件业务数据
"consumerNo": "2173184",
...
"optId": "wrkujxRIAHJ380953018969435"
},
"appCode": "fenxin",
"idNo": "410326199212250050",
"ipAddr": "115.236.186.82",
"scene": "100"
}
}</code></pre>
<p><strong>返回参数说明1</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">String</td>
<td>返回信息</td>
</tr>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">int</td>
<td>返回码[0:成功]</td>
</tr>
<tr>
<td style="text-align: left;">data</td>
<td style="text-align: left;">Object</td>
<td>计算结果</td>
</tr>
</tbody>
</table>
<p><strong>返回场景1</strong></p>
<pre><code class="language-json"> {
"msg": "success",
"code": 0,
"data": "0.0"
}</code></pre>
<hr />
<p><strong>请求场景2</strong></p>
<pre><code class="language-json">{
"indicatorCodes": "INDICATOR_176.has_borrow,INDICATOR_176.ovd_days",
"mainAttr": "2173184",
"bizId": "riskv2_rule_wrkujxRIAHJ380953018969435",
"params": {
"consumerNo": "2173184",
"devId": "null",
"eventCode": "loan_verify_syn",
"productCode": "xfd",
"partnerCode": "linzi",
"phone": "15978643339",
"optId": "wrkujxRIAHJ380953018969435",
"envInfo": { // 事件环境数据
"app_version": "h5",
...
},
"bizInfo": { // 事件业务数据
"consumerNo": "2173184",
...
"optId": "wrkujxRIAHJ380953018969435"
},
"appCode": "fenxin",
"idNo": "410326199212250050",
"ipAddr": "115.236.186.82",
"scene": "100"
}
}</code></pre>
<p><strong>返回参数说明2</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">String</td>
<td>返回信息</td>
</tr>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">int</td>
<td>返回码[0:成功]</td>
</tr>
<tr>
<td style="text-align: left;">data</td>
<td style="text-align: left;">Object</td>
<td>计算结果</td>
</tr>
</tbody>
</table>
<p><strong>返回场景2</strong></p>
<pre><code class="language-json"> {
"msg": "success",
"code": 0,
"data": [{
"INDICATOR_176.has_borrow":"1",
"INDICATOR_176.ovd_days":"756"
},{
"INDICATOR_177":"234.00"
},{
"INDICATOR_178":"1.00"
}]
}</code></pre>
<hr />
<p><strong>请求场景3</strong></p>
<pre><code class="language-json">{
"mainAttr":"SHBT_BaiB_yonghu_BB2628caRFjU",
"params":{
"triggerProduct":"SHBT_BaiB_yonghu"
}
}</code></pre>
<p><strong>返回参数场景3</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">String</td>
<td>返回信息</td>
</tr>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">int</td>
<td>返回码[0:成功]</td>
</tr>
<tr>
<td style="text-align: left;">data</td>
<td style="text-align: left;">Object</td>
<td>计算结果,indicatorAlias指标别名</td>
</tr>
</tbody>
</table>
<p><strong>返回场景3</strong></p>
<pre><code class="language-json"> {
"msg": "success",
"code": 0,
"data": [
{
"indicatorId": 2738,
"indicatorName": "百布用户入驻至今时长(天)",
"resValue": "242.0000",
"indicatorAlias": "INDICATOR_2738",
"mainAttr": "SHBT_BaiB_yonghu_BB2628caRFjU"
},
{
"indicatorId": 2739,
"indicatorName": "百布总订单数",
"resValue": "13.0000",
"indicatorAlias": "INDICATOR_2739",
"mainAttr": "SHBT_BaiB_yonghu_BB2628caRFjU"
}]
}</code></pre>
<p><strong>备注</strong></p>
<ul>
<li>目前指标系统是微服务系统,如果没有接入服务注册中心暂时只能选择ip调用</li>
</ul>