safety-eval-service/docs/对外开放接口-images.md

444 lines
12 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 对外开放接口文档ImagesOpenController
## 目录
- [接口概览](#接口概览)
- [通用说明](#通用说明)
- [用户接口Account](#用户接口account)
- [机构信息接口OrgInfo](#机构信息接口orginfo)
- [数据模型](#数据模型)
---
## 接口概览
> 所有接口统一前缀:`/safetyEval/images`
> **免登录、免鉴权**,适用于注册、短信验证等对外开放场景。
| 模块 | 方法 | 路径 | 说明 |
|------|------|------|------|
| 用户 | `POST` | `/safetyEval/images/account/save` | 新增用户(注册) |
| 用户 | `GET` | `/safetyEval/images/account/get` | 查询用户详情 |
| 用户 | `POST` | `/safetyEval/images/account/modify` | 修改用户 |
| 用户 | `POST` | `/safetyEval/images/account/delete` | 删除用户 |
| 用户 | `GET` | `/safetyEval/images/account/page` | 分页查询用户 |
| 用户 | `GET` | `/safetyEval/images/account/syncUserToGBS` | 用户同步 GBS |
| 用户 | `GET` | `/safetyEval/images/account/verificationCode` | 验证码校验 |
| 用户 | `GET` | `/safetyEval/images/account/checkTerminalType` | 校验终端类型 |
| 用户 | `POST` | `/safetyEval/images/account/sendMessage` | 发送短信验证码 |
| 机构 | `POST` | `/safetyEval/images/org-info/save` | 新增机构信息(注册) |
---
## 通用说明
### 基础路径
```
开发环境: http://{host}:{port}/safetyEval/images
生产环境: http://{gateway}/safetyEval/images
```
### 鉴权说明
- 无需携带 Token / Cookie
- 已配置 GBS 白名单:`/**/images/**`
-`/safetyEval/account/**` 内部接口功能相同,但路径不同;内部接口仍需登录
### 统一响应体SingleResponse
大部分接口返回项目自定义 `SingleResponse`
```json
{
"success": true,
"code": "0",
"message": null,
"errMessage": null,
"data": {}
}
```
| 字段 | 类型 | 说明 |
|------|------|------|
| `success` | boolean | 是否成功 |
| `code` | string | 响应码,`0` 表示成功 |
| `message` | string | 响应消息 |
| `errMessage` | string | 错误消息(失败时) |
| `data` | object | 业务数据 |
### 分页响应体PageResponse
```json
{
"success": true,
"code": "0",
"data": [],
"total": 100
}
```
| 字段 | 类型 | 说明 |
|------|------|------|
| `data` | array | 当前页数据列表 |
| `total` | long | 总条数 |
### 短信接口响应体COLA SingleResponse
`sendMessage` 接口返回 GBS COLA 格式:
```json
{
"success": true,
"errCode": null,
"errMessage": null,
"data": true
}
```
---
## 用户接口Account
### 1. 新增用户(注册)
```
POST /safetyEval/images/account/save
Content-Type: application/json
```
**请求体AccountAddCmd**
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `userName` | string | 否 | 用户名称/姓名 |
| `account` | string | 否 | 账号 |
| `phone` | string | 否 | 手机号 |
| `password` | string | 否 | 密码 |
| `profileUrl` | string | 否 | 头像地址 |
| `verificationCode` | string | 否 | 短信验证码 |
| `type` | integer | 否 | 类型:`1` 机构端,`2` 监管端(默认 `1` |
**请求示例**
```json
{
"userName": "张三",
"account": "zhangsan",
"phone": "13800138000",
"password": "a123456",
"verificationCode": "123456",
"type": 1
}
```
**响应示例**
```json
{
"success": true,
"code": "0",
"data": {
"id": 1001,
"userName": "张三",
"account": "zhangsan",
"phone": "13800138000",
"profileUrl": null,
"type": 1,
"tenantId": 1001
}
}
```
---
### 2. 查询用户详情
```
GET /safetyEval/images/account/get?id={id}
```
**Query 参数**
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `id` | long | 是 | 用户主键 ID |
**响应**`SingleResponse<AccountCO>`
---
### 3. 修改用户
```
POST /safetyEval/images/account/modify
Content-Type: application/json
```
**请求体AccountModifyCmd**
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `id` | long | 是 | 主键 ID |
| `userName` | string | 否 | 用户名称/姓名 |
| `account` | string | 否 | 账号 |
| `phone` | string | 否 | 手机号 |
| `password` | string | 否 | 密码 |
| `profileUrl` | string | 否 | 头像地址 |
| `type` | integer | 否 | 类型:`1` 机构端,`2` 监管端 |
**响应**`SingleResponse<AccountCO>`
---
### 4. 删除用户
```
POST /safetyEval/images/account/delete
Content-Type: application/json
```
**请求体**
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `data` | long | 是 | 用户主键 ID |
**请求示例**
```json
{
"data": 1001
}
```
**响应**`SingleResponse<Void>`
---
### 5. 分页查询用户
```
GET /safetyEval/images/account/page
```
**Query 参数AccountPageQuery**
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `current` | long | 否 | 当前页,默认 `1` |
| `size` | long | 否 | 每页条数,默认 `10` |
| `orders` | string | 否 | 排序,格式:`column:asc\|desc`,多个逗号分隔 |
| `startTime` | datetime | 否 | 开始时间,格式 `yyyy-MM-dd HH:mm:ss` |
| `endTime` | datetime | 否 | 结束时间,格式 `yyyy-MM-dd HH:mm:ss` |
| `userName` | string | 否 | 用户名称(模糊) |
| `account` | string | 否 | 账号 |
| `phone` | string | 否 | 手机号 |
| `type` | integer | 否 | 类型:`1` 机构端,`2` 监管端 |
**请求示例**
```
GET /safetyEval/images/account/page?current=1&size=10&userName=张&type=1
```
**响应**`PageResponse<AccountCO>`
---
### 6. 用户同步 GBS
```
GET /safetyEval/images/account/syncUserToGBS?account={account}
```
**Query 参数**
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `account` | string | 是 | 用户账号 |
**响应**`SingleResponse<AccountCO>`
---
### 7. 验证码校验
```
GET /safetyEval/images/account/verificationCode?phone={phone}&code={code}
```
**Query 参数**
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `phone` | string | 是 | 手机号 |
| `code` | string | 是 | 短信验证码 |
**响应**`SingleResponse<AccountCO>`
---
### 8. 校验终端类型
```
GET /safetyEval/images/account/checkTerminalType
```
**说明**:校验当前用户是机构端还是监管端。
**响应**`SingleResponse<Integer>`
| 返回值 | 说明 |
|--------|------|
| `1` | 机构端 |
| `2` | 监管端 |
---
### 9. 发送短信验证码
```
POST /safetyEval/images/account/sendMessage
Content-Type: application/json
```
**请求体SendMessageCmd**
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `mobile` | string | **是** | 手机号 |
| `params` | object | 否 | 消息模板参数 |
**请求示例**
```json
{
"mobile": "13800138000"
}
```
**响应示例**
```json
{
"success": true,
"data": true
}
```
---
## 机构信息接口OrgInfo
### 10. 新增机构信息(注册)
```
POST /safetyEval/images/org-info/save
Content-Type: application/json
```
**请求体OrgInfoAddCmd**
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `unitName` | string | 否 | 生产经营单位名称 |
| `creditCode` | string | 否 | 统一社会信用代码 |
| `safetyIndustryCategoryCode` | string | 否 | 安全生产监管行业类别编码 |
| `safetyIndustryCategoryName` | string | 否 | 安全生产监管行业类别名称 |
| `districtCode` | string | 否 | 所属县区编码 |
| `districtName` | string | 否 | 所属县区名称 |
| `townStreet` | string | 否 | 所属镇街道 |
| `villageCommunity` | string | 否 | 属村社区 |
| `longitude` | decimal | 否 | 经度 |
| `latitude` | decimal | 否 | 纬度 |
| `registerAddress` | string | 否 | 注册地址 |
| `businessAddress` | string | 否 | 经营地址 |
| `ownershipTypeCode` | string | 否 | 归属类型编码 |
| `ownershipTypeName` | string | 否 | 归属类型名称 |
| `legalRepresentative` | string | 否 | 法定代表人 |
| `legalRepresentativePhone` | string | 否 | 法定代表人联系电话 |
| `principalName` | string | 否 | 主要负责人 |
| `principalPhone` | string | 否 | 主要负责人联系电话 |
| `safetyDeptManager` | string | 否 | 安全管理部门负责人 |
| `safetyDeptManagerPhone` | string | 否 | 安全管理部门负责人联系电话 |
| `safetyDeputyPhone` | string | 否 | 主管安全副总联系电话 |
| `productionDate` | date | 否 | 投产日期,格式 `yyyy-MM-dd` |
| `businessStatusCode` | integer | 否 | 企业经营状态编码 |
| `businessStatusName` | string | 否 | 企业经营状态名称 |
| `infoDisclosureUrl` | string | 否 | 信息公开网址 |
| `workplaceArea` | decimal | 否 | 工作场所建筑面积(平方米) |
| `archiveRoomArea` | decimal | 否 | 档案室面积(平方米) |
| `fulltimeEvaluatorCount` | integer | 否 | 专职安全评价师数量 |
| `registeredEngineerCount` | integer | 否 | 注册安全工程师数量 |
| `economyIndustryCode` | string | 否 | 国民经济行业分类编码 |
| `economyIndustryName` | string | 否 | 国民经济行业分类名称 |
| `authStatusCode` | integer | 否 | 认证状态:`1` 填写信息,`2` 审核中,`3` 通过 |
| `authStatusName` | string | 否 | 认证状态名称 |
| `enterpriseStatusCode` | integer | 否 | 企业状态:`1` 正常,`2` 停业,`3` 注销 |
| `enterpriseStatusName` | string | 否 | 企业状态名称 |
| `enterpriseScaleCode` | string | 否 | 企业规模编码 |
| `enterpriseScaleName` | string | 否 | 企业规模名称(大/中/小/微型) |
| `filingTypeCode` | string | 否 | 备案类型:`1` 审核备案,`2` 确认备案 |
| `filingTypeName` | string | 否 | 备案类型名称 |
| `filingRecordStatusCode` | integer | 否 | 备案状态:`1` 已备案,`2` 未备案 |
| `filingRecordStatusName` | string | 否 | 备案状态名称 |
| `attachmentUrls` | string | 否 | 上传附件地址(多个逗号分隔) |
| `registerUserId` | long | 否 | 注册用户 ID |
**响应**`SingleResponse<OrgInfoCO>`
---
## 数据模型
### AccountCO
| 字段 | 类型 | 说明 |
|------|------|------|
| `id` | long | 主键 ID |
| `userName` | string | 用户名称/姓名 |
| `account` | string | 账号 |
| `phone` | string | 手机号 |
| `profileUrl` | string | 头像地址 |
| `type` | integer | `1` 机构端,`2` 监管端 |
| `tenantId` | long | 租户 ID |
### OrgInfoCO主要字段
| 字段 | 类型 | 说明 |
|------|------|------|
| `id` | long | 主键 ID |
| `unitName` | string | 单位名称 |
| `creditCode` | string | 统一社会信用代码 |
| `authStatusCode` | integer | 认证状态编码 |
| `enterpriseStatusCode` | integer | 企业状态编码 |
| `filingRecordStatusCode` | integer | 备案状态编码 |
| `state` | integer | 状态:`0` 启用,`1` 禁用 |
| `tenantId` | long | 租户 ID |
| `orgId` | long | 单位 ID |
| `createTime` | datetime | 创建时间 |
> `OrgInfoCO` 完整字段见 `OrgInfoAddCmd` 请求体字段及代码 `OrgInfoCO.java`。
---
## 与内部接口对照
| 开放接口(免鉴权) | 内部接口(需登录) |
|--------------------|--------------------|
| `/safetyEval/images/account/save` | `/safetyEval/account/save` |
| `/safetyEval/images/account/get` | `/safetyEval/account/get` |
| `/safetyEval/images/account/modify` | `/safetyEval/account/modify` |
| `/safetyEval/images/account/delete` | `/safetyEval/account/delete` |
| `/safetyEval/images/account/page` | `/safetyEval/account/page` |
| `/safetyEval/images/account/syncUserToGBS` | `/safetyEval/account/syncUserToGBS` |
| `/safetyEval/images/account/verificationCode` | `/safetyEval/account/verificationCode` |
| `/safetyEval/images/account/checkTerminalType` | `/safetyEval/account/checkTerminalType` |
| `/safetyEval/images/account/sendMessage` | —(仅开放接口) |
| `/safetyEval/images/org-info/save` | `/safetyEval/org-info/save` |
---
*文档来源:`ImagesOpenController.java`生成时间2026-07-08*