接口路径:POST /agreementRules/rulesAdd
| 字段名 | 类型 | 必填 | 描述 |
|---|---|---|---|
agreementId |
String | 是 | 协议ID |
startTime |
String | 否 | 生效开始时间 |
endTime |
String | 否 | 生效截止时间 |
rulesAttrList |
Array<PtlAgreementUndwrtRulesAttrLink> | 是 | 并且规则属性(AND 逻辑,单条规则模式) |
rulesGroups |
Array<RulesGroupParam> | 否 | 【新增】 规则属性分组(批量多条规则模式) |
rulesAttrList,创建一条规则,parentId 为空rulesGroups,一次创建多条规则,共享同一个 parentId,按分组顺序生成 orderNumrulesGroups 批量模式| 字段名 | 类型 | 必填 | 描述 |
|---|---|---|---|
rulesAttrList |
Array<PtlAgreementUndwrtRulesAttrLink> | 是 | 该组规则属性(AND 逻辑) |
| 字段 | 类型 | 描述 |
|---|---|---|
attrId |
String | 协议属性ID |
attrCode |
String | 协议属性编码 |
min |
String | 左操作数(单选/输入值,数组时逗号分隔) |
operator |
String | 运算符:1.范围 2.小于 3.小于等于 4.大于 5.大于等于 |
max |
String | 右操作数(范围值上限) |
minArray |
String[] | 左操作数数组(用于 checkbox/select/inputTag,非数据库字段) |
{
"agreementId": "123456",
"startTime": "2026-01-01",
"endTime": "2026-12-31",
"rulesAttrList": [
{
"attrCode": "VehicleAge",
"min": "0",
"max": "5",
"operator": "1"
},
{
"attrCode": "LicenseArea",
"min": "BJ,SH",
"operator": "1"
}
]
}
{
"agreementId": "123456",
"startTime": "2026-01-01",
"endTime": "2026-12-31",
"rulesGroups": [
{
"rulesAttrList": [
{
"attrCode": "VehicleAge",
"min": "0",
"max": "5",
"operator": "1"
}
]
},
{
"rulesAttrList": [
{
"attrCode": "LicenseArea",
"min": "BJ,SH",
"operator": "1"
},
{
"attrCode": "Brand",
"min": "AUDI,BMW",
"operator": "1"
}
]
}
]
}
{
"code": 200,
"msg": "添加承保规则成功"
}
接口路径:POST /agreementRules/rulesEdit
| 字段名 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
String | 是 | 承保规则ID |
agreementId |
String | 是 | 协议ID |
startTime |
String | 否 | 生效开始时间 |
endTime |
String | 否 | 生效截止时间 |
rulesAttrList |
Array<PtlAgreementUndwrtRulesAttrLink> | 是 | 并且规则属性(AND 逻辑) |
{
"id": "987654",
"agreementId": "123456",
"startTime": "2026-01-01",
"endTime": "2026-12-31",
"rulesAttrList": [
{
"attrCode": "VehicleAge",
"min": "0",
"max": "5",
"operator": "1"
}
]
}
修改逻辑:先删除该规则下的所有旧属性关联数据,再重新插入新的规则属性。
{
"code": 200,
"msg": "修改承保规则成功"
}
接口路径:GET /agreementRules/rulesList
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
agreementId |
String | 是 | 协议ID |
| 字段 | 类型 | 描述 |
|---|---|---|
id |
String | 主键 |
agreementId |
String | 协议ID |
startTime |
String | 生效开始时间 |
endTime |
String | 生效截止时间 |
ruleDescription |
String | 规则描述文字 |
parentId |
String | 【新增】 父规则ID(批量模式时共用) |
orderNum |
Integer | 显示顺序 |
costsAttrLinks |
Array | 规则属性详情 |
costVoList |
Array | 关联费用列表 |
{
"code": 200,
"data": [
{
"id": "987654",
"agreementId": "123456",
"startTime": "2026-01-01",
"endTime": "2026-12-31",
"ruleDescription": "车龄范围值0到5,",
"parentId": "1792000000000000001",
"orderNum": 1,
"costsAttrLinks": [],
"costVoList": []
},
{
"id": "987655",
"agreementId": "123456",
"startTime": "2026-01-01",
"endTime": "2026-12-31",
"ruleDescription": "上牌城市为北京市,上海市,品牌为奥迪,宝马,",
"parentId": "1792000000000000001",
"orderNum": 2,
"costsAttrLinks": [],
"costVoList": []
}
]
}
接口路径:GET /agreementRules/rulesGet
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
ruleId |
String | 是 | 承保规则ID |
与列表接口返回结构一致,包含 parentId 字段。
接口路径:GET /agreementRules/rulesListByParentId
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
parentId |
String | 是 | 父规则ID |
当使用批量规则模式(rulesGroups)新增规则时,同批次的所有子规则共享同一个 parentId。调用此接口可根据 parentId 查询该批次下的所有子规则列表。
与 rulesList 接口返回结构一致。
{
"code": 200,
"data": [
{
"id": "987654",
"agreementId": "123456",
"startTime": "2026-01-01",
"endTime": "2026-12-31",
"ruleDescription": "车龄范围值0到5,",
"parentId": "1792000000000000001",
"orderNum": 1,
"costsAttrLinks": [],
"costVoList": []
},
{
"id": "987655",
"agreementId": "123456",
"startTime": "2026-01-01",
"endTime": "2026-12-31",
"ruleDescription": "上牌城市为北京市,上海市,",
"parentId": "1792000000000000001",
"orderNum": 2,
"costsAttrLinks": [],
"costVoList": []
}
]
}
接口路径:DELETE /agreementRules/rulesDelete
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
id |
String | 是 | 承保规则ID |
{
"code": 200,
"data": "删除成功"
}
接口路径:GET /agreementRules/getRuleInfo
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
ruleId |
String | 是 | 承保规则ID |
返回该规则下所有属性关联明细列表。
接口路径:POST /agreementRules/rulesAttrBatchCopy
将源承保规则下的某条或多条规则因子批量复制到某个或多个目标承保协议下:每个目标协议下 新增一条规则承接所选因子,并与该协议下已有规则共享
parentId(前端按组合并成一条展示);目标协议下没有规则时,新增的规则独立展示。
| 字段名 | 类型 | 必填 | 描述 |
|---|---|---|---|
attrIds |
Array<String> | 是 | 要复制的规则因子关联记录ID列表(来源于getRuleInfo返回明细的id字段),源规则由所选因子记录所属规则确定 |
targets |
Array<CopyTarget> | 是 | 目标协议规则列表 |
| 字段名 | 类型 | 必填 | 描述 |
|---|---|---|---|
agreementId |
String | 是 | 目标承保协议ID |
ruleId |
String | 否 | 归组锚定规则ID:复制出的新规则与该规则共享 parentId(同组展示);为空时取该协议下第一条规则作为锚定,协议下无规则则新规则独立展示 |
{
"attrIds": [
"1692100000000000001",
"1692100000000000002"
],
"targets": [
{
"agreementId": "123456",
"ruleId": "987655"
},
{
"agreementId": "123457"
}
]
}
attrIds 所选因子记录所属规则反推;所选因子必须属于同一规则或同一批量规则组,否则返回失败attrIds 中的ID必须全部有效(因子关联记录ID可通过getRuleInfo接口获取),存在无效ID时返回失败ruleId:校验该规则存在且属于对应协议,作为归组锚定ruleId:取该协议下第一条规则(orderNum 最小)作为锚定attrIds 因子),基础信息(生效时间、录入描述)沿用源规则,
orderNum 取该协议下最大序号 + 1parentId(前端按组合并展示);锚定规则自身无 parentId 时,生成新组ID并将锚定规则归入该组parentId 为空,独立展示parentId、不复制源规则本身,因此不会出现"目标下多出源规则")attrCode 仅复制一条(批量组内不同子规则存在相同因子时去重)ruleDescription){
"code": 200,
"msg": "批量复制规则因子成功"
}
| 接口 | 变更点 | 变更内容 |
|---|---|---|
POST /rulesAdd |
请求参数新增 | rulesGroups(批量规则分组),支持一次创建多条规则 |
POST /rulesAdd |
逻辑变更 | 批量模式下所有子规则共享同一 parentId,按分组顺序生成 orderNum |
GET /rulesList |
返回值新增 | parentId(父规则ID) |
GET /rulesGet |
返回值新增 | parentId(父规则ID) |
GET /rulesListByParentId |
新增接口 | 根据父ID查询子规则列表 |
POST /rulesAttrBatchCopy |
新增接口 | 批量复制规则因子到目标协议:每个目标协议下新增一条规则(仅含所选因子)并与已有规则同组展示,源规则保持不变 |
rulesAttrList 创建一条规则,parentId 为 nullrulesGroups 一次创建多条规则,系统生成统一 parentId 关联同一批次的所有子规则rulesGroupsrulesListByParentId 接口可按 parentId 查询同批次的所有子规则rulesAttrBatchCopy 支持跨协议批量复制规则因子;源规则由所选因子(attrIds
)反推,所选因子须属于同一规则或同一规则组;每个目标协议下新增一条规则(仅含所选因子)并与该协议已有规则共享 parentId
(同组合并展示),源规则保持不变ptl_agreement_undwrt_rules 表需新增字段:
ALTER TABLE ptl_agreement_undwrt_rules ADD COLUMN parent_id VARCHAR(64) DEFAULT NULL COMMENT '父规则ID';