# 积分规则配置 本模块共 13 个接口。源文件:`api.json`。 ## 快速索引 | 接口名称 | 方法 | 路径 | 用途 | | --- | --- | --- | --- | | 新增积分规则 | POST | `/gd_dataserver/business/points/rule/add` | 二级管理员自动填充厂区信息,且不可创建全局兜底规则;超级管理员可指定 deptId(为空表示全局兜底规则)。 | | 计算积分 | GET | `/gd_dataserver/business/points/rule/calculatePoints` | 根据厂区、隐患等级和类别查询对应奖励积分。二级管理员调用时 deptId 自动填充为所属厂区,超管可传任意厂区(不传则匹配全局兜底)。返回 data 为 Integer 类型的积分数值。 | | 删除积分规则 | GET | `/gd_dataserver/business/points/rule/deleteById` | 根据主键ID物理删除。二级管理员只能删除本厂区规则;全局兜底规则仅超级管理员可删除。 | | 分页查询积分规则(兼容旧路径) | GET | `/gd_dataserver/business/points/rule/getListByPage` | 同 /list 接口,保留用于前端旧路径兼容。二级管理员自动过滤本厂区。 | | 获取积分规则详情 | GET | `/gd_dataserver/business/points/rule/info` | 根据主键ID查询规则详情。二级管理员访问非本厂区规则或全局兜底规则时返回错误。 | | 分页查询积分规则列表 | GET | `/gd_dataserver/business/points/rule/list` | 超级管理员返回所有厂区规则(可按deptId筛选,传global表示查询全局兜底规则);二级管理员自动过滤为所属厂区规则。返回 data 为 PageInfo 分页对象。 | | 查询当前厂区所有积分规则 | GET | `/gd_dataserver/business/points/rule/myFactoryRules` | 返回当前登录用户所属厂区的规则列表,同时包含全局兜底规则(dept_id 为 NULL)。返回 data 为 PointsRuleConfig 数组。 | | 获取隐患分类根规则列表 | GET | `/gd_dataserver/business/points/rule/rootRules` | 返回当前用户厂区每个大类(一般/较大/重大)的最高优先级根规则,用于 APP 上报时隐患分类下拉选择。返回 data 为 PointsRuleConfig 数组(最多3条)。 | | 获取积分规则树形结构 | GET | `/gd_dataserver/business/points/rule/ruleTree` | 返回当前用户厂区的积分规则树形结构,按大类(一般/较大/重大)分组,每个大类下包含子规则列表,用于审批时选择具体档次。返回 data 为数组,每项含 id/hazardLevel/hazardLevelName/ruleName/points/children。 | | 获取指定等级下的积分规则列表 | GET | `/gd_dataserver/business/points/rule/rulesByLevel` | 根据隐患等级编码(general/major/critical)返回当前厂区该等级下的根规则和子档位列表,用于审批人在当前等级内选择具体档次。返回 data 为对象,包含 hazardLevel-等级编码、hazardLevelName-等级名称、root-根规则对象(可为null)、children-子档位规则数组。 | | 启用/禁用积分规则 | POST | `/gd_dataserver/business/points/rule/toggleEnabled` | enabled=1 启用,enabled=0 禁用。二级管理员只能操作本厂区规则。 | | 积分规则试算 | GET | `/gd_dataserver/business/points/rule/trialCalculate` | 模拟积分计算过程,返回匹配的规则详情和计算结果。返回 data 为对象:deptId-生效厂区、hazardLevel-输入的隐患等级、hazardCategory-输入的隐患类别、matchedRule-匹配到的规则对象或null、calculatedPoints-计算得到的积分数值(无匹配时为0)、matchScope-命中范围(FACTORY-厂区专属/GLOBAL-全局兜底/NONE-未命中)。 | | 修改积分规则 | POST | `/gd_dataserver/business/points/rule/updateById` | 二级管理员只能修改本厂区规则,不可变更所属厂区;超级管理员可任意修改。 | ## 接口详情 ### 新增积分规则 - **用途:** 二级管理员自动填充厂区信息,且不可创建全局兜底规则;超级管理员可指定 deptId(为空表示全局兜底规则)。 - **请求:** `POST /gd_dataserver/business/points/rule/add` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `addUsingPOST` 参数: _无_ 请求体: - Content-Type:`application/json` - 模型:`积分规则配置` - 必填:文档未标记 | 字段 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | | createTime | 否 | string / date-time | 创建时间 | - | | deptId | 否 | string | 所属厂区部门ID(NULL表示全局兜底规则,二级管理员新增时自动填充) | 100 | | deptName | 否 | string | 所属厂区部门名称 | 一厂 | | enabled | 否 | integer / int32 | 是否启用:0-禁用 1-启用 | - | | hazardCategory | 否 | string | 隐患类别 | - | | hazardLevel | 否 | string | 隐患等级编码(general/major/critical) | - | | id | 否 | integer / int64 | 主键ID | - | | points | 否 | integer / int32 | 奖励积分 | - | | priority | 否 | integer / int32 | 优先级(数字越大优先级越高) | - | | remark | 否 | string | 备注 | - | | ruleCode | 否 | string | 规则编码 | - | | ruleName | 否 | string | 规则名称 | - | | updateTime | 否 | string / date-time | 更新时间 | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 201 | Created | - | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 计算积分 - **用途:** 根据厂区、隐患等级和类别查询对应奖励积分。二级管理员调用时 deptId 自动填充为所属厂区,超管可传任意厂区(不传则匹配全局兜底)。返回 data 为 Integer 类型的积分数值。 - **请求:** `GET /gd_dataserver/business/points/rule/calculatePoints` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `calculatePointsUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | deptId | query | 否 | string | 厂区部门ID(二级管理员忽略此参数) | - | | hazardLevel | query | 是 | string | 隐患等级编码 | - | | hazardCategory | query | 是 | string | 隐患类别编码 | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 删除积分规则 - **用途:** 根据主键ID物理删除。二级管理员只能删除本厂区规则;全局兜底规则仅超级管理员可删除。 - **请求:** `GET /gd_dataserver/business/points/rule/deleteById` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `deleteByIdUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | id | query | 是 | string | 主键ID | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 分页查询积分规则(兼容旧路径) - **用途:** 同 /list 接口,保留用于前端旧路径兼容。二级管理员自动过滤本厂区。 - **请求:** `GET /gd_dataserver/business/points/rule/getListByPage` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `getListByPageUsingGET_10` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | createTime | query | 否 | string / date-time | 创建时间 | - | | deptId | query | 否 | string | 所属厂区部门ID(NULL表示全局兜底规则,二级管理员新增时自动填充) | - | | deptName | query | 否 | string | 所属厂区部门名称 | - | | enabled | query | 否 | integer / int32 | 是否启用:0-禁用 1-启用 | - | | hazardCategory | query | 否 | string | 隐患类别 | - | | hazardLevel | query | 否 | string | 隐患等级编码(general/major/critical) | - | | id | query | 否 | integer / int64 | 主键ID | - | | pageNum | query | 否 | integer / int32 | 页码 | - | | points | query | 否 | integer / int32 | 奖励积分 | - | | priority | query | 否 | integer / int32 | 优先级(数字越大优先级越高) | - | | remark | query | 否 | string | 备注 | - | | ruleCode | query | 否 | string | 规则编码 | - | | ruleName | query | 否 | string | 规则名称 | - | | updateTime | query | 否 | string / date-time | 更新时间 | - | | pageSize | query | 否 | integer / int32 | 每页条数 | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 获取积分规则详情 - **用途:** 根据主键ID查询规则详情。二级管理员访问非本厂区规则或全局兜底规则时返回错误。 - **请求:** `GET /gd_dataserver/business/points/rule/info` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `infoUsingGET_10` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | id | query | 是 | string | 主键ID | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 分页查询积分规则列表 - **用途:** 超级管理员返回所有厂区规则(可按deptId筛选,传global表示查询全局兜底规则);二级管理员自动过滤为所属厂区规则。返回 data 为 PageInfo 分页对象。 - **请求:** `GET /gd_dataserver/business/points/rule/list` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `listUsingGET_1` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | pageNum | query | 是 | integer / int32 | 页码 | - | | pageSize | query | 是 | integer / int32 | 每页条数 | - | | deptId | query | 否 | string | 厂区部门ID(超管可传,二级管理员忽略;传 global 表示查询全局兜底规则) | - | | hazardLevel | query | 否 | string | 隐患等级编码(general/major/critical) | - | | hazardCategory | query | 否 | string | 隐患类别 | - | | enabled | query | 否 | integer / int32 | 是否启用:0-禁用 1-启用 | - | | ruleName | query | 否 | string | 规则名称(模糊匹配) | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 查询当前厂区所有积分规则 - **用途:** 返回当前登录用户所属厂区的规则列表,同时包含全局兜底规则(dept_id 为 NULL)。返回 data 为 PointsRuleConfig 数组。 - **请求:** `GET /gd_dataserver/business/points/rule/myFactoryRules` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `myFactoryRulesUsingGET` 参数: _无_ 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 获取隐患分类根规则列表 - **用途:** 返回当前用户厂区每个大类(一般/较大/重大)的最高优先级根规则,用于 APP 上报时隐患分类下拉选择。返回 data 为 PointsRuleConfig 数组(最多3条)。 - **请求:** `GET /gd_dataserver/business/points/rule/rootRules` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `rootRulesUsingGET` 参数: _无_ 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 获取积分规则树形结构 - **用途:** 返回当前用户厂区的积分规则树形结构,按大类(一般/较大/重大)分组,每个大类下包含子规则列表,用于审批时选择具体档次。返回 data 为数组,每项含 id/hazardLevel/hazardLevelName/ruleName/points/children。 - **请求:** `GET /gd_dataserver/business/points/rule/ruleTree` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `ruleTreeUsingGET` 参数: _无_ 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 获取指定等级下的积分规则列表 - **用途:** 根据隐患等级编码(general/major/critical)返回当前厂区该等级下的根规则和子档位列表,用于审批人在当前等级内选择具体档次。返回 data 为对象,包含 hazardLevel-等级编码、hazardLevelName-等级名称、root-根规则对象(可为null)、children-子档位规则数组。 - **请求:** `GET /gd_dataserver/business/points/rule/rulesByLevel` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `rulesByLevelUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | hazardLevel | query | 是 | string | 隐患等级编码(general/major/critical) | - | | deptId | query | 否 | string | 厂区部门ID(仅超级管理员生效:传具体ID查看该厂区+全局,传global仅查看全局兜底,不传查看全部厂区) | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 启用/禁用积分规则 - **用途:** enabled=1 启用,enabled=0 禁用。二级管理员只能操作本厂区规则。 - **请求:** `POST /gd_dataserver/business/points/rule/toggleEnabled` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `toggleEnabledUsingPOST` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | id | query | 是 | integer / int64 | 规则ID | - | | enabled | query | 是 | integer / int32 | 启用状态:0-禁用 1-启用 | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 201 | Created | - | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 积分规则试算 - **用途:** 模拟积分计算过程,返回匹配的规则详情和计算结果。返回 data 为对象:deptId-生效厂区、hazardLevel-输入的隐患等级、hazardCategory-输入的隐患类别、matchedRule-匹配到的规则对象或null、calculatedPoints-计算得到的积分数值(无匹配时为0)、matchScope-命中范围(FACTORY-厂区专属/GLOBAL-全局兜底/NONE-未命中)。 - **请求:** `GET /gd_dataserver/business/points/rule/trialCalculate` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `trialCalculateUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | deptId | query | 否 | string | 厂区部门ID(二级管理员忽略此参数) | - | | hazardLevel | query | 是 | string | 隐患等级编码 | - | | hazardCategory | query | 是 | string | 隐患类别编码 | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 修改积分规则 - **用途:** 二级管理员只能修改本厂区规则,不可变更所属厂区;超级管理员可任意修改。 - **请求:** `POST /gd_dataserver/business/points/rule/updateById` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `updateByIdUsingPOST_10` 参数: _无_ 请求体: - Content-Type:`application/json` - 模型:`积分规则配置` - 必填:文档未标记 | 字段 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | | createTime | 否 | string / date-time | 创建时间 | - | | deptId | 否 | string | 所属厂区部门ID(NULL表示全局兜底规则,二级管理员新增时自动填充) | 100 | | deptName | 否 | string | 所属厂区部门名称 | 一厂 | | enabled | 否 | integer / int32 | 是否启用:0-禁用 1-启用 | - | | hazardCategory | 否 | string | 隐患类别 | - | | hazardLevel | 否 | string | 隐患等级编码(general/major/critical) | - | | id | 否 | integer / int64 | 主键ID | - | | points | 否 | integer / int32 | 奖励积分 | - | | priority | 否 | integer / int32 | 优先级(数字越大优先级越高) | - | | remark | 否 | string | 备注 | - | | ruleCode | 否 | string | 规则编码 | - | | ruleName | 否 | string | 规则名称 | - | | updateTime | 否 | string / date-time | 更新时间 | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 201 | Created | - | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - |