Skip to content

Policy Settings ​

把"商业规则"从代码里搬出来,变成运营可以修改、有版本、有审计的数据。


职责 ​

负责不负责
赔付条款与比例执行赔付(escrow)
单笔赔付上限争议受理(fulfillment)
争议 SLA 与超时动作真实资金划转
平台服务费率法律合规判断
担保范围定义争议分类法
版本与审计—

可配置项 ​

配置含义默认
guarantee.scope担保范围:process / qualityprocess
compensation.schedule事由 → 赔付比例缺件 30% / 质量不符 50% / 逾期 10%
compensation.capAmount单笔赔付上限null(不限)
dispute.slaHours争议处理时限72
dispute.onTimeout超时动作:hold / release / refundhold
settlement.platformFeeBps平台服务费率(基点)0

默认值是假设基线,不是已批准的业务规则。


数据模型 ​

集合作用
policy_settings当前版本
policy_settings_changes变更审计(仅追加)

字段:

字段说明
version每次修改 +1
values配置内容
updatedBy操作人
updatedAt时间

接口 ​

方法路径说明
GET/api/sys/policy-settings读取当前配置
PUT/api/sys/policy-settings更新(乐观并发)

前端入口:/console/policies。

并发控制 ​

更新时携带 version:

json
{
  "version": 3,
  "values": { "...": "..." }
}

版本不匹配返回 409,避免覆盖他人修改。

认证 ​

继承全局 JwtAuthGuard,且不在用户导航中,仅运营可见。


生效时机 ​

配置生效范围
赔付比例 / 上限下一笔结算或新争议
争议 SLA新建争议时写入 slaDueAt
超时动作下一次扫描
平台费率下一笔结算
担保范围新争议

修改不需要重启或部署。


审计 ​

每次修改:

  • version +1
  • 追加一条 policy_settings_changes
  • 记录操作人与时间

历史版本可追溯,但当前只提供当前版本的读取接口。


边界与限制 ​

限制说明
默认值未获批准商务/法务确认前只是基线
无回滚接口需要手动改回
争议分类法固定grounds 枚举仍需法务输入
费率是基点100 = 1%
不校验业务合理性例如上限小于比例金额

源码位置 ​

libs/modules/src/policy-settings/
├── schemas/policy-settings.schema.ts
└── services/policy-settings.service.ts

apps/hushwork/src/policy-settings/
└── policy-settings.controller.ts

frontend/src/pages/settings/policies.tsx

相关页面 ​

Released under the MIT License.