|
|
@@ -0,0 +1,354 @@
|
|
|
+# 接口文档
|
|
|
+
|
|
|
+## 一、app-business-service Token 认证接口
|
|
|
+
|
|
|
+### 1.1 获取 Token
|
|
|
+
|
|
|
+| 项目 | 说明 |
|
|
|
+|------|------|
|
|
|
+| URL | `POST /auth/getToken` |
|
|
|
+| Content-Type | `application/x-www-form-urlencoded` |
|
|
|
+| 是否需要Token | 否 |
|
|
|
+
|
|
|
+**请求参数**:
|
|
|
+
|
|
|
+| 参数 | 类型 | 必填 | 说明 |
|
|
|
+|------|------|------|------|
|
|
|
+| contactPerson | String | 是 | 联系人电话 |
|
|
|
+
|
|
|
+**请求示例**:
|
|
|
+```http
|
|
|
+POST /auth/getToken
|
|
|
+Content-Type: application/x-www-form-urlencoded
|
|
|
+
|
|
|
+contactPerson=13800001111
|
|
|
+```
|
|
|
+
|
|
|
+**成功响应**:
|
|
|
+```json
|
|
|
+{
|
|
|
+ "code": 200,
|
|
|
+ "data": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+**失败响应**:
|
|
|
+```json
|
|
|
+{
|
|
|
+ "code": 10001,
|
|
|
+ "msg": "contactPerson不能为空"
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+### 1.2 Token 校验机制
|
|
|
+
|
|
|
+所有接口(除 `/auth/getToken` 外)请求头必须携带:
|
|
|
+
|
|
|
+| Header | 值 | 说明 |
|
|
|
+|--------|---|------|
|
|
|
+| `token` | 获取到的 token 字符串 | 24小时有效,不自动续期 |
|
|
|
+
|
|
|
+**Token 失效响应**:
|
|
|
+```json
|
|
|
+{
|
|
|
+ "code": 10021,
|
|
|
+ "msg": "TOKEN失效"
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 二、两度模型 - 来源优先级配置
|
|
|
+
|
|
|
+基础路径:`/sourceFieldAuthority`,所有接口统一 POST
|
|
|
+
|
|
|
+### 2.1 新增
|
|
|
+
|
|
|
+| 项目 | 说明 |
|
|
|
+|------|------|
|
|
|
+| URL | `POST /sourceFieldAuthority/save` |
|
|
|
+| Content-Type | `application/json` |
|
|
|
+
|
|
|
+**请求参数**:
|
|
|
+```json
|
|
|
+{
|
|
|
+ "entityType": "PERSON",
|
|
|
+ "modelField": "phone",
|
|
|
+ "sourceTable": "ods_operator_user",
|
|
|
+ "sourceKeyField": "user_id",
|
|
|
+ "sourceField": "mobile",
|
|
|
+ "authorityScore": 100
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+| 字段 | 类型 | 必填 | 说明 |
|
|
|
+|------|------|------|------|
|
|
|
+| entityType | String | 是 | 实体类型:PERSON/ENTERPRISE |
|
|
|
+| modelField | String | 是 | 模型字段名 |
|
|
|
+| sourceTable | String | 是 | 来源表名 |
|
|
|
+| sourceKeyField | String | 是 | 来源表主键字段名 |
|
|
|
+| sourceField | String | 是 | 来源字段名 |
|
|
|
+| authorityScore | Long | 是 | 优先级分:100/70/40 |
|
|
|
+
|
|
|
+**校验规则**:
|
|
|
+- authorityScore 只能为 100、70 或 40
|
|
|
+- 同一 model_field + entityType 下,相同分值只能配置一条
|
|
|
+- 同一 model_field 下,来源字段组合不能重复
|
|
|
+
|
|
|
+### 2.2 编辑
|
|
|
+
|
|
|
+| 项目 | 说明 |
|
|
|
+|------|------|
|
|
|
+| URL | `POST /sourceFieldAuthority/update` |
|
|
|
+
|
|
|
+**请求参数**:在新增基础上增加 `uuid` 字段
|
|
|
+```json
|
|
|
+{
|
|
|
+ "uuid": "xxx",
|
|
|
+ "entityType": "PERSON",
|
|
|
+ "modelField": "phone",
|
|
|
+ "sourceTable": "ods_operator_user",
|
|
|
+ "sourceKeyField": "user_id",
|
|
|
+ "sourceField": "mobile",
|
|
|
+ "authorityScore": 100
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+### 2.3 删除
|
|
|
+
|
|
|
+| 项目 | 说明 |
|
|
|
+|------|------|
|
|
|
+| URL | `POST /sourceFieldAuthority/delete` |
|
|
|
+
|
|
|
+**请求参数**:
|
|
|
+```json
|
|
|
+{
|
|
|
+ "uuid": "xxx"
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+### 2.4 详情
|
|
|
+
|
|
|
+| 项目 | 说明 |
|
|
|
+|------|------|
|
|
|
+| URL | `POST /sourceFieldAuthority/getInfo` |
|
|
|
+
|
|
|
+**请求参数**:
|
|
|
+```json
|
|
|
+{
|
|
|
+ "uuid": "xxx"
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+**响应**:
|
|
|
+```json
|
|
|
+{
|
|
|
+ "code": 200,
|
|
|
+ "data": {
|
|
|
+ "uuid": "xxx",
|
|
|
+ "entityType": "PERSON",
|
|
|
+ "modelField": "phone",
|
|
|
+ "sourceTable": "ods_operator_user",
|
|
|
+ "sourceKeyField": "user_id",
|
|
|
+ "sourceField": "mobile",
|
|
|
+ "authorityScore": 100,
|
|
|
+ "createUser": "张三",
|
|
|
+ "createTime": 1719000000000,
|
|
|
+ "updateUser": null,
|
|
|
+ "updateTime": null
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+### 2.5 分页查询
|
|
|
+
|
|
|
+| 项目 | 说明 |
|
|
|
+|------|------|
|
|
|
+| URL | `POST /sourceFieldAuthority/page` |
|
|
|
+
|
|
|
+**请求参数**:
|
|
|
+```json
|
|
|
+{
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 10,
|
|
|
+ "entityType": "PERSON",
|
|
|
+ "modelField": "phone"
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+**响应**:
|
|
|
+```json
|
|
|
+{
|
|
|
+ "code": 200,
|
|
|
+ "data": {
|
|
|
+ "records": [],
|
|
|
+ "totalRow": 100,
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 10
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 三、两度模型 - 字段时效参数配置
|
|
|
+
|
|
|
+基础路径:`/fieldDecayConfig`,接口结构与来源优先级一致
|
|
|
+
|
|
|
+### 3.1 新增 `POST /fieldDecayConfig/save`
|
|
|
+
|
|
|
+```json
|
|
|
+{
|
|
|
+ "entityType": "PERSON",
|
|
|
+ "modelField": "phone",
|
|
|
+ "sourceTable": "ods_operator_user",
|
|
|
+ "sourceKeyField": "user_id",
|
|
|
+ "sourceField": "mobile",
|
|
|
+ "halfLifeDays": 90,
|
|
|
+ "decayFloor": 0.50
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+| 字段 | 类型 | 必填 | 说明 |
|
|
|
+|------|------|------|------|
|
|
|
+| halfLifeDays | Long | 是 | 半衰期天数,必须大于0 |
|
|
|
+| decayFloor | Double | 是 | 最低时效分,0~1之间 |
|
|
|
+
|
|
|
+### 3.2 编辑 `POST /fieldDecayConfig/update`
|
|
|
+
|
|
|
+请求参数同新增,增加 `uuid` 字段
|
|
|
+
|
|
|
+### 3.3 删除 `POST /fieldDecayConfig/delete`
|
|
|
+
|
|
|
+```json
|
|
|
+{
|
|
|
+ "uuid": "xxx"
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+### 3.4 详情 `POST /fieldDecayConfig/getInfo`
|
|
|
+
|
|
|
+```json
|
|
|
+{
|
|
|
+ "uuid": "xxx"
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+**响应**:
|
|
|
+```json
|
|
|
+{
|
|
|
+ "code": 200,
|
|
|
+ "data": {
|
|
|
+ "uuid": "xxx",
|
|
|
+ "entityType": "PERSON",
|
|
|
+ "modelField": "phone",
|
|
|
+ "sourceTable": "ods_operator_user",
|
|
|
+ "sourceKeyField": "user_id",
|
|
|
+ "sourceField": "mobile",
|
|
|
+ "halfLifeDays": 90,
|
|
|
+ "decayFloor": 0.50,
|
|
|
+ "createUser": "张三",
|
|
|
+ "createTime": 1719000000000,
|
|
|
+ "updateUser": null,
|
|
|
+ "updateTime": null
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+### 3.5 分页 `POST /fieldDecayConfig/page`
|
|
|
+
|
|
|
+```json
|
|
|
+{
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 10,
|
|
|
+ "entityType": "PERSON",
|
|
|
+ "modelField": "phone"
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 四、两度模型 - 多源一致性参数配置
|
|
|
+
|
|
|
+基础路径:`/consensusConfig`,接口结构与来源优先级一致
|
|
|
+
|
|
|
+### 4.1 新增 `POST /consensusConfig/save`
|
|
|
+
|
|
|
+```json
|
|
|
+{
|
|
|
+ "entityType": "PERSON",
|
|
|
+ "modelField": "phone",
|
|
|
+ "sourceTable": "ods_operator_user",
|
|
|
+ "sourceKeyField": "user_id",
|
|
|
+ "sourceField": "mobile",
|
|
|
+ "alpha": 0.85
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+| 字段 | 类型 | 必填 | 说明 |
|
|
|
+|------|------|------|------|
|
|
|
+| alpha | Double | 是 | 孤证保底系数,0.80~0.95之间 |
|
|
|
+
|
|
|
+### 4.2 编辑 `POST /consensusConfig/update`
|
|
|
+
|
|
|
+请求参数同新增,增加 `uuid` 字段
|
|
|
+
|
|
|
+### 4.3 删除 `POST /consensusConfig/delete`
|
|
|
+
|
|
|
+```json
|
|
|
+{
|
|
|
+ "uuid": "xxx"
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+### 4.4 详情 `POST /consensusConfig/getInfo`
|
|
|
+
|
|
|
+```json
|
|
|
+{
|
|
|
+ "uuid": "xxx"
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+**响应**:
|
|
|
+```json
|
|
|
+{
|
|
|
+ "code": 200,
|
|
|
+ "data": {
|
|
|
+ "uuid": "xxx",
|
|
|
+ "entityType": "PERSON",
|
|
|
+ "modelField": "phone",
|
|
|
+ "sourceTable": "ods_operator_user",
|
|
|
+ "sourceKeyField": "user_id",
|
|
|
+ "sourceField": "mobile",
|
|
|
+ "alpha": 0.85,
|
|
|
+ "createUser": "张三",
|
|
|
+ "createTime": 1719000000000,
|
|
|
+ "updateUser": null,
|
|
|
+ "updateTime": null
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+### 4.5 分页 `POST /consensusConfig/page`
|
|
|
+
|
|
|
+```json
|
|
|
+{
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 10,
|
|
|
+ "entityType": "PERSON",
|
|
|
+ "modelField": "phone"
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 五、校验规则汇总
|
|
|
+
|
|
|
+| 校验项 | 规则 | 提示信息 |
|
|
|
+|--------|------|---------|
|
|
|
+| 优先级分值 | authorityScore 只能为 100/70/40 | 优先级分只能为 100、70 或 40 |
|
|
|
+| 分值唯一性 | 同一 model_field + entityType 下同分值最多1条 | 该模型字段的 {score} 分已配置 |
|
|
|
+| 来源字段唯一性 | 同一 model_field 下来源字段组合唯一 | 该来源字段已配置,不能重复 |
|
|
|
+| 半衰期 | halfLifeDays > 0 | 半衰期天数必须大于 0 |
|
|
|
+| 最低时效分 | 0 < decayFloor < 1 | 最低时效分必须在 0-1 之间 |
|
|
|
+| 孤证保底系数 | 0.80 ≤ alpha ≤ 0.95 | 孤证保底系数建议在 0.80-0.95 之间 |
|