diff --git a/README.md b/README.md deleted file mode 100644 index 9675e9d..0000000 --- a/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# 呼籁旅行 - 后端接口修改记录 - -自动同步自主项目 `hl` 的每次 git commit,记录所有后端接口变更详情。 - -## 目录结构 - -``` -changelogs/ - 2026-03/ - 2026-03-16_abcd1234_fix-xxx.md # 每次提交一个文件 - 2026-03-16_efgh5678_feat-yyy.md - 2026-04/ - ... -``` - -## 记录内容 - -每条记录包含: -- 提交信息(hash、作者、时间、message) -- 修改的文件列表(新增/修改/删除) -- **Controller 接口变更详情**(新增/修改/删除的 API 端点) -- **DTO/VO 字段变更**(请求/响应对象的字段变化) -- **数据库变更**(SQL 脚本变化) -- **Nacos 配置变更** -- 完整 diff(Controller、DTO、VO 相关文件) - -## 自动同步 - -通过主项目的 `post-commit` hook 自动触发,每次 commit 后生成变更记录并推送到本仓库。 diff --git a/api-docs/hl-contract-service.json b/api-docs/hl-contract-service.json deleted file mode 100644 index d33a48a..0000000 --- a/api-docs/hl-contract-service.json +++ /dev/null @@ -1,2327 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "合同服务", - "version": "1.0.0" - }, - "basePath": "/", - "paths": { - "/admin/contract/active-by-order/{orderId}": { - "get": { - "tags": [ - "合同管理" - ], - "summary": "获取订单有效合同", - "description": "返回订单当前有效的合同(非作废状态的最新合同),用于检查订单是否已有签署中或已签署的合同。\n\n**权限**:需管理员登录。\n\n**关联字典**:\n- contract_status:合同状态(显示)", - "operationId": "getActiveByOrderUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«合同信息»", - "originalRef": "统一响应结果«合同信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«合同信息»", - "originalRef": "统一响应结果«合同信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contract/agencies": { - "get": { - "tags": [ - "合同管理" - ], - "summary": "可用旅行社列表", - "description": "返回系统配置的旅行社列表,创建合同时选择签约旅行社", - "operationId": "listAgenciesUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«旅行社信息»»", - "originalRef": "统一响应结果«List«旅行社信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«旅行社信息»»", - "originalRef": "统一响应结果«List«旅行社信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contract/by-order/{orderId}": { - "get": { - "tags": [ - "合同管理" - ], - "summary": "按订单查询合同", - "description": "查询指定订单下的所有合同记录(含已作废),按创建时间倒序排列。用于订单详情页展示合同历史。\n\n**权限**:需管理员登录。\n\n**关联字典**:\n- contract_status:合同状态(列表显示)", - "operationId": "getByOrderUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«合同信息»»", - "originalRef": "统一响应结果«List«合同信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«合同信息»»", - "originalRef": "统一响应结果«List«合同信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contract/clause-template": { - "post": { - "tags": [ - "补充约定模板管理" - ], - "summary": "创建补充约定模板", - "description": "创建合同补充约定的模板,支持变量占位符。创建后默认启用", - "operationId": "createUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/补充约定模板请求", - "originalRef": "补充约定模板请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«补充约定模板»", - "originalRef": "统一响应结果«补充约定模板»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«补充约定模板»", - "originalRef": "统一响应结果«补充约定模板»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contract/clause-template/list": { - "get": { - "tags": [ - "补充约定模板管理" - ], - "summary": "获取启用的补充约定模板列表(创建合同用)", - "description": "返回所有启用状态的补充约定模板,创建合同时选择需要附加的补充约定条款。\n\n**权限**:需管理员登录。", - "operationId": "listActiveUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«补充约定模板»»", - "originalRef": "统一响应结果«List«补充约定模板»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«补充约定模板»»", - "originalRef": "统一响应结果«List«补充约定模板»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contract/clause-template/list-all": { - "get": { - "tags": [ - "补充约定模板管理" - ], - "summary": "获取全部补充约定模板(管理页用)", - "description": "**关联字典**:\n- common_status:通用状态(列表显示,ACTIVE=启用/INACTIVE=停用)", - "operationId": "listAllUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«补充约定模板»»", - "originalRef": "统一响应结果«List«补充约定模板»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«补充约定模板»»", - "originalRef": "统一响应结果«List«补充约定模板»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contract/clause-template/{id}": { - "put": { - "tags": [ - "补充约定模板管理" - ], - "summary": "更新补充约定模板", - "description": "更新模板的标题和内容。已被合同引用的模板更新不影响已创建的合同(合同记录的是快照内容)。\n\n**权限**:需管理员登录。", - "operationId": "updateUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "模板ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/补充约定模板请求", - "originalRef": "补充约定模板请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«补充约定模板»", - "originalRef": "统一响应结果«补充约定模板»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«补充约定模板»", - "originalRef": "统一响应结果«补充约定模板»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "补充约定模板管理" - ], - "summary": "删除补充约定模板", - "description": "软删除模板。已被合同引用的模板仍可删除,不影响已创建的合同", - "operationId": "deleteUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "模板ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contract/clause-template/{id}/toggle-status": { - "put": { - "tags": [ - "补充约定模板管理" - ], - "summary": "切换模板启用/停用状态", - "description": "**关联字典**:\n- common_status:通用状态(状态切换,ACTIVE=启用/INACTIVE=停用)", - "operationId": "toggleStatusUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "模板ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«补充约定模板»", - "originalRef": "统一响应结果«补充约定模板»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«补充约定模板»", - "originalRef": "统一响应结果«补充约定模板»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contract/create": { - "post": { - "tags": [ - "合同管理" - ], - "summary": "创建合同(标准模式)", - "description": "标准电子签约流程:创建合同 → 平台生成合同PDF → 发送签署短信给出行人 → 出行人在线签署 → 回调更新状态。状态流转:CREATED → SIGNING → SIGNED", - "operationId": "createContractUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "创建合同请求", - "required": false, - "schema": { - "$ref": "#/definitions/创建合同请求", - "originalRef": "创建合同请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«合同详情»", - "originalRef": "统一响应结果«合同详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«合同详情»", - "originalRef": "统一响应结果«合同详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contract/list": { - "get": { - "tags": [ - "合同管理" - ], - "summary": "合同列表", - "description": "分页查询合同记录,支持按订单号、合同状态、旅行社筛选\n\n**关联字典**:\n- contract_status:合同状态(列表筛选+显示)", - "operationId": "listContractsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "query", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64", - "x-example": 1001 - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "platform", - "in": "query", - "description": "签约平台", - "required": false, - "type": "string", - "x-example": "TOURAGE" - }, - { - "name": "status", - "in": "query", - "description": "合同状态", - "required": false, - "type": "string", - "x-example": "SIGNED" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«合同信息»»", - "originalRef": "统一响应结果«分页结果«合同信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«合同信息»»", - "originalRef": "统一响应结果«分页结果«合同信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contract/report": { - "post": { - "tags": [ - "合同管理" - ], - "summary": "报备合同(同步模式)", - "description": "线下签约模式:创建合同记录 → 管理员上传已签署的PDF → 同步到12301报备平台。状态流转:CREATED → UPLOADED → REPORTED", - "operationId": "reportContractUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "报备合同请求", - "required": false, - "schema": { - "$ref": "#/definitions/报备合同请求(同步模式)", - "originalRef": "报备合同请求(同步模式)" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«合同详情»", - "originalRef": "统一响应结果«合同详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«合同详情»", - "originalRef": "统一响应结果«合同详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contract/templates": { - "get": { - "tags": [ - "合同管理" - ], - "summary": "合同模板列表", - "description": "返回合同平台可用的合同模板列表,创建合同时选择模板", - "operationId": "listTemplatesUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«合同模板信息»»", - "originalRef": "统一响应结果«List«合同模板信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«合同模板信息»»", - "originalRef": "统一响应结果«List«合同模板信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contract/{id}": { - "get": { - "tags": [ - "合同管理" - ], - "summary": "合同详情", - "description": "**关联字典**:\n- contract_status:合同状态(显示)", - "operationId": "getContractDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "合同ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«合同详情»", - "originalRef": "统一响应结果«合同详情»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«合同详情»", - "originalRef": "统一响应结果«合同详情»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contract/{id}/invalidate": { - "post": { - "tags": [ - "合同管理" - ], - "summary": "作废合同", - "description": "将合同标记为作废状态(不可恢复)。作废后该合同不再有效,可重新为订单创建新合同", - "operationId": "invalidateContractUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "合同ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«合同信息»", - "originalRef": "统一响应结果«合同信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«合同信息»", - "originalRef": "统一响应结果«合同信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contract/{id}/resend-sms": { - "post": { - "tags": [ - "合同管理" - ], - "summary": "重发签署短信", - "description": "重新发送签署短信给出行人,用于签署短信过期或未收到的场景。仅SIGNING状态的合同可操作", - "operationId": "resendSmsUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "合同ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contract/{id}/status": { - "get": { - "tags": [ - "合同管理" - ], - "summary": "刷新合同状态(从平台同步)", - "description": "主动查询合同平台的最新签署状态并同步到本地,适用于回调未到达的场景", - "operationId": "refreshStatusUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "合同ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«合同信息»", - "originalRef": "统一响应结果«合同信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«合同信息»", - "originalRef": "统一响应结果«合同信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contract/{id}/upload-pdf": { - "post": { - "tags": [ - "合同管理" - ], - "summary": "上传已签署PDF(同步模式)", - "description": "同步模式专用:上传线下签署完成的合同PDF文件,上传后合同状态变为UPLOADED,可进一步报备", - "operationId": "uploadPdfUsingPOST", - "consumes": [ - "multipart/form-data" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "file", - "in": "formData", - "description": "签署PDF文件", - "required": false, - "type": "file" - }, - { - "name": "id", - "in": "path", - "description": "合同ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«合同信息»", - "originalRef": "统一响应结果«合同信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«合同信息»", - "originalRef": "统一响应结果«合同信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - } - }, - "definitions": { - "分页结果«合同信息»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/合同信息", - "originalRef": "合同信息" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«合同信息»" - }, - "创建合同请求": { - "type": "object", - "required": [ - "adultCost", - "contactName", - "contactPhone", - "departureDate", - "destination", - "returnDate", - "routeName", - "signatoryIdNumber", - "signatoryName", - "signatoryPhone", - "templateCode", - "totalAmount", - "travelers" - ], - "properties": { - "adultCost": { - "type": "number", - "example": 2980.0, - "description": "成人费用" - }, - "agencyCode": { - "type": "string", - "example": "L-FJ-100005", - "description": "旅行社编号(可选,默认使用配置值)" - }, - "childCost": { - "type": "number", - "example": 1490.0, - "description": "儿童费用" - }, - "contactName": { - "type": "string", - "example": "李四", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "example": 13900139000, - "description": "联系人电话" - }, - "contractType": { - "type": "string", - "example": "TOUR", - "description": "合同类型: TOUR-旅游合同(默认), INSURANCE-保险单" - }, - "days": { - "type": "integer", - "format": "int32", - "example": 3, - "description": "行程天数" - }, - "departureCity": { - "type": "string", - "example": "成都", - "description": "出发城市" - }, - "departureDate": { - "type": "string", - "format": "date", - "example": "2026-04-01", - "description": "出发日期" - }, - "destination": { - "type": "string", - "example": "九寨沟", - "description": "目的地" - }, - "disputeResolution": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "争议解决方式: 1-仲裁 2-诉讼" - }, - "groupId": { - "type": "string", - "example": "GRP20260401001", - "description": "团号" - }, - "leastCustomerNumber": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "最低成团人数" - }, - "nights": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "住宿晚数" - }, - "orderId": { - "type": "integer", - "format": "int64", - "example": 1001, - "description": "订单ID" - }, - "paymentMethod": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "付款方式: 1-现金 2-转账 3-在线" - }, - "returnDate": { - "type": "string", - "format": "date", - "example": "2026-04-03", - "description": "返回日期" - }, - "routeName": { - "type": "string", - "example": "九寨沟三日游", - "description": "线路名称" - }, - "signatoryIdNumber": { - "type": "string", - "example": 110101199001011234, - "description": "签署人证件号码" - }, - "signatoryIdType": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "签署人证件类型: 1-身份证" - }, - "signatoryMode": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "签署模式: 1-短信 2-现场 3-线下" - }, - "signatoryName": { - "type": "string", - "example": "李四", - "description": "签署人姓名" - }, - "signatoryPhone": { - "type": "string", - "example": 13900139000, - "description": "签署人电话" - }, - "signingPlace": { - "type": "string", - "example": "成都市武侯区", - "description": "签约地点" - }, - "supplementaryClause": { - "type": "string", - "example": "夏季补充约定...", - "description": "补充约定内容" - }, - "templateCode": { - "type": "string", - "example": "TOURAGE_STANDARD", - "description": "模板编码" - }, - "totalAmount": { - "type": "number", - "example": 5960.0, - "description": "合同总金额" - }, - "transactorName": { - "type": "string", - "example": "张三", - "description": "经办人姓名" - }, - "transactorPhone": { - "type": "string", - "example": 13800138000, - "description": "经办人电话" - }, - "travelers": { - "type": "array", - "description": "出行人列表", - "items": { - "$ref": "#/definitions/合同出行人请求", - "originalRef": "合同出行人请求" - } - }, - "vehicleModel": { - "type": "string", - "example": "考斯特19座", - "description": "车型名称(产品快照)" - } - }, - "title": "创建合同请求" - }, - "合同信息": { - "type": "object", - "properties": { - "agencyCode": { - "type": "string", - "description": "旅行社编号" - }, - "contactName": { - "type": "string", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "description": "联系人电话" - }, - "contractId": { - "type": "integer", - "format": "int64", - "description": "合同ID" - }, - "contractNumber": { - "type": "string", - "description": "合同编号" - }, - "contractType": { - "type": "string", - "description": "合同类型: TOUR-旅游合同, INSURANCE-保险单" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "departureDate": { - "type": "string", - "format": "date", - "description": "出发日期" - }, - "destination": { - "type": "string", - "description": "目的地" - }, - "fileUrl": { - "type": "string", - "description": "合同文件URL" - }, - "mode": { - "type": "string", - "description": "签约模式: STANDARD/SYNC" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "platform": { - "type": "string", - "description": "签约平台" - }, - "qrCodeUrl": { - "type": "string", - "description": "二维码URL" - }, - "returnDate": { - "type": "string", - "format": "date", - "description": "返回日期" - }, - "signUrl": { - "type": "string", - "description": "签署URL" - }, - "status": { - "type": "string", - "description": "合同状态" - }, - "statusLabel": { - "type": "string", - "description": "合同状态标签" - }, - "templateCode": { - "type": "string", - "description": "模板编码" - }, - "templateName": { - "type": "string", - "description": "模板名称" - }, - "totalAmount": { - "type": "number", - "description": "合同总金额" - }, - "touristCount": { - "type": "integer", - "format": "int32", - "description": "出行人数" - }, - "travelAgencyName": { - "type": "string", - "description": "旅行社名称" - } - }, - "title": "合同信息" - }, - "合同出行人信息": { - "type": "object", - "properties": { - "idCardNo": { - "type": "string", - "description": "证件号码" - }, - "idCardType": { - "type": "string", - "description": "证件类型" - }, - "isSigner": { - "type": "boolean", - "description": "是否签署人" - }, - "name": { - "type": "string", - "description": "姓名" - }, - "phone": { - "type": "string", - "description": "手机号" - }, - "travelerId": { - "type": "integer", - "format": "int64", - "description": "出行人ID" - } - }, - "title": "合同出行人信息" - }, - "合同出行人请求": { - "type": "object", - "required": [ - "idCardNo", - "name" - ], - "properties": { - "age": { - "type": "integer", - "format": "int32", - "example": 30, - "description": "年龄" - }, - "gender": { - "type": "string", - "example": "male", - "description": "性别: male/female" - }, - "health": { - "type": "string", - "example": "健康", - "description": "健康信息" - }, - "idCardNo": { - "type": "string", - "example": 110101199001011234, - "description": "证件号码" - }, - "idCardType": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "证件类型: 1-身份证 2-护照" - }, - "isChild": { - "type": "boolean", - "example": false, - "description": "是否儿童" - }, - "isSigner": { - "type": "boolean", - "example": false, - "description": "是否签署人" - }, - "name": { - "type": "string", - "example": "王五", - "description": "姓名" - }, - "phone": { - "type": "string", - "example": 13800138000, - "description": "手机号" - } - }, - "title": "合同出行人请求" - }, - "合同模板信息": { - "type": "object", - "properties": { - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "description": { - "type": "string", - "description": "模板描述" - }, - "mode": { - "type": "string", - "description": "签约模式: STANDARD/SYNC" - }, - "platform": { - "type": "string", - "description": "签约平台" - }, - "status": { - "type": "string", - "description": "模板状态" - }, - "templateCode": { - "type": "string", - "description": "模板编码" - }, - "templateId": { - "type": "integer", - "format": "int64", - "description": "模板ID" - }, - "templateName": { - "type": "string", - "description": "模板名称" - } - }, - "title": "合同模板信息" - }, - "合同状态变更日志": { - "type": "object", - "properties": { - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "logId": { - "type": "integer", - "format": "int64", - "description": "日志ID" - }, - "newStatus": { - "type": "string", - "description": "新状态" - }, - "oldStatus": { - "type": "string", - "description": "旧状态" - }, - "source": { - "type": "string", - "description": "变更来源" - } - }, - "title": "合同状态变更日志" - }, - "合同详情": { - "type": "object", - "properties": { - "agencyCode": { - "type": "string", - "description": "旅行社编号" - }, - "contactName": { - "type": "string", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "description": "联系人电话" - }, - "contractId": { - "type": "integer", - "format": "int64", - "description": "合同ID" - }, - "contractNumber": { - "type": "string", - "description": "合同编号" - }, - "contractType": { - "type": "string", - "description": "合同类型: TOUR-旅游合同, INSURANCE-保险单" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "departureDate": { - "type": "string", - "format": "date", - "description": "出发日期" - }, - "destination": { - "type": "string", - "description": "目的地" - }, - "fileUrl": { - "type": "string", - "description": "合同文件URL" - }, - "mode": { - "type": "string", - "description": "签约模式: STANDARD/SYNC" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "platform": { - "type": "string", - "description": "签约平台" - }, - "qrCodeUrl": { - "type": "string", - "description": "二维码URL" - }, - "returnDate": { - "type": "string", - "format": "date", - "description": "返回日期" - }, - "signUrl": { - "type": "string", - "description": "签署URL" - }, - "status": { - "type": "string", - "description": "合同状态" - }, - "statusLabel": { - "type": "string", - "description": "合同状态标签" - }, - "statusLogs": { - "type": "array", - "description": "状态变更日志", - "items": { - "$ref": "#/definitions/合同状态变更日志", - "originalRef": "合同状态变更日志" - } - }, - "supplementaryClause": { - "type": "string", - "description": "补充约定内容" - }, - "templateCode": { - "type": "string", - "description": "模板编码" - }, - "templateName": { - "type": "string", - "description": "模板名称" - }, - "totalAmount": { - "type": "number", - "description": "合同总金额" - }, - "touristCount": { - "type": "integer", - "format": "int32", - "description": "出行人数" - }, - "travelAgencyName": { - "type": "string", - "description": "旅行社名称" - }, - "travelers": { - "type": "array", - "description": "出行人列表", - "items": { - "$ref": "#/definitions/合同出行人信息", - "originalRef": "合同出行人信息" - } - } - }, - "title": "合同详情" - }, - "报备合同请求(同步模式)": { - "type": "object", - "required": [ - "adultCost", - "contactName", - "contactPhone", - "departureDate", - "destination", - "returnDate", - "routeName", - "signatoryIdNumber", - "signatoryName", - "signatoryPhone", - "templateCode", - "totalAmount", - "travelers" - ], - "properties": { - "adultCost": { - "type": "number", - "example": 2980.0, - "description": "成人费用" - }, - "agencyCode": { - "type": "string", - "example": "L-FJ-100005", - "description": "旅行社编号" - }, - "childCost": { - "type": "number", - "example": 1490.0, - "description": "儿童费用" - }, - "contactName": { - "type": "string", - "example": "李四", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "example": 13900139000, - "description": "联系人电话" - }, - "contractType": { - "type": "string", - "example": "TOUR", - "description": "合同类型: TOUR-旅游合同(默认), INSURANCE-保险单" - }, - "days": { - "type": "integer", - "format": "int32", - "example": 3, - "description": "行程天数" - }, - "departureCity": { - "type": "string", - "example": "成都", - "description": "出发城市" - }, - "departureDate": { - "type": "string", - "format": "date", - "example": "2026-04-01", - "description": "出发日期" - }, - "destination": { - "type": "string", - "example": "九寨沟", - "description": "目的地" - }, - "disputeResolution": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "争议解决方式: 1-仲裁 2-诉讼" - }, - "groupId": { - "type": "string", - "example": "GRP20260401001", - "description": "团号" - }, - "leastCustomerNumber": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "最低成团人数" - }, - "nights": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "住宿晚数" - }, - "orderId": { - "type": "integer", - "format": "int64", - "example": 1001, - "description": "订单ID" - }, - "paymentMethod": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "付款方式: 1-现金 2-转账 3-在线" - }, - "returnDate": { - "type": "string", - "format": "date", - "example": "2026-04-03", - "description": "返回日期" - }, - "routeName": { - "type": "string", - "example": "九寨沟三日游", - "description": "线路名称" - }, - "signatoryIdNumber": { - "type": "string", - "example": 110101199001011234, - "description": "签署人证件号码" - }, - "signatoryIdType": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "签署人证件类型: 1-身份证" - }, - "signatoryMode": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "签署模式(同步模式默认2-现场)" - }, - "signatoryName": { - "type": "string", - "example": "李四", - "description": "签署人姓名" - }, - "signatoryPhone": { - "type": "string", - "example": 13900139000, - "description": "签署人电话" - }, - "signingPlace": { - "type": "string", - "example": "成都市武侯区", - "description": "签约地点" - }, - "supplementaryClause": { - "type": "string", - "example": "冬季补充约定...", - "description": "补充约定内容" - }, - "templateCode": { - "type": "string", - "example": "TOURAGE_SYNC", - "description": "模板编码" - }, - "totalAmount": { - "type": "number", - "example": 5960.0, - "description": "合同总金额" - }, - "transactorName": { - "type": "string", - "example": "张三", - "description": "经办人姓名" - }, - "transactorPhone": { - "type": "string", - "example": 13800138000, - "description": "经办人电话" - }, - "travelers": { - "type": "array", - "description": "出行人列表", - "items": { - "$ref": "#/definitions/合同出行人请求", - "originalRef": "合同出行人请求" - } - } - }, - "title": "报备合同请求(同步模式)" - }, - "旅行社信息": { - "type": "object", - "properties": { - "agencyAddress": { - "type": "string", - "description": "旅行社地址" - }, - "agencyName": { - "type": "string", - "example": "呼籁旅行社", - "description": "旅行社名称" - }, - "businessLicenseNumber": { - "type": "string", - "description": "营业执照号" - }, - "businessScope": { - "type": "string", - "example": "国内旅游", - "description": "经营范围" - }, - "code": { - "type": "string", - "example": "hulai", - "description": "旅行社编码" - }, - "licenseNumber": { - "type": "string", - "example": "L-FJ-100005", - "description": "旅行社许可证号" - }, - "regionId": { - "type": "string", - "example": 350200, - "description": "地区ID" - }, - "transactorName": { - "type": "string", - "example": "张三", - "description": "经办人姓名" - }, - "transactorPhone": { - "type": "string", - "example": 13800138000, - "description": "经办人电话" - }, - "zjParentId": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "属地管理机构ID" - } - }, - "title": "旅行社信息" - }, - "统一响应结果«List«合同信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/合同信息", - "originalRef": "合同信息" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«合同信息»»" - }, - "统一响应结果«List«合同模板信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/合同模板信息", - "originalRef": "合同模板信息" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«合同模板信息»»" - }, - "统一响应结果«List«旅行社信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/旅行社信息", - "originalRef": "旅行社信息" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«旅行社信息»»" - }, - "统一响应结果«List«补充约定模板»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/补充约定模板", - "originalRef": "补充约定模板" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«补充约定模板»»" - }, - "统一响应结果«Void»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Void»" - }, - "统一响应结果«boolean»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "boolean", - "description": "响应数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«boolean»" - }, - "统一响应结果«分页结果«合同信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«合同信息»", - "originalRef": "分页结果«合同信息»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«合同信息»»" - }, - "统一响应结果«合同信息»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/合同信息", - "originalRef": "合同信息" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«合同信息»" - }, - "统一响应结果«合同详情»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/合同详情", - "originalRef": "合同详情" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«合同详情»" - }, - "统一响应结果«补充约定模板»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/补充约定模板", - "originalRef": "补充约定模板" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«补充约定模板»" - }, - "补充约定模板": { - "type": "object", - "properties": { - "content": { - "type": "string", - "description": "模板内容" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "name": { - "type": "string", - "description": "模板名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序" - }, - "status": { - "type": "string", - "description": "状态: ACTIVE/INACTIVE" - }, - "templateId": { - "type": "integer", - "format": "int64", - "description": "模板ID" - } - }, - "title": "补充约定模板" - }, - "补充约定模板请求": { - "type": "object", - "required": [ - "content", - "name" - ], - "properties": { - "content": { - "type": "string", - "example": "夏季补充约定...", - "description": "模板内容" - }, - "name": { - "type": "string", - "example": "夏季小团", - "description": "模板名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序(升序)" - } - }, - "title": "补充约定模板请求" - } - } -} \ No newline at end of file diff --git a/api-docs/hl-file-service.json b/api-docs/hl-file-service.json deleted file mode 100644 index d0116ec..0000000 --- a/api-docs/hl-file-service.json +++ /dev/null @@ -1,1145 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "文件服务", - "version": "1.0.0" - }, - "basePath": "/", - "paths": { - "/admin/file/list": { - "get": { - "tags": [ - "文件管理" - ], - "summary": "文件列表(分页)", - "description": "支持按文件类型、分组、上传者等条件筛选,按上传时间倒序分页返回\n\n**关联字典**:\n- file_type:文件类型(列表筛选+显示)\n- file_status:文件状态(显示)", - "operationId": "listFilesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "endDate", - "in": "query", - "description": "结束日期", - "required": false, - "type": "string", - "x-example": "2026-12-31" - }, - { - "name": "fileType", - "in": "query", - "description": "文件类型", - "required": false, - "type": "string", - "x-example": "image" - }, - { - "name": "groupKey", - "in": "query", - "description": "业务分组", - "required": false, - "type": "string", - "x-example": "scenic" - }, - { - "name": "keyword", - "in": "query", - "description": "搜索关键词", - "required": false, - "type": "string", - "x-example": "风景" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "startDate", - "in": "query", - "description": "开始日期", - "required": false, - "type": "string", - "x-example": "2026-01-01" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«IPage«文件信息»»", - "originalRef": "统一响应结果«IPage«文件信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«IPage«文件信息»»", - "originalRef": "统一响应结果«IPage«文件信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/file/stats": { - "get": { - "tags": [ - "文件管理" - ], - "summary": "存储统计", - "description": "返回文件总数、总存储空间、各类型文件占比等统计信息", - "operationId": "getStatsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«文件统计信息»", - "originalRef": "统一响应结果«文件统计信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«文件统计信息»", - "originalRef": "统一响应结果«文件统计信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/file/upload/confirm": { - "post": { - "tags": [ - "文件管理" - ], - "summary": "确认上传完成", - "description": "上传流程第二步:前端直传OSS完成后调用此接口,系统验证文件存在性并创建文件记录。支持MD5去重,相同文件不会重复存储", - "operationId": "confirmUploadUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "确认上传请求", - "required": false, - "schema": { - "$ref": "#/definitions/上传确认请求", - "originalRef": "上传确认请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«文件信息»", - "originalRef": "统一响应结果«文件信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«文件信息»", - "originalRef": "统一响应结果«文件信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/file/upload/token": { - "post": { - "tags": [ - "文件管理" - ], - "summary": "请求上传凭证", - "description": "上传流程第一步:前端请求上传凭证 → 获取OSS预签名URL和临时凭证 → 前端直传OSS → 调用确认上传接口。凭证有效期有限,过期需重新请求", - "operationId": "requestUploadTokenUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "上传凭证请求", - "required": false, - "schema": { - "$ref": "#/definitions/上传令牌请求", - "originalRef": "上传令牌请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«上传令牌信息»", - "originalRef": "统一响应结果«上传令牌信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«上传令牌信息»", - "originalRef": "统一响应结果«上传令牌信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/file/{fileId}": { - "get": { - "tags": [ - "文件管理" - ], - "summary": "文件详情", - "description": "**关联字典**:\n- file_type:文件类型(显示)\n- file_status:文件状态(显示)", - "operationId": "getFileDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "fileId", - "in": "path", - "description": "文件ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«文件信息»", - "originalRef": "统一响应结果«文件信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«文件信息»", - "originalRef": "统一响应结果«文件信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "文件管理" - ], - "summary": "删除文件", - "description": "软删除文件记录,如果文件存在引用关系则不允许删除。OSS上的物理文件由定时任务清理", - "operationId": "deleteFileUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "fileId", - "in": "path", - "description": "文件ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/file/{fileId}/preview": { - "get": { - "tags": [ - "文件管理" - ], - "summary": "文件内容流式预览", - "description": "流式输出文件内容,设置正确的Content-Type头,支持浏览器直接预览图片和PDF等文件", - "operationId": "previewContentUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "fileId", - "in": "path", - "description": "文件ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/file/{fileId}/refs": { - "get": { - "tags": [ - "文件管理" - ], - "summary": "文件引用列表", - "description": "查看文件被哪些业务实体引用(如景区封面、酒店图片等),用于判断文件是否可安全删除", - "operationId": "getFileRefsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "fileId", - "in": "path", - "description": "文件ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«文件引用信息»»", - "originalRef": "统一响应结果«List«文件引用信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«文件引用信息»»", - "originalRef": "统一响应结果«List«文件引用信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/file/preview-by-url": { - "get": { - "tags": [ - "C端文件上传" - ], - "summary": "文件在线预览", - "description": "返回HTML预览页面,小程序通过web-view打开。支持PDF、图片、Office文档", - "operationId": "previewByUrlUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "url", - "in": "query", - "description": "文件完整URL", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/file/upload": { - "post": { - "tags": [ - "C端文件上传" - ], - "summary": "上传文件(C端用户)", - "description": "小程序端直接上传文件,支持头像、评价图片等场景。groupKey决定存储路径和文件策略,默认为avatar", - "operationId": "uploadUsingPOST", - "consumes": [ - "multipart/form-data" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "file", - "in": "formData", - "description": "上传文件", - "required": false, - "type": "file" - }, - { - "name": "groupKey", - "in": "query", - "description": "文件分组标识", - "required": false, - "type": "string", - "default": "avatar", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«文件信息»", - "originalRef": "统一响应结果«文件信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«文件信息»", - "originalRef": "统一响应结果«文件信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/file/{fileId}/preview": { - "get": { - "tags": [ - "C端文件上传" - ], - "summary": "文件内容流式预览", - "description": "流式输出文件内容,设置正确的Content-Type头。用于小程序端通过web-view直接预览图片和PDF等文件。", - "operationId": "previewContentUsingGET_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "fileId", - "in": "path", - "description": "文件ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - } - }, - "definitions": { - "IPage«文件信息»": { - "type": "object", - "properties": { - "current": { - "type": "integer", - "format": "int64" - }, - "pages": { - "type": "integer", - "format": "int64" - }, - "records": { - "type": "array", - "items": { - "$ref": "#/definitions/文件信息", - "originalRef": "文件信息" - } - }, - "size": { - "type": "integer", - "format": "int64" - }, - "total": { - "type": "integer", - "format": "int64" - } - }, - "title": "IPage«文件信息»" - }, - "STS临时凭证信息": { - "type": "object", - "properties": { - "accessKeyId": { - "type": "string", - "description": "AccessKey ID" - }, - "accessKeySecret": { - "type": "string", - "description": "AccessKey Secret" - }, - "expiration": { - "type": "string", - "description": "过期时间" - }, - "securityToken": { - "type": "string", - "description": "安全令牌" - } - }, - "title": "STS临时凭证信息" - }, - "上传令牌信息": { - "type": "object", - "properties": { - "bucket": { - "type": "string", - "description": "OSS Bucket名称" - }, - "contentType": { - "type": "string", - "description": "上传时必须使用的Content-Type(与预签名URL签名一致)" - }, - "expireAt": { - "type": "string", - "format": "date-time", - "description": "过期时间" - }, - "file": { - "description": "秒传文件信息", - "$ref": "#/definitions/文件信息", - "originalRef": "文件信息" - }, - "fileId": { - "type": "string", - "description": "文件ID" - }, - "ossKey": { - "type": "string", - "description": "OSS对象Key" - }, - "presignedUrl": { - "type": "string", - "description": "预签名上传URL" - }, - "region": { - "type": "string", - "description": "OSS Region" - }, - "stsToken": { - "description": "STS临时凭证", - "$ref": "#/definitions/STS临时凭证信息", - "originalRef": "STS临时凭证信息" - }, - "uploadMode": { - "type": "string", - "description": "上传模式: PRESIGNED_URL/STS_MULTIPART/INSTANT" - } - }, - "title": "上传令牌信息" - }, - "上传令牌请求": { - "type": "object", - "required": [ - "fileHash", - "fileName", - "fileSize" - ], - "properties": { - "fileHash": { - "type": "string", - "example": "d41d8cd98f00b204e9800998ecf8427e", - "description": "文件MD5哈希" - }, - "fileName": { - "type": "string", - "example": "photo.jpg", - "description": "文件名" - }, - "fileSize": { - "type": "integer", - "format": "int64", - "example": 1048576, - "description": "文件大小(字节)" - }, - "forcePresigned": { - "type": "boolean", - "example": false, - "description": "强制使用预签名URL(跳过STS分片模式)" - }, - "groupKey": { - "type": "string", - "example": "scenic", - "description": "业务分组" - } - }, - "title": "上传令牌请求" - }, - "上传确认请求": { - "type": "object", - "required": [ - "fileId" - ], - "properties": { - "fileId": { - "type": "string", - "example": 1234567890, - "description": "文件ID" - } - }, - "title": "上传确认请求" - }, - "文件信息": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "fileHash": { - "type": "string", - "description": "文件MD5哈希" - }, - "fileId": { - "type": "string", - "description": "文件ID" - }, - "fileName": { - "type": "string", - "description": "文件名" - }, - "fileSize": { - "type": "integer", - "format": "int64", - "description": "文件大小(字节)" - }, - "fileType": { - "type": "string", - "description": "文件类型" - }, - "groupKey": { - "type": "string", - "description": "业务分组" - }, - "mimeType": { - "type": "string", - "description": "MIME类型" - }, - "ossUrl": { - "type": "string", - "description": "OSS地址" - }, - "previewUrl": { - "type": "string", - "description": "预览地址" - }, - "refCount": { - "type": "integer", - "format": "int32", - "description": "引用次数" - }, - "status": { - "type": "string", - "description": "文件状态" - }, - "thumbnailUrl": { - "type": "string", - "description": "缩略图地址" - } - }, - "title": "文件信息" - }, - "文件引用信息": { - "type": "object", - "properties": { - "bizId": { - "type": "string", - "description": "业务ID" - }, - "bizType": { - "type": "string", - "description": "业务类型" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "fileId": { - "type": "string", - "description": "文件ID" - }, - "refId": { - "type": "string", - "description": "引用ID" - } - }, - "title": "文件引用信息" - }, - "文件统计信息": { - "type": "object", - "properties": { - "countByGroup": { - "type": "object", - "description": "按分组统计文件数量", - "additionalProperties": { - "type": "integer", - "format": "int64" - } - }, - "countByType": { - "type": "object", - "description": "按类型统计文件数量", - "additionalProperties": { - "type": "integer", - "format": "int64" - } - }, - "sizeByType": { - "type": "object", - "description": "按类型统计文件大小", - "additionalProperties": { - "type": "integer", - "format": "int64" - } - }, - "totalCount": { - "type": "integer", - "format": "int64", - "description": "文件总数" - }, - "totalSize": { - "type": "integer", - "format": "int64", - "description": "文件总大小(字节)" - } - }, - "title": "文件统计信息" - }, - "统一响应结果«IPage«文件信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/IPage«文件信息»", - "originalRef": "IPage«文件信息»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«IPage«文件信息»»" - }, - "统一响应结果«List«文件引用信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/文件引用信息", - "originalRef": "文件引用信息" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«文件引用信息»»" - }, - "统一响应结果«Void»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Void»" - }, - "统一响应结果«上传令牌信息»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/上传令牌信息", - "originalRef": "上传令牌信息" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«上传令牌信息»" - }, - "统一响应结果«文件信息»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/文件信息", - "originalRef": "文件信息" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«文件信息»" - }, - "统一响应结果«文件统计信息»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/文件统计信息", - "originalRef": "文件统计信息" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«文件统计信息»" - } - } -} \ No newline at end of file diff --git a/api-docs/hl-guide-service.json b/api-docs/hl-guide-service.json deleted file mode 100644 index 8aa3fa4..0000000 --- a/api-docs/hl-guide-service.json +++ /dev/null @@ -1,2364 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "攻略服务", - "version": "1.0.0" - }, - "basePath": "/", - "paths": { - "/admin/guide/category": { - "post": { - "tags": [ - "攻略分类管理" - ], - "summary": "创建分类", - "description": "创建攻略分类,分类名称不可重复。创建后默认启用,排序值越小越靠前。\n\n**权限**:需管理员登录。", - "operationId": "createCategoryUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "CategoryCreateRequest", - "$ref": "#/definitions/CategoryCreateRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«攻略分类»", - "$ref": "#/definitions/统一响应结果«攻略分类»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«攻略分类»", - "$ref": "#/definitions/统一响应结果«攻略分类»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/guide/category/enabled": { - "get": { - "tags": [ - "攻略分类管理" - ], - "summary": "启用的分类列表", - "description": "仅返回状态为启用的分类,创建文章时用于选择分类", - "operationId": "listEnabledCategoriesUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«攻略分类»»", - "$ref": "#/definitions/统一响应结果«List«攻略分类»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«攻略分类»»", - "$ref": "#/definitions/统一响应结果«List«攻略分类»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/guide/category/list": { - "get": { - "tags": [ - "攻略分类管理" - ], - "summary": "分类列表", - "description": "返回全部攻略分类(含启用和停用),按排序值升序排列\n\n**关联字典**:\n- common_status:通用状态(列表显示,ACTIVE=启用/INACTIVE=停用)", - "operationId": "listCategoriesUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«攻略分类»»", - "$ref": "#/definitions/统一响应结果«List«攻略分类»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«攻略分类»»", - "$ref": "#/definitions/统一响应结果«List«攻略分类»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/guide/category/{categoryId}": { - "put": { - "tags": [ - "攻略分类管理" - ], - "summary": "更新分类", - "description": "更新攻略分类的名称、图标、描述等信息。\n\n**权限**:需管理员登录。", - "operationId": "updateCategoryUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "categoryId", - "in": "path", - "description": "categoryId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "CategoryUpdateRequest", - "$ref": "#/definitions/CategoryUpdateRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«攻略分类»", - "$ref": "#/definitions/统一响应结果«攻略分类»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«攻略分类»", - "$ref": "#/definitions/统一响应结果«攻略分类»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "攻略分类管理" - ], - "summary": "删除分类", - "description": "删除分类前需确保分类下无文章,否则删除失败", - "operationId": "deleteCategoryUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "categoryId", - "in": "path", - "description": "categoryId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/guide/category/{categoryId}/sort": { - "put": { - "tags": [ - "攻略分类管理" - ], - "summary": "更新分类排序", - "description": "更新分类的排序值,排序值越小越靠前。影响小程序端分类导航的展示顺序。\n\n**权限**:需管理员登录。", - "operationId": "updateSortUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "categoryId", - "in": "path", - "description": "categoryId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "CategorySortRequest", - "$ref": "#/definitions/CategorySortRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/guide/category/{categoryId}/status": { - "put": { - "tags": [ - "攻略分类管理" - ], - "summary": "更新分类状态", - "description": "启用或停用分类。停用后该分类下的文章不会在小程序端展示,但不影响已有文章\n\n**关联字典**:\n- common_status:通用状态(状态切换,ACTIVE=启用/INACTIVE=停用)", - "operationId": "updateStatusUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "categoryId", - "in": "path", - "description": "categoryId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "StatusRequest", - "$ref": "#/definitions/StatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/guide/article": { - "post": { - "tags": [ - "攻略文章管理" - ], - "summary": "创建文章", - "description": "创建攻略文章,需指定分类。创建后默认为草稿状态,需手动发布后小程序端才可见。\n\n**权限**:需管理员登录。\n\n**关联字典**:\n- wiki_status:文章状态(创建后默认DRAFT)", - "operationId": "createArticleUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "ArticleCreateRequest", - "$ref": "#/definitions/ArticleCreateRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«攻略文章详情»", - "$ref": "#/definitions/统一响应结果«攻略文章详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«攻略文章详情»", - "$ref": "#/definitions/统一响应结果«攻略文章详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/guide/article/list": { - "get": { - "tags": [ - "攻略文章管理" - ], - "summary": "文章列表", - "description": "分页查询攻略文章,支持按分类、状态、关键词筛选\n\n**关联字典**:\n- wiki_status:文章状态(列表筛选+显示)", - "operationId": "listArticlesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "categoryId", - "in": "query", - "description": "分类ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "isRecommend", - "in": "query", - "description": "是否推荐:0=否,1=是", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "isTop", - "in": "query", - "description": "是否置顶:0=否,1=是", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "keyword", - "in": "query", - "description": "关键词(搜索标题/摘要)", - "required": false, - "type": "string" - }, - { - "name": "orderBy", - "in": "query", - "description": "排序字段:sortOrder/publishTime/viewCount/createdAt(默认createdAt)", - "required": false, - "type": "string" - }, - { - "name": "orderDir", - "in": "query", - "description": "排序方向:asc/desc(默认desc)", - "required": false, - "type": "string" - }, - { - "name": "page", - "in": "query", - "description": "页码(默认1)", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "pageSize", - "in": "query", - "description": "每页数量(默认20,最大100)", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "status", - "in": "query", - "description": "状态:0=草稿,1=已发布,2=已下架", - "required": false, - "type": "integer", - "format": "int32" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«分页结果«攻略文章列表项»»", - "$ref": "#/definitions/统一响应结果«分页结果«攻略文章列表项»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«分页结果«攻略文章列表项»»", - "$ref": "#/definitions/统一响应结果«分页结果«攻略文章列表项»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/guide/article/{articleId}": { - "get": { - "tags": [ - "攻略文章管理" - ], - "summary": "文章详情", - "description": "**关联字典**:\n- wiki_status:文章状态(显示)", - "operationId": "getArticleUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "articleId", - "in": "path", - "description": "articleId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«攻略文章详情»", - "$ref": "#/definitions/统一响应结果«攻略文章详情»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«攻略文章详情»", - "$ref": "#/definitions/统一响应结果«攻略文章详情»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "攻略文章管理" - ], - "summary": "更新文章", - "description": "更新攻略文章的标题、内容、封面图、分类等信息。已发布的文章更新后立即生效。\n\n**权限**:需管理员登录。", - "operationId": "updateArticleUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "articleId", - "in": "path", - "description": "articleId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "ArticleUpdateRequest", - "$ref": "#/definitions/ArticleUpdateRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«攻略文章详情»", - "$ref": "#/definitions/统一响应结果«攻略文章详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«攻略文章详情»", - "$ref": "#/definitions/统一响应结果«攻略文章详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "攻略文章管理" - ], - "summary": "删除文章", - "description": "软删除攻略文章,同时清除文章的标签关联。\n\n**权限**:需管理员登录。", - "operationId": "deleteArticleUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "articleId", - "in": "path", - "description": "articleId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/guide/article/{articleId}/recommend": { - "put": { - "tags": [ - "攻略文章管理" - ], - "summary": "设置推荐", - "description": "设置/取消文章推荐。推荐文章会在小程序首页和推荐列表中优先展示", - "operationId": "updateRecommendUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "articleId", - "in": "path", - "description": "articleId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "RecommendRequest", - "$ref": "#/definitions/RecommendRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/guide/article/{articleId}/status": { - "put": { - "tags": [ - "攻略文章管理" - ], - "summary": "发布/下架", - "description": "切换文章发布状态。发布后小程序端可见,下架后小程序端不再展示但管理端仍可查看\n\n**关联字典**:\n- wiki_status:文章状态(状态切换)", - "operationId": "updateStatusUsingPUT_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "articleId", - "in": "path", - "description": "articleId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "StatusRequest", - "$ref": "#/definitions/StatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/guide/article/{articleId}/top": { - "put": { - "tags": [ - "攻略文章管理" - ], - "summary": "设置置顶", - "description": "设置/取消文章置顶。置顶文章在分类列表中始终排在最前面", - "operationId": "updateTopUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "articleId", - "in": "path", - "description": "articleId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "TopRequest", - "$ref": "#/definitions/TopRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/guide/tag": { - "post": { - "tags": [ - "攻略标签管理" - ], - "summary": "创建标签", - "description": "创建攻略系统标签,标签名称不可重复。创建后可用于文章分类和筛选。\n\n**权限**:需管理员登录。", - "operationId": "createTagUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "TagCreateRequest", - "$ref": "#/definitions/TagCreateRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«攻略标签»", - "$ref": "#/definitions/统一响应结果«攻略标签»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«攻略标签»", - "$ref": "#/definitions/统一响应结果«攻略标签»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/guide/tag/all": { - "get": { - "tags": [ - "攻略标签管理" - ], - "summary": "所有标签列表", - "description": "返回全部标签(含系统标签和用户自定义标签),用于文章编辑时的标签选择器", - "operationId": "listAllTagsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«攻略标签»»", - "$ref": "#/definitions/统一响应结果«List«攻略标签»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«攻略标签»»", - "$ref": "#/definitions/统一响应结果«List«攻略标签»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/guide/tag/article/{articleId}": { - "put": { - "tags": [ - "攻略标签管理" - ], - "summary": "更新文章标签", - "description": "全量替换文章的标签关联,传入新的标签ID列表(空数组表示清除所有标签)", - "operationId": "updateArticleTagsUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "articleId", - "in": "path", - "description": "articleId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "ArticleTagUpdateRequest", - "$ref": "#/definitions/ArticleTagUpdateRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/guide/tag/managed": { - "get": { - "tags": [ - "攻略标签管理" - ], - "summary": "系统标签列表", - "description": "返回管理员创建的系统标签(不含用户自定义标签),用于标签管理页", - "operationId": "listManagedTagsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«攻略标签»»", - "$ref": "#/definitions/统一响应结果«List«攻略标签»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«攻略标签»»", - "$ref": "#/definitions/统一响应结果«List«攻略标签»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/guide/tag/{tagId}": { - "put": { - "tags": [ - "攻略标签管理" - ], - "summary": "更新标签", - "description": "更新标签名称。标签名称不可与其他已有标签重复。\n\n**权限**:需管理员登录。", - "operationId": "updateTagUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "TagUpdateRequest", - "$ref": "#/definitions/TagUpdateRequest" - } - }, - { - "name": "tagId", - "in": "path", - "description": "tagId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«攻略标签»", - "$ref": "#/definitions/统一响应结果«攻略标签»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«攻略标签»", - "$ref": "#/definitions/统一响应结果«攻略标签»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "攻略标签管理" - ], - "summary": "删除标签", - "description": "删除标签并自动解除与所有文章的关联关系。\n\n**权限**:需管理员登录。", - "operationId": "deleteTagUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "tagId", - "in": "path", - "description": "tagId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - } - }, - "definitions": { - "CategoryCreateRequest": { - "type": "object", - "required": [ - "categoryName" - ], - "properties": { - "categoryName": { - "type": "string", - "description": "分类名称" - }, - "coverMaterialId": { - "type": "integer", - "format": "int64", - "description": "封面素材ID" - }, - "coverUrl": { - "type": "string", - "description": "封面URL" - }, - "description": { - "type": "string", - "description": "描述" - }, - "icon": { - "type": "string", - "description": "图标" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序(默认0)" - } - }, - "title": "CategoryCreateRequest" - }, - "CategorySortRequest": { - "type": "object", - "required": [ - "sortOrder" - ], - "properties": { - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序值" - } - }, - "title": "CategorySortRequest" - }, - "CategoryUpdateRequest": { - "type": "object", - "properties": { - "categoryName": { - "type": "string", - "description": "分类名称" - }, - "coverMaterialId": { - "type": "integer", - "format": "int64", - "description": "封面素材ID" - }, - "coverUrl": { - "type": "string", - "description": "封面URL" - }, - "description": { - "type": "string", - "description": "描述" - }, - "icon": { - "type": "string", - "description": "图标" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序" - } - }, - "title": "CategoryUpdateRequest" - }, - "StatusRequest": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "integer", - "format": "int32", - "description": "状态值" - } - }, - "title": "StatusRequest" - }, - "攻略分类": { - "type": "object", - "properties": { - "articleCount": { - "type": "integer", - "format": "int32", - "description": "文章数量" - }, - "categoryId": { - "type": "integer", - "format": "int64", - "description": "分类ID" - }, - "categoryName": { - "type": "string", - "description": "分类名称" - }, - "coverMaterialId": { - "type": "integer", - "format": "int64", - "description": "封面素材ID" - }, - "coverUrl": { - "type": "string", - "description": "封面URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "description": { - "type": "string", - "description": "描述" - }, - "icon": { - "type": "string", - "description": "图标" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=禁用,1=启用" - } - }, - "title": "攻略分类" - }, - "统一响应结果«List«攻略分类»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "攻略分类", - "$ref": "#/definitions/攻略分类" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«攻略分类»»" - }, - "统一响应结果«Void»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Void»" - }, - "统一响应结果«攻略分类»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "攻略分类", - "$ref": "#/definitions/攻略分类" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«攻略分类»" - }, - "ArticleCreateRequest": { - "type": "object", - "required": [ - "categoryId", - "title" - ], - "properties": { - "authorName": { - "type": "string", - "description": "作者名称" - }, - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "integer", - "format": "int64" - } - }, - "categoryId": { - "type": "integer", - "format": "int64", - "description": "分类ID" - }, - "content": { - "type": "string", - "description": "正文内容" - }, - "coverMaterialId": { - "type": "integer", - "format": "int64", - "description": "封面素材ID" - }, - "coverUrl": { - "type": "string", - "description": "封面URL" - }, - "resources": { - "type": "array", - "description": "关联资源列表", - "items": { - "originalRef": "ArticleResourceItem", - "$ref": "#/definitions/ArticleResourceItem" - } - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序(默认0)" - }, - "source": { - "type": "string", - "description": "来源" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "summary": { - "type": "string", - "description": "摘要" - }, - "tagIds": { - "type": "array", - "description": "标签ID列表", - "items": { - "type": "integer", - "format": "int64" - } - }, - "title": { - "type": "string", - "description": "标题" - } - }, - "title": "ArticleCreateRequest" - }, - "ArticleResourceItem": { - "type": "object", - "required": [ - "resourceId", - "resourceName", - "resourceType" - ], - "properties": { - "resourceId": { - "type": "integer", - "format": "int64", - "description": "资源ID" - }, - "resourceName": { - "type": "string", - "description": "资源名称" - }, - "resourceType": { - "type": "string", - "description": "资源类型:SCENIC/RESTAURANT/HOTEL/ACTIVITY/PRODUCT" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序" - } - }, - "title": "ArticleResourceItem" - }, - "ArticleUpdateRequest": { - "type": "object", - "properties": { - "authorName": { - "type": "string", - "description": "作者名称" - }, - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "integer", - "format": "int64" - } - }, - "categoryId": { - "type": "integer", - "format": "int64", - "description": "分类ID" - }, - "content": { - "type": "string", - "description": "正文内容" - }, - "coverMaterialId": { - "type": "integer", - "format": "int64", - "description": "封面素材ID" - }, - "coverUrl": { - "type": "string", - "description": "封面URL" - }, - "resources": { - "type": "array", - "description": "关联资源列表", - "items": { - "originalRef": "ArticleResourceItem", - "$ref": "#/definitions/ArticleResourceItem" - } - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序" - }, - "source": { - "type": "string", - "description": "来源" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "summary": { - "type": "string", - "description": "摘要" - }, - "tagIds": { - "type": "array", - "description": "标签ID列表", - "items": { - "type": "integer", - "format": "int64" - } - }, - "title": { - "type": "string", - "description": "标题" - } - }, - "title": "ArticleUpdateRequest" - }, - "RecommendRequest": { - "type": "object", - "required": [ - "isRecommend" - ], - "properties": { - "isRecommend": { - "type": "integer", - "format": "int32", - "description": "是否推荐:0=否,1=是" - } - }, - "title": "RecommendRequest" - }, - "TopRequest": { - "type": "object", - "required": [ - "isTop" - ], - "properties": { - "isTop": { - "type": "integer", - "format": "int32", - "description": "是否置顶:0=否,1=是" - } - }, - "title": "TopRequest" - }, - "分页结果«攻略文章列表项»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "originalRef": "攻略文章列表项", - "$ref": "#/definitions/攻略文章列表项" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«攻略文章列表项»" - }, - "攻略文章列表项": { - "type": "object", - "properties": { - "articleId": { - "type": "integer", - "format": "int64", - "description": "文章ID" - }, - "categoryId": { - "type": "integer", - "format": "int64", - "description": "分类ID" - }, - "categoryName": { - "type": "string", - "description": "分类名称" - }, - "coverUrl": { - "type": "string", - "description": "封面URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "isRecommend": { - "type": "integer", - "format": "int32", - "description": "是否推荐:0=否,1=是" - }, - "isTop": { - "type": "integer", - "format": "int32", - "description": "是否置顶:0=否,1=是" - }, - "publishTime": { - "type": "string", - "format": "date-time", - "description": "发布时间" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿,1=已发布,2=已下架" - }, - "summary": { - "type": "string", - "description": "摘要" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "originalRef": "攻略标签", - "$ref": "#/definitions/攻略标签" - } - }, - "title": { - "type": "string", - "description": "标题" - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - } - }, - "title": "攻略文章列表项" - }, - "攻略文章详情": { - "type": "object", - "properties": { - "articleId": { - "type": "integer", - "format": "int64", - "description": "文章ID" - }, - "authorName": { - "type": "string", - "description": "作者名称" - }, - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "integer", - "format": "int64" - } - }, - "categoryId": { - "type": "integer", - "format": "int64", - "description": "分类ID" - }, - "categoryName": { - "type": "string", - "description": "分类名称" - }, - "content": { - "type": "string", - "description": "正文内容" - }, - "coverMaterialId": { - "type": "integer", - "format": "int64", - "description": "封面素材ID" - }, - "coverUrl": { - "type": "string", - "description": "封面URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "favoriteCount": { - "type": "integer", - "format": "int32", - "description": "收藏数" - }, - "isRecommend": { - "type": "integer", - "format": "int32", - "description": "是否推荐:0=否,1=是" - }, - "isTop": { - "type": "integer", - "format": "int32", - "description": "是否置顶:0=否,1=是" - }, - "likeCount": { - "type": "integer", - "format": "int32", - "description": "点赞数" - }, - "publishTime": { - "type": "string", - "format": "date-time", - "description": "发布时间" - }, - "resources": { - "type": "array", - "description": "关联资源列表", - "items": { - "originalRef": "文章关联资源", - "$ref": "#/definitions/文章关联资源" - } - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序" - }, - "source": { - "type": "string", - "description": "来源" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿,1=已发布,2=已下架" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "summary": { - "type": "string", - "description": "摘要" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "originalRef": "攻略标签", - "$ref": "#/definitions/攻略标签" - } - }, - "title": { - "type": "string", - "description": "标题" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - } - }, - "title": "攻略文章详情" - }, - "攻略标签": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "tagColor": { - "type": "string", - "description": "标签颜色" - }, - "tagId": { - "type": "integer", - "format": "int64", - "description": "标签ID" - }, - "tagName": { - "type": "string", - "description": "标签名称" - }, - "tagType": { - "type": "integer", - "format": "int32", - "description": "标签类型:0=系统管理,1=自定义" - }, - "useCount": { - "type": "integer", - "format": "int32", - "description": "使用次数" - } - }, - "title": "攻略标签" - }, - "文章关联资源": { - "type": "object", - "properties": { - "resourceId": { - "type": "integer", - "format": "int64", - "description": "资源ID" - }, - "resourceName": { - "type": "string", - "description": "资源名称" - }, - "resourceType": { - "type": "string", - "description": "资源类型:SCENIC/RESTAURANT/HOTEL/ACTIVITY/PRODUCT" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序" - } - }, - "title": "文章关联资源" - }, - "统一响应结果«分页结果«攻略文章列表项»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "分页结果«攻略文章列表项»", - "$ref": "#/definitions/分页结果«攻略文章列表项»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«攻略文章列表项»»" - }, - "统一响应结果«攻略文章详情»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "攻略文章详情", - "$ref": "#/definitions/攻略文章详情" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«攻略文章详情»" - }, - "ArticleTagUpdateRequest": { - "type": "object", - "required": [ - "tagIds" - ], - "properties": { - "tagIds": { - "type": "array", - "description": "标签ID列表", - "items": { - "type": "integer", - "format": "int64" - } - } - }, - "title": "ArticleTagUpdateRequest" - }, - "TagCreateRequest": { - "type": "object", - "required": [ - "tagName" - ], - "properties": { - "tagColor": { - "type": "string", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "description": "标签名称" - }, - "tagType": { - "type": "integer", - "format": "int32", - "description": "标签类型:0=系统管理,1=自定义(默认0)" - } - }, - "title": "TagCreateRequest" - }, - "TagUpdateRequest": { - "type": "object", - "properties": { - "tagColor": { - "type": "string", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "description": "标签名称" - } - }, - "title": "TagUpdateRequest" - }, - "统一响应结果«List«攻略标签»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "攻略标签", - "$ref": "#/definitions/攻略标签" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«攻略标签»»" - }, - "统一响应结果«攻略标签»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "攻略标签", - "$ref": "#/definitions/攻略标签" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«攻略标签»" - } - } -} \ No newline at end of file diff --git a/api-docs/hl-material-service.json b/api-docs/hl-material-service.json deleted file mode 100644 index 4deac9d..0000000 --- a/api-docs/hl-material-service.json +++ /dev/null @@ -1,3190 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "素材服务", - "version": "1.0.0" - }, - "basePath": "/", - "paths": { - "/admin/material/batch": { - "delete": { - "tags": [ - "素材管理" - ], - "summary": "批量删除素材", - "description": "批量删除素材,返回删除结果(成功数/失败数/失败原因)。有引用关系的素材会跳过并记录失败原因", - "operationId": "batchDeleteUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量删除请求", - "required": false, - "schema": { - "$ref": "#/definitions/批量删除素材请求", - "originalRef": "批量删除素材请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«批量删除结果»", - "originalRef": "统一响应结果«批量删除结果»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«批量删除结果»", - "originalRef": "统一响应结果«批量删除结果»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/batch/tags": { - "put": { - "tags": [ - "素材管理" - ], - "summary": "批量更新标签", - "description": "对多个素材同时添加和/或移除标签,支持增量操作(addTagIds新增,removeTagIds移除)", - "operationId": "batchUpdateTagsUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量标签更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/批量标签操作请求", - "originalRef": "批量标签操作请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/categories": { - "get": { - "tags": [ - "素材管理" - ], - "summary": "获取有权限的分类列表(含素材数量)", - "description": "返回当前角色有权限查看的素材分类树,每个分类包含素材数量统计。超级管理员可见全部分类", - "operationId": "getCategoriesUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«素材分类信息»»", - "originalRef": "统一响应结果«List«素材分类信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«素材分类信息»»", - "originalRef": "统一响应结果«List«素材分类信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/category/permissions/{roleCode}": { - "get": { - "tags": [ - "素材分类权限管理" - ], - "summary": "获取角色的分类权限", - "description": "仅超级管理员可操作。返回指定角色可访问的素材分类编码列表", - "operationId": "getPermissionsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "roleCode", - "in": "path", - "description": "角色编码", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«string»»", - "originalRef": "统一响应结果«List«string»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«string»»", - "originalRef": "统一响应结果«List«string»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "素材分类权限管理" - ], - "summary": "更新角色的分类权限", - "description": "仅超级管理员可操作。全量替换指定角色的素材分类访问权限,传入允许访问的分类编码列表", - "operationId": "updatePermissionsUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "分类权限更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/分类权限更新请求", - "originalRef": "分类权限更新请求" - } - }, - { - "name": "roleCode", - "in": "path", - "description": "角色编码", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/category/sub": { - "post": { - "tags": [ - "素材管理" - ], - "summary": "创建子分类", - "description": "在一级分类下创建子分类,分类编码自动生成。子分类用于更细粒度的素材归档", - "operationId": "createSubCategoryUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "子分类创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/Create subcategory request", - "originalRef": "Create subcategory request" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材分类信息»", - "originalRef": "统一响应结果«素材分类信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材分类信息»", - "originalRef": "统一响应结果«素材分类信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/category/sub/{categoryId}": { - "put": { - "tags": [ - "素材管理" - ], - "summary": "更新子分类", - "description": "更新子分类的名称或排序值。仅有该分类权限的管理员可操作。", - "operationId": "updateSubCategoryUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "categoryId", - "in": "path", - "description": "子分类ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "子分类更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/Update subcategory request", - "originalRef": "Update subcategory request" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材分类信息»", - "originalRef": "统一响应结果«素材分类信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材分类信息»", - "originalRef": "统一响应结果«素材分类信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "素材管理" - ], - "summary": "删除子分类", - "description": "删除子分类前需确保分类下无素材,否则删除失败", - "operationId": "deleteSubCategoryUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "categoryId", - "in": "path", - "description": "子分类ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/list": { - "get": { - "tags": [ - "素材管理" - ], - "summary": "素材列表", - "description": "分页查询素材,支持按分类、标签、文件类型、关键词筛选。返回结果受角色分类权限限制\n\n**关联字典**:\n- file_type:文件类型(列表筛选+显示)", - "operationId": "listMaterialsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "categoryCode", - "in": "query", - "description": "分类编码", - "required": false, - "type": "string", - "x-example": "scenic" - }, - { - "name": "createdBy", - "in": "query", - "description": "创建人ID", - "required": false, - "type": "integer", - "format": "int64", - "x-example": 1001 - }, - { - "name": "endDate", - "in": "query", - "description": "结束日期", - "required": false, - "type": "string", - "x-example": "2026-12-31" - }, - { - "name": "fileType", - "in": "query", - "description": "文件类型", - "required": false, - "type": "string", - "x-example": "image" - }, - { - "name": "keyword", - "in": "query", - "description": "搜索关键词", - "required": false, - "type": "string", - "x-example": "风景" - }, - { - "name": "orderBy", - "in": "query", - "description": "排序字段", - "required": false, - "type": "string", - "x-example": "createdAt" - }, - { - "name": "orderDir", - "in": "query", - "description": "排序方向: asc/desc", - "required": false, - "type": "string", - "x-example": "desc" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "startDate", - "in": "query", - "description": "开始日期", - "required": false, - "type": "string", - "x-example": "2026-01-01" - }, - { - "name": "subCategoryId", - "in": "query", - "description": "子分类ID", - "required": false, - "type": "integer", - "format": "int64", - "x-example": 2030000000000001 - }, - { - "name": "tagIds", - "in": "query", - "description": "标签ID列表(逗号分隔)", - "required": false, - "type": "string", - "x-example": "1,2,3" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«素材信息»»", - "originalRef": "统一响应结果«分页结果«素材信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«素材信息»»", - "originalRef": "统一响应结果«分页结果«素材信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/tag": { - "post": { - "tags": [ - "素材标签管理" - ], - "summary": "创建管理标签", - "description": "创建系统级素材标签,标签名称不可重复。创建后可用于素材分类和筛选。\n\n**权限**:需管理员登录。", - "operationId": "createTagUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "创建标签请求", - "required": false, - "schema": { - "$ref": "#/definitions/创建标签请求", - "originalRef": "创建标签请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材标签信息»", - "originalRef": "统一响应结果«素材标签信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材标签信息»", - "originalRef": "统一响应结果«素材标签信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/tag/adhoc": { - "post": { - "tags": [ - "素材标签管理" - ], - "summary": "解析自定义标签(按名称查找或创建)", - "description": "按标签名称查找已有标签,不存在则自动创建为用户自定义标签。用于素材上传时输入自由标签文本的场景。\n\n**权限**:需管理员登录。", - "operationId": "resolveAdHocTagUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "自定义标签请求", - "required": false, - "schema": { - "$ref": "#/definitions/创建标签请求", - "originalRef": "创建标签请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材标签信息»", - "originalRef": "统一响应结果«素材标签信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材标签信息»", - "originalRef": "统一响应结果«素材标签信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/tag/{tagId}": { - "put": { - "tags": [ - "素材标签管理" - ], - "summary": "编辑标签", - "description": "更新标签名称。标签名称不可与其他已有标签重复。\n\n**权限**:需管理员登录。", - "operationId": "updateTagUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "更新标签请求", - "required": false, - "schema": { - "$ref": "#/definitions/更新标签请求", - "originalRef": "更新标签请求" - } - }, - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材标签信息»", - "originalRef": "统一响应结果«素材标签信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材标签信息»", - "originalRef": "统一响应结果«素材标签信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "素材标签管理" - ], - "summary": "删除标签", - "description": "删除标签并自动解除与所有素材的关联关系。\n\n**权限**:需管理员登录。", - "operationId": "deleteTagUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/tags": { - "get": { - "tags": [ - "素材标签管理" - ], - "summary": "获取管理标签(标签管理用)", - "description": "返回管理员创建的系统标签列表(不含用户自定义标签),用于标签管理页的CRUD操作。", - "operationId": "listManagedTagsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«素材标签信息»»", - "originalRef": "统一响应结果«List«素材标签信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«素材标签信息»»", - "originalRef": "统一响应结果«List«素材标签信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/tags/all": { - "get": { - "tags": [ - "素材标签管理" - ], - "summary": "获取全部标签(选择器用,含自定义标签)", - "description": "返回所有标签(含系统标签和用户自定义标签),用于素材上传/编辑时的标签选择器。", - "operationId": "listAllTagsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«素材标签信息»»", - "originalRef": "统一响应结果«List«素材标签信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«素材标签信息»»", - "originalRef": "统一响应结果«List«素材标签信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/upload/chunk": { - "post": { - "tags": [ - "素材管理" - ], - "summary": "分片上传-上传分片", - "description": "大文件上传第二步:逐个上传分片数据,分片索引从0开始。支持断点续传,已上传的分片无需重传。", - "operationId": "chunkUploadPartUsingPOST", - "consumes": [ - "multipart/form-data" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "chunk", - "in": "formData", - "description": "分片文件", - "required": false, - "type": "file" - }, - { - "name": "chunkIndex", - "in": "query", - "description": "分片索引(从0开始)", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "uploadId", - "in": "query", - "description": "上传ID", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分片上传结果»", - "originalRef": "统一响应结果«分片上传结果»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分片上传结果»", - "originalRef": "统一响应结果«分片上传结果»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/upload/chunk/cancel": { - "post": { - "tags": [ - "素材管理" - ], - "summary": "分片上传-取消", - "description": "取消分片上传任务,清理已上传的分片数据和OSS临时文件。仅上传发起者可取消。", - "operationId": "chunkUploadCancelUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "分片上传取消请求", - "required": false, - "schema": { - "$ref": "#/definitions/分片上传取消请求", - "originalRef": "分片上传取消请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/upload/chunk/complete": { - "post": { - "tags": [ - "素材管理" - ], - "summary": "分片上传-完成合并", - "description": "大文件上传第三步:所有分片上传完成后调用,OSS端合并分片为完整文件并创建素材记录。", - "operationId": "chunkUploadCompleteUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "分片上传完成请求", - "required": false, - "schema": { - "$ref": "#/definitions/分片上传完成请求", - "originalRef": "分片上传完成请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材信息»", - "originalRef": "统一响应结果«素材信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材信息»", - "originalRef": "统一响应结果«素材信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/upload/chunk/init": { - "post": { - "tags": [ - "素材管理" - ], - "summary": "分片上传-初始化", - "description": "大文件上传第一步:初始化分片上传任务,返回uploadId和每个分片的预签名URL。前端按分片并发上传后调用完成合并接口。\n\n**权限**:需管理员登录,受角色分类权限限制。", - "operationId": "chunkUploadInitUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "分片上传初始化请求", - "required": false, - "schema": { - "$ref": "#/definitions/分片上传初始化请求", - "originalRef": "分片上传初始化请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分片上传初始化结果»", - "originalRef": "统一响应结果«分片上传初始化结果»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分片上传初始化结果»", - "originalRef": "统一响应结果«分片上传初始化结果»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/upload/confirm": { - "post": { - "tags": [ - "素材管理" - ], - "summary": "确认上传完成", - "description": "上传素材第二步:前端直传OSS完成后调用此接口创建素材记录,支持MD5去重\n\n**关联字典**:\n- material_tag:素材标签(上传时可选标签)", - "operationId": "confirmUploadUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "确认上传请求", - "required": false, - "schema": { - "$ref": "#/definitions/素材上传确认请求", - "originalRef": "素材上传确认请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材信息»", - "originalRef": "统一响应结果«素材信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材信息»", - "originalRef": "统一响应结果«素材信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/upload/folder": { - "post": { - "tags": [ - "素材管理" - ], - "summary": "文件夹上传初始化(创建分类+批量获取凭证)", - "description": "支持整个文件夹上传:自动根据文件夹名创建子分类,为每个文件批量获取上传凭证,前端逐一上传后批量确认", - "operationId": "folderUploadInitUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "文件夹上传初始化请求", - "required": false, - "schema": { - "$ref": "#/definitions/文件夹上传初始化请求", - "originalRef": "文件夹上传初始化请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«文件夹上传初始化结果»", - "originalRef": "统一响应结果«文件夹上传初始化结果»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«文件夹上传初始化结果»", - "originalRef": "统一响应结果«文件夹上传初始化结果»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/upload/token": { - "post": { - "tags": [ - "素材管理" - ], - "summary": "获取上传凭证", - "description": "上传素材第一步:获取OSS预签名URL和凭证。前端使用凭证直传OSS后调用确认上传。支持基于角色的分类权限校验", - "operationId": "requestUploadTokenUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "上传凭证请求", - "required": false, - "schema": { - "$ref": "#/definitions/素材上传令牌请求", - "originalRef": "素材上传令牌请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材上传令牌信息»", - "originalRef": "统一响应结果«素材上传令牌信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材上传令牌信息»", - "originalRef": "统一响应结果«素材上传令牌信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/{materialId}": { - "get": { - "tags": [ - "素材管理" - ], - "summary": "素材详情", - "description": "返回素材完整信息,包含文件名、URL、分类、标签、文件大小、上传者等。受角色分类权限限制。\n\n**关联字典**:\n- file_type:文件类型(显示)", - "operationId": "getMaterialUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "materialId", - "in": "path", - "description": "素材ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材信息»", - "originalRef": "统一响应结果«素材信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材信息»", - "originalRef": "统一响应结果«素材信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "素材管理" - ], - "summary": "更新素材信息", - "description": "**关联字典**:\n- material_tag:素材标签(编辑时选择标签)", - "operationId": "updateMaterialUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "materialId", - "in": "path", - "description": "素材ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "素材更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/更新素材请求", - "originalRef": "更新素材请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材信息»", - "originalRef": "统一响应结果«素材信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«素材信息»", - "originalRef": "统一响应结果«素材信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "素材管理" - ], - "summary": "删除素材", - "description": "删除素材记录。如果素材存在引用关系(被景区、酒店等使用),则不允许删除", - "operationId": "deleteMaterialUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "materialId", - "in": "path", - "description": "素材ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/{materialId}/refs": { - "get": { - "tags": [ - "素材管理" - ], - "summary": "查看素材引用记录", - "description": "查看素材被哪些业务实体引用(如景区封面、酒店轮播图等),用于判断素材是否可安全删除", - "operationId": "getMaterialRefsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "materialId", - "in": "path", - "description": "素材ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«素材引用信息»»", - "originalRef": "统一响应结果«List«素材引用信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«素材引用信息»»", - "originalRef": "统一响应结果«List«素材引用信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/material/{materialId}/tags": { - "put": { - "tags": [ - "素材管理" - ], - "summary": "更新素材标签", - "description": "全量替换单个素材的标签,传入新的标签ID列表", - "operationId": "updateMaterialTagsUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "materialId", - "in": "path", - "description": "素材ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "素材标签更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/更新素材标签请求", - "originalRef": "更新素材标签请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/material/miniprogram": { - "get": { - "tags": [ - "小程序-素材" - ], - "summary": "获取小程序分类下的全部素材", - "description": "返回miniprogram分类下的所有素材,用于小程序端展示公共素材资源(如引导页图片、默认头像等)", - "operationId": "listMiniprogramMaterialsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«素材信息»»", - "originalRef": "统一响应结果«List«素材信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«素材信息»»", - "originalRef": "统一响应结果«List«素材信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - } - }, - "definitions": { - "Create subcategory request": { - "type": "object", - "required": [ - "categoryName", - "parentCode" - ], - "properties": { - "categoryName": { - "type": "string", - "example": "乌兰山", - "description": "子分类名称" - }, - "parentCode": { - "type": "string", - "example": "scenic", - "description": "根分类编码(scenic/hotel等)" - }, - "parentId": { - "type": "integer", - "format": "int64", - "example": 1234567890, - "description": "父子分类ID(为空则创建在根分类下)" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序值" - } - }, - "title": "Create subcategory request" - }, - "STS临时凭证信息": { - "type": "object", - "properties": { - "accessKeyId": { - "type": "string", - "description": "AccessKey ID" - }, - "accessKeySecret": { - "type": "string", - "description": "AccessKey Secret" - }, - "expiration": { - "type": "string", - "description": "过期时间" - }, - "securityToken": { - "type": "string", - "description": "安全令牌" - } - }, - "title": "STS临时凭证信息" - }, - "Update subcategory request": { - "type": "object", - "properties": { - "categoryName": { - "type": "string", - "example": "Hulunbuir", - "description": "Subcategory name" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "Sort order" - } - }, - "title": "Update subcategory request" - }, - "分片上传初始化结果": { - "type": "object", - "properties": { - "chunkSize": { - "type": "integer", - "format": "int32", - "description": "推荐分片大小(字节)" - }, - "uploadId": { - "type": "string", - "description": "上传ID" - } - }, - "title": "分片上传初始化结果" - }, - "分片上传初始化请求": { - "type": "object", - "required": [ - "contentType", - "fileSize", - "filename" - ], - "properties": { - "contentType": { - "type": "string", - "description": "文件MIME类型" - }, - "fileSize": { - "type": "integer", - "format": "int64", - "description": "文件大小(字节)" - }, - "filename": { - "type": "string", - "description": "文件名" - }, - "materialId": { - "type": "string", - "description": "关联素材ID(可选,用于更新已有素材)" - } - }, - "title": "分片上传初始化请求" - }, - "分片上传取消请求": { - "type": "object", - "required": [ - "uploadId" - ], - "properties": { - "uploadId": { - "type": "string", - "description": "上传ID" - } - }, - "title": "分片上传取消请求" - }, - "分片上传完成请求": { - "type": "object", - "required": [ - "uploadId" - ], - "properties": { - "uploadId": { - "type": "string", - "description": "上传ID" - } - }, - "title": "分片上传完成请求" - }, - "分片上传结果": { - "type": "object", - "properties": { - "etag": { - "type": "string", - "description": "分片ETag" - } - }, - "title": "分片上传结果" - }, - "分类权限更新请求": { - "type": "object", - "required": [ - "categoryCodes" - ], - "properties": { - "categoryCodes": { - "type": "array", - "description": "分类编码列表", - "items": { - "type": "string" - } - } - }, - "title": "分类权限更新请求" - }, - "分页结果«素材信息»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/素材信息", - "originalRef": "素材信息" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«素材信息»" - }, - "创建标签请求": { - "type": "object", - "required": [ - "tagName" - ], - "properties": { - "tagColor": { - "type": "string", - "example": "#409EFF", - "description": "标签颜色" - }, - "tagName": { - "type": "string", - "example": "风景", - "description": "标签名称" - } - }, - "title": "创建标签请求" - }, - "删除失败项": { - "type": "object", - "properties": { - "materialId": { - "type": "string", - "description": "素材ID" - }, - "reason": { - "type": "string", - "description": "失败原因" - } - }, - "title": "删除失败项" - }, - "批量删除素材请求": { - "type": "object", - "required": [ - "materialIds" - ], - "properties": { - "materialIds": { - "type": "array", - "description": "素材ID列表", - "items": { - "type": "string" - } - } - }, - "title": "批量删除素材请求" - }, - "批量删除结果": { - "type": "object", - "properties": { - "failedItems": { - "type": "array", - "description": "失败项列表", - "items": { - "$ref": "#/definitions/删除失败项", - "originalRef": "删除失败项" - } - }, - "successCount": { - "type": "integer", - "format": "int32", - "description": "成功删除数量" - } - }, - "title": "批量删除结果" - }, - "批量标签操作请求": { - "type": "object", - "required": [ - "materialIds" - ], - "properties": { - "addTagIds": { - "type": "array", - "description": "要添加的标签ID列表", - "items": { - "type": "string" - } - }, - "materialIds": { - "type": "array", - "description": "素材ID列表", - "items": { - "type": "string" - } - }, - "removeTagIds": { - "type": "array", - "description": "要移除的标签ID列表", - "items": { - "type": "string" - } - } - }, - "title": "批量标签操作请求" - }, - "文件上传凭证项": { - "type": "object", - "properties": { - "bucket": { - "type": "string", - "description": "OSS Bucket名称" - }, - "error": { - "type": "string", - "description": "错误信息(该文件获取凭证失败时)" - }, - "filename": { - "type": "string", - "description": "文件名" - }, - "folderPath": { - "type": "string", - "description": "文件夹路径" - }, - "instantUpload": { - "type": "boolean", - "description": "是否秒传(文件已存在)" - }, - "materialId": { - "type": "string", - "description": "素材ID" - }, - "ossKey": { - "type": "string", - "description": "OSS对象Key" - }, - "region": { - "type": "string", - "description": "OSS Region" - }, - "stsToken": { - "description": "STS临时凭证", - "$ref": "#/definitions/STS临时凭证信息", - "originalRef": "STS临时凭证信息" - }, - "uploadHeaders": { - "type": "object", - "description": "上传请求头", - "additionalProperties": { - "type": "string" - } - }, - "uploadMethod": { - "type": "string", - "description": "上传方式: PUT/POST" - }, - "uploadUrl": { - "type": "string", - "description": "上传URL" - } - }, - "title": "文件上传凭证项" - }, - "文件夹上传初始化结果": { - "type": "object", - "properties": { - "fileTokens": { - "type": "array", - "description": "各文件的上传凭证列表", - "items": { - "$ref": "#/definitions/文件上传凭证项", - "originalRef": "文件上传凭证项" - } - }, - "folderCategoryMap": { - "type": "object", - "description": "文件夹路径 → 子分类ID 映射", - "additionalProperties": { - "type": "string" - } - } - }, - "title": "文件夹上传初始化结果" - }, - "文件夹上传初始化请求": { - "type": "object", - "required": [ - "categoryCode", - "files", - "folderPaths" - ], - "properties": { - "categoryCode": { - "type": "string", - "example": "guide", - "description": "分类编码" - }, - "files": { - "type": "array", - "description": "文件列表", - "items": { - "$ref": "#/definitions/文件夹上传文件项", - "originalRef": "文件夹上传文件项" - } - }, - "folderPaths": { - "type": "array", - "description": "文件夹路径列表(如 [\"999\", \"999/888\"])", - "items": { - "type": "string" - } - } - }, - "title": "文件夹上传初始化请求" - }, - "文件夹上传文件项": { - "type": "object", - "required": [ - "contentType", - "fileSize", - "filename", - "folderPath", - "md5" - ], - "properties": { - "contentType": { - "type": "string", - "example": "image/jpeg", - "description": "文件MIME类型" - }, - "fileSize": { - "type": "integer", - "format": "int64", - "example": 1048576, - "description": "文件大小(字节)" - }, - "filename": { - "type": "string", - "example": "photo.jpg", - "description": "文件名" - }, - "folderPath": { - "type": "string", - "example": "999/888", - "description": "文件所在文件夹路径(与folderPaths中的路径对应)" - }, - "materialName": { - "type": "string", - "example": "风景图", - "description": "素材名称" - }, - "md5": { - "type": "string", - "example": "d41d8cd98f00b204e9800998ecf8427e", - "description": "文件MD5" - } - }, - "title": "文件夹上传文件项" - }, - "更新标签请求": { - "type": "object", - "properties": { - "tagColor": { - "type": "string", - "example": "#409EFF", - "description": "标签颜色" - }, - "tagName": { - "type": "string", - "example": "风景", - "description": "标签名称" - } - }, - "title": "更新标签请求" - }, - "更新素材标签请求": { - "type": "object", - "required": [ - "tagIds" - ], - "properties": { - "tagIds": { - "type": "array", - "description": "标签ID列表", - "items": { - "type": "string" - } - } - }, - "title": "更新素材标签请求" - }, - "更新素材请求": { - "type": "object", - "properties": { - "categoryCode": { - "type": "string", - "example": "scenic", - "description": "分类编码" - }, - "description": { - "type": "string", - "example": "九寨沟秋季风景", - "description": "素材描述" - }, - "materialName": { - "type": "string", - "example": "九寨沟风景图", - "description": "素材名称" - }, - "subCategoryId": { - "type": "integer", - "format": "int64", - "example": 2030000000000001, - "description": "子分类ID(0表示清除子分类)" - } - }, - "title": "更新素材请求" - }, - "素材上传令牌信息": { - "type": "object", - "properties": { - "bucket": { - "type": "string", - "description": "OSS Bucket名称" - }, - "contentType": { - "type": "string", - "description": "上传时必须使用的Content-Type(与预签名URL签名一致)" - }, - "expireAt": { - "type": "string", - "format": "date-time", - "description": "过期时间" - }, - "fileId": { - "type": "string", - "description": "文件ID" - }, - "instantUpload": { - "type": "boolean", - "description": "是否秒传" - }, - "material": { - "description": "秒传时返回的素材信息", - "$ref": "#/definitions/素材信息", - "originalRef": "素材信息" - }, - "materialId": { - "type": "string", - "description": "素材ID" - }, - "ossKey": { - "type": "string", - "description": "OSS对象Key" - }, - "region": { - "type": "string", - "description": "OSS Region" - }, - "stsToken": { - "description": "STS临时凭证", - "$ref": "#/definitions/STS临时凭证信息", - "originalRef": "STS临时凭证信息" - }, - "uploadMode": { - "type": "string", - "description": "上传模式: PRESIGNED_URL/STS_MULTIPART" - }, - "uploadUrl": { - "type": "string", - "description": "上传URL" - } - }, - "title": "素材上传令牌信息" - }, - "素材上传令牌请求": { - "type": "object", - "required": [ - "categoryCode", - "contentType", - "fileSize", - "filename", - "md5" - ], - "properties": { - "categoryCode": { - "type": "string", - "example": "scenic", - "description": "分类编码" - }, - "contentType": { - "type": "string", - "example": "image/jpeg", - "description": "文件MIME类型" - }, - "fileSize": { - "type": "integer", - "format": "int64", - "example": 1048576, - "description": "文件大小(字节)" - }, - "filename": { - "type": "string", - "example": "photo.jpg", - "description": "文件名" - }, - "materialName": { - "type": "string", - "example": "九寨沟风景图", - "description": "素材名称" - }, - "md5": { - "type": "string", - "example": "d41d8cd98f00b204e9800998ecf8427e", - "description": "文件MD5" - }, - "subCategoryId": { - "type": "integer", - "format": "int64", - "example": 2030000000000001, - "description": "子分类ID(文件夹上传时使用)" - } - }, - "title": "素材上传令牌请求" - }, - "素材上传确认请求": { - "type": "object", - "required": [ - "materialId" - ], - "properties": { - "description": { - "type": "string", - "example": "九寨沟秋季风景", - "description": "素材描述" - }, - "materialId": { - "type": "string", - "example": 1234567890, - "description": "素材ID" - }, - "tagIds": { - "type": "array", - "description": "标签ID列表", - "items": { - "type": "string" - } - } - }, - "title": "素材上传确认请求" - }, - "素材信息": { - "type": "object", - "properties": { - "categoryCode": { - "type": "string", - "description": "分类编码" - }, - "categoryName": { - "type": "string", - "description": "分类名称" - }, - "categoryPath": { - "type": "string", - "description": "完整分类路径(如:攻略管理 / 999 / 888)" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "string", - "description": "创建人ID" - }, - "createdByName": { - "type": "string", - "description": "创建人姓名" - }, - "description": { - "type": "string", - "description": "素材描述" - }, - "fileId": { - "type": "string", - "description": "文件ID" - }, - "fileName": { - "type": "string", - "description": "文件名" - }, - "fileSize": { - "type": "integer", - "format": "int64", - "description": "文件大小(字节)" - }, - "fileType": { - "type": "string", - "description": "文件类型" - }, - "imageHeight": { - "type": "integer", - "format": "int32", - "description": "图片高度" - }, - "imageWidth": { - "type": "integer", - "format": "int32", - "description": "图片宽度" - }, - "materialId": { - "type": "string", - "description": "素材ID" - }, - "materialName": { - "type": "string", - "description": "素材名称" - }, - "ossUrl": { - "type": "string", - "description": "OSS地址" - }, - "refCount": { - "type": "integer", - "format": "int32", - "description": "引用次数" - }, - "subCategoryId": { - "type": "string", - "description": "子分类ID" - }, - "subCategoryName": { - "type": "string", - "description": "子分类名称" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/素材标签信息", - "originalRef": "素材标签信息" - } - }, - "thumbnailUrl": { - "type": "string", - "description": "缩略图地址" - } - }, - "title": "素材信息" - }, - "素材分类信息": { - "type": "object", - "properties": { - "categoryCode": { - "type": "string", - "description": "分类编码" - }, - "categoryName": { - "type": "string", - "description": "分类名称" - }, - "children": { - "type": "array", - "description": "子分类列表", - "items": { - "$ref": "#/definitions/素材分类信息", - "originalRef": "素材分类信息" - } - }, - "materialCount": { - "type": "integer", - "format": "int32", - "description": "素材数量" - }, - "parentId": { - "type": "string", - "description": "父子分类ID" - }, - "subCategoryId": { - "type": "string", - "description": "子分类ID" - } - }, - "title": "素材分类信息" - }, - "素材引用信息": { - "type": "object", - "properties": { - "bizId": { - "type": "string", - "description": "业务ID" - }, - "bizName": { - "type": "string", - "description": "业务名称" - }, - "bizType": { - "type": "string", - "description": "业务类型" - }, - "bizTypeName": { - "type": "string", - "description": "业务类型名称" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdByName": { - "type": "string", - "description": "创建人姓名" - }, - "id": { - "type": "string", - "description": "引用ID" - }, - "materialId": { - "type": "string", - "description": "素材ID" - }, - "usageType": { - "type": "string", - "description": "用途类型" - }, - "usageTypeName": { - "type": "string", - "description": "用途类型名称" - } - }, - "title": "素材引用信息" - }, - "素材标签信息": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdByName": { - "type": "string", - "description": "创建人姓名" - }, - "managed": { - "type": "boolean", - "description": "是否系统管理标签" - }, - "tagColor": { - "type": "string", - "description": "标签颜色" - }, - "tagId": { - "type": "string", - "description": "标签ID" - }, - "tagName": { - "type": "string", - "description": "标签名称" - }, - "useCount": { - "type": "integer", - "format": "int32", - "description": "使用次数" - } - }, - "title": "素材标签信息" - }, - "统一响应结果«List«string»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "type": "string" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«string»»" - }, - "统一响应结果«List«素材信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/素材信息", - "originalRef": "素材信息" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«素材信息»»" - }, - "统一响应结果«List«素材分类信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/素材分类信息", - "originalRef": "素材分类信息" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«素材分类信息»»" - }, - "统一响应结果«List«素材引用信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/素材引用信息", - "originalRef": "素材引用信息" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«素材引用信息»»" - }, - "统一响应结果«List«素材标签信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/素材标签信息", - "originalRef": "素材标签信息" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«素材标签信息»»" - }, - "统一响应结果«Void»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Void»" - }, - "统一响应结果«分片上传初始化结果»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分片上传初始化结果", - "originalRef": "分片上传初始化结果" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分片上传初始化结果»" - }, - "统一响应结果«分片上传结果»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分片上传结果", - "originalRef": "分片上传结果" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分片上传结果»" - }, - "统一响应结果«分页结果«素材信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«素材信息»", - "originalRef": "分页结果«素材信息»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«素材信息»»" - }, - "统一响应结果«批量删除结果»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/批量删除结果", - "originalRef": "批量删除结果" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«批量删除结果»" - }, - "统一响应结果«文件夹上传初始化结果»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/文件夹上传初始化结果", - "originalRef": "文件夹上传初始化结果" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«文件夹上传初始化结果»" - }, - "统一响应结果«素材上传令牌信息»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/素材上传令牌信息", - "originalRef": "素材上传令牌信息" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«素材上传令牌信息»" - }, - "统一响应结果«素材信息»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/素材信息", - "originalRef": "素材信息" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«素材信息»" - }, - "统一响应结果«素材分类信息»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/素材分类信息", - "originalRef": "素材分类信息" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«素材分类信息»" - }, - "统一响应结果«素材标签信息»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/素材标签信息", - "originalRef": "素材标签信息" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«素材标签信息»" - } - } -} \ No newline at end of file diff --git a/api-docs/hl-monitor-service.json b/api-docs/hl-monitor-service.json deleted file mode 100644 index da52be3..0000000 --- a/api-docs/hl-monitor-service.json +++ /dev/null @@ -1,2024 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "监控服务", - "version": "1.0.0" - }, - "basePath": "/", - "paths": { - "/admin/monitor/approval-logs": { - "get": { - "tags": [ - "企微审批日志" - ], - "summary": "审批日志分页查询", - "description": "查询企微OA审批流程记录,支持按审批状态(1-审批中/2-已通过/3-已驳回/4-已撤销)、申请人、模板名称筛选\n\n**关联字典**:\n- approval_sp_status:审批状态(列表筛选+显示)", - "operationId": "listUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "applyUserName", - "in": "query", - "description": "申请人姓名", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "endTime", - "in": "query", - "description": "结束时间", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "spName", - "in": "query", - "description": "审批模板名称", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "spStatus", - "in": "query", - "description": "审批状态", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "startTime", - "in": "query", - "description": "开始时间", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«审批日志»»", - "originalRef": "统一响应结果«分页结果«审批日志»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«审批日志»»", - "originalRef": "统一响应结果«分页结果«审批日志»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/approval-logs/{id}": { - "get": { - "tags": [ - "企微审批日志" - ], - "summary": "审批日志详情", - "description": "**关联字典**:\n- approval_sp_status:审批状态(显示)", - "operationId": "detailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "日志ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«审批日志»", - "originalRef": "统一响应结果«审批日志»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«审批日志»", - "originalRef": "统一响应结果«审批日志»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/data-retention/cleanup": { - "post": { - "tags": [ - "数据清理" - ], - "summary": "手动触发数据清理", - "description": "仅超级管理员可操作。按数据保留策略清理过期日志(操作日志/错误日志/通知日志等),返回各类型清理的记录数", - "operationId": "cleanupUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,int»»", - "originalRef": "统一响应结果«Map«string,int»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,int»»", - "originalRef": "统一响应结果«Map«string,int»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/error-logs": { - "get": { - "tags": [ - "错误日志" - ], - "summary": "错误日志分页查询", - "description": "查询各微服务的异常记录,支持按服务名称、异常类名、时间范围筛选。堆栈信息仅保留com.hulalv包内的调用帧", - "operationId": "listUsingGET_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "endTime", - "in": "query", - "description": "结束时间", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "exceptionClass", - "in": "query", - "description": "异常类名", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "serviceName", - "in": "query", - "description": "服务名称", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "startTime", - "in": "query", - "description": "开始时间", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«错误日志»»", - "originalRef": "统一响应结果«分页结果«错误日志»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«错误日志»»", - "originalRef": "统一响应结果«分页结果«错误日志»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/error-logs/{id}": { - "get": { - "tags": [ - "错误日志" - ], - "summary": "错误日志详情", - "description": "返回单条错误日志的完整信息,包含异常类名、错误消息、过滤后的堆栈信息(仅com.hulalv包内调用帧)、请求URL、请求参数等。", - "operationId": "detailUsingGET_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "日志ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«错误日志»", - "originalRef": "统一响应结果«错误日志»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«错误日志»", - "originalRef": "统一响应结果«错误日志»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/login-logs": { - "get": { - "tags": [ - "登录日志" - ], - "summary": "登录日志分页查询", - "description": "查询管理员登录记录(代理到user-service),包含登录IP、设备信息、登录方式和登录结果\n\n**关联字典**:\n- login_status:登录状态(列表筛选+显示)", - "operationId": "listUsingGET_2", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "adminId", - "in": "query", - "description": "管理员ID", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "name": "endTime", - "in": "query", - "description": "结束时间", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "startTime", - "in": "query", - "description": "开始时间", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "状态", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«object»", - "originalRef": "统一响应结果«object»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«object»", - "originalRef": "统一响应结果«object»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/mysql": { - "get": { - "tags": [ - "MySQL监控" - ], - "summary": "MySQL实时监控数据", - "description": "返回MySQL实时状态:连接数、QPS、缓冲池命中率、线程状态、慢查询计数等核心指标", - "operationId": "overviewUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/mysql/slow-queries": { - "get": { - "tags": [ - "MySQL监控" - ], - "summary": "慢SQL查询统计", - "description": "仅超级管理员可操作。查询慢SQL统计信息,返回执行时间最长的SQL语句及其执行次数、平均耗时等", - "operationId": "slowQueriesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "返回条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "type", - "in": "query", - "description": "查询类型", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/mysql/tables": { - "get": { - "tags": [ - "MySQL监控" - ], - "summary": "表空间列表", - "description": "查询各数据库表的空间占用情况,包含数据大小、索引大小、行数等信息。可指定schema筛选,仅允许查询hl_前缀的数据库", - "operationId": "tablesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "schema", - "in": "query", - "description": "数据库名", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/notification-logs": { - "get": { - "tags": [ - "消息通知日志" - ], - "summary": "消息通知日志分页查询", - "description": "查询各渠道(短信/站内信/企微/公众号)的通知发送记录,支持按通知类型、用户、发送状态筛选\n\n**关联字典**:\n- notification_send_status:发送状态(列表筛选+显示,0=待发送/1=成功/2=失败)", - "operationId": "listUsingGET_3", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "endTime", - "in": "query", - "description": "结束时间", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "notificationType", - "in": "query", - "description": "通知类型", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "sendStatus", - "in": "query", - "description": "发送状态", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "startTime", - "in": "query", - "description": "开始时间", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "userName", - "in": "query", - "description": "用户名", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«通知日志»»", - "originalRef": "统一响应结果«分页结果«通知日志»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«通知日志»»", - "originalRef": "统一响应结果«分页结果«通知日志»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/notification-logs/{id}": { - "get": { - "tags": [ - "消息通知日志" - ], - "summary": "消息通知日志详情", - "description": "返回单条通知发送日志的完整信息,包含通知类型、接收用户、发送渠道、发送状态、失败原因(如有)、消息内容等。", - "operationId": "detailUsingGET_2", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "日志ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«通知日志»", - "originalRef": "统一响应结果«通知日志»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«通知日志»", - "originalRef": "统一响应结果«通知日志»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/operation-logs": { - "get": { - "tags": [ - "操作日志" - ], - "summary": "操作日志分页查询", - "description": "查询管理员的操作记录,支持按模块、管理员、状态、时间范围筛选。记录包含请求参数、响应结果和耗时信息\n\n**关联字典**:\n- operation_log_status:操作状态(列表筛选+显示,0=成功/1=失败)", - "operationId": "listUsingGET_4", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "adminId", - "in": "query", - "description": "管理员ID", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "name": "endTime", - "in": "query", - "description": "结束时间", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "module", - "in": "query", - "description": "模块名称", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "startTime", - "in": "query", - "description": "开始时间", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "状态", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«操作日志»»", - "originalRef": "统一响应结果«分页结果«操作日志»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«操作日志»»", - "originalRef": "统一响应结果«分页结果«操作日志»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/operation-logs/{id}": { - "get": { - "tags": [ - "操作日志" - ], - "summary": "操作日志详情", - "description": "返回单条操作日志的完整信息,包含操作模块、操作描述、请求参数、响应结果、操作耗时、操作人信息、IP地址等。", - "operationId": "detailUsingGET_3", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "日志ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«操作日志»", - "originalRef": "统一响应结果«操作日志»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«操作日志»", - "originalRef": "统一响应结果«操作日志»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/redis": { - "get": { - "tags": [ - "Redis监控" - ], - "summary": "Redis实时监控数据", - "description": "返回Redis实时状态:内存使用量、连接数、Key数量、命中率、每秒命令数等核心指标", - "operationId": "overviewUsingGET_1", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/rocketmq": { - "get": { - "tags": [ - "RocketMQ监控" - ], - "summary": "RocketMQ概览", - "description": "返回RocketMQ集群状态:Broker状态、Topic数量、消息积压量、生产者/消费者连接数等核心指标", - "operationId": "overviewUsingGET_2", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/rocketmq/consumer-groups": { - "get": { - "tags": [ - "RocketMQ监控" - ], - "summary": "消费者组统计", - "description": "返回各消费者组的消费进度、积压量和在线消费者实例信息", - "operationId": "consumerGroupStatsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/rocketmq/topics": { - "get": { - "tags": [ - "RocketMQ监控" - ], - "summary": "Topic统计", - "description": "返回各Topic的消息量、最新偏移量和消费进度等信息", - "operationId": "topicStatsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/monitor/services": { - "get": { - "tags": [ - "服务监控" - ], - "summary": "微服务列表和健康状态", - "description": "从Nacos注册中心获取所有微服务的实例列表和健康状态,包含IP、端口、注册时间和健康检查结果", - "operationId": "listUsingGET_5", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - } - }, - "definitions": { - "Map«string,int»": { - "type": "object", - "title": "Map«string,int»", - "additionalProperties": { - "$ref": "#/definitions/Integer", - "originalRef": "Integer" - } - }, - "Map«string,object»": { - "type": "object", - "title": "Map«string,object»", - "additionalProperties": { - "type": "object" - } - }, - "Map«string,object»_1": { - "type": "object", - "title": "Map«string,object»_1", - "additionalProperties": { - "type": "object" - } - }, - "Map«string,object»_2": { - "type": "object", - "title": "Map«string,object»_2", - "additionalProperties": { - "type": "object" - } - }, - "Map«string,object»_3": { - "type": "object", - "title": "Map«string,object»_3", - "additionalProperties": { - "type": "object" - } - }, - "Map«string,object»_4": { - "type": "object", - "title": "Map«string,object»_4", - "additionalProperties": { - "type": "object" - } - }, - "分页结果«审批日志»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/审批日志", - "originalRef": "审批日志" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«审批日志»" - }, - "分页结果«操作日志»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/操作日志", - "originalRef": "操作日志" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«操作日志»" - }, - "分页结果«通知日志»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/通知日志", - "originalRef": "通知日志" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«通知日志»" - }, - "分页结果«错误日志»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/错误日志", - "originalRef": "错误日志" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«错误日志»" - }, - "审批日志": { - "type": "object", - "properties": { - "applyData": { - "type": "string", - "description": "申请表单数据(JSON)" - }, - "applyTime": { - "type": "string", - "format": "date-time", - "description": "申请时间" - }, - "applyUserId": { - "type": "string", - "example": "zhangsan", - "description": "申请人企微UserID" - }, - "applyUserName": { - "type": "string", - "example": "张三", - "description": "申请人姓名" - }, - "approvalLogId": { - "type": "integer", - "format": "int64", - "description": "审批日志ID" - }, - "approvalNodes": { - "type": "string", - "description": "审批节点详情(JSON)" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "notifyNodes": { - "type": "string", - "description": "抄送节点详情(JSON)" - }, - "spName": { - "type": "string", - "example": "景区上架审批", - "description": "审批模板名称" - }, - "spStatus": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "审批状态: 1-审批中, 2-已通过, 3-已驳回, 4-已撤销, 6-通过后撤销, 7-已删除" - }, - "templateId": { - "type": "string", - "example": "Cxxxxxx", - "description": "审批模板ID" - }, - "thirdNo": { - "type": "string", - "example": 202603030001, - "description": "审批编号" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "审批日志" - }, - "操作日志": { - "type": "object", - "properties": { - "adminId": { - "type": "integer", - "format": "int64", - "example": 1001, - "description": "管理员ID" - }, - "adminName": { - "type": "string", - "example": "admin", - "description": "管理员名称" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "description": { - "type": "string", - "example": "新增景区", - "description": "操作描述" - }, - "duration": { - "type": "integer", - "format": "int32", - "example": 120, - "description": "耗时(毫秒)" - }, - "errorMsg": { - "type": "string", - "description": "错误信息" - }, - "ipAddress": { - "type": "string", - "example": "192.168.1.100", - "description": "IP地址" - }, - "module": { - "type": "string", - "example": "scenic", - "description": "操作模块" - }, - "operationLogId": { - "type": "integer", - "format": "int64", - "description": "操作日志ID" - }, - "requestMethod": { - "type": "string", - "example": "POST", - "description": "请求方法" - }, - "requestParams": { - "type": "string", - "description": "请求参数(JSON)" - }, - "requestUrl": { - "type": "string", - "example": "/admin/scenic/spot", - "description": "请求URL" - }, - "responseCode": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "响应状态码" - }, - "responseMsg": { - "type": "string", - "example": "success", - "description": "响应消息" - }, - "serviceName": { - "type": "string", - "example": "hl-resource-service", - "description": "服务名称" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "状态: 0-成功, 1-失败" - } - }, - "title": "操作日志" - }, - "统一响应结果«List«Map«string,object»»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«Map«string,object»»»" - }, - "统一响应结果«Map«string,int»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "object", - "description": "响应数据", - "additionalProperties": { - "type": "integer", - "format": "int32" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Map«string,int»»" - }, - "统一响应结果«Map«string,object»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "object", - "description": "响应数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Map«string,object»»" - }, - "统一响应结果«object»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "object", - "description": "响应数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«object»" - }, - "统一响应结果«分页结果«审批日志»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«审批日志»", - "originalRef": "分页结果«审批日志»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«审批日志»»" - }, - "统一响应结果«分页结果«操作日志»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«操作日志»", - "originalRef": "分页结果«操作日志»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«操作日志»»" - }, - "统一响应结果«分页结果«通知日志»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«通知日志»", - "originalRef": "分页结果«通知日志»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«通知日志»»" - }, - "统一响应结果«分页结果«错误日志»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«错误日志»", - "originalRef": "分页结果«错误日志»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«错误日志»»" - }, - "统一响应结果«审批日志»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/审批日志", - "originalRef": "审批日志" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«审批日志»" - }, - "统一响应结果«操作日志»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/操作日志", - "originalRef": "操作日志" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«操作日志»" - }, - "统一响应结果«通知日志»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/通知日志", - "originalRef": "通知日志" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«通知日志»" - }, - "统一响应结果«错误日志»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/错误日志", - "originalRef": "错误日志" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«错误日志»" - }, - "通知日志": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "externalUserId": { - "type": "string", - "example": "wmXXXX", - "description": "外部联系人ID" - }, - "externalUserName": { - "type": "string", - "example": "李客户", - "description": "外部联系人姓名" - }, - "failReason": { - "type": "string", - "description": "失败原因" - }, - "messageContent": { - "type": "string", - "description": "消息内容" - }, - "notificationLogId": { - "type": "integer", - "format": "int64", - "description": "通知日志ID" - }, - "notificationType": { - "type": "string", - "example": "ADD_EXTERNAL_CONTACT", - "description": "通知类型: ADD_EXTERNAL_CONTACT/DEL_FOLLOW_USER/DEL_EXTERNAL_CONTACT" - }, - "sendStatus": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "发送状态: 0-成功, 1-失败, 2-已过滤" - }, - "serviceName": { - "type": "string", - "example": "hl-callback-service", - "description": "来源服务名称" - }, - "userId": { - "type": "string", - "example": "zhangsan", - "description": "员工企微UserID" - }, - "userName": { - "type": "string", - "example": "张三", - "description": "员工姓名" - } - }, - "title": "通知日志" - }, - "错误日志": { - "type": "object", - "properties": { - "adminId": { - "type": "integer", - "format": "int64", - "example": 1001, - "description": "管理员ID" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "errorLogId": { - "type": "integer", - "format": "int64", - "description": "错误日志ID" - }, - "exceptionClass": { - "type": "string", - "example": "BusinessException", - "description": "异常类名" - }, - "exceptionMessage": { - "type": "string", - "example": "资源不存在", - "description": "异常消息" - }, - "ipAddress": { - "type": "string", - "example": "192.168.1.100", - "description": "IP地址" - }, - "requestMethod": { - "type": "string", - "example": "GET", - "description": "请求方法" - }, - "requestParams": { - "type": "string", - "description": "请求参数(JSON)" - }, - "requestUrl": { - "type": "string", - "example": "/admin/user/list", - "description": "请求URL" - }, - "serviceName": { - "type": "string", - "example": "hl-user-service", - "description": "服务名称" - }, - "stackTrace": { - "type": "string", - "description": "堆栈跟踪" - } - }, - "title": "错误日志" - } - } -} \ No newline at end of file diff --git a/api-docs/hl-mp-service.json b/api-docs/hl-mp-service.json deleted file mode 100644 index 8efe007..0000000 --- a/api-docs/hl-mp-service.json +++ /dev/null @@ -1,11458 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "小程序聚合服务", - "version": "1.0.0" - }, - "basePath": "/", - "paths": { - "/mp/home": { - "get": { - "tags": [ - "C端 - 首页接口" - ], - "summary": "首页数据", - "description": "聚合流程:并行获取推荐产品列表+产品线列表+轮播图 → Redis缓存5分钟 → 返回聚合数据\n\n**关联字典(BFF透传)**:\n- product_type:产品类型(产品卡片显示)\n- product_status:产品状态(透传自product-service)", - "operationId": "getHomeDataUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«首页聚合数据»", - "originalRef": "统一响应结果«首页聚合数据»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«首页聚合数据»", - "originalRef": "统一响应结果«首页聚合数据»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/search": { - "get": { - "tags": [ - "C端 - 搜索接口" - ], - "summary": "搜索产品", - "description": "按关键词搜索已上架产品(匹配产品名称和描述),支持按产品类型进一步筛选\n\n**关联字典(BFF透传)**:\n- product_type:产品类型(筛选+显示)", - "operationId": "searchUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "搜索关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 10, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "productType", - "in": "query", - "description": "产品类型:CORE/ROUTE/CUSTOM/GROUP", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/product/batch/{batchId}/combos": { - "get": { - "tags": [ - "C端 - 产品接口" - ], - "summary": "GROUP批次套餐列表", - "description": "返回指定批次的所有套餐(名称、人数组合、价格、库存)", - "operationId": "listBatchCombosUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "batchId", - "in": "path", - "description": "批次ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/product/lines": { - "get": { - "tags": [ - "C端 - 产品接口" - ], - "summary": "产品线列表", - "description": "返回所有已启用的产品线,用于小程序首页或筛选栏展示", - "operationId": "listLinesUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/product/list": { - "get": { - "tags": [ - "C端 - 产品接口" - ], - "summary": "产品列表", - "description": "分页查询已上架产品,支持按关键词、产品类型(CORE/ROUTE/CUSTOM/GROUP)、季节、天数、目的地、产品线筛选和排序\n\n**关联字典(BFF透传)**:\n- product_type:产品类型(列表筛选+显示)\n- product_status:产品状态(透传自product-service)", - "operationId": "listProductsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "destination", - "in": "query", - "description": "目的地", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "keyword", - "in": "query", - "description": "搜索关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "lineId", - "in": "query", - "description": "产品线ID", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 10, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "productType", - "in": "query", - "description": "产品类型:CORE/ROUTE/CUSTOM/GROUP", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "season", - "in": "query", - "description": "季节", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "sortBy", - "in": "query", - "description": "排序字段", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "sortDir", - "in": "query", - "description": "排序方向", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "tripDays", - "in": "query", - "description": "天数", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/product/{productId}": { - "get": { - "tags": [ - "C端 - 产品接口" - ], - "summary": "产品详情(聚合收藏状态)", - "description": "聚合流程:获取产品详情 → 并行查询收藏状态 → 异步记录足迹 → 返回聚合数据。支持未登录访问(不返回收藏状态)\n\n**关联字典(BFF透传)**:\n- product_type:产品类型(显示)\n- product_status:产品状态(透传自product-service)", - "operationId": "getProductUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«C端产品详情»", - "originalRef": "统一响应结果«C端产品详情»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«C端产品详情»", - "originalRef": "统一响应结果«C端产品详情»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/product/{productId}/batch-calendar": { - "get": { - "tags": [ - "C端 - 产品接口" - ], - "summary": "GROUP批次日历", - "description": "返回可报名批次列表(出发日期、剩余名额等),仅ENROLLING和CONFIRMED状态", - "operationId": "getBatchCalendarUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/product/{productId}/group-quote": { - "get": { - "tags": [ - "C端 - 产品接口" - ], - "summary": "GROUP报价", - "description": "返回指定批次的各套餐报价(totalSellPrice)", - "operationId": "getGroupQuoteUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "batchId", - "in": "query", - "description": "批次ID", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/product/{productId}/price-calendar": { - "get": { - "tags": [ - "C端 - 产品接口" - ], - "summary": "价格日历", - "description": "返回产品指定日期范围内的每日价格,用于日历组件展示。不传日期时默认返回未来一个月", - "operationId": "getPriceCalendarUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "endDate", - "in": "query", - "description": "结束日期", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "startDate", - "in": "query", - "description": "开始日期", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/product/{productId}/quote": { - "post": { - "tags": [ - "C端 - 产品接口" - ], - "summary": "报价计算(含早鸟优惠)", - "description": "报价流程:传入出发日期+人数 → 价格日历计算基础报价(与下单一致) → 匹配早鸟优惠方案 → 返回明细报价+优惠信息。\n\n支付方式说明:\n- FULL: 全额支付,需一次性付清全部金额\n- DEPOSIT: 定金+尾款,先付定金(比例由产品配置),出行前补齐尾款", - "operationId": "calculateQuoteUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/产品报价请求", - "originalRef": "产品报价请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«产品报价结果»", - "originalRef": "统一响应结果«产品报价结果»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«产品报价结果»", - "originalRef": "统一响应结果«产品报价结果»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/bind-by-contact": { - "post": { - "tags": [ - "C端 - 订单接口" - ], - "summary": "绑定未绑定的订单", - "description": "绑定流程:用户登录 → 完善个人资料 → 自动通过联系人手机号+姓名匹配 → 将userId=NULL的订单绑定到当前用户", - "operationId": "bindByContactUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "绑定请求体", - "required": false, - "schema": { - "$ref": "#/definitions/通过联系人信息绑定订单请求", - "originalRef": "通过联系人信息绑定订单请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«int»", - "originalRef": "统一响应结果«int»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«int»", - "originalRef": "统一响应结果«int»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/count": { - "get": { - "tags": [ - "C端 - 订单接口" - ], - "summary": "各状态订单数量", - "description": "统计当前用户各状态的订单数量,用于「我的」页面的订单状态角标展示\n\n**关联字典(BFF透传)**:\n- order_status:订单状态(状态分类统计)", - "operationId": "countByStatusUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/create": { - "post": { - "tags": [ - "C端 - 订单接口" - ], - "summary": "创建订单", - "description": "下单流程:选择产品 → 填写联系人/出行人信息 → 报价计算 → 创建订单 → 返回订单ID", - "operationId": "createOrderUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "创建订单请求体", - "required": false, - "schema": { - "$ref": "#/definitions/C端创建订单请求", - "originalRef": "C端创建订单请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«订单详情»", - "originalRef": "统一响应结果«订单详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«订单详情»", - "originalRef": "统一响应结果«订单详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/list": { - "get": { - "tags": [ - "C端 - 订单接口" - ], - "summary": "订单列表", - "description": "分页查询当前用户的订单列表,支持按状态筛选。返回订单摘要信息(不含详细出行人信息)\n\n**关联字典(BFF透传)**:\n- order_status:订单状态(列表筛选+显示)\n- product_type:产品类型(订单卡片显示)", - "operationId": "listOrdersUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "状态", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«订单列表项»»", - "originalRef": "统一响应结果«分页结果«订单列表项»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«订单列表项»»", - "originalRef": "统一响应结果«分页结果«订单列表项»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/lookup": { - "get": { - "tags": [ - "C端 - 订单接口" - ], - "summary": "通过联系人手机号+姓名查找订单(无需登录)", - "description": "无需登录即可查询。用于管理员代下单场景:管理员创建订单后,用户通过联系人手机号+姓名查找订单并绑定到自己账号。仅返回尚未绑定用户(userId=NULL)的订单。", - "operationId": "lookupByContactUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "contactName", - "in": "query", - "description": "联系人姓名", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "contactPhone", - "in": "query", - "description": "联系人手机号", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/refund-reasons": { - "get": { - "tags": [ - "C端 - 退款接口" - ], - "summary": "退款原因列表", - "description": "返回系统预设的退款原因选项,用于退款申请页面的原因选择", - "operationId": "listRefundReasonsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«退款原因»»", - "originalRef": "统一响应结果«List«退款原因»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«退款原因»»", - "originalRef": "统一响应结果«List«退款原因»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/refund/{applicationId}": { - "get": { - "tags": [ - "C端 - 退款接口" - ], - "summary": "退款申请详情", - "description": "获取退款申请的完整信息,包含审核状态、退款金额、退款进度和操作记录\n\n**关联字典(BFF透传)**:\n- order_status:订单状态(显示)\n- payment_status:支付/退款状态(显示)", - "operationId": "getRefundDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "applicationId", - "in": "path", - "description": "退款申请ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款申请详情»", - "originalRef": "统一响应结果«退款申请详情»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款申请详情»", - "originalRef": "统一响应结果«退款申请详情»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/refund/{applicationId}/appeal": { - "post": { - "tags": [ - "C端 - 退款接口" - ], - "summary": "发起申诉", - "description": "退款被拒绝后,用户可在3天内发起一次申诉,由上级管理员重新审核", - "operationId": "refundAppealUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "applicationId", - "in": "path", - "description": "退款申请ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "body", - "description": "申诉请求体", - "required": false, - "schema": { - "$ref": "#/definitions/退款申诉请求", - "originalRef": "退款申诉请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款申请详情»", - "originalRef": "统一响应结果«退款申请详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款申请详情»", - "originalRef": "统一响应结果«退款申请详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/refund/{applicationId}/cancel": { - "post": { - "tags": [ - "C端 - 退款接口" - ], - "summary": "撤回退款申请", - "description": "仅PENDING状态的退款申请可撤回,撤回后订单恢复到原状态", - "operationId": "cancelRefundUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "applicationId", - "in": "path", - "description": "退款申请ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/upcoming": { - "get": { - "tags": [ - "C端 - 订单接口" - ], - "summary": "即将出发的订单", - "description": "查询3天内即将出发的订单(状态为已确认/待出发/出行中),含合同和保险信息,按出发日期升序", - "operationId": "getUpcomingDeparturesUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«订单列表项»»", - "originalRef": "统一响应结果«List«订单列表项»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«订单列表项»»", - "originalRef": "统一响应结果«List«订单列表项»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/{orderId}": { - "get": { - "tags": [ - "C端 - 订单接口" - ], - "summary": "订单详情", - "description": "获取订单完整信息,包含产品快照、出行人列表、支付信息、合同状态等\n\n**关联字典(BFF透传)**:\n- order_status:订单状态(显示)\n- product_type:产品类型(显示)\n- contract_status:合同状态(显示)", - "operationId": "getOrderUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«订单详情»", - "originalRef": "统一响应结果«订单详情»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«订单详情»", - "originalRef": "统一响应结果«订单详情»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/{orderId}/approve-unlock": { - "post": { - "tags": [ - "C端 - 订单接口" - ], - "summary": "同意解锁订单", - "description": "用户同意管理员的修改请求,解除订单锁定状态,允许管理员继续修改订单", - "operationId": "approveUnlockUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/{orderId}/cancel": { - "post": { - "tags": [ - "C端 - 订单接口" - ], - "summary": "取消订单", - "description": "取消规则:仅PENDING_PAY/DEPOSIT_PAID状态可用户取消,取消后不可恢复", - "operationId": "cancelOrderUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "body", - "description": "body", - "required": false, - "schema": { - "$ref": "#/definitions/用户取消订单请求", - "originalRef": "用户取消订单请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/{orderId}/edit": { - "put": { - "tags": [ - "C端 - 订单接口" - ], - "summary": "修改订单", - "description": "用户可修改出发日期和出行人。仅待支付/已付定金/已支付/已确认/待付尾款/待出发状态可修改,清单已确认的订单不允许修改。修改后重走内部流程", - "operationId": "editOrderUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "body", - "description": "body", - "required": true, - "schema": { - "$ref": "#/definitions/修改订单请求", - "originalRef": "修改订单请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«订单详情»", - "originalRef": "统一响应结果«订单详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«订单详情»", - "originalRef": "统一响应结果«订单详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/{orderId}/refund": { - "post": { - "tags": [ - "C端 - 退款接口" - ], - "summary": "提交退款申请", - "description": "退款流程:获取退款预览 → 选择退款原因 → 提交退款申请 → 管理员审核 → 审核通过后自动退款到原支付方式", - "operationId": "applyRefundUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "退款申请请求体", - "required": false, - "schema": { - "$ref": "#/definitions/退款申请请求", - "originalRef": "退款申请请求" - } - }, - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款申请详情»", - "originalRef": "统一响应结果«退款申请详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款申请详情»", - "originalRef": "统一响应结果«退款申请详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/{orderId}/refund-detail": { - "get": { - "tags": [ - "C端 - 退款接口" - ], - "summary": "根据订单ID获取最新退款详情", - "description": "查询订单关联的最新一条退款申请详情,无退款记录时返回null\n\n**关联字典(BFF透传)**:\n- order_status:订单状态(显示)\n- payment_status:支付/退款状态(显示)", - "operationId": "getRefundDetailByOrderUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款申请详情»", - "originalRef": "统一响应结果«退款申请详情»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款申请详情»", - "originalRef": "统一响应结果«退款申请详情»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/{orderId}/refund-preview": { - "get": { - "tags": [ - "C端 - 退款接口" - ], - "summary": "退款金额预览", - "description": "根据退款政策和订单出发日期计算可退金额,展示退款比例和扣除金额明细", - "operationId": "refundPreviewUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款预览»", - "originalRef": "统一响应结果«退款预览»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款预览»", - "originalRef": "统一响应结果«退款预览»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/order/{orderId}/resources": { - "get": { - "tags": [ - "C端 - 订单接口" - ], - "summary": "订单资源详情(按分类)", - "description": "解析产品快照,提取资源详情按分类返回", - "operationId": "getOrderResourcesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,List«Map«string,object»»»»", - "originalRef": "统一响应结果«Map«string,List«Map«string,object»»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,List«Map«string,object»»»»", - "originalRef": "统一响应结果«Map«string,List«Map«string,object»»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/invoice/apply": { - "post": { - "tags": [ - "C端 - 发票接口" - ], - "summary": "申请开票", - "description": "开票流程:订单完成后 → 填写发票信息(抬头/税号/类型) → 提交开票申请 → 管理员处理 → 发送电子发票", - "operationId": "applyInvoiceUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "开票请求体", - "required": false, - "schema": { - "$ref": "#/definitions/发票申请请求", - "originalRef": "发票申请请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/invoice/order/{orderId}": { - "get": { - "tags": [ - "C端 - 发票接口" - ], - "summary": "通过订单ID查询发票", - "description": "查询指定订单的发票信息,如果订单未开票则返回null", - "operationId": "getInvoiceByOrderIdUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/invoice/{id}": { - "get": { - "tags": [ - "C端 - 发票接口" - ], - "summary": "发票详情", - "description": "获取发票的完整信息,包含开票状态、发票抬头、税号、金额、电子发票文件链接等", - "operationId": "getInvoiceDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "发票ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/invoice/{invoiceId}/reissue": { - "post": { - "tags": [ - "C端 - 发票接口" - ], - "summary": "发票换开", - "description": "对已开发票申请换开(修改抬头/税号等),原发票作废后重新开具新发票", - "operationId": "reissueInvoiceUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "invoiceId", - "in": "path", - "description": "发票ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "body", - "description": "body", - "required": true, - "schema": { - "$ref": "#/definitions/发票换开请求", - "originalRef": "发票换开请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/payment/prepay": { - "post": { - "tags": [ - "C端 - 支付接口" - ], - "summary": "发起支付", - "description": "支付流程:选择支付方式(JSAPI/H5) → 调用微信支付API → 返回支付参数 → 前端调起微信支付\n\n**关联字典(BFF透传)**:\n- payment_status:支付状态(返回字段)", - "operationId": "prepayUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "支付请求体", - "required": false, - "schema": { - "$ref": "#/definitions/支付预下单请求", - "originalRef": "支付预下单请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/payment/status/{orderId}": { - "get": { - "tags": [ - "C端 - 支付接口" - ], - "summary": "查询支付状态", - "description": "**关联字典(BFF透传)**:\n- payment_status:支付状态(显示)", - "operationId": "getStatusUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/payment/transactions/{orderId}": { - "get": { - "tags": [ - "C端 - 支付接口" - ], - "summary": "订单交易记录列表", - "description": "**关联字典(BFF透传)**:\n- payment_status:支付状态(显示)", - "operationId": "listTransactionsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/trip/list": { - "get": { - "tags": [ - "C端 - 行程接口" - ], - "summary": "行程列表", - "description": "获取当前登录用户的行程列表(已确认及进行中的订单对应的行程)\n\n**关联字典(BFF透传)**:\n- order_status:订单/行程状态(显示)", - "operationId": "getTripListUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/trip/today": { - "get": { - "tags": [ - "C端 - 行程接口" - ], - "summary": "今日行程", - "description": "获取今日行程(如果有正在进行中的行程),无行程时data为null\n\n**关联字典(BFF透传)**:\n- order_status:订单/行程状态(显示)", - "operationId": "getTodayTripUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/trip/weather": { - "get": { - "tags": [ - "C端 - 行程接口" - ], - "summary": "天气查询", - "description": "高德天气API代理,传入城市名称返回实时天气信息", - "operationId": "getWeatherUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "city", - "in": "query", - "description": "城市名称,如「成都」「拉萨」", - "required": true, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/trip/{orderId}": { - "get": { - "tags": [ - "C端 - 行程接口" - ], - "summary": "行程详情", - "description": "获取订单对应的行程详情,含每日行程节点信息(景点/酒店/餐厅等)\n\n**关联字典(BFF透传)**:\n- order_status:订单/行程状态(显示)", - "operationId": "getTripDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/account": { - "delete": { - "tags": [ - "C端 - 用户接口" - ], - "summary": "注销账号", - "description": "注销后用户数据将被软删除,30天内可联系客服恢复", - "operationId": "deleteAccountUsingDELETE", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/login": { - "post": { - "tags": [ - "C端 - 用户接口" - ], - "summary": "微信登录", - "description": "登录流程:小程序wx.login获取code → 后端换取openid → 查找/创建用户 → 返回JWT令牌+needProfile标记", - "operationId": "loginUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/微信登录请求", - "originalRef": "微信登录请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/login/sms": { - "post": { - "tags": [ - "C端 - 用户接口" - ], - "summary": "短信登录", - "description": "登录流程:获取验证码 → 验证手机号+验证码 → 查找/创建用户 → 返回JWT令牌", - "operationId": "loginBySmsUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/短信验证码登录请求", - "originalRef": "短信验证码登录请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/logout": { - "post": { - "tags": [ - "C端 - 用户接口" - ], - "summary": "用户登出", - "description": "清除用户登录状态和服务端缓存的令牌信息。登出后需重新登录获取新令牌。\n\n**权限**:需登录。", - "operationId": "logoutUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/ocr/idcard": { - "post": { - "tags": [ - "C端 - 用户接口" - ], - "summary": "身份证OCR识别", - "description": "将身份证图片上传到OSS后,传入ossUrl进行OCR识别。返回姓名、身份证号、性别、民族等结构化数据,可用于自动填充出行人信息", - "operationId": "ocrIdCardUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "body", - "required": true, - "schema": { - "$ref": "#/definitions/身份证OCR识别请求", - "originalRef": "身份证OCR识别请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/profile": { - "get": { - "tags": [ - "C端 - 用户接口" - ], - "summary": "获取用户信息", - "description": "获取当前登录用户的个人资料,包含头像、昵称、手机号、实名信息等", - "operationId": "getProfileUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "C端 - 用户接口" - ], - "summary": "更新用户信息", - "description": "更新当前用户的个人资料,支持部分更新(只传需要修改的字段)。首次完善资料时realName为必填", - "operationId": "updateProfileUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "body", - "required": true, - "schema": { - "$ref": "#/definitions/更新个人资料请求", - "originalRef": "更新个人资料请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/sms/send": { - "post": { - "tags": [ - "C端 - 用户接口" - ], - "summary": "发送短信验证码", - "description": "向指定手机号发送登录验证码,有效期5分钟,60秒内不可重复发送", - "operationId": "sendSmsCodeUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/发送短信验证码请求", - "originalRef": "发送短信验证码请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/traveler": { - "get": { - "tags": [ - "C端 - 出行人接口" - ], - "summary": "出行人列表", - "description": "返回当前用户的所有出行人列表。如果用户已完善实名信息,列表中会自动包含一条「本人」虚拟记录(travelerId=0)", - "operationId": "listTravelersUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "C端 - 出行人接口" - ], - "summary": "添加出行人", - "description": "添加常用出行人信息(姓名/证件/联系方式等),下单时可快速选择。单个用户最多50个出行人", - "operationId": "addTravelerUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "body", - "required": true, - "schema": { - "$ref": "#/definitions/出行人请求(新增/修改)", - "originalRef": "出行人请求(新增/修改)" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/traveler/{id}": { - "get": { - "tags": [ - "C端 - 出行人接口" - ], - "summary": "出行人详情", - "description": "获取单个出行人的完整信息(姓名、证件信息、联系方式等)。\n\n**权限**:需登录,仅能查看自己的出行人。", - "operationId": "getTravelerUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "出行人ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "C端 - 出行人接口" - ], - "summary": "更新出行人", - "description": "修改出行人信息,支持部分更新(只传需要修改的字段)。已关联订单的出行人修改不影响历史订单记录。\n\n**权限**:需登录。", - "operationId": "updateTravelerUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "出行人ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "body", - "description": "body", - "required": true, - "schema": { - "$ref": "#/definitions/出行人请求(新增/修改)", - "originalRef": "出行人请求(新增/修改)" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "C端 - 出行人接口" - ], - "summary": "删除出行人", - "description": "删除常用出行人记录。默认出行人不可删除,需先取消默认后再删除。\n\n**权限**:需登录。", - "operationId": "deleteTravelerUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "出行人ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/traveler/{id}/default": { - "put": { - "tags": [ - "C端 - 出行人接口" - ], - "summary": "设为默认出行人", - "description": "设为默认出行人后,下单时自动作为第一个出行人。每个用户只能有一个默认出行人", - "operationId": "setDefaultTravelerUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "出行人ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/favorite": { - "get": { - "tags": [ - "C端 - 收藏接口" - ], - "summary": "收藏列表(含资源摘要)", - "description": "分页查询收藏列表,聚合层会补充每个收藏项对应资源的摘要信息(名称、封面图、价格等)。支持按目标类型筛选。\n\n**权限**:需登录。\n\n**关联字典**:\n- favorite_resource_type:收藏资源类型(PRODUCT/SCENIC/RESTAURANT/ACTIVITY)", - "operationId": "listFavoritesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "targetType", - "in": "query", - "description": "目标类型筛选(字典:favorite_resource_type):PRODUCT/SCENIC/RESTAURANT/ACTIVITY", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«收藏列表项(含资源摘要)»»", - "originalRef": "统一响应结果«分页结果«收藏列表项(含资源摘要)»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«收藏列表项(含资源摘要)»»", - "originalRef": "统一响应结果«分页结果«收藏列表项(含资源摘要)»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "C端 - 收藏接口" - ], - "summary": "添加收藏", - "description": "将产品/景区/餐厅/活动加入收藏。同一目标重复收藏会返回已有收藏记录", - "operationId": "addFavoriteUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "body", - "required": true, - "schema": { - "$ref": "#/definitions/收藏请求", - "originalRef": "收藏请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/favorite/batch": { - "delete": { - "tags": [ - "C端 - 收藏接口" - ], - "summary": "批量删除收藏", - "description": "批量删除多条收藏记录,传入收藏记录ID列表。用于收藏管理页面的批量操作。\n\n**权限**:需登录,仅能删除自己的收藏。", - "operationId": "batchDeleteFavoritesUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "ids", - "description": "收藏ID列表", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - } - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/favorite/by-target": { - "delete": { - "tags": [ - "C端 - 收藏接口" - ], - "summary": "按目标取消收藏", - "description": "通过目标类型+目标ID取消收藏,适用于详情页点击取消收藏的场景(不需要知道收藏记录ID)。\n\n**权限**:需登录。", - "operationId": "deleteFavoriteByTargetUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "targetId", - "in": "query", - "description": "目标资源ID", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "name": "targetType", - "in": "query", - "description": "目标类型", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/favorite/check": { - "get": { - "tags": [ - "C端 - 收藏接口" - ], - "summary": "检查是否已收藏", - "description": "检查当前用户是否已收藏指定资源,用于详情页收藏按钮状态显示。\n\n**权限**:需登录。", - "operationId": "checkFavoriteUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "targetId", - "in": "query", - "description": "目标资源ID", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "name": "targetType", - "in": "query", - "description": "目标类型(字典:favorite_resource_type)", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/favorite/{id}": { - "delete": { - "tags": [ - "C端 - 收藏接口" - ], - "summary": "取消收藏", - "description": "通过收藏记录ID取消收藏,适用于收藏列表页的删除操作。\n\n**权限**:需登录,仅能删除自己的收藏。", - "operationId": "deleteFavoriteUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "收藏记录ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/footprint": { - "get": { - "tags": [ - "C端 - 足迹接口" - ], - "summary": "足迹列表(含资源摘要)", - "description": "分页查询浏览足迹列表,聚合层会补充每条足迹对应资源的摘要信息(名称、封面图等)。支持按资源类型筛选,按浏览时间倒序。\n\n**权限**:需登录。", - "operationId": "listFootprintsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "resourceType", - "in": "query", - "description": "资源类型筛选:PRODUCT/SCENIC/RESTAURANT/ACTIVITY", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«足迹列表项(含资源摘要)»»", - "originalRef": "统一响应结果«分页结果«足迹列表项(含资源摘要)»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«足迹列表项(含资源摘要)»»", - "originalRef": "统一响应结果«分页结果«足迹列表项(含资源摘要)»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "C端 - 足迹接口" - ], - "summary": "记录足迹", - "description": "记录用户浏览资源的足迹,同一资源重复浏览会更新浏览时间而非新增记录", - "operationId": "addFootprintUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "body", - "required": true, - "schema": { - "$ref": "#/definitions/添加足迹请求", - "originalRef": "添加足迹请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/footprint/batch": { - "delete": { - "tags": [ - "C端 - 足迹接口" - ], - "summary": "批量删除足迹", - "description": "批量删除多条浏览足迹记录,传入足迹ID列表。用于足迹管理页面的批量清理。\n\n**权限**:需登录,仅能删除自己的足迹。", - "operationId": "batchDeleteFootprintsUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "ids", - "description": "足迹ID列表", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - } - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/user/footprint/{id}": { - "delete": { - "tags": [ - "C端 - 足迹接口" - ], - "summary": "删除足迹", - "description": "删除单条浏览足迹记录。\n\n**权限**:需登录,仅能删除自己的足迹。", - "operationId": "deleteFootprintUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "足迹ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/message/list": { - "get": { - "tags": [ - "C端 - 消息接口" - ], - "summary": "消息列表", - "description": "消息列表,支持按分类筛选,按时间倒序分页返回", - "operationId": "listMessagesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "category", - "in": "query", - "description": "消息分类筛选,不传返回全部", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码,默认1", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数,默认20", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/message/read-all": { - "put": { - "tags": [ - "C端 - 消息接口" - ], - "summary": "全部标记已读", - "description": "将指定分类或全部消息标记为已读,不传category则全部已读", - "operationId": "markAllReadUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "category", - "in": "query", - "description": "消息分类,不传则将所有分类标记为已读", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/message/summary": { - "get": { - "tags": [ - "C端 - 消息接口" - ], - "summary": "消息摘要", - "description": "获取各分类的未读数量和最新一条消息,用于消息中心首页展示", - "operationId": "getSummaryUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/message/{id}": { - "delete": { - "tags": [ - "C端 - 消息接口" - ], - "summary": "删除消息", - "description": "删除单条消息", - "operationId": "deleteMessageUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "消息ID", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/message/{id}/read": { - "put": { - "tags": [ - "C端 - 消息接口" - ], - "summary": "标记已读", - "description": "标记单条消息为已读", - "operationId": "markReadUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "消息ID", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/review/create": { - "post": { - "tags": [ - "C端 - 评价接口" - ], - "summary": "创建评价", - "description": "评价流程:订单完成后 → 查询可评价目标列表 → 对每个目标(酒店/景区/活动等)提交评价 → 自动内容审核 → 审核通过后公开展示\n\n**关联字典(BFF透传)**:\n- review_status:评价审核状态(返回字段)\n- rating_level:评价等级(返回字段)", - "operationId": "createReviewUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "评价请求体", - "required": false, - "schema": { - "$ref": "#/definitions/创建评价请求", - "originalRef": "创建评价请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/review/featured": { - "get": { - "tags": [ - "C端 - 评价接口" - ], - "summary": "精选评价列表(公开)", - "description": "无需登录,返回精选评价数组,用于评价浏览页\n\n**关联字典(BFF透传)**:\n- rating_level:评价等级(显示)", - "operationId": "getFeaturedReviewsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "数量限制", - "required": false, - "type": "integer", - "default": 50, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/review/my": { - "get": { - "tags": [ - "C端 - 评价接口" - ], - "summary": "我的评价列表", - "description": "**关联字典(BFF透传)**:\n- review_status:评价审核状态(显示)\n- rating_level:评价等级(显示)", - "operationId": "getMyReviewsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/review/order/{orderId}/reviewable-targets": { - "get": { - "tags": [ - "C端 - 评价接口" - ], - "summary": "订单可评价目标列表", - "description": "返回订单中可评价的资源目标列表(景区/酒店/活动等),用于评价页面展示可评价项。已评价的目标不会重复出现。\n\n**权限**:需登录。", - "operationId": "getReviewableTargetsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/review/order/{orderId}/reviewed": { - "get": { - "tags": [ - "C端 - 评价接口" - ], - "summary": "检查订单是否已评价", - "description": "检查指定订单是否已提交评价,用于订单详情页决定是否显示'去评价'按钮。", - "operationId": "isOrderReviewedUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/review/product/{productId}": { - "get": { - "tags": [ - "C端 - 评价接口" - ], - "summary": "按产品ID查看评价列表", - "description": "返回评价列表+统计数据,支持好中差评/有图/有视频筛选\n\n**关联字典(BFF透传)**:\n- rating_level:评价等级(筛选+显示)", - "operationId": "getProductReviewsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "hasImage", - "in": "query", - "description": "是否有图片", - "required": false, - "type": "boolean", - "allowEmptyValue": false - }, - { - "name": "hasVideo", - "in": "query", - "description": "是否有视频", - "required": false, - "type": "boolean", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 10, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "ratingLevel", - "in": "query", - "description": "评价等级: GOOD/MEDIUM/BAD", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/review/product/{productId}/highlights": { - "get": { - "tags": [ - "C端 - 评价接口" - ], - "summary": "产品精选评价(最高评分+最高点赞+统计)", - "description": "用于产品详情页评价区域展示", - "operationId": "getProductHighlightsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/review/rating-categories": { - "get": { - "tags": [ - "C端 - 评价接口" - ], - "summary": "评分类别列表", - "description": "从字典读取评价时需要填写的评分维度,前端据此渲染评分组件。字典类型: review_rating_category,remark字段包含扩展JSON(required/min/max)", - "operationId": "getRatingCategoriesUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/review/search": { - "get": { - "tags": [ - "C端 - 评价接口" - ], - "summary": "关键词搜索评价(公开)", - "description": "按关键词搜索已通过的评价内容,支持按目标类型和目标ID筛选\n\n**关联字典(BFF透传)**:\n- rating_level:评价等级(显示)", - "operationId": "searchReviewsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "搜索关键词", - "required": true, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "targetId", - "in": "query", - "description": "目标ID(可选)", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "name": "targetType", - "in": "query", - "description": "目标类型(可选): PRODUCT/SCENIC_SPOT/ACTIVITY/HOTEL等", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/review/stats": { - "get": { - "tags": [ - "C端 - 评价接口" - ], - "summary": "评价统计(平均分、数量)", - "description": "获取指定目标的评价统计数据(平均评分、总评价数等),用于详情页评价区域展示。产品showReview关闭时返回空统计。", - "operationId": "getTargetStatsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "targetId", - "in": "query", - "description": "目标ID", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "name": "targetType", - "in": "query", - "description": "目标类型", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/review/target": { - "get": { - "tags": [ - "C端 - 评价接口" - ], - "summary": "某目标的已通过评价(公开)", - "description": "**关联字典(BFF透传)**:\n- rating_level:评价等级(筛选+显示)", - "operationId": "getTargetReviewsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "hasImage", - "in": "query", - "description": "是否有图片", - "required": false, - "type": "boolean", - "allowEmptyValue": false - }, - { - "name": "hasVideo", - "in": "query", - "description": "是否有视频", - "required": false, - "type": "boolean", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "ratingLevel", - "in": "query", - "description": "评价等级: GOOD/MEDIUM/BAD", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "targetId", - "in": "query", - "description": "目标ID", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "name": "targetType", - "in": "query", - "description": "目标类型", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/review/{reviewId}/like": { - "post": { - "tags": [ - "C端 - 评价接口" - ], - "summary": "点赞/取消点赞评价", - "description": "对评价进行点赞或取消点赞操作,返回当前点赞状态和点赞总数。\n\n**权限**:需登录。", - "operationId": "toggleLikeUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "reviewId", - "in": "path", - "description": "评价ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/review/{reviewId}/like/check": { - "get": { - "tags": [ - "C端 - 评价接口" - ], - "summary": "检查是否已点赞", - "description": "检查当前用户是否已点赞指定评价,用于评价列表/详情的点赞按钮状态展示。\n\n**权限**:需登录。", - "operationId": "checkLikedUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "reviewId", - "in": "path", - "description": "评价ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/designer": { - "get": { - "tags": [ - "C端 - 定制师接口" - ], - "summary": "定制师列表(含真实产品数和评分,综合排序)", - "description": "获取定制师列表,聚合层会补充每个定制师的真实产品数量和评价评分。按综合排序(评分>路线数>咨询人数),用于小程序定制师推荐页。", - "operationId": "listDesignersUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 10, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/designer/featured": { - "get": { - "tags": [ - "C端 - 定制师接口" - ], - "summary": "推荐定制师(综合排序第一名)", - "description": "获取综合排序排名第一的定制师信息(含产品数和评分),用于首页推荐定制师卡片展示。", - "operationId": "getFeaturedDesignerUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/designer/{id}": { - "get": { - "tags": [ - "C端 - 定制师接口" - ], - "summary": "定制师详情(含产品数量和评分)", - "description": "获取定制师完整个人信息,聚合层会补充该定制师的已发布产品数量和综合评分,用于定制师个人主页展示。", - "operationId": "getDesignerDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "定制师ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/designer/{id}/products": { - "get": { - "tags": [ - "C端 - 定制师接口" - ], - "summary": "定制师已发布产品列表", - "description": "**关联字典(BFF透传)**:\n- product_type:产品类型(显示)", - "operationId": "getDesignerProductsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "定制师ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 10, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/designer/{id}/reviews": { - "get": { - "tags": [ - "C端 - 定制师接口" - ], - "summary": "定制师产品评价列表", - "description": "**关联字典(BFF透传)**:\n- rating_level:评价等级(显示)", - "operationId": "getDesignerReviewsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "定制师ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 10, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/wiki/article/{articleId}": { - "get": { - "tags": [ - "C端 - 攻略接口" - ], - "summary": "文章详情", - "description": "**关联字典(BFF透传)**:\n- wiki_status:文章状态(返回字段)", - "operationId": "getArticleUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "articleId", - "in": "path", - "description": "文章ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/wiki/categories": { - "get": { - "tags": [ - "C端 - 攻略接口" - ], - "summary": "攻略分类列表", - "description": "获取所有已启用的攻略分类,按排序值排列。用于小程序攻略频道的分类导航展示。", - "operationId": "listCategoriesUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/wiki/category/{categoryId}/articles": { - "get": { - "tags": [ - "C端 - 攻略接口" - ], - "summary": "分类文章列表", - "description": "分页查询指定攻略分类下已发布的文章列表,按发布时间倒序排列。用于攻略分类详情页。", - "operationId": "listCategoryArticlesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "categoryId", - "in": "path", - "description": "攻略分类ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 10, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/wiki/recommend-articles": { - "get": { - "tags": [ - "C端 - 攻略接口" - ], - "summary": "推荐文章列表", - "description": "获取编辑推荐的攻略文章列表(按推荐权重排序),用于首页或攻略频道的推荐位展示。", - "operationId": "listRecommendArticlesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "返回条数", - "required": false, - "type": "integer", - "default": 10, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/contract/by-order/{orderId}": { - "get": { - "tags": [ - "C端 - 合同接口" - ], - "summary": "按订单查合同", - "description": "返回订单关联的最新有效合同(非作废)\n\n**关联字典(BFF透传)**:\n- contract_status:合同状态(显示)", - "operationId": "getContractByOrderUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/contract/by-order/{orderId}/all": { - "get": { - "tags": [ - "C端 - 合同接口" - ], - "summary": "按订单查所有合同", - "description": "返回订单关联的所有有效合同(TOUR+INSURANCE各一条)\n\n**关联字典(BFF透传)**:\n- contract_status:合同状态(显示)", - "operationId": "getContractsByOrderUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/contract/list": { - "get": { - "tags": [ - "C端 - 合同接口" - ], - "summary": "合同列表", - "description": "**关联字典(BFF透传)**:\n- contract_status:合同状态(列表筛选+显示)", - "operationId": "listContractsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "状态", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/contract/{contractId}/resend-sms": { - "post": { - "tags": [ - "C端 - 合同接口" - ], - "summary": "重新发送合同签署短信", - "description": "重新向出行人发送合同签署短信通知,适用于出行人未收到短信或短信过期的场景。\n\n**权限**:需登录。", - "operationId": "resendContractSmsUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "contractId", - "in": "path", - "description": "合同ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/contract/{id}": { - "get": { - "tags": [ - "C端 - 合同接口" - ], - "summary": "合同详情", - "description": "返回合同基本信息、签署状态、出行人签署详情及合同文件下载链接\n\n**关联字典(BFF透传)**:\n- contract_status:合同状态(显示)", - "operationId": "getContractDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "合同ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/hotel/list": { - "get": { - "tags": [ - "C端 - 酒店接口" - ], - "summary": "酒店列表", - "description": "分页查询已上架的酒店列表,支持按关键词、城市、星级筛选。聚合层透传resource-service的酒店数据。", - "operationId": "listHotelsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "city", - "in": "query", - "description": "城市", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "keyword", - "in": "query", - "description": "关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "starLevel", - "in": "query", - "description": "星级", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/hotel/{hotelId}": { - "get": { - "tags": [ - "C端 - 酒店接口" - ], - "summary": "酒店详情", - "description": "获取酒店完整信息(含房型列表、图文详情、价格等),自动注入静态地图图片URL用于详情页地图展示。", - "operationId": "getHotelDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "hotelId", - "in": "path", - "description": "酒店ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/restaurant/list": { - "get": { - "tags": [ - "C端 - 餐厅接口" - ], - "summary": "餐厅列表", - "description": "分页查询已上架的餐厅列表,支持按关键词和城市筛选。聚合层透传resource-service的餐厅数据。", - "operationId": "listRestaurantsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "city", - "in": "query", - "description": "城市", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "keyword", - "in": "query", - "description": "关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/restaurant/{restaurantId}": { - "get": { - "tags": [ - "C端 - 餐厅接口" - ], - "summary": "餐厅详情", - "description": "获取餐厅完整信息(含菜品、图文详情等),自动注入静态地图图片URL用于详情页地图展示。", - "operationId": "getRestaurantDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "restaurantId", - "in": "path", - "description": "餐厅ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/dict/all": { - "get": { - "tags": [ - "C端 - 字典接口" - ], - "summary": "获取所有字典数据", - "description": "获取系统全部字典数据(按字典类型分组),用于小程序端的下拉选项、枚举映射等。建议前端缓存此数据", - "operationId": "getAllDictUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/badge": { - "get": { - "tags": [ - "C端 - 徽章接口" - ], - "summary": "获取徽章数据", - "description": "返回用户的徽章统计(未读消息数、待办事项数等),用于「我的」页面角标展示", - "operationId": "getBadgesUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/banner/active": { - "get": { - "tags": [ - "C端 - 轮播图接口" - ], - "summary": "获取当前生效的轮播图列表", - "description": "返回当前处于有效期内的轮播图,按排序值排列。用于小程序首页顶部轮播展示,透传自user-service。", - "operationId": "listActiveBannersUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/common/agreement/list": { - "get": { - "tags": [ - "C端 - 公共接口" - ], - "summary": "协议列表", - "description": "获取所有已上线的协议列表(不含内容,仅含类型、标题、版本)", - "operationId": "listAgreementsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/common/agreement/{type}": { - "get": { - "tags": [ - "C端 - 公共接口" - ], - "summary": "获取协议文本", - "description": "获取指定类型的协议文本(如隐私政策、用户协议),返回富文本内容", - "operationId": "getAgreementUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "type", - "in": "path", - "description": "协议类型: privacy(隐私政策) / user(用户协议)", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/common/config": { - "get": { - "tags": [ - "C端 - 公共接口" - ], - "summary": "应用配置", - "description": "获取应用全局配置信息", - "operationId": "getConfigUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/common/contact": { - "get": { - "tags": [ - "C端 - 公共接口" - ], - "summary": "联系方式列表", - "description": "获取有效的联系方式列表(电话/微信/邮箱等)", - "operationId": "listContactsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/common/faq": { - "get": { - "tags": [ - "C端 - 公共接口" - ], - "summary": "FAQ列表", - "description": "获取常见问题列表(按分类分组)", - "operationId": "listFaqUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/common/feedback": { - "post": { - "tags": [ - "C端 - 公共接口" - ], - "summary": "提交反馈", - "description": "提交用户反馈,支持文字内容和图片附件", - "operationId": "submitFeedbackUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "feedback", - "description": "反馈内容(含content、images、contact等字段)", - "required": true, - "schema": { - "$ref": "#/definitions/提交反馈请求", - "originalRef": "提交反馈请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/config": { - "get": { - "tags": [ - "C端 - 前端配置接口" - ], - "summary": "获取所有非敏感前端配置", - "description": "返回所有非SECRET类型的前端配置项(如主题色、客服电话、版本号等)。不含敏感配置,可安全传输给小程序端。", - "operationId": "listPublicConfigsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/config/group/{group}": { - "get": { - "tags": [ - "C端 - 前端配置接口" - ], - "summary": "按分组获取非敏感前端配置", - "description": "按配置分组获取前端配置项,如UI分组、功能开关分组等。用于小程序按需加载特定分组的配置。", - "operationId": "listPublicConfigsByGroupUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "group", - "in": "path", - "description": "配置分组", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/wish": { - "get": { - "tags": [ - "C端 - 心愿单接口" - ], - "summary": "心愿单列表", - "description": "返回当前用户的心愿单列表,按创建时间倒序排列", - "operationId": "listWishesUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "C端 - 心愿单接口" - ], - "summary": "创建心愿", - "description": "创建旅行心愿,描述想去的地方和时间偏好,定制师可据此推荐产品", - "operationId": "createWishUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "心愿请求体", - "required": false, - "schema": { - "$ref": "#/definitions/创建心愿单请求", - "originalRef": "创建心愿单请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/explore/list": { - "get": { - "tags": [ - "C端 - 探索接口" - ], - "summary": "探索列表", - "description": "获取已启用的探索分类列表(图文攻略内容),支持综合/最新/最热排序,分页返回。用于小程序探索频道首页瀑布流展示。", - "operationId": "listUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "sortType", - "in": "query", - "description": "排序方式:comprehensive/newest/hottest", - "required": false, - "type": "string", - "default": "comprehensive", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/explore/{id}": { - "get": { - "tags": [ - "C端 - 探索接口" - ], - "summary": "探索详情", - "description": "自动增加浏览量,已登录时返回点赞/收藏状态", - "operationId": "detailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "探索分类ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/explore/{id}/favorite": { - "post": { - "tags": [ - "C端 - 探索接口" - ], - "summary": "切换收藏", - "description": "对探索内容收藏/取消收藏,返回当前收藏状态(true=已收藏)。收藏后可在'我的收藏'中查看。\n\n**权限**:需登录。", - "operationId": "toggleFavoriteUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "探索分类ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/explore/{id}/like": { - "post": { - "tags": [ - "C端 - 探索接口" - ], - "summary": "切换点赞", - "description": "对探索内容点赞/取消点赞,返回当前点赞状态(true=已点赞)。\n\n**权限**:需登录。", - "operationId": "toggleLikeUsingPOST_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "探索分类ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/explore/{id}/view": { - "post": { - "tags": [ - "C端 - 探索接口" - ], - "summary": "浏览+1", - "description": "增加探索内容的浏览计数。前端进入探索详情页时调用,无需登录。", - "operationId": "viewUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "探索分类ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/album/file/{albumFileId}/download-url": { - "get": { - "tags": [ - "C端 - 相册接口" - ], - "summary": "获取文件下载链接", - "description": "获取文件的预签名下载URL,有效期有限", - "operationId": "getDownloadUrlUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "albumFileId", - "in": "path", - "description": "相册文件ID", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«string»", - "originalRef": "统一响应结果«string»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«string»", - "originalRef": "统一响应结果«string»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/album/folder/{folderId}/files": { - "get": { - "tags": [ - "C端 - 相册接口" - ], - "summary": "文件夹下的文件列表", - "description": "获取文件夹下的文件列表(分页),含图片和视频", - "operationId": "listFilesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "folderId", - "in": "path", - "description": "文件夹ID", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "page", - "in": "query", - "description": "页码,默认1", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "size", - "in": "query", - "description": "每页数量,默认20", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/album/order/{orderId}/folders": { - "get": { - "tags": [ - "C端 - 相册接口" - ], - "summary": "订单的文件夹列表", - "description": "获取订单下的相册文件夹列表", - "operationId": "listFoldersUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/album/orders": { - "get": { - "tags": [ - "C端 - 相册接口" - ], - "summary": "有相册的订单列表", - "description": "获取当前登录用户有相册的订单列表", - "operationId": "listAlbumOrdersUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/activity/list": { - "get": { - "tags": [ - "C端 - 活动接口" - ], - "summary": "活动列表", - "description": "分页查询已上架的活动列表,支持关键词和分类筛选。聚合层透传resource-service的活动数据给小程序前端。", - "operationId": "listActivitiesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "categoryCode", - "in": "query", - "description": "分类", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "keyword", - "in": "query", - "description": "关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/activity/{activityId}": { - "get": { - "tags": [ - "C端 - 活动接口" - ], - "summary": "活动详情", - "description": "获取活动完整信息(含图文详情、价格等),自动注入静态地图图片URL用于详情页地图展示。", - "operationId": "getActivityDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "activityId", - "in": "path", - "description": "活动ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/scenic/list": { - "get": { - "tags": [ - "C端 - 景区接口" - ], - "summary": "景区列表", - "description": "分页查询已上架的景区列表,支持按关键词和城市筛选。聚合层透传resource-service的景区数据。", - "operationId": "listScenicUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "city", - "in": "query", - "description": "城市", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "keyword", - "in": "query", - "description": "关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/scenic/{scenicId}": { - "get": { - "tags": [ - "C端 - 景区接口" - ], - "summary": "景区详情", - "description": "获取景区完整信息(含季节素材、图文详情、价格等),自动注入静态地图图片URL用于详情页地图展示。", - "operationId": "getScenicDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "scenicId", - "in": "path", - "description": "景区ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/scenic/{scenicId}/nearby": { - "get": { - "tags": [ - "C端 - 景区接口" - ], - "summary": "附近景区(地理+探索分类聚合)", - "description": "聚合两个数据源:1.基于经纬度的地理位置附近景区(resource-service);2.探索分类关联的景区(user-service)。去重合并后返回,用于景区详情页底部'附近推荐'展示。", - "operationId": "getNearbyScenicUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "limit", - "in": "query", - "description": "返回条数", - "required": false, - "type": "integer", - "default": 10, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "radius", - "in": "query", - "description": "搜索半径(km)", - "required": false, - "type": "number", - "default": 50.0, - "format": "double", - "allowEmptyValue": false - }, - { - "name": "scenicId", - "in": "path", - "description": "景区ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/weather/forecast": { - "get": { - "tags": [ - "C端 - 天气接口" - ], - "summary": "获取指定城市天气预报", - "description": "通过高德天气API查询指定城市未来3天的天气预报信息", - "operationId": "getForecastWeatherUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "city", - "in": "query", - "description": "城市名称", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/weather/itinerary/{orderId}": { - "get": { - "tags": [ - "C端 - 天气接口" - ], - "summary": "获取订单行程天气", - "description": "根据订单行程中的目的地城市,批量查询每日天气信息,用于行程详情页展示", - "operationId": "getItineraryWeatherUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/weather/live": { - "get": { - "tags": [ - "C端 - 天气接口" - ], - "summary": "获取指定城市实况天气", - "description": "通过高德天气API查询指定城市的实时天气(温度、湿度、风向等)", - "operationId": "getLiveWeatherUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "city", - "in": "query", - "description": "城市名称", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/like/{targetType}/batch-check": { - "post": { - "tags": [ - "C端 - 通用点赞" - ], - "summary": "批量检查点赞状态", - "description": "批量检查当前用户是否已对多个目标点赞,返回已点赞的目标ID列表。用于列表页批量展示点赞状态。\n\n**权限**:需登录。", - "operationId": "batchCheckLikedUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "targetType", - "in": "path", - "description": "目标类型", - "required": false, - "type": "string" - }, - { - "in": "body", - "name": "targetIds", - "description": "targetIds", - "required": true, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«string»»", - "originalRef": "统一响应结果«List«string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«string»»", - "originalRef": "统一响应结果«List«string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/like/{targetType}/{targetId}": { - "post": { - "tags": [ - "C端 - 通用点赞" - ], - "summary": "切换点赞", - "description": "点赞/取消点赞,返回 {liked: true/false, likeCount: 点赞数}", - "operationId": "toggleLikeUsingPOST_2", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "targetId", - "in": "path", - "description": "目标ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "targetType", - "in": "path", - "description": "目标类型: REVIEW/EXPLORE/GUIDE等", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/like/{targetType}/{targetId}/check": { - "get": { - "tags": [ - "C端 - 通用点赞" - ], - "summary": "检查是否已点赞", - "description": "检查当前用户是否已对指定目标点赞,用于前端点赞按钮状态展示。\n\n**权限**:需登录。", - "operationId": "checkLikeUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "targetId", - "in": "path", - "description": "目标ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "targetType", - "in": "path", - "description": "目标类型", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - } - }, - "definitions": { - "Map«string,object»": { - "type": "object", - "title": "Map«string,object»", - "additionalProperties": { - "type": "object" - } - }, - "Map«string,object»_1": { - "type": "object", - "title": "Map«string,object»_1", - "additionalProperties": { - "type": "object" - } - }, - "分页结果«Map«string,object»»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«Map«string,object»»" - }, - "统一响应结果«分页结果«Map«string,object»»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«Map«string,object»»", - "originalRef": "分页结果«Map«string,object»»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«Map«string,object»»»" - }, - "统一响应结果«首页聚合数据»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/首页聚合数据", - "originalRef": "首页聚合数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«首页聚合数据»" - }, - "首页聚合数据": { - "type": "object", - "properties": { - "banners": { - "type": "array", - "description": "轮播图Banner列表", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "contactInfo": { - "type": "array", - "description": "联系我们列表", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "exploreTopics": { - "type": "array", - "description": "探索专题列表", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "featuredDesigner": { - "type": "object", - "description": "推荐定制师" - }, - "featuredReviews": { - "type": "array", - "description": "首页精选评价列表", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "productLines": { - "type": "array", - "description": "产品线分类列表", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "recommendProducts": { - "type": "array", - "description": "推荐产品列表", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - } - }, - "title": "首页聚合数据" - }, - "C端产品详情": { - "type": "object", - "properties": { - "chatMessages": { - "type": "array", - "description": "群聊最近消息(来自会话存档)", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "earliestBookingDate": { - "type": "string", - "description": "最早可订日期(如 2026-07-15)" - }, - "earlyBirdDiscount": { - "type": "number", - "description": "早鸟优惠金额(元/人)" - }, - "earlyBirdPlanName": { - "type": "string", - "description": "早鸟计划名称" - }, - "isFavorited": { - "type": "boolean", - "description": "是否已收藏(null表示未登录)" - }, - "participantFamilyCount": { - "type": "integer", - "format": "int32", - "description": "参与家庭数" - }, - "product": { - "type": "object", - "description": "产品详情(来自product-service)" - }, - "reviewStats": { - "type": "object", - "description": "评价统计数据" - }, - "topLikedReview": { - "type": "object", - "description": "最高点赞评价" - }, - "topRatedReview": { - "type": "object", - "description": "最高评分评价" - }, - "totalSold": { - "type": "integer", - "format": "int32", - "description": "已购人数" - } - }, - "title": "C端产品详情" - }, - "Map«string,object»_2": { - "type": "object", - "title": "Map«string,object»_2", - "additionalProperties": { - "type": "object" - } - }, - "Map«string,object»_3": { - "type": "object", - "title": "Map«string,object»_3", - "additionalProperties": { - "type": "object" - } - }, - "Map«string,object»_4": { - "type": "object", - "title": "Map«string,object»_4", - "additionalProperties": { - "type": "object" - } - }, - "Map«string,object»_5": { - "type": "object", - "title": "Map«string,object»_5", - "additionalProperties": { - "type": "object" - } - }, - "产品报价结果": { - "type": "object", - "properties": { - "adultSellPrice": { - "type": "number", - "description": "成人单价" - }, - "babySellPrice": { - "type": "number", - "description": "幼童单价(固定价)" - }, - "childSellPrice": { - "type": "number", - "description": "儿童单价" - }, - "childWithBedFee": { - "type": "number", - "description": "儿童加床费" - }, - "depositPayment": { - "description": "定金支付信息(仅paymentMode=DEPOSIT时有值)", - "$ref": "#/definitions/定金支付选项", - "originalRef": "定金支付选项" - }, - "earlyBirdDiscount": { - "description": "早鸟优惠信息,无优惠时为null", - "$ref": "#/definitions/早鸟优惠信息", - "originalRef": "早鸟优惠信息" - }, - "finalPrice": { - "type": "number", - "description": "最终价(早鸟优惠后)" - }, - "fullPayment": { - "description": "全额支付信息", - "$ref": "#/definitions/全额支付选项", - "originalRef": "全额支付选项" - }, - "grandTotalSellPrice": { - "type": "number", - "description": "总售价(优惠前)" - }, - "paymentMode": { - "type": "string", - "description": "支付方式: FULL(全额支付) / DEPOSIT(定金+尾款)" - }, - "totalAdultSellPrice": { - "type": "number", - "description": "成人小计" - }, - "totalBabySellPrice": { - "type": "number", - "description": "幼童小计" - }, - "totalChildSellPrice": { - "type": "number", - "description": "儿童小计" - }, - "totalYoungChildSellPrice": { - "type": "number", - "description": "小童小计" - }, - "youngChildSellPrice": { - "type": "number", - "description": "小童单价(儿童价×折扣比例)" - } - }, - "title": "产品报价结果" - }, - "产品报价请求": { - "type": "object", - "required": [ - "adultCount", - "departureDate" - ], - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "成人数量" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "婴儿数量" - }, - "childCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "儿童数量" - }, - "childNeedBed": { - "type": "boolean", - "example": false, - "description": "儿童是否需要床位" - }, - "departureDate": { - "type": "string", - "example": "2026-05-01", - "description": "出发日期" - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "幼儿数量" - } - }, - "title": "产品报价请求" - }, - "全额支付选项": { - "type": "object", - "properties": { - "amount": { - "type": "number", - "description": "应付金额" - }, - "description": { - "type": "string", - "description": "说明" - } - }, - "title": "全额支付选项" - }, - "定金支付选项": { - "type": "object", - "properties": { - "balanceAmount": { - "type": "number", - "description": "尾款金额(出行前需付)" - }, - "depositAmount": { - "type": "number", - "description": "定金金额(首次需付)" - }, - "depositRatio": { - "type": "integer", - "format": "int32", - "description": "定金比例(%)" - }, - "description": { - "type": "string", - "description": "说明" - } - }, - "title": "定金支付选项" - }, - "早鸟优惠信息": { - "type": "object", - "properties": { - "discountAmount": { - "type": "number", - "description": "优惠金额" - }, - "minPeople": { - "type": "integer", - "format": "int32", - "description": "最低人数要求" - }, - "planId": { - "type": "integer", - "format": "int64", - "description": "优惠方案ID" - }, - "planName": { - "type": "string", - "description": "优惠方案名称" - } - }, - "title": "早鸟优惠信息" - }, - "统一响应结果«C端产品详情»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/C端产品详情", - "originalRef": "C端产品详情" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«C端产品详情»" - }, - "统一响应结果«List«Map«string,object»»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«Map«string,object»»»" - }, - "统一响应结果«Map«string,object»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "object", - "description": "响应数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Map«string,object»»" - }, - "统一响应结果«产品报价结果»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/产品报价结果", - "originalRef": "产品报价结果" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«产品报价结果»" - }, - "C端创建订单请求": { - "type": "object", - "required": [ - "contactName", - "contactPhone", - "productId" - ], - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "成人数" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "幼童数" - }, - "childCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "儿童数" - }, - "childNeedBed": { - "type": "boolean", - "example": false, - "description": "儿童是否需要床位" - }, - "contactName": { - "type": "string", - "example": "张三", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "example": 13800138000, - "description": "联系人电话" - }, - "customizerId": { - "type": "string", - "description": "定制师ID(通过分享链接下单时传入)" - }, - "departureDate": { - "type": "string", - "format": "date", - "example": "2026-05-01", - "description": "出发日期(GROUP产品从团期获取,可不传)" - }, - "groupBatchId": { - "type": "string", - "description": "团期ID(GROUP产品必填)" - }, - "productId": { - "type": "string", - "example": 1760000000000001, - "description": "产品ID" - }, - "remark": { - "type": "string", - "example": "希望安排靠窗座位", - "description": "备注" - }, - "roomCount": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "房间数(GROUP产品,默认1)" - }, - "sharerOpenid": { - "type": "string", - "description": "分享人微信openid(通过分享进入下单时传入,用于记录分享关系)" - }, - "travelers": { - "type": "array", - "description": "出行人列表", - "items": { - "$ref": "#/definitions/出行人信息", - "originalRef": "出行人信息" - } - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "小童数" - } - }, - "title": "C端创建订单请求" - }, - "Map«string,List«Map«string,object»»»": { - "type": "object", - "title": "Map«string,List«Map«string,object»»»", - "additionalProperties": { - "$ref": "#/definitions/List", - "originalRef": "List" - } - }, - "修改订单请求": { - "type": "object", - "properties": { - "departureDate": { - "type": "string", - "format": "date", - "example": "2026-05-01", - "description": "出发日期" - }, - "travelers": { - "type": "array", - "description": "出行人列表(提供则替换全部出行人)", - "items": { - "$ref": "#/definitions/出行人信息_1", - "originalRef": "出行人信息_1" - } - } - }, - "title": "修改订单请求" - }, - "出行人信息": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "birthday": { - "type": "string", - "format": "date", - "example": "1990-01-01", - "description": "出生日期" - }, - "email": { - "type": "string", - "example": "lisi@example.com", - "description": "电子邮箱" - }, - "emergencyContact": { - "type": "string", - "example": "王五", - "description": "紧急联系人" - }, - "emergencyPhone": { - "type": "string", - "example": 13800138002, - "description": "紧急联系电话" - }, - "gender": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "性别(1=男, 2=女)" - }, - "idCardNo": { - "type": "string", - "example": 110101199001011234, - "description": "证件号码" - }, - "idCardType": { - "type": "string", - "example": "ID_CARD", - "description": "证件类型" - }, - "name": { - "type": "string", - "example": "李四", - "description": "出行人姓名" - }, - "nationality": { - "type": "string", - "example": "中国", - "description": "国籍" - }, - "phone": { - "type": "string", - "example": 13800138001, - "description": "手机号" - }, - "travelerType": { - "type": "string", - "example": "ADULT", - "description": "出行人类型(ADULT/CHILD/YOUNG_CHILD/BABY)" - } - }, - "title": "出行人信息" - }, - "出行人信息_1": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "birthday": { - "type": "string", - "format": "date", - "example": "1990-01-01", - "description": "出生日期" - }, - "email": { - "type": "string", - "example": "lisi@example.com", - "description": "电子邮箱" - }, - "emergencyContact": { - "type": "string", - "example": "王五", - "description": "紧急联系人" - }, - "emergencyPhone": { - "type": "string", - "example": 13800138002, - "description": "紧急联系电话" - }, - "gender": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "性别" - }, - "idCardNo": { - "type": "string", - "example": 110101199001011234, - "description": "证件号码" - }, - "idCardType": { - "type": "string", - "example": "ID_CARD", - "description": "证件类型" - }, - "name": { - "type": "string", - "example": "李四", - "description": "出行人姓名" - }, - "nationality": { - "type": "string", - "example": "中国", - "description": "国籍" - }, - "phone": { - "type": "string", - "example": 13800138001, - "description": "手机号" - }, - "travelerType": { - "type": "string", - "example": "ADULT", - "description": "出行人类型" - } - }, - "title": "出行人信息_1" - }, - "分页结果«订单列表项»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/订单列表项", - "originalRef": "订单列表项" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«订单列表项»" - }, - "用户取消订单请求": { - "type": "object", - "properties": { - "reason": { - "type": "string", - "example": "行程有变,需要取消", - "description": "取消原因" - } - }, - "title": "用户取消订单请求" - }, - "统一响应结果«List«订单列表项»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/订单列表项", - "originalRef": "订单列表项" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«订单列表项»»" - }, - "统一响应结果«List«退款原因»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/退款原因", - "originalRef": "退款原因" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«退款原因»»" - }, - "统一响应结果«Map«string,List«Map«string,object»»»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "object", - "description": "响应数据", - "additionalProperties": { - "type": "array", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Map«string,List«Map«string,object»»»»" - }, - "统一响应结果«Void»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Void»" - }, - "统一响应结果«int»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "integer", - "format": "int32", - "description": "响应数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«int»" - }, - "统一响应结果«分页结果«订单列表项»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«订单列表项»", - "originalRef": "分页结果«订单列表项»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«订单列表项»»" - }, - "统一响应结果«订单详情»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/订单详情", - "originalRef": "订单详情" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«订单详情»" - }, - "统一响应结果«退款申请详情»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/退款申请详情", - "originalRef": "退款申请详情" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«退款申请详情»" - }, - "统一响应结果«退款预览»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/退款预览", - "originalRef": "退款预览" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«退款预览»" - }, - "订单列表项": { - "type": "object", - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "description": "成人数" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "description": "幼童数" - }, - "balanceAmount": { - "type": "number", - "description": "尾款金额" - }, - "childCount": { - "type": "integer", - "format": "int32", - "description": "儿童数" - }, - "contracts": { - "type": "array", - "description": "合同列表(含signUrl/fileUrl/status等)", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "daysUntilDeparture": { - "type": "integer", - "format": "int32", - "description": "距出发天数(负数表示已出发)" - }, - "departureDate": { - "type": "string", - "format": "date", - "description": "出发日期" - }, - "depositAmount": { - "type": "number", - "description": "定金金额" - }, - "displayName": { - "type": "string", - "description": "显示名称(未支付=手机号+姓名,已支付=订单号)" - }, - "displayStatus": { - "type": "string", - "description": "C端简化状态(PENDING_PAY/PENDING_DEPARTURE/PENDING_REVIEW/REFUND/CANCELLED)" - }, - "displayStatusLabel": { - "type": "string", - "description": "C端简化状态标签" - }, - "expiryTime": { - "type": "string", - "format": "date-time", - "description": "支付截止时间(PENDING_PAY状态有效)" - }, - "insurances": { - "type": "array", - "description": "保险订单列表(含productName/extPolicyNo/status等)", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "nextAction": { - "type": "string", - "description": "下一步操作提示" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "orderNo": { - "type": "string", - "description": "订单编号" - }, - "paidAmount": { - "type": "number", - "description": "已付金额" - }, - "paymentMode": { - "type": "string", - "description": "支付模式(FULL/DEPOSIT)" - }, - "processStatus": { - "type": "string", - "description": "内部流程状态(字典:order_process_status)" - }, - "processStatusLabel": { - "type": "string", - "description": "内部流程状态标签(字典:order_process_status 翻译)" - }, - "productCoverUrl": { - "type": "string", - "description": "产品封面图URL" - }, - "productId": { - "type": "integer", - "format": "int64", - "description": "产品ID" - }, - "productName": { - "type": "string", - "description": "产品名称" - }, - "productType": { - "type": "string", - "description": "产品类型(CORE/ROUTE/CUSTOM/GROUP)" - }, - "status": { - "type": "string", - "description": "订单状态(PENDING_PAY/DEPOSIT_PAID/PAID/CONFIRMED/IN_PROGRESS/COMPLETED/CANCELLED)" - }, - "statusLabel": { - "type": "string", - "description": "订单状态标签" - }, - "totalPrice": { - "type": "number", - "description": "总售价" - }, - "tripDays": { - "type": "integer", - "format": "int32", - "description": "行程天数" - }, - "tripNights": { - "type": "integer", - "format": "int32", - "description": "行程晚数" - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "description": "小童数" - } - }, - "title": "订单列表项" - }, - "订单详情": { - "type": "object", - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "description": "成人数" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "description": "幼童数" - }, - "balanceAmount": { - "type": "number", - "description": "尾款金额" - }, - "balancePayMethod": { - "type": "string", - "description": "尾款支付方式: ONLINE=线上 OFFLINE=线下" - }, - "balanceProofUrl": { - "type": "string", - "description": "尾款凭证URL" - }, - "cancelReason": { - "type": "string", - "description": "取消原因" - }, - "cancelledAt": { - "type": "string", - "format": "date-time", - "description": "取消时间" - }, - "checklistConfirmed": { - "type": "boolean", - "description": "清单确认状态" - }, - "childCount": { - "type": "integer", - "format": "int32", - "description": "儿童数" - }, - "completedAt": { - "type": "string", - "format": "date-time", - "description": "完成时间" - }, - "confirmedAt": { - "type": "string", - "format": "date-time", - "description": "确认时间" - }, - "contactName": { - "type": "string", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "description": "联系人电话" - }, - "contracts": { - "type": "array", - "description": "合同列表(含signUrl/fileUrl/status等)", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "creatorAdminId": { - "type": "integer", - "format": "int64", - "description": "创建人管理员ID" - }, - "creatorName": { - "type": "string", - "description": "创建人姓名" - }, - "customizerId": { - "type": "integer", - "format": "int64", - "description": "定制师ID" - }, - "customizerName": { - "type": "string", - "description": "定制师姓名" - }, - "departureDate": { - "type": "string", - "format": "date", - "description": "出发日期" - }, - "depositAmount": { - "type": "number", - "description": "定金金额" - }, - "depositRatio": { - "type": "integer", - "format": "int32", - "description": "定金比例" - }, - "discountAmount": { - "type": "number", - "description": "优惠金额" - }, - "discountReason": { - "type": "string", - "description": "优惠原因" - }, - "discounts": { - "type": "array", - "description": "优惠列表", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "expiryMinutes": { - "type": "integer", - "format": "int32", - "description": "支付时限(分钟)" - }, - "expiryTime": { - "type": "string", - "format": "date-time", - "description": "支付截止时间" - }, - "hotelAssignments": { - "type": "string", - "description": "酒店分配信息JSON" - }, - "insurances": { - "type": "array", - "description": "保险订单列表(含productName/extPolicyNo/status/startDate/endDate等)", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "mchId": { - "type": "string", - "description": "商户号" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "orderNo": { - "type": "string", - "description": "订单编号" - }, - "paidAmount": { - "type": "number", - "description": "已付金额" - }, - "paidAt": { - "type": "string", - "format": "date-time", - "description": "支付时间" - }, - "payMethodLabel": { - "type": "string", - "description": "支付方式标签(如:微信支付、定金微信+尾款线下)" - }, - "paymentMode": { - "type": "string", - "description": "支付模式(FULL/DEPOSIT)" - }, - "processStatus": { - "type": "string", - "description": "内部流程状态" - }, - "processStatusLabel": { - "type": "string", - "description": "内部流程状态标签" - }, - "productCoverUrl": { - "type": "string", - "description": "产品封面图URL" - }, - "productId": { - "type": "integer", - "format": "int64", - "description": "产品ID" - }, - "productName": { - "type": "string", - "description": "产品名称" - }, - "productSnapshot": { - "type": "string", - "description": "产品快照JSON" - }, - "productType": { - "type": "string", - "description": "产品类型(CORE/ROUTE/CUSTOM/GROUP)" - }, - "readyAt": { - "type": "string", - "format": "date-time", - "description": "就绪时间" - }, - "refundAmount": { - "type": "number", - "description": "退款金额" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "returnDate": { - "type": "string", - "format": "date", - "description": "返程日期(出发日期 + 行程天数 - 1)" - }, - "reviewed": { - "type": "boolean", - "description": "是否已评价" - }, - "roomInfo": { - "type": "string", - "description": "房间信息" - }, - "status": { - "type": "string", - "description": "订单状态(PENDING_PAY/DEPOSIT_PAID/PAID/CONFIRMED/IN_PROGRESS/COMPLETED/CANCELLED)" - }, - "statusLabel": { - "type": "string", - "description": "订单状态标签" - }, - "timeline": { - "type": "array", - "description": "时间线列表", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "todos": { - "type": "array", - "description": "待办列表", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "totalPrice": { - "type": "number", - "description": "总售价" - }, - "travelers": { - "type": "array", - "description": "出行人列表", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "tripDays": { - "type": "integer", - "format": "int32", - "description": "行程天数" - }, - "tripNights": { - "type": "integer", - "format": "int32", - "description": "行程晚数" - }, - "unlockRequestedAt": { - "type": "string", - "format": "date-time", - "description": "解锁请求时间" - }, - "userId": { - "type": "integer", - "format": "int64", - "description": "用户ID" - }, - "vehicleInfo": { - "type": "string", - "description": "车辆信息" - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "description": "小童数" - } - }, - "title": "订单详情" - }, - "退款原因": { - "type": "object", - "properties": { - "category": { - "type": "string", - "description": "分类: GENERAL(通用)/PRODUCT(产品问题)/SERVICE(服务问题)" - }, - "enabled": { - "type": "boolean", - "description": "是否启用" - }, - "reasonId": { - "type": "integer", - "format": "int64", - "description": "原因ID" - }, - "reasonText": { - "type": "string", - "description": "原因描述" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - } - }, - "title": "退款原因" - }, - "退款申诉请求": { - "type": "object", - "required": [ - "appealReason" - ], - "properties": { - "appealReason": { - "type": "string", - "description": "申诉原因" - }, - "evidence": { - "type": "array", - "description": "申诉凭证图片URL列表", - "items": { - "type": "string" - } - } - }, - "title": "退款申诉请求" - }, - "退款申请详情": { - "type": "object", - "properties": { - "actualAmount": { - "type": "number", - "description": "实际退款金额(审核后确定)" - }, - "appealAmount": { - "type": "number", - "description": "申诉退款金额" - }, - "appealReason": { - "type": "string", - "description": "申诉原因" - }, - "appealStatus": { - "type": "integer", - "format": "int32", - "description": "申诉状态: 1-处理中, 2-通过, 3-驳回" - }, - "appealStatusLabel": { - "type": "string", - "description": "申诉状态中文标签" - }, - "appealedAt": { - "type": "string", - "format": "date-time", - "description": "申诉时间" - }, - "applicantId": { - "type": "integer", - "format": "int64", - "description": "申请人ID" - }, - "applicantName": { - "type": "string", - "description": "申请人姓名" - }, - "applicantType": { - "type": "string", - "description": "申请人类型: USER(用户)/ADMIN(管理员)" - }, - "applicationId": { - "type": "integer", - "format": "int64", - "description": "退款申请ID" - }, - "approvalNo": { - "type": "string", - "description": "审批编号(企微OA审批编号)" - }, - "autoRefundDeadline": { - "type": "string", - "format": "date-time", - "description": "自动退款截止时间" - }, - "calculatedAmount": { - "type": "number", - "description": "计算退款金额" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "daysBeforeDept": { - "type": "integer", - "format": "int32", - "description": "距出发天数" - }, - "departureDate": { - "type": "string", - "format": "date", - "description": "出发日期" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "orderNo": { - "type": "string", - "description": "订单号" - }, - "paidAmount": { - "type": "number", - "description": "已付金额" - }, - "policyId": { - "type": "integer", - "format": "int64", - "description": "退款政策ID" - }, - "policyName": { - "type": "string", - "description": "退款政策名称" - }, - "productName": { - "type": "string", - "description": "产品名称" - }, - "reasonDetail": { - "type": "string", - "description": "补充说明" - }, - "reasonId": { - "type": "integer", - "format": "int64", - "description": "退款原因ID" - }, - "reasonText": { - "type": "string", - "description": "退款原因" - }, - "refundRatio": { - "type": "integer", - "format": "int32", - "description": "退款比例(百分比)" - }, - "refundType": { - "type": "string", - "description": "退款类型: DEPOSIT(定金)/BALANCE(尾款)/FULL(全款)" - }, - "refundTypeLabel": { - "type": "string", - "description": "退款类型中文标签" - }, - "refundedAt": { - "type": "string", - "format": "date-time", - "description": "退款完成时间" - }, - "reviewAdminId": { - "type": "integer", - "format": "int64", - "description": "审批管理员ID" - }, - "reviewAdminName": { - "type": "string", - "description": "审批管理员姓名" - }, - "reviewRemark": { - "type": "string", - "description": "审批备注" - }, - "reviewedAt": { - "type": "string", - "format": "date-time", - "description": "审批时间" - }, - "status": { - "type": "string", - "description": "退款状态: PENDING(待审核)/APPROVED(已通过)/REJECTED(已拒绝)/REFUNDING(退款中)/REFUNDED(已退款)/CANCELLED(已撤回)/APPEALING(申诉中)/APPEAL_APPROVED(申诉通过)/APPEAL_REJECTED(申诉驳回)" - }, - "statusLabel": { - "type": "string", - "description": "退款状态中文标签" - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "退款申请详情" - }, - "退款申请请求": { - "type": "object", - "required": [ - "reasonText", - "refundType" - ], - "properties": { - "images": { - "type": "array", - "description": "退款凭证图片URL列表", - "items": { - "type": "string" - } - }, - "reasonDetail": { - "type": "string", - "description": "退款补充说明" - }, - "reasonId": { - "type": "string", - "example": 1, - "description": "退款原因ID(已废弃,改用字典)" - }, - "reasonText": { - "type": "string", - "example": "行程冲突/时间变动", - "description": "退款原因文本" - }, - "reasonValue": { - "type": "string", - "example": "schedule_conflict", - "description": "退款原因字典值" - }, - "refundType": { - "type": "string", - "example": "FULL", - "description": "退款类型(FULL/DEPOSIT/BALANCE)" - } - }, - "title": "退款申请请求" - }, - "退款规则项": { - "type": "object", - "properties": { - "matched": { - "type": "boolean", - "description": "是否当前命中此规则" - }, - "minDays": { - "type": "integer", - "format": "int32", - "description": "最低天数" - }, - "refundRatio": { - "type": "integer", - "format": "int32", - "description": "退款比例(百分比)" - } - }, - "title": "退款规则项" - }, - "退款预览": { - "type": "object", - "properties": { - "calculatedAmount": { - "type": "number", - "description": "计算退款金额" - }, - "daysBeforeDept": { - "type": "integer", - "format": "int32", - "description": "距出发天数" - }, - "departureDate": { - "type": "string", - "description": "出发日期" - }, - "message": { - "type": "string", - "description": "提示信息" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "orderNo": { - "type": "string", - "description": "订单号" - }, - "paidAmount": { - "type": "number", - "description": "已付金额" - }, - "policyId": { - "type": "integer", - "format": "int64", - "description": "匹配的退款政策ID" - }, - "policyName": { - "type": "string", - "description": "匹配的退款政策名称" - }, - "refundRatio": { - "type": "integer", - "format": "int32", - "description": "退款比例(百分比)" - }, - "refundType": { - "type": "string", - "description": "退款类型: DEPOSIT/BALANCE/FULL" - }, - "refundable": { - "type": "boolean", - "description": "是否可退款" - }, - "rules": { - "type": "array", - "description": "退款规则列表(按天数降序)", - "items": { - "$ref": "#/definitions/退款规则项", - "originalRef": "退款规则项" - } - } - }, - "title": "退款预览" - }, - "通过联系人信息绑定订单请求": { - "type": "object", - "required": [ - "contactName", - "contactPhone" - ], - "properties": { - "contactName": { - "type": "string", - "example": "张三", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "example": 13800138000, - "description": "联系人手机号" - } - }, - "title": "通过联系人信息绑定订单请求" - }, - "发票换开请求": { - "type": "object", - "required": [ - "invoiceTitle", - "titleType" - ], - "properties": { - "email": { - "type": "string", - "description": "接收邮箱" - }, - "invoiceTitle": { - "type": "string", - "example": "张三", - "description": "发票抬头" - }, - "taxNumber": { - "type": "string", - "description": "纳税人识别号(企业发票必填)" - }, - "titleType": { - "type": "string", - "example": "PERSONAL", - "description": "抬头类型: PERSONAL(个人)/COMPANY(企业)" - } - }, - "title": "发票换开请求" - }, - "发票申请请求": { - "type": "object", - "required": [ - "invoiceTitle", - "invoiceType", - "orderId" - ], - "properties": { - "email": { - "type": "string", - "description": "接收邮箱" - }, - "invoiceTitle": { - "type": "string", - "example": "张三", - "description": "发票抬头" - }, - "invoiceType": { - "type": "string", - "example": "PERSONAL", - "description": "发票类型: PERSONAL(个人)/COMPANY(企业)" - }, - "orderId": { - "type": "string", - "example": 1760000000000001, - "description": "订单ID" - }, - "taxpayerId": { - "type": "string", - "description": "纳税人识别号(企业发票必填)" - } - }, - "title": "发票申请请求" - }, - "支付预下单请求": { - "type": "object", - "required": [ - "orderId", - "tradeType" - ], - "properties": { - "clientIp": { - "type": "string", - "example": "192.168.1.1", - "description": "客户端IP(H5支付必填)" - }, - "orderId": { - "type": "string", - "example": 1760000000000001, - "description": "订单ID" - }, - "tradeType": { - "type": "string", - "example": "JSAPI", - "description": "支付方式: JSAPI(小程序支付)/H5(H5支付)" - } - }, - "title": "支付预下单请求" - }, - "Map«string,string»": { - "type": "object", - "title": "Map«string,string»", - "additionalProperties": { - "type": "string" - } - }, - "发送短信验证码请求": { - "type": "object", - "required": [ - "phone" - ], - "properties": { - "phone": { - "type": "string", - "example": 13800138000, - "description": "手机号" - } - }, - "title": "发送短信验证码请求" - }, - "微信登录请求": { - "type": "object", - "required": [ - "code" - ], - "properties": { - "code": { - "type": "string", - "example": "0a3...", - "description": "微信授权code" - } - }, - "title": "微信登录请求" - }, - "更新个人资料请求": { - "type": "object", - "properties": { - "avatar": { - "type": "string", - "example": "https://...", - "description": "头像URL" - }, - "birthday": { - "type": "string", - "format": "date", - "example": "1990-01-01", - "description": "生日" - }, - "email": { - "type": "string", - "example": "user@example.com", - "description": "邮箱" - }, - "gender": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "性别: 1=男, 2=女" - }, - "nationality": { - "type": "string", - "example": "中国", - "description": "国籍" - }, - "nickname": { - "type": "string", - "example": "旅行者小张", - "description": "昵称" - }, - "phone": { - "type": "string", - "example": 13800138000, - "description": "手机号" - }, - "realName": { - "type": "string", - "example": "张三", - "description": "真实姓名" - } - }, - "title": "更新个人资料请求" - }, - "短信验证码登录请求": { - "type": "object", - "required": [ - "code", - "phone" - ], - "properties": { - "code": { - "type": "string", - "example": 123456, - "description": "验证码" - }, - "phone": { - "type": "string", - "example": 13800138000, - "description": "手机号" - } - }, - "title": "短信验证码登录请求" - }, - "统一响应结果«Map«string,string»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "object", - "description": "响应数据", - "additionalProperties": { - "type": "string" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Map«string,string»»" - }, - "身份证OCR识别请求": { - "type": "object", - "required": [ - "imgUrl" - ], - "properties": { - "imgUrl": { - "type": "string", - "example": "https://hlgl-test.oss-cn-beijing.aliyuncs.com/xxx.jpg", - "description": "身份证图片的OSS地址" - } - }, - "title": "身份证OCR识别请求" - }, - "出行人请求(新增/修改)": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "birthday": { - "type": "string", - "format": "date", - "example": "1990-01-01", - "description": "生日" - }, - "email": { - "type": "string", - "example": "lisi@example.com", - "description": "邮箱" - }, - "emergencyContact": { - "type": "string", - "example": "王五", - "description": "紧急联系人" - }, - "emergencyPhone": { - "type": "string", - "example": 13800138002, - "description": "紧急联系电话" - }, - "gender": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "性别: 1=男, 2=女" - }, - "idCardNo": { - "type": "string", - "example": 110101199001011234, - "description": "证件号码" - }, - "idCardType": { - "type": "string", - "example": "ID_CARD", - "description": "证件类型: ID_CARD(身份证)/PASSPORT(护照)" - }, - "name": { - "type": "string", - "example": "李四", - "description": "姓名" - }, - "nationality": { - "type": "string", - "example": "中国", - "description": "国籍" - }, - "phone": { - "type": "string", - "example": 13800138001, - "description": "手机号" - }, - "travelerType": { - "type": "string", - "example": "ADULT", - "description": "出行人类型: ADULT/CHILD/YOUNG_CHILD/BABY" - } - }, - "title": "出行人请求(新增/修改)" - }, - "分页结果«收藏列表项(含资源摘要)»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/收藏列表项(含资源摘要)", - "originalRef": "收藏列表项(含资源摘要)" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«收藏列表项(含资源摘要)»" - }, - "收藏列表项(含资源摘要)": { - "type": "object", - "properties": { - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "收藏时间" - }, - "favoriteId": { - "type": "string", - "description": "收藏记录ID" - }, - "name": { - "type": "string", - "description": "资源名称" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "type": "string" - } - }, - "targetId": { - "type": "string", - "description": "目标资源ID" - }, - "targetType": { - "type": "string", - "description": "目标类型(字典:favorite_resource_type)" - } - }, - "title": "收藏列表项(含资源摘要)" - }, - "收藏请求": { - "type": "object", - "required": [ - "targetId", - "targetType" - ], - "properties": { - "targetId": { - "type": "string", - "example": 3001000000000000020, - "description": "目标资源ID" - }, - "targetType": { - "type": "string", - "example": "SCENIC", - "description": "目标类型(字典:favorite_resource_type)", - "enum": [ - "PRODUCT", - "SCENIC", - "RESTAURANT", - "ACTIVITY" - ] - } - }, - "title": "收藏请求" - }, - "统一响应结果«boolean»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "boolean", - "description": "响应数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«boolean»" - }, - "统一响应结果«分页结果«收藏列表项(含资源摘要)»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«收藏列表项(含资源摘要)»", - "originalRef": "分页结果«收藏列表项(含资源摘要)»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«收藏列表项(含资源摘要)»»" - }, - "分页结果«足迹列表项(含资源摘要)»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/足迹列表项(含资源摘要)", - "originalRef": "足迹列表项(含资源摘要)" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«足迹列表项(含资源摘要)»" - }, - "添加足迹请求": { - "type": "object", - "required": [ - "resourceId", - "resourceType" - ], - "properties": { - "resourceId": { - "type": "string", - "example": 3001000000000000020, - "description": "资源ID" - }, - "resourceType": { - "type": "string", - "example": "SCENIC", - "description": "资源类型: PRODUCT/SCENIC/RESTAURANT/ACTIVITY" - } - }, - "title": "添加足迹请求" - }, - "统一响应结果«分页结果«足迹列表项(含资源摘要)»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«足迹列表项(含资源摘要)»", - "originalRef": "分页结果«足迹列表项(含资源摘要)»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«足迹列表项(含资源摘要)»»" - }, - "足迹列表项(含资源摘要)": { - "type": "object", - "properties": { - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "footprintId": { - "type": "string", - "description": "足迹记录ID" - }, - "name": { - "type": "string", - "description": "资源名称" - }, - "resourceId": { - "type": "string", - "description": "资源ID" - }, - "resourceType": { - "type": "string", - "description": "资源类型:PRODUCT/SCENIC/RESTAURANT/ACTIVITY" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "type": "string" - } - }, - "visitTime": { - "type": "string", - "format": "date-time", - "description": "浏览时间" - } - }, - "title": "足迹列表项(含资源摘要)" - }, - "创建评价请求": { - "type": "object", - "required": [ - "content", - "orderId", - "ratings" - ], - "properties": { - "content": { - "type": "string", - "example": "非常棒的旅行体验!景色优美,服务周到。", - "description": "评价内容(10-500字)" - }, - "images": { - "type": "array", - "description": "评价图片列表(最多9张)", - "items": { - "$ref": "#/definitions/评价图片项", - "originalRef": "评价图片项" - } - }, - "orderId": { - "type": "integer", - "format": "int64", - "example": 1760000000000001, - "description": "订单ID" - }, - "ratings": { - "type": "object", - "description": "评分数据(key为评分类别字典的dictValue,value为1-5整数)。先调用 GET /mp/review/rating-categories 获取评分维度,required=true的必填。示例: {\"ratingItinerary\":5,\"ratingAccommodation\":4,\"ratingDriver\":5,\"ratingDining\":4,\"ratingOverall\":5}", - "additionalProperties": { - "type": "integer", - "format": "int32" - } - }, - "videos": { - "type": "array", - "description": "评价视频列表(最多3个)", - "items": { - "$ref": "#/definitions/评价视频项", - "originalRef": "评价视频项" - } - } - }, - "title": "创建评价请求" - }, - "评价图片项": { - "type": "object", - "required": [ - "imageUrl" - ], - "properties": { - "fileId": { - "type": "integer", - "format": "int64", - "description": "文件ID" - }, - "imageUrl": { - "type": "string", - "description": "图片URL" - } - }, - "title": "评价图片项" - }, - "评价视频项": { - "type": "object", - "required": [ - "videoUrl" - ], - "properties": { - "coverUrl": { - "type": "string", - "description": "视频封面URL" - }, - "duration": { - "type": "integer", - "format": "int32", - "description": "视频时长(秒)" - }, - "fileId": { - "type": "integer", - "format": "int64", - "description": "文件ID" - }, - "videoUrl": { - "type": "string", - "description": "视频URL" - } - }, - "title": "评价视频项" - }, - "Map«string,object»_6": { - "type": "object", - "title": "Map«string,object»_6", - "additionalProperties": { - "type": "object" - } - }, - "Map«string,object»_7": { - "type": "object", - "title": "Map«string,object»_7", - "additionalProperties": { - "type": "object" - } - }, - "创建心愿单请求": { - "type": "object", - "required": [ - "productId" - ], - "properties": { - "notes": { - "type": "string", - "description": "备注" - }, - "productId": { - "type": "string", - "example": 1760000000000001, - "description": "产品ID" - } - }, - "title": "创建心愿单请求" - }, - "提交反馈请求": { - "type": "object", - "required": [ - "content" - ], - "properties": { - "contact": { - "type": "string", - "description": "联系方式" - }, - "content": { - "type": "string", - "example": "页面加载较慢", - "description": "反馈内容" - }, - "images": { - "type": "array", - "description": "图片URL列表", - "items": { - "type": "string" - } - } - }, - "title": "提交反馈请求" - }, - "统一响应结果«string»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "string", - "description": "响应数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«string»" - }, - "统一响应结果«List«string»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "type": "string" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«string»»" - } - } -} \ No newline at end of file diff --git a/api-docs/hl-order-service.json b/api-docs/hl-order-service.json deleted file mode 100644 index 47cc44f..0000000 --- a/api-docs/hl-order-service.json +++ /dev/null @@ -1,10212 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "订单服务", - "version": "1.0.0" - }, - "basePath": "/", - "paths": { - "/admin/order/album/file/{albumFileId}": { - "put": { - "tags": [ - "管理端相册接口" - ], - "summary": "编辑文件信息", - "description": "**关联字典**:\n- album_file_type(文件类型,返回字段fileType):IMAGE=图片, VIDEO=视频\n- album_location_type(地点类型,返回字段locationType):RESOURCE=关联资源, CUSTOM=自定义地点\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆", - "operationId": "updateFileUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "albumFileId", - "in": "path", - "description": "相册文件ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/AlbumFileUpdateRequest", - "originalRef": "AlbumFileUpdateRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«AlbumFileVO»", - "originalRef": "统一响应结果«AlbumFileVO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«AlbumFileVO»", - "originalRef": "统一响应结果«AlbumFileVO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "管理端相册接口" - ], - "summary": "删除文件", - "description": "删除相册中的单个文件(照片/视频)。仅上传者或超级管理员可操作,删除后C端用户不再可见。", - "operationId": "deleteFileUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "albumFileId", - "in": "path", - "description": "相册文件ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/album/folder/{folderId}": { - "put": { - "tags": [ - "管理端相册接口" - ], - "summary": "编辑相册文件夹", - "description": "修改文件夹名称或描述。仅创建者或超级管理员可操作", - "operationId": "updateFolderUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "folderId", - "in": "path", - "description": "文件夹ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/AlbumFolderRequest", - "originalRef": "AlbumFolderRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«AlbumFolderVO»", - "originalRef": "统一响应结果«AlbumFolderVO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«AlbumFolderVO»", - "originalRef": "统一响应结果«AlbumFolderVO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "管理端相册接口" - ], - "summary": "删除相册文件夹", - "description": "删除文件夹及其下所有文件。仅创建者或超级管理员可操作。删除后C端用户不再可见", - "operationId": "deleteFolderUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "folderId", - "in": "path", - "description": "文件夹ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/album/folder/{folderId}/cover": { - "put": { - "tags": [ - "管理端相册接口" - ], - "summary": "设置文件夹封面", - "description": "将文件夹中的指定文件设为封面图,封面图会在文件夹列表中展示。仅上传者或超级管理员可操作。", - "operationId": "setCoverUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "albumFileId", - "in": "query", - "description": "相册文件ID", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "name": "folderId", - "in": "path", - "description": "文件夹ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/album/folder/{folderId}/files": { - "get": { - "tags": [ - "管理端相册接口" - ], - "summary": "查询文件夹下的文件列表", - "description": "**关联字典**:\n- album_file_type(文件类型,返回字段fileType):IMAGE=图片, VIDEO=视频\n- album_location_type(地点类型,返回字段locationType):RESOURCE=关联资源, CUSTOM=自定义地点\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆", - "operationId": "listFilesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "folderId", - "in": "path", - "description": "文件夹ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "size", - "in": "query", - "description": "每页数量", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«AlbumFileVO»»", - "originalRef": "统一响应结果«分页结果«AlbumFileVO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«AlbumFileVO»»", - "originalRef": "统一响应结果«分页结果«AlbumFileVO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "管理端相册接口" - ], - "summary": "批量添加文件到文件夹", - "description": "一次添加多个照片/视频到指定文件夹。文件需先通过文件服务上传获取OSS URL\n\n**关联字典**:\n- album_file_type(文件类型,返回字段fileType):IMAGE=图片, VIDEO=视频\n- album_location_type(地点类型,返回字段locationType):RESOURCE=关联资源, CUSTOM=自定义地点\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆", - "operationId": "addFilesUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "folderId", - "in": "path", - "description": "文件夹ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/AlbumFileBatchAddRequest", - "originalRef": "AlbumFileBatchAddRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«AlbumFileVO»»", - "originalRef": "统一响应结果«List«AlbumFileVO»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«AlbumFileVO»»", - "originalRef": "统一响应结果«List«AlbumFileVO»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/album/my-uploads": { - "get": { - "tags": [ - "管理端相册接口" - ], - "summary": "我的上传", - "description": "查询当前管理员上传的所有相册文件(跨订单),方便管理自己上传的内容\n\n**关联字典**:\n- album_file_type(文件类型,返回字段fileType):IMAGE=图片, VIDEO=视频\n- album_location_type(地点类型,返回字段locationType):RESOURCE=关联资源, CUSTOM=自定义地点\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆", - "operationId": "listMyUploadsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "size", - "in": "query", - "description": "每页数量", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«AlbumFileVO»»", - "originalRef": "统一响应结果«分页结果«AlbumFileVO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«AlbumFileVO»»", - "originalRef": "统一响应结果«分页结果«AlbumFileVO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/config/expiry-minutes": { - "get": { - "tags": [ - "订单配置接口" - ], - "summary": "获取订单过期配置", - "description": "获取当前的订单未支付自动过期时间(分钟)。\n返回当前值、默认值和配置来源(redis=已自定义, default=使用默认值)", - "operationId": "getExpiryMinutesUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "订单配置接口" - ], - "summary": "设置订单过期时间(分钟)", - "description": "修改订单未支付自动取消的等待时间。存储在Redis中,即时生效。\n仅影响新创建的订单,已有订单的过期时间不变", - "operationId": "setExpiryMinutesUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "expiryRequest", - "description": "修改订单过期时间请求", - "required": false, - "schema": { - "$ref": "#/definitions/修改订单过期时间请求", - "originalRef": "修改订单过期时间请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/create": { - "post": { - "tags": [ - "管理端订单接口" - ], - "summary": "创建订单(定制师代下单)", - "description": "创建订单流程:选择产品 → 填写联系人和出行人 → 系统计算报价 → 生成订单(PENDING_PAY状态)\n\n权限:CUSTOM产品仅创建者可下单,CORE/ROUTE产品所有管理员可下单\n\n【关联字典】\n- 请求参数 productType → 字典:product_type(产品类型)\n- 请求参数 travelers[].travelerType → 字典:traveler_type(出行人类型)\n- 请求参数 travelers[].idCardType → 字典:id_card_type(证件类型)\n- 请求参数 travelers[].gender → 字典:gender(性别)\n- 返回字段 status → 字典:order_status(订单状态)\n- 返回字段 processStatus → 字典:order_process_status(订单内部流程状态)\n- 返回字段 productType → 字典:product_type(产品类型)\n- 返回字段 travelers[].travelerType → 字典:traveler_type(出行人类型)\n- 返回字段 travelers[].idCardType → 字典:id_card_type(证件类型)\n- 返回字段 travelers[].gender → 字典:gender(性别)", - "operationId": "createOrderUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "createRequest", - "description": "创建订单请求", - "required": false, - "schema": { - "$ref": "#/definitions/管理员创建订单请求", - "originalRef": "管理员创建订单请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«订单详情VO»", - "originalRef": "统一响应结果«订单详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«订单详情VO»", - "originalRef": "统一响应结果«订单详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/early-bird": { - "post": { - "tags": [ - "早鸟优惠计划管理" - ], - "summary": "创建早鸟优惠计划", - "description": "创建一个早鸟优惠计划,在指定日期范围内下单且满足最低人数条件的订单可享受优惠。\n下单时系统自动匹配最优的早鸟计划。权限:仅超级管理员(SUPER_ADMIN)", - "operationId": "createUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "planRequest", - "description": "创建早鸟计划请求", - "required": false, - "schema": { - "$ref": "#/definitions/早鸟优惠计划请求", - "originalRef": "早鸟优惠计划请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«早鸟优惠计划VO»", - "originalRef": "统一响应结果«早鸟优惠计划VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«早鸟优惠计划VO»", - "originalRef": "统一响应结果«早鸟优惠计划VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/early-bird/list": { - "get": { - "tags": [ - "早鸟优惠计划管理" - ], - "summary": "早鸟优惠计划列表", - "description": "分页查询所有早鸟优惠计划。权限:仅超级管理员(SUPER_ADMIN)", - "operationId": "listUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«早鸟优惠计划VO»»", - "originalRef": "统一响应结果«分页结果«早鸟优惠计划VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«早鸟优惠计划VO»»", - "originalRef": "统一响应结果«分页结果«早鸟优惠计划VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/early-bird/{planId}": { - "get": { - "tags": [ - "早鸟优惠计划管理" - ], - "summary": "早鸟优惠计划详情", - "description": "权限:仅超级管理员(SUPER_ADMIN)", - "operationId": "detailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "planId", - "in": "path", - "description": "早鸟计划ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«早鸟优惠计划VO»", - "originalRef": "统一响应结果«早鸟优惠计划VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«早鸟优惠计划VO»", - "originalRef": "统一响应结果«早鸟优惠计划VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "早鸟优惠计划管理" - ], - "summary": "修改早鸟优惠计划", - "description": "权限:仅超级管理员(SUPER_ADMIN)。修改不影响已下单的订单优惠", - "operationId": "updateUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "planId", - "in": "path", - "description": "早鸟计划ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "planRequest", - "description": "修改早鸟计划请求", - "required": false, - "schema": { - "$ref": "#/definitions/早鸟优惠计划请求", - "originalRef": "早鸟优惠计划请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "早鸟优惠计划管理" - ], - "summary": "删除早鸟优惠计划", - "description": "权限:仅超级管理员(SUPER_ADMIN)。删除不影响已下单的订单优惠", - "operationId": "deleteUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "planId", - "in": "path", - "description": "早鸟计划ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/early-bird/{planId}/toggle": { - "put": { - "tags": [ - "早鸟优惠计划管理" - ], - "summary": "启用/禁用早鸟优惠计划", - "description": "禁用后该计划不再参与自动匹配。权限:仅超级管理员(SUPER_ADMIN)", - "operationId": "toggleUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "enabled", - "in": "query", - "description": "是否启用", - "required": false, - "type": "boolean", - "allowEmptyValue": false - }, - { - "name": "planId", - "in": "path", - "description": "早鸟计划ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/list": { - "get": { - "tags": [ - "管理端订单接口" - ], - "summary": "订单列表", - "description": "支持按关键词(订单号/联系人/产品名)、状态、内部流程状态、产品类型筛选。\n支持按创建时间/出发日期/总价排序。\n\n返回分页结果,包含订单基本信息、状态、支付信息和产品封面\n\n【关联字典】\n- 筛选参数 status → 字典:order_status(订单状态)\n- 筛选参数 processStatus → 字典:order_process_status(订单内部流程状态)\n- 筛选参数 productType → 字典:product_type(产品类型)\n- 返回字段 status → 字典:order_status(订单状态)\n- 返回字段 processStatus → 字典:order_process_status(订单内部流程状态)\n- 返回字段 productType → 字典:product_type(产品类型)", - "operationId": "listOrdersUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "搜索关键词(订单号/联系人姓名/产品名称)", - "required": false, - "type": "string", - "x-example": "HL2026" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "processStatus", - "in": "query", - "description": "内部流程状态(字典:order_process_status)", - "required": false, - "type": "string", - "x-example": "PENDING_ROOM" - }, - { - "name": "productType", - "in": "query", - "description": "产品类型(字典:product_type)", - "required": false, - "type": "string", - "x-example": "CORE" - }, - { - "name": "sortBy", - "in": "query", - "description": "排序字段(createTime/departureDate/totalPrice)", - "required": false, - "type": "string", - "x-example": "createTime" - }, - { - "name": "sortDir", - "in": "query", - "description": "排序方向(desc/asc)", - "required": false, - "type": "string", - "x-example": "desc" - }, - { - "name": "status", - "in": "query", - "description": "订单状态(字典:order_status,支持逗号分隔多状态)", - "required": false, - "type": "string", - "x-example": "PAID" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«管理员订单列表VO»»", - "originalRef": "统一响应结果«分页结果«管理员订单列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«管理员订单列表VO»»", - "originalRef": "统一响应结果«分页结果«管理员订单列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/quote": { - "post": { - "tags": [ - "管理端订单接口" - ], - "summary": "报价预览", - "description": "根据产品、出发日期、人数组合实时计算报价。\n返回各资源明细价格和合计金额,前端据此展示报价清单。\n\n注意:报价仅供参考,最终价格以创建订单时为准(价格日历可能变动)", - "operationId": "quotePreviewUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "quoteRequest", - "description": "报价预览请求", - "required": false, - "schema": { - "$ref": "#/definitions/报价预览请求", - "originalRef": "报价预览请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/todo/contract-eligible": { - "get": { - "tags": [ - "订单待办接口" - ], - "summary": "可签合同订单列表(保险已完成)", - "description": "查询保险待办已完成、可以进入签合同环节的订单列表。\n用于合同管理页面展示待签合同的订单\n\n【关联字典】\n- 返回字段 todoType → 字典:order_todo_type(订单待办类型)\n- 返回字段 orderStatus → 字典:order_status(订单状态)", - "operationId": "getContractEligibleOrdersUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«订单待办VO»»", - "originalRef": "统一响应结果«List«订单待办VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«订单待办VO»»", - "originalRef": "统一响应结果«List«订单待办VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/todo/customizer-list": { - "get": { - "tags": [ - "订单待办接口" - ], - "summary": "定制师列表", - "description": "获取所有定制师(CUSTOMIZER角色)的列表,用于更换定制师时选择目标定制师", - "operationId": "getCustomizerListUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«管理员基本信息»»", - "originalRef": "统一响应结果«List«管理员基本信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«管理员基本信息»»", - "originalRef": "统一响应结果«List«管理员基本信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/todo/my-count": { - "get": { - "tags": [ - "订单待办接口" - ], - "summary": "我的待办数量", - "description": "返回当前管理员未完成的待办总数,用于首页角标/红点提醒", - "operationId": "getMyTodosCountUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«int»", - "originalRef": "统一响应结果«int»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«int»", - "originalRef": "统一响应结果«int»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/todo/my-list": { - "get": { - "tags": [ - "订单待办接口" - ], - "summary": "我的待办列表", - "description": "根据当前管理员ID和角色,查询分配给自己的未完成待办。\n超级管理员可看到所有待办,其他角色只能看到对应类型的待办\n\n【关联字典】\n- 返回字段 todoType → 字典:order_todo_type(订单待办类型)\n- 返回字段 orderStatus → 字典:order_status(订单状态)", - "operationId": "getMyTodosUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«订单待办VO»»", - "originalRef": "统一响应结果«List«订单待办VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«订单待办VO»»", - "originalRef": "统一响应结果«List«订单待办VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/todo/{todoId}/complete": { - "put": { - "tags": [ - "订单待办接口" - ], - "summary": "完成待办", - "description": "将指定待办标记为已完成。\n需要对应角色权限:如配房待办需ROOM_MANAGER角色,配车待办需VEHICLE_MANAGER角色。\n\n完成后系统自动检查是否所有必要待办已完成,若是则推进内部流程\n\n【关联字典】\n- 涉及字段 todoType → 字典:order_todo_type(订单待办类型)", - "operationId": "completeTodoUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "todoId", - "in": "path", - "description": "待办ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/work-order": { - "post": { - "tags": [ - "工单管理" - ], - "summary": "创建工单", - "description": "创建旅途中的变更工单,需关联订单ID。\n可指定处理人,未指定则进入待分配状态。可附带差价信息和资源详情JSON\n\n【关联字典】\n- 请求参数 type → 字典:work_order_type(工单类型)\n- 请求参数 priority → 字典:work_order_priority(工单优先级)\n- 返回字段 status → 字典:work_order_status(工单状态)\n- 返回字段 type → 字典:work_order_type(工单类型)\n- 返回字段 priority → 字典:work_order_priority(工单优先级)", - "operationId": "createUsingPOST_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "body", - "required": true, - "schema": { - "$ref": "#/definitions/CreateWorkOrderRequest", - "originalRef": "CreateWorkOrderRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«WorkOrderVO»", - "originalRef": "统一响应结果«WorkOrderVO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«WorkOrderVO»", - "originalRef": "统一响应结果«WorkOrderVO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/work-order/count-by-order/{orderId}": { - "get": { - "tags": [ - "工单管理" - ], - "summary": "按订单查工单数量", - "description": "返回指定订单关联的工单总数,用于订单详情页展示工单角标", - "operationId": "countByOrderUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«int»", - "originalRef": "统一响应结果«int»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«int»", - "originalRef": "统一响应结果«int»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/work-order/list": { - "get": { - "tags": [ - "工单管理" - ], - "summary": "工单列表", - "description": "分页查询工单,支持按状态/类型/优先级/订单编号/处理人筛选。\n工单用于处理旅行中的突发变更需求(如换房、换车、加景点等)\n\n【关联字典】\n- 筛选参数 status → 字典:work_order_status(工单状态)\n- 筛选参数 type → 字典:work_order_type(工单类型)\n- 筛选参数 priority → 字典:work_order_priority(工单优先级)\n- 返回字段 status → 字典:work_order_status(工单状态)\n- 返回字段 type → 字典:work_order_type(工单类型)\n- 返回字段 priority → 字典:work_order_priority(工单优先级)", - "operationId": "listUsingGET_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "assigneeAdminId", - "in": "query", - "description": "处理人ID", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "name": "orderNo", - "in": "query", - "description": "订单编号(模糊)", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "priority", - "in": "query", - "description": "优先级: URGENT/NORMAL", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "状态: PENDING/PROCESSING/RESOLVED/REJECTED", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "type", - "in": "query", - "description": "类型: ROOM_CHANGE/ROOM_ADD/CHECKOUT_CHANGE/HOTEL_ISSUE/VEHICLE_CHANGE/SCENIC_ADD/SCENIC_REMOVE/OTHER", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«WorkOrderVO»»", - "originalRef": "统一响应结果«分页结果«WorkOrderVO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«WorkOrderVO»»", - "originalRef": "统一响应结果«分页结果«WorkOrderVO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/work-order/stats": { - "get": { - "tags": [ - "工单管理" - ], - "summary": "工单统计", - "description": "返回各状态的工单数量和紧急工单数,用于工单管理页面顶部统计卡片\n\n【关联字典】\n- 返回字段中的状态key → 字典:work_order_status(工单状态)", - "operationId": "getStatsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/work-order/{workOrderId}": { - "get": { - "tags": [ - "工单管理" - ], - "summary": "工单详情", - "description": "返回工单完整信息,包括关联订单、资源详情、处理记录和备注列表\n\n【关联字典】\n- 返回字段 status → 字典:work_order_status(工单状态)\n- 返回字段 type → 字典:work_order_type(工单类型)\n- 返回字段 priority → 字典:work_order_priority(工单优先级)", - "operationId": "getDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "workOrderId", - "in": "path", - "description": "工单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«WorkOrderVO»", - "originalRef": "统一响应结果«WorkOrderVO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«WorkOrderVO»", - "originalRef": "统一响应结果«WorkOrderVO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/work-order/{workOrderId}/assign": { - "put": { - "tags": [ - "工单管理" - ], - "summary": "指派工单", - "description": "将工单分配给指定管理员处理。被指派人将在待办列表中看到该工单", - "operationId": "assignUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "assigneeId", - "in": "query", - "description": "处理人ID", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "name": "assigneeName", - "in": "query", - "description": "处理人姓名", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "workOrderId", - "in": "path", - "description": "工单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«WorkOrderVO»", - "originalRef": "统一响应结果«WorkOrderVO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«WorkOrderVO»", - "originalRef": "统一响应结果«WorkOrderVO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/work-order/{workOrderId}/comment": { - "post": { - "tags": [ - "工单管理" - ], - "summary": "添加工单备注", - "description": "在工单中追加备注信息,用于内部沟通和处理过程记录", - "operationId": "addCommentUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "workOrderId", - "in": "path", - "description": "工单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "body", - "description": "body", - "required": true, - "schema": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«WorkOrderVO»", - "originalRef": "统一响应结果«WorkOrderVO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«WorkOrderVO»", - "originalRef": "统一响应结果«WorkOrderVO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/work-order/{workOrderId}/process": { - "put": { - "tags": [ - "工单管理" - ], - "summary": "处理工单(解决/驳回)", - "description": "解决时需填写处理结果(resolution),驳回时需填写驳回原因(rejectReason)。\n可调整差价(costDifference),正数表示加价,负数表示退费\n\n【关联字典】\n- 返回字段 status → 字典:work_order_status(工单状态)", - "operationId": "processUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "workOrderId", - "in": "path", - "description": "工单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "body", - "description": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ProcessWorkOrderRequest", - "originalRef": "ProcessWorkOrderRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«WorkOrderVO»", - "originalRef": "统一响应结果«WorkOrderVO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«WorkOrderVO»", - "originalRef": "统一响应结果«WorkOrderVO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}": { - "get": { - "tags": [ - "管理端订单接口" - ], - "summary": "订单详情", - "description": "返回订单完整信息,包括:基本信息、产品快照、联系人、出行人列表、支付记录、优惠明细、时间线、内部流程状态等\n\n【关联字典】\n- 返回字段 status → 字典:order_status(订单状态)\n- 返回字段 processStatus → 字典:order_process_status(订单内部流程状态)\n- 返回字段 productType → 字典:product_type(产品类型)\n- 返回字段 travelers[].travelerType → 字典:traveler_type(出行人类型)\n- 返回字段 travelers[].idCardType → 字典:id_card_type(证件类型)\n- 返回字段 travelers[].gender → 字典:gender(性别)\n- 返回字段 timeline[].action → 字典:order_timeline_action(订单操作类型)\n- 返回字段 todos[].todoType → 字典:order_todo_type(订单待办类型)", - "operationId": "getOrderUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«订单详情VO»", - "originalRef": "统一响应结果«订单详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«订单详情VO»", - "originalRef": "统一响应结果«订单详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "管理端订单接口" - ], - "summary": "编辑订单", - "description": "修改订单的联系人、人数、出发日期、售价、成本、备注等信息。\n仅传入需要修改的字段,未传入的字段不会被修改。\n\n如果提供了出行人列表(travelers),将替换订单的全部出行人。\n已锁定的订单需先调用'申请修改'接口解锁后才能编辑\n\n【关联字典】\n- 请求参数 travelers[].travelerType → 字典:traveler_type(出行人类型)\n- 请求参数 travelers[].idCardType → 字典:id_card_type(证件类型)\n- 请求参数 travelers[].gender → 字典:gender(性别)", - "operationId": "editOrderUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "updateRequest", - "description": "编辑订单请求", - "required": false, - "schema": { - "$ref": "#/definitions/管理员修改订单请求", - "originalRef": "管理员修改订单请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "管理端订单接口" - ], - "summary": "删除订单", - "description": "仅待支付(PENDING_PAY)状态的订单可删除,其他状态不可删除", - "operationId": "deleteOrderUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/album/folder": { - "post": { - "tags": [ - "管理端相册接口" - ], - "summary": "创建相册文件夹", - "description": "为订单创建旅行相册文件夹(如'第一天风景'、'合影'等),用于组织旅途照片/视频", - "operationId": "createFolderUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/AlbumFolderRequest", - "originalRef": "AlbumFolderRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«AlbumFolderVO»", - "originalRef": "统一响应结果«AlbumFolderVO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«AlbumFolderVO»", - "originalRef": "统一响应结果«AlbumFolderVO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/album/folders": { - "get": { - "tags": [ - "管理端相册接口" - ], - "summary": "查询订单的文件夹列表", - "description": "获取指定订单的所有相册文件夹,含文件夹名称、描述、封面图、文件数量等信息。", - "operationId": "listFoldersUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«AlbumFolderVO»»", - "originalRef": "统一响应结果«List«AlbumFolderVO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«AlbumFolderVO»»", - "originalRef": "统一响应结果«List«AlbumFolderVO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/balance-pay-method": { - "put": { - "tags": [ - "管理端订单接口" - ], - "summary": "设置尾款支付方式", - "description": "设置订单尾款的支付方式。ONLINE=线上微信支付,OFFLINE=线下转账(需管理员手动记录尾款到账)", - "operationId": "setBalancePayMethodUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "balancePayMethod", - "in": "query", - "description": "支付方式:ONLINE-线上支付, OFFLINE-线下支付", - "required": true, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/cancel": { - "put": { - "tags": [ - "管理端订单接口" - ], - "summary": "取消订单", - "description": "管理员可取消的状态:待支付、已付定金、已全额支付、已确认、待付尾款\n\n已付款订单取消后需走退款流程", - "operationId": "cancelOrderUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "cancelRequest", - "description": "取消订单请求", - "required": false, - "schema": { - "$ref": "#/definitions/管理员取消订单请求", - "originalRef": "管理员取消订单请求" - } - }, - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/confirm": { - "put": { - "tags": [ - "管理端订单接口" - ], - "summary": "确认订单", - "description": "确认订单后进入内部流程:待配房 → 待配车 → 待核算 → 就绪\n\n前置条件:订单状态为已全额支付(PAID)或已付定金(DEPOSIT_PAID)", - "operationId": "confirmOrderUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/customizer": { - "put": { - "tags": [ - "订单待办接口" - ], - "summary": "更换定制师", - "description": "将订单转派给另一位定制师。更换后原定制师的待办自动转移,订单时间线会记录此操作", - "operationId": "changeCustomizerUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "定制师信息", - "required": false, - "schema": { - "$ref": "#/definitions/更换定制师请求", - "originalRef": "更换定制师请求" - } - }, - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/deposit": { - "put": { - "tags": [ - "管理端订单接口" - ], - "summary": "修改定金金额", - "description": "修改订单的定金金额。仅待支付(PENDING_PAY)状态可修改。\n\n定金金额不能超过订单总价,修改后影响用户支付页面显示的应付金额", - "operationId": "updateDepositUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "depositRequest", - "description": "修改定金金额请求", - "required": false, - "schema": { - "$ref": "#/definitions/修改定金金额请求", - "originalRef": "修改定金金额请求" - } - }, - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/discount": { - "post": { - "tags": [ - "管理端订单接口" - ], - "summary": "添加优惠项", - "description": "为订单添加手动优惠(如会员折扣、老客优惠等)。\n添加后系统自动重算订单应付金额。一个订单可添加多个优惠项", - "operationId": "addDiscountUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "discountRequest", - "description": "优惠项请求", - "required": false, - "schema": { - "$ref": "#/definitions/优惠项请求", - "originalRef": "优惠项请求" - } - }, - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«OrderDiscount»", - "originalRef": "统一响应结果«OrderDiscount»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«OrderDiscount»", - "originalRef": "统一响应结果«OrderDiscount»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/discount/{discountId}": { - "put": { - "tags": [ - "管理端订单接口" - ], - "summary": "修改优惠项", - "description": "修改已添加的优惠项名称或金额,修改后自动重算订单应付金额", - "operationId": "updateDiscountUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "discountId", - "in": "path", - "description": "优惠项ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "discountRequest", - "description": "优惠项请求", - "required": false, - "schema": { - "$ref": "#/definitions/优惠项请求", - "originalRef": "优惠项请求" - } - }, - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "管理端订单接口" - ], - "summary": "删除优惠项", - "description": "删除已添加的优惠项,删除后自动重算订单应付金额", - "operationId": "removeDiscountUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "discountId", - "in": "path", - "description": "优惠项ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/hotel-assignment": { - "put": { - "tags": [ - "管理端订单接口" - ], - "summary": "分配酒店信息", - "description": "按家庭为订单分配具体的酒店房间(酒店名称、房型、入住/退房日期)。\n每个家庭对应一条分配记录,分配后信息将展示在订单详情和C端行程中", - "operationId": "assignHotelUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/酒店分配请求", - "originalRef": "酒店分配请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/add": { - "post": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "新增节点", - "description": "在某一天的行程中新增一个节点\n\n**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆", - "operationId": "addNodeUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "新增节点请求", - "required": false, - "schema": { - "$ref": "#/definitions/新增行程节点请求", - "originalRef": "新增行程节点请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»", - "originalRef": "统一响应结果«OrderItineraryEdit»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»", - "originalRef": "统一响应结果«OrderItineraryEdit»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/add-day": { - "post": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "新增整天行程", - "description": "在订单行程中新增一整天(含多个节点)\n\n**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):ADD_DAY=新增整天\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆", - "operationId": "addDayUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/新增行程天请求", - "originalRef": "新增行程天请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«OrderItineraryEdit»»", - "originalRef": "统一响应结果«List«OrderItineraryEdit»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«OrderItineraryEdit»»", - "originalRef": "统一响应结果«List«OrderItineraryEdit»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/add/{editId}": { - "delete": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "删除新增的节点", - "description": "删除通过编辑新增的节点\n\n**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认", - "operationId": "removeAddedNodeUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "editId", - "in": "path", - "description": "编辑记录ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "撤销原因", - "required": false, - "schema": { - "$ref": "#/definitions/撤销行程编辑请求", - "originalRef": "撤销行程编辑请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/balance-summary": { - "get": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "获取尾款调整汇总", - "description": "返回行程编辑产生的尾款调整明细和总额", - "operationId": "getBalanceAdjustmentSummaryUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/confirm-all": { - "post": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "批量确认所有待确认修改", - "description": "确认该订单所有待确认的行程编辑\n\n**关联字典**:\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认", - "operationId": "confirmAllPendingUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«int»", - "originalRef": "统一响应结果«int»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«int»", - "originalRef": "统一响应结果«int»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/confirm/{editId}": { - "post": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "确认单条修改", - "description": "确认一条待确认的行程编辑\n\n**关联字典**:\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认", - "operationId": "confirmEditUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "editId", - "in": "path", - "description": "编辑记录ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/day/{editId}": { - "delete": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "删除新增的整天行程", - "description": "删除通过新增操作添加的整天行程及其所有子节点,已确认的天不允许删除\n\n**关联字典**:\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认", - "operationId": "removeDayUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "editId", - "in": "path", - "description": "ADD_DAY编辑记录ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "删除原因", - "required": false, - "schema": { - "$ref": "#/definitions/撤销行程编辑请求", - "originalRef": "撤销行程编辑请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/edit/{editId}": { - "put": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "修改编辑记录", - "description": "修改待确认状态的编辑记录(如调整价格、名称等)\n\n**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆", - "operationId": "updateEditUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "editId", - "in": "path", - "description": "编辑记录ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "updates", - "description": "updates", - "required": true, - "schema": { - "type": "object" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»", - "originalRef": "统一响应结果«OrderItineraryEdit»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»", - "originalRef": "统一响应结果«OrderItineraryEdit»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/edits": { - "get": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "获取行程编辑记录列表", - "description": "**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆", - "operationId": "getEditListUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«OrderItineraryEdit»»", - "originalRef": "统一响应结果«List«OrderItineraryEdit»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«OrderItineraryEdit»»", - "originalRef": "统一响应结果«List«OrderItineraryEdit»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/merged": { - "get": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "获取合并后的行程(原始+编辑)", - "description": "**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆", - "operationId": "getMergedItineraryUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/pending-count": { - "get": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "获取待确认数量", - "description": "返回该订单待确认的编辑数量", - "operationId": "getPendingCountUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«long»", - "originalRef": "统一响应结果«long»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«long»", - "originalRef": "统一响应结果«long»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/pending/{editId}": { - "delete": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "撤回待确认的修改", - "description": "软删除一条待确认的编辑记录\n\n**关联字典**:\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认", - "operationId": "withdrawPendingEditUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "editId", - "in": "path", - "description": "编辑记录ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": false, - "schema": { - "$ref": "#/definitions/撤销行程编辑请求", - "originalRef": "撤销行程编辑请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/room-type-change": { - "post": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "房型切换", - "description": "执行房型切换,自动计算差价,创建待确认记录\n\n**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):ROOM_CHANGE=房型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认\n- resource_type(资源类型,返回字段resourceType):HOTEL=酒店", - "operationId": "roomTypeChangeUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/房型变更请求", - "originalRef": "房型变更请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»", - "originalRef": "统一响应结果«OrderItineraryEdit»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»", - "originalRef": "统一响应结果«OrderItineraryEdit»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/room-type-change/preview": { - "post": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "房型切换差价预览", - "description": "预览房型切换的差价,不创建记录\n\n**关联字典**:\n- resource_type(资源类型,返回字段resourceType):HOTEL=酒店", - "operationId": "previewRoomTypeChangeUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/房型变更请求", - "originalRef": "房型变更请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«差价计算结果»", - "originalRef": "统一响应结果«差价计算结果»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«差价计算结果»", - "originalRef": "统一响应结果«差价计算结果»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/skip": { - "post": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "跳过节点", - "description": "将行程中的某个节点标记为跳过(客户不去)\n\n**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆", - "operationId": "skipNodeUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "跳过节点请求", - "required": false, - "schema": { - "$ref": "#/definitions/跳过行程节点请求", - "originalRef": "跳过行程节点请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»", - "originalRef": "统一响应结果«OrderItineraryEdit»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»", - "originalRef": "统一响应结果«OrderItineraryEdit»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/skip/{editId}": { - "delete": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "恢复跳过的节点", - "description": "取消跳过,恢复为正常状态\n\n**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认", - "operationId": "unskipNodeUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "editId", - "in": "path", - "description": "编辑记录ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "撤销原因", - "required": false, - "schema": { - "$ref": "#/definitions/撤销行程编辑请求", - "originalRef": "撤销行程编辑请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/vehicle-type-change": { - "post": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "车型切换", - "description": "执行车型切换,自动计算差价,创建待确认记录\n\n**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):VEHICLE_CHANGE=车型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认\n- resource_type(资源类型,返回字段resourceType):VEHICLE=车辆", - "operationId": "vehicleTypeChangeUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/车型变更请求", - "originalRef": "车型变更请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»", - "originalRef": "统一响应结果«OrderItineraryEdit»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»", - "originalRef": "统一响应结果«OrderItineraryEdit»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/itinerary/vehicle-type-change/preview": { - "post": { - "tags": [ - "管理端订单行程编辑" - ], - "summary": "车型切换差价预览", - "description": "预览车型切换的差价,不创建记录\n\n**关联字典**:\n- resource_type(资源类型,返回字段resourceType):VEHICLE=车辆", - "operationId": "previewVehicleTypeChangeUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/车型变更请求", - "originalRef": "车型变更请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«差价计算结果»", - "originalRef": "统一响应结果«差价计算结果»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«差价计算结果»", - "originalRef": "统一响应结果«差价计算结果»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/process-status": { - "put": { - "tags": [ - "管理端订单接口" - ], - "summary": "推进内部流程", - "description": "内部流程推进顺序:待配房(PENDING_ROOM) → 待配车(PENDING_VEHICLE) → 待核算(PENDING_FINANCE) → 就绪(READY)\n\n仅在订单状态为已确认(CONFIRMED)时有效,每次调用自动推进到下一步\n\n【关联字典】\n- 涉及字段 processStatus → 字典:order_process_status(订单内部流程状态)", - "operationId": "advanceProcessStatusUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/record-balance": { - "put": { - "tags": [ - "管理端订单接口" - ], - "summary": "记录尾款(线下收取)", - "description": "管理员确认收到尾款 → 上传凭证。已确认(流程就绪)或待出行状态可操作", - "operationId": "recordBalanceUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "尾款信息", - "required": false, - "schema": { - "$ref": "#/definitions/记录尾款请求", - "originalRef": "记录尾款请求" - } - }, - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/remark": { - "post": { - "tags": [ - "管理端订单接口" - ], - "summary": "添加备注", - "description": "向订单时间线添加一条管理员备注。备注会记录操作人和时间,可用于内部沟通和订单跟踪", - "operationId": "addRemarkUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "remarkRequest", - "description": "备注请求", - "required": false, - "schema": { - "$ref": "#/definitions/管理员备注请求", - "originalRef": "管理员备注请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/request-unlock": { - "post": { - "tags": [ - "管理端订单接口" - ], - "summary": "申请修改(解锁已锁定订单)", - "description": "清单确认后订单进入锁定状态,如需修改需先申请解锁\n\n解锁后可重新编辑订单信息并再次确认清单", - "operationId": "requestUnlockUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "解锁原因", - "required": false, - "schema": { - "$ref": "#/definitions/申请解锁订单请求", - "originalRef": "申请解锁订单请求" - } - }, - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/room-info": { - "put": { - "tags": [ - "管理端订单接口" - ], - "summary": "更新房间信息(仅房务管理员/超级管理员)", - "description": "更新订单的房间分配信息(房型、房间号、入住安排等)。\n\n**权限**:仅ROOM_MANAGER(房务管理员)或SUPER_ADMIN(超级管理员)可操作。", - "operationId": "updateRoomInfoUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "roomInfoRequest", - "description": "房间信息请求", - "required": false, - "schema": { - "$ref": "#/definitions/房间信息请求", - "originalRef": "房间信息请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/room-info/check-diff": { - "post": { - "tags": [ - "管理端订单接口" - ], - "summary": "检测房型一致性", - "description": "检测当前房间配置是否与产品快照一致。返回 null 表示一致,否则返回不一致描述", - "operationId": "checkRoomTypeDiffUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "roomInfoJson", - "description": "roomInfoJson", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«string»", - "originalRef": "统一响应结果«string»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«string»", - "originalRef": "统一响应结果«string»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/status": { - "put": { - "tags": [ - "管理端订单接口" - ], - "summary": "更新订单状态", - "description": "合法状态流转:\n- 待支付 → 已付定金/已全额支付/已取消\n- 已付定金 → 已确认/已取消/售后中\n- 已全额支付 → 已确认/已取消/售后中\n- 已确认 → 待付尾款/待出行/已取消/售后中\n- 待付尾款 → 待出行/已取消/售后中\n- 待出行 → 旅行中/售后中\n- 旅行中 → 已完成\n- 已完成 → 售后中\n- 售后中 → 退款中\n- 退款中 → 已退款\n\n【关联字典】\n- 请求参数 status → 字典:order_status(订单状态)", - "operationId": "updateStatusUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "statusRequest", - "description": "更新订单状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/更新订单状态请求", - "originalRef": "更新订单状态请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/todos": { - "get": { - "tags": [ - "订单待办接口" - ], - "summary": "获取订单待办列表", - "description": "返回指定订单的所有待办项(含已完成和未完成)。\n待办类型包括:配房、配车、签合同、购保险、核算等,随内部流程自动生成\n\n【关联字典】\n- 返回字段 todoType → 字典:order_todo_type(订单待办类型)", - "operationId": "getOrderTodosUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«OrderTodo»»", - "originalRef": "统一响应结果«List«OrderTodo»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«OrderTodo»»", - "originalRef": "统一响应结果«List«OrderTodo»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/vehicle-assignment": { - "put": { - "tags": [ - "管理端订单接口" - ], - "summary": "分配车辆信息", - "description": "为订单分配具体的车辆和司机信息(车型、品牌、车牌号、司机姓名和电话)。\n分配后信息将展示在订单详情和C端行程中", - "operationId": "assignVehicleUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/车辆分配请求", - "originalRef": "车辆分配请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/vehicle-info": { - "put": { - "tags": [ - "管理端订单接口" - ], - "summary": "更新车辆信息(仅车务管理员/超级管理员)", - "description": "更新订单的车辆分配信息(车型、车牌号、司机等)。\n\n**权限**:仅VEHICLE_MANAGER(车务管理员)或SUPER_ADMIN(超级管理员)可操作。", - "operationId": "updateVehicleInfoUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "vehicleInfoRequest", - "description": "车辆信息请求", - "required": false, - "schema": { - "$ref": "#/definitions/车辆信息请求", - "originalRef": "车辆信息请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/{orderId}/vehicle-info/check-diff": { - "post": { - "tags": [ - "管理端订单接口" - ], - "summary": "检测车型一致性", - "description": "检测当前车辆配置是否与产品快照一致。返回 null 表示一致,否则返回不一致描述", - "operationId": "checkVehicleTypeDiffUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "vehicleInfoJson", - "description": "vehicleInfoJson", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«string»", - "originalRef": "统一响应结果«string»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«string»", - "originalRef": "统一响应结果«string»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/refund-policy": { - "post": { - "tags": [ - "退款政策管理" - ], - "summary": "创建退款政策", - "description": "退款政策定义按产品类型和距出发天数的退款比例阶梯\n\n例如:出发前30天退90%,前15天退70%,前7天退50%,7天内不可退\n\n每种产品类型可配置独立的退款政策,用户申请退款时系统自动匹配\n\n【关联字典】\n- 请求参数 refundType → 字典:refund_type(退款类型)\n- 请求参数 productType → 字典:product_type(产品类型)", - "operationId": "createUsingPOST_2", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "policyRequest", - "description": "创建退款政策请求", - "required": false, - "schema": { - "$ref": "#/definitions/退款政策请求", - "originalRef": "退款政策请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款政策VO»", - "originalRef": "统一响应结果«退款政策VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款政策VO»", - "originalRef": "统一响应结果«退款政策VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/refund-policy/list": { - "get": { - "tags": [ - "退款政策管理" - ], - "summary": "退款政策列表", - "description": "【关联字典】\n- 返回字段 refundType → 字典:refund_type(退款类型)\n- 返回字段 productType → 字典:product_type(产品类型)", - "operationId": "listUsingGET_2", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«退款政策VO»»", - "originalRef": "统一响应结果«List«退款政策VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«退款政策VO»»", - "originalRef": "统一响应结果«List«退款政策VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/refund-policy/{policyId}": { - "get": { - "tags": [ - "退款政策管理" - ], - "summary": "退款政策详情", - "description": "【关联字典】\n- 返回字段 refundType → 字典:refund_type(退款类型)\n- 返回字段 productType → 字典:product_type(产品类型)", - "operationId": "detailUsingGET_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "policyId", - "in": "path", - "description": "退款政策ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款政策VO»", - "originalRef": "统一响应结果«退款政策VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款政策VO»", - "originalRef": "统一响应结果«退款政策VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "退款政策管理" - ], - "summary": "修改退款政策", - "description": "【关联字典】\n- 请求参数 refundType → 字典:refund_type(退款类型)\n- 请求参数 productType → 字典:product_type(产品类型)", - "operationId": "updateUsingPUT_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "policyId", - "in": "path", - "description": "退款政策ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "policyRequest", - "description": "修改退款政策请求", - "required": false, - "schema": { - "$ref": "#/definitions/退款政策请求", - "originalRef": "退款政策请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款政策VO»", - "originalRef": "统一响应结果«退款政策VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款政策VO»", - "originalRef": "统一响应结果«退款政策VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "退款政策管理" - ], - "summary": "删除退款政策", - "description": "软删除退款政策。删除后该产品类型将使用默认退款规则。不影响已使用该政策处理的历史退款申请。", - "operationId": "deleteUsingDELETE_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "policyId", - "in": "path", - "description": "退款政策ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/refund-policy/{policyId}/toggle": { - "put": { - "tags": [ - "退款政策管理" - ], - "summary": "启用/禁用退款政策", - "description": "禁用后该政策不再参与退款金额计算,对应产品类型将使用默认退款规则\n\n同一产品类型仅允许一个启用中的政策", - "operationId": "toggleUsingPUT_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "enabled", - "in": "query", - "description": "是否启用", - "required": false, - "type": "boolean", - "allowEmptyValue": false - }, - { - "name": "policyId", - "in": "path", - "description": "退款政策ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/refund/list": { - "get": { - "tags": [ - "退款管理" - ], - "summary": "退款申请列表", - "description": "分页查询退款申请,支持按状态筛选。\n状态包括:PENDING(待审批)、APPROVED(已通过)、REJECTED(已拒绝)、REFUNDING(退款中)、REFUNDED(已退款)、CANCELLED(已撤回)、APPEAL(申诉中)\n\n【关联字典】\n- 筛选参数 status → 字典:refund_status(退款状态)\n- 返回字段 status → 字典:refund_status(退款状态)", - "operationId": "listApplicationsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "状态", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«退款申请VO»»", - "originalRef": "统一响应结果«分页结果«退款申请VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«退款申请VO»»", - "originalRef": "统一响应结果«分页结果«退款申请VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/refund/reason": { - "post": { - "tags": [ - "退款管理" - ], - "summary": "创建退款原因", - "description": "新增退款原因选项,C端用户申请退款时可选择。按sortOrder排序展示\n\n【关联字典】\n- 请求参数 category → 字典:refund_reason_category(退款原因分类)", - "operationId": "createReasonUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "createRequest", - "description": "创建退款原因请求", - "required": false, - "schema": { - "$ref": "#/definitions/创建退款原因请求", - "originalRef": "创建退款原因请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款原因VO»", - "originalRef": "统一响应结果«退款原因VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款原因VO»", - "originalRef": "统一响应结果«退款原因VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/refund/reason/list": { - "get": { - "tags": [ - "退款管理" - ], - "summary": "退款原因列表", - "description": "获取所有退款原因选项(含禁用的),用于退款原因管理页面\n\n【关联字典】\n- 返回字段 category → 字典:refund_reason_category(退款原因分类)", - "operationId": "listReasonsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«退款原因VO»»", - "originalRef": "统一响应结果«List«退款原因VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«退款原因VO»»", - "originalRef": "统一响应结果«List«退款原因VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/refund/reason/{reasonId}": { - "put": { - "tags": [ - "退款管理" - ], - "summary": "修改退款原因", - "description": "修改退款原因的文本、分类或排序,不影响已使用该原因的历史退款申请\n\n【关联字典】\n- 请求参数 category → 字典:refund_reason_category(退款原因分类)", - "operationId": "updateReasonUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "reasonId", - "in": "path", - "description": "退款原因ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "updateRequest", - "description": "修改退款原因请求", - "required": false, - "schema": { - "$ref": "#/definitions/修改退款原因请求", - "originalRef": "修改退款原因请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款原因VO»", - "originalRef": "统一响应结果«退款原因VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款原因VO»", - "originalRef": "统一响应结果«退款原因VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "退款管理" - ], - "summary": "删除退款原因", - "description": "软删除退款原因,删除后C端不再展示。不影响已使用该原因的历史退款申请", - "operationId": "deleteReasonUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "reasonId", - "in": "path", - "description": "退款原因ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/refund/{applicationId}": { - "get": { - "tags": [ - "退款管理" - ], - "summary": "退款申请详情", - "description": "返回退款申请的完整信息,包括退款原因、申请金额、实退金额、审批记录、申诉信息等\n\n【关联字典】\n- 返回字段 status → 字典:refund_status(退款状态)", - "operationId": "getDetailUsingGET_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "applicationId", - "in": "path", - "description": "退款申请ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款申请VO»", - "originalRef": "统一响应结果«退款申请VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款申请VO»", - "originalRef": "统一响应结果«退款申请VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/refund/{applicationId}/complete": { - "put": { - "tags": [ - "退款管理" - ], - "summary": "手动完成退款", - "description": "用于测试订单或线下退款场景。将处于'退款中'状态的退款申请直接标记为'已退款'", - "operationId": "manualCompleteUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "applicationId", - "in": "path", - "description": "退款申请ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款申请VO»", - "originalRef": "统一响应结果«退款申请VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款申请VO»", - "originalRef": "统一响应结果«退款申请VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/refund/{applicationId}/execute-appeal": { - "put": { - "tags": [ - "退款管理" - ], - "summary": "申诉通过后执行退款", - "description": "申诉退款流程:用户发起申诉 → 企微OA审批 → 审批通过后管理员确认实退金额 → 调起微信退款", - "operationId": "executeAppealUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "appealRequest", - "description": "申诉退款执行请求", - "required": false, - "schema": { - "$ref": "#/definitions/申诉退款执行请求", - "originalRef": "申诉退款执行请求" - } - }, - { - "name": "applicationId", - "in": "path", - "description": "退款申请ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款申请VO»", - "originalRef": "统一响应结果«退款申请VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款申请VO»", - "originalRef": "统一响应结果«退款申请VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/order/refund/{applicationId}/review": { - "put": { - "tags": [ - "退款管理" - ], - "summary": "审批退款申请", - "description": "退款审批流程:查看退款申请 → 决定通过/拒绝 → 通过时填写实退金额 → 系统自动调起微信退款\n\n拒绝后用户可发起申诉\n\n【关联字典】\n- 返回字段 status → 字典:refund_status(退款状态)", - "operationId": "reviewUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "applicationId", - "in": "path", - "description": "退款申请ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "reviewRequest", - "description": "审批退款请求", - "required": false, - "schema": { - "$ref": "#/definitions/管理员退款审批请求", - "originalRef": "管理员退款审批请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款申请VO»", - "originalRef": "统一响应结果«退款申请VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«退款申请VO»", - "originalRef": "统一响应结果«退款申请VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - } - }, - "definitions": { - "AlbumFileAddRequest": { - "type": "object", - "properties": { - "customLocation": { - "type": "string", - "description": "自定义地点文本(地点类型为CUSTOM时)" - }, - "description": { - "type": "string", - "description": "文件描述" - }, - "fileId": { - "type": "integer", - "format": "int64", - "description": "文件ID(来自file_info)" - }, - "fileType": { - "type": "string", - "description": "文件类型: IMAGE/VIDEO" - }, - "locationType": { - "type": "string", - "description": "地点类型: RESOURCE/CUSTOM" - }, - "ossUrl": { - "type": "string", - "description": "文件访问URL" - }, - "resourceId": { - "type": "integer", - "format": "int64", - "description": "资源ID(地点类型为RESOURCE时)" - }, - "resourceName": { - "type": "string", - "description": "资源名称(地点类型为RESOURCE时)" - }, - "resourceType": { - "type": "string", - "description": "资源类型(地点类型为RESOURCE时)" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序号" - }, - "thumbnailUrl": { - "type": "string", - "description": "缩略图URL" - } - }, - "title": "AlbumFileAddRequest" - }, - "AlbumFileBatchAddRequest": { - "type": "object", - "properties": { - "files": { - "type": "array", - "description": "文件列表", - "items": { - "$ref": "#/definitions/AlbumFileAddRequest", - "originalRef": "AlbumFileAddRequest" - } - } - }, - "title": "AlbumFileBatchAddRequest" - }, - "AlbumFileUpdateRequest": { - "type": "object", - "properties": { - "customLocation": { - "type": "string", - "description": "自定义地点文本" - }, - "description": { - "type": "string", - "description": "文件描述" - }, - "locationType": { - "type": "string", - "description": "地点类型: RESOURCE/CUSTOM" - }, - "resourceId": { - "type": "integer", - "format": "int64", - "description": "资源ID" - }, - "resourceName": { - "type": "string", - "description": "资源名称" - }, - "resourceType": { - "type": "string", - "description": "资源类型" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序号" - } - }, - "title": "AlbumFileUpdateRequest" - }, - "AlbumFileVO": { - "type": "object", - "properties": { - "albumFileId": { - "type": "integer", - "format": "int64", - "description": "相册文件ID" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "integer", - "format": "int64", - "description": "上传人ID" - }, - "customLocation": { - "type": "string", - "description": "自定义地点文本" - }, - "description": { - "type": "string", - "description": "文件描述" - }, - "fileId": { - "type": "integer", - "format": "int64", - "description": "文件ID" - }, - "fileType": { - "type": "string", - "description": "文件类型: IMAGE/VIDEO" - }, - "folderId": { - "type": "integer", - "format": "int64", - "description": "所属文件夹ID" - }, - "locationText": { - "type": "string", - "description": "地点显示文本" - }, - "locationType": { - "type": "string", - "description": "地点类型: RESOURCE/CUSTOM" - }, - "ossUrl": { - "type": "string", - "description": "文件访问URL" - }, - "resourceId": { - "type": "integer", - "format": "int64", - "description": "资源ID" - }, - "resourceName": { - "type": "string", - "description": "资源名称" - }, - "resourceType": { - "type": "string", - "description": "资源类型" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序号" - }, - "thumbnailUrl": { - "type": "string", - "description": "缩略图URL" - } - }, - "title": "AlbumFileVO" - }, - "AlbumFolderRequest": { - "type": "object", - "properties": { - "folderName": { - "type": "string", - "description": "文件夹名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序号" - } - }, - "title": "AlbumFolderRequest" - }, - "AlbumFolderVO": { - "type": "object", - "properties": { - "coverThumbnailUrl": { - "type": "string", - "description": "封面缩略图URL" - }, - "coverUrl": { - "type": "string", - "description": "封面文件URL" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "integer", - "format": "int64", - "description": "创建人ID" - }, - "fileCount": { - "type": "integer", - "format": "int32", - "description": "文件数量" - }, - "folderId": { - "type": "integer", - "format": "int64", - "description": "文件夹ID" - }, - "folderName": { - "type": "string", - "description": "文件夹名称" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "关联订单ID" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序号" - } - }, - "title": "AlbumFolderVO" - }, - "CreateWorkOrderRequest": { - "type": "object", - "required": [ - "description", - "orderId", - "priority", - "type" - ], - "properties": { - "assigneeAdminId": { - "type": "integer", - "format": "int64", - "description": "指定处理人ID" - }, - "assigneeName": { - "type": "string", - "description": "指定处理人姓名" - }, - "attachmentUrls": { - "type": "string", - "description": "附件URL(JSON数组)" - }, - "costDifference": { - "type": "number", - "description": "差价(正数=客户需补差价, 负数=需退费给客户)" - }, - "description": { - "type": "string", - "description": "问题描述" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "关联订单ID" - }, - "priority": { - "type": "string", - "description": "优先级: URGENT(紧急,如当天出发需处理)/NORMAL(普通)" - }, - "resourceDetail": { - "type": "string", - "description": "资源详情JSON(酒店/车辆/景点信息)" - }, - "type": { - "type": "string", - "description": "工单类型: ROOM_CHANGE(换房)/ROOM_ADD(加房)/CHECKOUT_CHANGE(改退房日期)/HOTEL_ISSUE(酒店问题)/VEHICLE_CHANGE(换车)/SCENIC_ADD(加景点)/SCENIC_REMOVE(减景点)/OTHER(其他)" - } - }, - "title": "CreateWorkOrderRequest" - }, - "Map«string,object»": { - "type": "object", - "title": "Map«string,object»", - "additionalProperties": { - "type": "object" - } - }, - "Map«string,object»_1": { - "type": "object", - "title": "Map«string,object»_1", - "additionalProperties": { - "type": "object" - } - }, - "Map«string,object»_2": { - "type": "object", - "title": "Map«string,object»_2", - "additionalProperties": { - "type": "object" - } - }, - "OrderDiscount": { - "type": "object", - "properties": { - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "deletedAt": { - "type": "string", - "format": "date-time", - "description": "删除时间(软删除)" - }, - "discountAmount": { - "type": "number", - "description": "优惠金额" - }, - "discountId": { - "type": "integer", - "format": "int64", - "description": "优惠ID" - }, - "discountName": { - "type": "string", - "description": "优惠名称" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "OrderDiscount" - }, - "OrderItineraryEdit": { - "type": "object", - "properties": { - "action": { - "type": "string", - "description": "操作类型:SKIP/ADD" - }, - "balanceAdjustment": { - "type": "number", - "description": "尾款调整金额(正数=增加尾款,负数=减少尾款)" - }, - "changeDays": { - "type": "integer", - "format": "int32", - "description": "变更天数" - }, - "changeReasonCode": { - "type": "string", - "description": "变更原因代码(字典项)" - }, - "changeReasonLabel": { - "type": "string", - "description": "变更原因标签" - }, - "confirmStatus": { - "type": "string", - "description": "确认状态:PENDING_CONFIRM/CONFIRMED" - }, - "confirmedAt": { - "type": "string", - "format": "date-time", - "description": "确认时间" - }, - "confirmedBy": { - "type": "integer", - "format": "int64", - "description": "确认人ID" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "dayNumber": { - "type": "integer", - "format": "int32", - "description": "行程天数编号" - }, - "deletedAt": { - "type": "string", - "format": "date-time", - "description": "删除时间(软删除)" - }, - "description": { - "type": "string", - "description": "节点描述(ADD时)" - }, - "editId": { - "type": "integer", - "format": "int64", - "description": "编辑ID" - }, - "newResourceName": { - "type": "string", - "description": "新资源名称(房型/车型)" - }, - "newUnitPrice": { - "type": "number", - "description": "新单价(日均)" - }, - "nodeId": { - "type": "string", - "description": "原节点ID(SKIP时必填)" - }, - "nodeName": { - "type": "string", - "description": "节点名称(ADD时)" - }, - "nodeType": { - "type": "string", - "description": "节点类型(ADD时)" - }, - "operatorId": { - "type": "integer", - "format": "int64", - "description": "操作人ID" - }, - "operatorName": { - "type": "string", - "description": "操作人姓名" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "originalResourceName": { - "type": "string", - "description": "原资源名称(房型/车型)" - }, - "originalUnitPrice": { - "type": "number", - "description": "原单价(日均)" - }, - "reason": { - "type": "string", - "description": "修改原因" - }, - "resourceId": { - "type": "integer", - "format": "int64", - "description": "关联资源ID" - }, - "resourceType": { - "type": "string", - "description": "关联资源类型:SCENIC_SPOT/ACTIVITY/RESTAURANT/HOTEL/VEHICLE" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号(ADD时)" - }, - "startTime": { - "type": "string", - "description": "开始时间(ADD时)" - }, - "suggestedAdjustment": { - "type": "number", - "description": "系统建议差价" - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "OrderItineraryEdit" - }, - "OrderTimeline": { - "type": "object", - "properties": { - "action": { - "type": "string", - "description": "操作动作" - }, - "content": { - "type": "string", - "description": "操作内容" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "deletedAt": { - "type": "string", - "format": "date-time", - "description": "删除时间(软删除)" - }, - "operatorId": { - "type": "integer", - "format": "int64", - "description": "操作人ID" - }, - "operatorName": { - "type": "string", - "description": "操作人姓名" - }, - "operatorType": { - "type": "string", - "description": "操作人类型:USER=用户 ADMIN=管理员 SYSTEM=系统" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "timelineId": { - "type": "integer", - "format": "int64", - "description": "时间线ID" - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "OrderTimeline" - }, - "OrderTodo": { - "type": "object", - "properties": { - "assigneeAdminId": { - "type": "integer", - "format": "int64", - "description": "指派管理员ID" - }, - "assigneeRoleKey": { - "type": "string", - "description": "指派角色Key" - }, - "completedAt": { - "type": "string", - "format": "date-time", - "description": "完成时间" - }, - "completedBy": { - "type": "integer", - "format": "int64", - "description": "完成人ID" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "deletedAt": { - "type": "string", - "format": "date-time", - "description": "删除时间(软删除)" - }, - "lastNotifiedAt": { - "type": "string", - "format": "date-time", - "description": "最后通知时间" - }, - "notificationCount": { - "type": "integer", - "format": "int32", - "description": "通知次数" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "orderNo": { - "type": "string", - "description": "订单编号" - }, - "sequence": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "status": { - "type": "string", - "description": "待办状态" - }, - "todoId": { - "type": "integer", - "format": "int64", - "description": "待办ID" - }, - "todoLabel": { - "type": "string", - "description": "待办标签" - }, - "todoType": { - "type": "string", - "description": "待办类型" - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "OrderTodo" - }, - "OrderTraveler": { - "type": "object", - "properties": { - "birthday": { - "type": "string", - "format": "date", - "description": "出生日期" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "deletedAt": { - "type": "string", - "format": "date-time", - "description": "删除时间(软删除)" - }, - "email": { - "type": "string", - "description": "邮箱地址" - }, - "emergencyContact": { - "type": "string", - "description": "紧急联系人姓名" - }, - "emergencyPhone": { - "type": "string", - "description": "紧急联系人电话(加密存储)" - }, - "gender": { - "type": "integer", - "format": "int32", - "description": "性别(字典:gender)" - }, - "idCardNo": { - "type": "string", - "description": "证件号码(加密存储)" - }, - "idCardType": { - "type": "string", - "description": "证件类型(字典:id_card_type)" - }, - "name": { - "type": "string", - "description": "出行人姓名" - }, - "nationality": { - "type": "string", - "description": "国籍" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "orderTravelerId": { - "type": "integer", - "format": "int64", - "description": "出行人记录ID" - }, - "phone": { - "type": "string", - "description": "手机号码(加密存储)" - }, - "travelerType": { - "type": "string", - "description": "出行人类型(字典:traveler_type)" - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "OrderTraveler" - }, - "PrevDayHotel": { - "type": "object", - "properties": { - "hotelId": { - "type": "integer", - "format": "int64", - "description": "酒店ID" - }, - "hotelName": { - "type": "string", - "description": "酒店名称" - }, - "roomTypeId": { - "type": "integer", - "format": "int64", - "description": "房型ID" - }, - "roomTypeName": { - "type": "string", - "description": "房型名称" - } - }, - "title": "PrevDayHotel" - }, - "ProcessWorkOrderRequest": { - "type": "object", - "required": [ - "action" - ], - "properties": { - "action": { - "type": "string", - "description": "操作: RESOLVE(解决) / REJECT(驳回)" - }, - "costDifference": { - "type": "number", - "description": "调整后差价" - }, - "rejectReason": { - "type": "string", - "description": "驳回原因(驳回时填写)" - }, - "resolution": { - "type": "string", - "description": "处理结果(解决时填写)" - } - }, - "title": "ProcessWorkOrderRequest" - }, - "WorkOrderVO": { - "type": "object", - "properties": { - "assigneeAdminId": { - "type": "string", - "description": "处理人ID" - }, - "assigneeName": { - "type": "string", - "description": "处理人姓名" - }, - "attachmentUrls": { - "type": "string", - "description": "附件URL(JSON数组)" - }, - "costDifference": { - "type": "number", - "description": "差价" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "creatorAdminId": { - "type": "string", - "description": "发起人ID" - }, - "creatorName": { - "type": "string", - "description": "发起人姓名" - }, - "description": { - "type": "string", - "description": "问题描述" - }, - "logs": { - "type": "array", - "description": "操作日志列表", - "items": { - "$ref": "#/definitions/工单操作日志VO", - "originalRef": "工单操作日志VO" - } - }, - "orderId": { - "type": "string", - "description": "关联订单ID" - }, - "orderNo": { - "type": "string", - "description": "关联订单编号" - }, - "priority": { - "type": "string", - "description": "优先级" - }, - "priorityLabel": { - "type": "string", - "description": "优先级标签" - }, - "rejectReason": { - "type": "string", - "description": "驳回原因" - }, - "resolution": { - "type": "string", - "description": "处理结果" - }, - "resolvedAt": { - "type": "string", - "format": "date-time", - "description": "处理完成时间" - }, - "resourceDetail": { - "type": "string", - "description": "资源详情JSON" - }, - "status": { - "type": "string", - "description": "状态" - }, - "statusLabel": { - "type": "string", - "description": "状态标签" - }, - "type": { - "type": "string", - "description": "工单类型" - }, - "typeLabel": { - "type": "string", - "description": "工单类型标签" - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "workOrderId": { - "type": "string", - "description": "工单ID" - }, - "workOrderNo": { - "type": "string", - "description": "工单编号" - } - }, - "title": "WorkOrderVO" - }, - "优惠项请求": { - "type": "object", - "required": [ - "discountAmount", - "discountName" - ], - "properties": { - "discountAmount": { - "type": "number", - "example": 100.0, - "description": "优惠金额" - }, - "discountName": { - "type": "string", - "example": "会员折扣", - "description": "优惠项目名称" - } - }, - "title": "优惠项请求" - }, - "修改定金金额请求": { - "type": "object", - "required": [ - "amount" - ], - "properties": { - "amount": { - "type": "number", - "example": 500.0, - "description": "定金金额" - } - }, - "title": "修改定金金额请求" - }, - "修改订单过期时间请求": { - "type": "object", - "required": [ - "minutes" - ], - "properties": { - "minutes": { - "type": "integer", - "format": "int32", - "example": 30, - "description": "过期时间(分钟)" - } - }, - "title": "修改订单过期时间请求" - }, - "出行人信息": { - "type": "object", - "required": [ - "birthday", - "name" - ], - "properties": { - "birthday": { - "type": "string", - "format": "date", - "example": "1990-01-01", - "description": "出生日期(必填,后端根据此字段自动判断人员类型)" - }, - "email": { - "type": "string", - "example": "lisi@example.com", - "description": "电子邮箱" - }, - "emergencyContact": { - "type": "string", - "example": "王五", - "description": "紧急联系人" - }, - "emergencyPhone": { - "type": "string", - "example": 13800138002, - "description": "紧急联系电话" - }, - "gender": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "性别(字典:gender)" - }, - "idCardNo": { - "type": "string", - "example": 110101199001011234, - "description": "证件号码" - }, - "idCardType": { - "type": "string", - "example": "ID_CARD", - "description": "证件类型(字典:id_card_type)" - }, - "name": { - "type": "string", - "example": "李四", - "description": "出行人姓名" - }, - "nationality": { - "type": "string", - "example": "中国", - "description": "国籍" - }, - "phone": { - "type": "string", - "example": 13800138001, - "description": "手机号" - } - }, - "title": "出行人信息" - }, - "分页结果«AlbumFileVO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/AlbumFileVO", - "originalRef": "AlbumFileVO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«AlbumFileVO»" - }, - "分页结果«WorkOrderVO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/WorkOrderVO", - "originalRef": "WorkOrderVO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«WorkOrderVO»" - }, - "分页结果«早鸟优惠计划VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/早鸟优惠计划VO", - "originalRef": "早鸟优惠计划VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«早鸟优惠计划VO»" - }, - "分页结果«管理员订单列表VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/管理员订单列表VO", - "originalRef": "管理员订单列表VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«管理员订单列表VO»" - }, - "单项酒店分配": { - "type": "object", - "required": [ - "checkInDate", - "checkOutDate", - "familyIndex", - "hotelName", - "roomType" - ], - "properties": { - "checkInDate": { - "type": "string", - "description": "入住日期(yyyy-MM-dd)" - }, - "checkOutDate": { - "type": "string", - "description": "退房日期(yyyy-MM-dd)" - }, - "familyIndex": { - "type": "integer", - "format": "int32", - "description": "家庭序号" - }, - "hotelName": { - "type": "string", - "description": "酒店名称" - }, - "roomType": { - "type": "string", - "description": "房型" - } - }, - "title": "单项酒店分配" - }, - "工单操作日志VO": { - "type": "object", - "properties": { - "action": { - "type": "string", - "description": "操作动作" - }, - "actionLabel": { - "type": "string", - "description": "操作动作标签" - }, - "content": { - "type": "string", - "description": "操作内容" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "操作时间" - }, - "logId": { - "type": "string", - "description": "日志ID" - }, - "operatorName": { - "type": "string", - "description": "操作人姓名" - } - }, - "title": "工单操作日志VO" - }, - "差价计算结果": { - "type": "object", - "properties": { - "changeDays": { - "type": "integer", - "format": "int32", - "description": "变更天数" - }, - "description": { - "type": "string", - "description": "差价描述(中文说明)" - }, - "direction": { - "type": "string", - "description": "差价方向:UPGRADE=升级加价, DOWNGRADE=降级减价, SAME=价格不变" - }, - "newName": { - "type": "string", - "description": "新资源名称" - }, - "newUnitPrice": { - "type": "number", - "description": "新单价(日均)" - }, - "originalName": { - "type": "string", - "description": "原资源名称" - }, - "originalUnitPrice": { - "type": "number", - "description": "原单价(日均)" - }, - "priceDiff": { - "type": "number", - "description": "差价金额(正数=需补款,负数=可退款)" - } - }, - "title": "差价计算结果" - }, - "房型变更请求": { - "type": "object", - "required": [ - "dayNumber", - "newRoomTypeId", - "originalRoomTypeId", - "reason" - ], - "properties": { - "balanceAdjustment": { - "type": "number", - "example": 200.0, - "description": "尾款调整金额(可选,覆盖系统建议差价;正数=增加尾款,负数=减少尾款)" - }, - "changeReasonCode": { - "type": "string", - "description": "变更原因代码(字典项 order_change_reason)" - }, - "dayNumber": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "行程天数编号" - }, - "newRoomTypeId": { - "type": "integer", - "format": "int64", - "description": "新房型ID" - }, - "originalRoomTypeId": { - "type": "integer", - "format": "int64", - "description": "原房型ID" - }, - "reason": { - "type": "string", - "example": "客户要求升级房型", - "description": "变更原因" - }, - "roomCount": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "房间数量" - } - }, - "title": "房型变更请求" - }, - "房间信息请求": { - "type": "object", - "required": [ - "roomInfo" - ], - "properties": { - "roomInfo": { - "type": "string", - "example": "标准双人间2间,大床房1间", - "description": "房间信息" - } - }, - "title": "房间信息请求" - }, - "报价预览请求": { - "type": "object", - "required": [ - "departureDate", - "productId" - ], - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "成人数" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "幼童数" - }, - "childCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "儿童数" - }, - "childNeedBed": { - "type": "boolean", - "example": false, - "description": "儿童是否需要床位" - }, - "departureDate": { - "type": "string", - "format": "date", - "example": "2026-05-01", - "description": "出发日期" - }, - "productId": { - "type": "integer", - "format": "int64", - "example": 1760000000000001, - "description": "产品ID" - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "小童数" - } - }, - "title": "报价预览请求" - }, - "撤销行程编辑请求": { - "type": "object", - "required": [ - "reason" - ], - "properties": { - "reason": { - "type": "string", - "example": "客户改主意了", - "description": "撤销原因" - } - }, - "title": "撤销行程编辑请求" - }, - "新增行程天请求": { - "type": "object", - "required": [ - "dayNumber", - "dayTitle", - "reason" - ], - "properties": { - "dayNumber": { - "type": "integer", - "format": "int32", - "example": 3, - "description": "行程天数编号(插入位置,后续天数自动顺延)" - }, - "dayTitle": { - "type": "string", - "example": "第三天:丽江古城自由行", - "description": "天标题" - }, - "nodes": { - "type": "array", - "description": "该天的行程节点列表", - "items": { - "$ref": "#/definitions/新增行程节点请求", - "originalRef": "新增行程节点请求" - } - }, - "prevDayHotel": { - "description": "前一天住宿配置(原最后一天无住宿,新增天数后需配置)", - "$ref": "#/definitions/PrevDayHotel", - "originalRef": "PrevDayHotel" - }, - "reason": { - "type": "string", - "example": "客户要求增加一天自由行", - "description": "变更原因" - } - }, - "title": "新增行程天请求" - }, - "新增行程节点请求": { - "type": "object", - "required": [ - "nodeName", - "nodeType" - ], - "properties": { - "balanceAdjustment": { - "type": "number", - "example": 200.0, - "description": "尾款调整金额(正数=增加尾款,负数=减少尾款)" - }, - "dayNumber": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "行程天数编号(独立调用时必填,addDay子节点时自动继承)" - }, - "description": { - "type": "string", - "description": "节点描述" - }, - "nodeName": { - "type": "string", - "description": "节点名称" - }, - "nodeType": { - "type": "string", - "description": "节点类型:SCENIC/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE/FREE/NOTE" - }, - "reason": { - "type": "string", - "example": "客户要求增加该景点", - "description": "修改原因(独立调用时必填,addDay子节点时自动继承)" - }, - "resourceId": { - "type": "integer", - "format": "int64", - "description": "关联资源ID" - }, - "resourceType": { - "type": "string", - "description": "关联资源类型:SCENIC_SPOT/ACTIVITY/RESTAURANT/HOTEL/VEHICLE" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号(插入位置,默认追加到末尾)" - }, - "startTime": { - "type": "string", - "description": "开始时间" - } - }, - "title": "新增行程节点请求" - }, - "早鸟优惠计划VO": { - "type": "object", - "properties": { - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "integer", - "format": "int64", - "description": "创建人ID" - }, - "discountAmount": { - "type": "number", - "description": "优惠金额" - }, - "enabled": { - "type": "boolean", - "description": "是否启用" - }, - "endDate": { - "type": "string", - "format": "date", - "description": "生效结束日期" - }, - "minPeople": { - "type": "integer", - "format": "int32", - "description": "最低人数" - }, - "planId": { - "type": "integer", - "format": "int64", - "description": "计划ID" - }, - "planName": { - "type": "string", - "description": "计划名称" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "startDate": { - "type": "string", - "format": "date", - "description": "生效开始日期" - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "早鸟优惠计划VO" - }, - "早鸟优惠计划请求": { - "type": "object", - "required": [ - "discountAmount", - "endDate", - "minPeople", - "planName", - "startDate" - ], - "properties": { - "discountAmount": { - "type": "number", - "example": 200.0, - "description": "优惠金额(从订单总价中扣减的固定金额)" - }, - "endDate": { - "type": "string", - "format": "date", - "example": "2026-04-15", - "description": "生效结束日期" - }, - "minPeople": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "最低出行人数(含成人+儿童),订单人数>=此值才能享受优惠" - }, - "planName": { - "type": "string", - "example": "五一早鸟优惠", - "description": "计划名称" - }, - "remark": { - "type": "string", - "example": "仅限新用户", - "description": "备注" - }, - "startDate": { - "type": "string", - "format": "date", - "example": "2026-03-01", - "description": "生效开始日期" - } - }, - "title": "早鸟优惠计划请求" - }, - "更换定制师请求": { - "type": "object", - "required": [ - "customizerId" - ], - "properties": { - "customizerId": { - "type": "integer", - "format": "int64", - "description": "定制师ID" - } - }, - "title": "更换定制师请求" - }, - "更新订单状态请求": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "example": "CONFIRMED", - "description": "目标状态。可选值:PENDING_PAY(待支付)/DEPOSIT_PAID(已付定金)/PAID(已全额支付)/CONFIRMED(已确认)/PENDING_BALANCE(待付尾款)/PENDING_DEPARTURE(待出行)/TRAVELLING(旅行中)/COMPLETED(已完成)/AFTER_SALE(售后中)/REFUNDING(退款中)/REFUNDED(已退款)/CANCELLED(已取消)" - } - }, - "title": "更新订单状态请求" - }, - "申请解锁订单请求": { - "type": "object", - "properties": { - "reason": { - "type": "string", - "description": "解锁原因" - } - }, - "title": "申请解锁订单请求" - }, - "管理员修改订单请求": { - "type": "object", - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "成人数" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "幼童数" - }, - "childCount": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "儿童数" - }, - "contactName": { - "type": "string", - "example": "张三", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "example": 13800138000, - "description": "联系人电话" - }, - "departureDate": { - "type": "string", - "format": "date", - "example": "2026-05-01", - "description": "出发日期" - }, - "depositAmount": { - "type": "number", - "example": 2000.0, - "description": "定金金额" - }, - "mchId": { - "type": "string", - "example": 1246532201, - "description": "商户号(微信支付商户号,多商户场景使用)" - }, - "remark": { - "type": "string", - "example": "客户要求安排靠窗座位", - "description": "备注" - }, - "totalCost": { - "type": "number", - "example": 5000.0, - "description": "总成本" - }, - "totalPrice": { - "type": "number", - "example": 8000.0, - "description": "总售价" - }, - "travelers": { - "type": "array", - "description": "出行人列表(如提供则替换全部出行人,不传则不修改出行人)", - "items": { - "$ref": "#/definitions/出行人信息", - "originalRef": "出行人信息" - } - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "小童数" - } - }, - "title": "管理员修改订单请求" - }, - "管理员创建订单请求": { - "type": "object", - "required": [ - "contactName", - "contactPhone", - "productId" - ], - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "成人数" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "幼童数" - }, - "childCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "儿童数" - }, - "childNeedBed": { - "type": "boolean", - "example": false, - "description": "儿童是否需要床位(影响房间分配和报价计算)" - }, - "contactName": { - "type": "string", - "example": "张三", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "example": 13800138000, - "description": "联系人电话" - }, - "customizerId": { - "type": "integer", - "format": "int64", - "example": 1760000000000010, - "description": "定制师ID(可选,默认为创建人)" - }, - "departureDate": { - "type": "string", - "format": "date", - "example": "2026-05-01", - "description": "出发日期(GROUP产品可不传,从团期获取)" - }, - "expiryMinutes": { - "type": "integer", - "format": "int32", - "example": 30, - "description": "支付时限(分钟),不传则使用全局默认值。超时未支付订单自动取消" - }, - "groupBatchId": { - "type": "integer", - "format": "int64", - "description": "团期ID(GROUP产品必填)" - }, - "productId": { - "type": "integer", - "format": "int64", - "example": 1760000000000001, - "description": "产品ID" - }, - "remark": { - "type": "string", - "example": "客户VIP", - "description": "备注" - }, - "roomCount": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "房间数(GROUP产品,默认1)" - }, - "travelers": { - "type": "array", - "description": "出行人列表", - "items": { - "$ref": "#/definitions/出行人信息", - "originalRef": "出行人信息" - } - }, - "userPhone": { - "type": "string", - "example": 13800138000, - "description": "用户手机号(可选,用于关联C端用户)。如匹配到已注册用户则自动绑定订单" - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "小童数" - } - }, - "title": "管理员创建订单请求" - }, - "管理员取消订单请求": { - "type": "object", - "required": [ - "reason" - ], - "properties": { - "reason": { - "type": "string", - "example": "客户主动取消", - "description": "取消原因" - }, - "refundAmount": { - "type": "number", - "example": 500.0, - "description": "退款金额(可选,不传则按退款政策自动计算;传0表示不退款)" - } - }, - "title": "管理员取消订单请求" - }, - "管理员基本信息": { - "type": "object", - "properties": { - "adminId": { - "type": "integer", - "format": "int64", - "description": "管理员ID" - }, - "avatarUrl": { - "type": "string", - "description": "头像URL" - }, - "username": { - "type": "string", - "description": "用户名" - }, - "wechatName": { - "type": "string", - "description": "企微用户名称" - }, - "wechatUserid": { - "type": "string", - "description": "企微用户ID" - } - }, - "title": "管理员基本信息" - }, - "管理员备注请求": { - "type": "object", - "required": [ - "content" - ], - "properties": { - "content": { - "type": "string", - "example": "客户要求加急处理", - "description": "备注内容" - } - }, - "title": "管理员备注请求" - }, - "管理员订单列表VO": { - "type": "object", - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "description": "成人数" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "description": "幼童数" - }, - "balanceAmount": { - "type": "number", - "description": "尾款金额(DEPOSIT模式:总售价-定金-优惠)" - }, - "childCount": { - "type": "integer", - "format": "int32", - "description": "儿童数" - }, - "contactName": { - "type": "string", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "description": "联系人电话" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "creatorAdminId": { - "type": "integer", - "format": "int64", - "description": "创建人管理员ID" - }, - "customizerName": { - "type": "string", - "description": "定制师名称" - }, - "daysUntilDeparture": { - "type": "integer", - "format": "int32", - "description": "距出发天数(负数表示已出发)" - }, - "departureDate": { - "type": "string", - "format": "date", - "description": "出发日期" - }, - "depositAmount": { - "type": "number", - "description": "定金金额" - }, - "discountAmount": { - "type": "number", - "description": "优惠金额" - }, - "mchId": { - "type": "string", - "description": "商户号" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "orderNo": { - "type": "string", - "description": "订单号" - }, - "paidAmount": { - "type": "number", - "description": "已付金额" - }, - "paymentMode": { - "type": "string", - "description": "支付模式(字典:payment_mode)" - }, - "processStatus": { - "type": "string", - "description": "内部流程状态(字典:order_process_status)" - }, - "processStatusLabel": { - "type": "string", - "description": "内部流程状态标签(字典:order_process_status 翻译)" - }, - "productCoverUrl": { - "type": "string", - "description": "产品封面图URL" - }, - "productId": { - "type": "integer", - "format": "int64", - "description": "产品ID" - }, - "productName": { - "type": "string", - "description": "产品名称" - }, - "productType": { - "type": "string", - "description": "产品类型(字典:product_type)" - }, - "status": { - "type": "string", - "description": "订单状态(字典:order_status)" - }, - "statusLabel": { - "type": "string", - "description": "订单状态标签(字典:order_status 翻译)" - }, - "totalPrice": { - "type": "number", - "description": "总售价" - }, - "tripDays": { - "type": "integer", - "format": "int32", - "description": "行程天数" - }, - "tripNights": { - "type": "integer", - "format": "int32", - "description": "行程晚数" - }, - "userId": { - "type": "integer", - "format": "int64", - "description": "用户ID" - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "description": "小童数" - } - }, - "title": "管理员订单列表VO" - }, - "统一响应结果«AlbumFileVO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/AlbumFileVO", - "originalRef": "AlbumFileVO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«AlbumFileVO»" - }, - "统一响应结果«AlbumFolderVO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/AlbumFolderVO", - "originalRef": "AlbumFolderVO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«AlbumFolderVO»" - }, - "统一响应结果«List«AlbumFileVO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/AlbumFileVO", - "originalRef": "AlbumFileVO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«AlbumFileVO»»" - }, - "统一响应结果«List«AlbumFolderVO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/AlbumFolderVO", - "originalRef": "AlbumFolderVO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«AlbumFolderVO»»" - }, - "统一响应结果«List«Map«string,object»»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«Map«string,object»»»" - }, - "统一响应结果«List«OrderItineraryEdit»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/OrderItineraryEdit", - "originalRef": "OrderItineraryEdit" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«OrderItineraryEdit»»" - }, - "统一响应结果«List«OrderTodo»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/OrderTodo", - "originalRef": "OrderTodo" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«OrderTodo»»" - }, - "统一响应结果«List«管理员基本信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/管理员基本信息", - "originalRef": "管理员基本信息" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«管理员基本信息»»" - }, - "统一响应结果«List«订单待办VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/订单待办VO", - "originalRef": "订单待办VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«订单待办VO»»" - }, - "统一响应结果«Map«string,object»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "object", - "description": "响应数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Map«string,object»»" - }, - "统一响应结果«OrderDiscount»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/OrderDiscount", - "originalRef": "OrderDiscount" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«OrderDiscount»" - }, - "统一响应结果«OrderItineraryEdit»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/OrderItineraryEdit", - "originalRef": "OrderItineraryEdit" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«OrderItineraryEdit»" - }, - "统一响应结果«Void»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Void»" - }, - "统一响应结果«WorkOrderVO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/WorkOrderVO", - "originalRef": "WorkOrderVO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«WorkOrderVO»" - }, - "统一响应结果«int»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "integer", - "format": "int32", - "description": "响应数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«int»" - }, - "统一响应结果«long»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "integer", - "format": "int64", - "description": "响应数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«long»" - }, - "统一响应结果«string»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "string", - "description": "响应数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«string»" - }, - "统一响应结果«分页结果«AlbumFileVO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«AlbumFileVO»", - "originalRef": "分页结果«AlbumFileVO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«AlbumFileVO»»" - }, - "统一响应结果«分页结果«WorkOrderVO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«WorkOrderVO»", - "originalRef": "分页结果«WorkOrderVO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«WorkOrderVO»»" - }, - "统一响应结果«分页结果«早鸟优惠计划VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«早鸟优惠计划VO»", - "originalRef": "分页结果«早鸟优惠计划VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«早鸟优惠计划VO»»" - }, - "统一响应结果«分页结果«管理员订单列表VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«管理员订单列表VO»", - "originalRef": "分页结果«管理员订单列表VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«管理员订单列表VO»»" - }, - "统一响应结果«差价计算结果»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/差价计算结果", - "originalRef": "差价计算结果" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«差价计算结果»" - }, - "统一响应结果«早鸟优惠计划VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/早鸟优惠计划VO", - "originalRef": "早鸟优惠计划VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«早鸟优惠计划VO»" - }, - "统一响应结果«订单详情VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/订单详情VO", - "originalRef": "订单详情VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«订单详情VO»" - }, - "订单待办VO": { - "type": "object", - "properties": { - "assigneeAdminId": { - "type": "integer", - "format": "int64", - "description": "负责管理员ID" - }, - "assigneeRoleKey": { - "type": "string", - "description": "负责角色标识" - }, - "blocked": { - "type": "boolean", - "description": "是否阻塞" - }, - "blockedReason": { - "type": "string", - "description": "阻塞原因" - }, - "completedAt": { - "type": "string", - "format": "date-time", - "description": "完成时间" - }, - "completedBy": { - "type": "integer", - "format": "int64", - "description": "完成人ID" - }, - "contactName": { - "type": "string", - "description": "联系人姓名(关联查询)" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "departureDate": { - "type": "string", - "format": "date", - "description": "出发日期(关联查询)" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "orderNo": { - "type": "string", - "description": "订单号" - }, - "orderStatus": { - "type": "string", - "description": "订单状态(关联查询)" - }, - "productName": { - "type": "string", - "description": "产品名称(关联查询)" - }, - "sequence": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "status": { - "type": "string", - "description": "待办状态" - }, - "todoId": { - "type": "integer", - "format": "int64", - "description": "待办ID" - }, - "todoLabel": { - "type": "string", - "description": "待办名称" - }, - "todoType": { - "type": "string", - "description": "待办类型" - } - }, - "title": "订单待办VO" - }, - "订单详情VO": { - "type": "object", - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "description": "成人数" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "description": "幼童数" - }, - "balanceAmount": { - "type": "number", - "description": "尾款金额(总售价-定金)" - }, - "balancePayMethod": { - "type": "string", - "description": "尾款支付方式: ONLINE=线上微信支付 OFFLINE=线下转账" - }, - "balanceProofUrl": { - "type": "string", - "description": "尾款凭证URL" - }, - "cancelReason": { - "type": "string", - "description": "取消原因" - }, - "cancelledAt": { - "type": "string", - "format": "date-time", - "description": "取消时间" - }, - "checklistConfirmed": { - "type": "boolean", - "description": "清单确认状态" - }, - "childCount": { - "type": "integer", - "format": "int32", - "description": "儿童数" - }, - "completedAt": { - "type": "string", - "format": "date-time", - "description": "完成时间" - }, - "confirmedAt": { - "type": "string", - "format": "date-time", - "description": "确认时间" - }, - "contactName": { - "type": "string", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "description": "联系人电话" - }, - "contracts": { - "type": "array", - "description": "合同列表(含signUrl/fileUrl/status等)", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "creatorAdminId": { - "type": "integer", - "format": "int64", - "description": "创建人管理员ID" - }, - "creatorName": { - "type": "string", - "description": "创建人姓名" - }, - "customizerId": { - "type": "integer", - "format": "int64", - "description": "定制师ID" - }, - "customizerName": { - "type": "string", - "description": "定制师姓名" - }, - "departureDate": { - "type": "string", - "format": "date", - "description": "出发日期" - }, - "depositAmount": { - "type": "number", - "description": "定金金额" - }, - "depositRatio": { - "type": "integer", - "format": "int32", - "description": "定金比例" - }, - "discountAmount": { - "type": "number", - "description": "优惠金额" - }, - "discountReason": { - "type": "string", - "description": "优惠原因" - }, - "discounts": { - "type": "array", - "description": "优惠列表", - "items": { - "$ref": "#/definitions/OrderDiscount", - "originalRef": "OrderDiscount" - } - }, - "displayStatus": { - "type": "string", - "description": "前端显示状态(字典:order_display_status)" - }, - "displayStatusLabel": { - "type": "string", - "description": "前端显示状态标签(字典:order_display_status 翻译)" - }, - "expiryMinutes": { - "type": "integer", - "format": "int32", - "description": "支付时限(分钟)" - }, - "expiryTime": { - "type": "string", - "format": "date-time", - "description": "支付截止时间" - }, - "hotelAssignments": { - "type": "string", - "description": "酒店分配信息JSON" - }, - "insurances": { - "type": "array", - "description": "保险订单列表(含productName/extPolicyNo/status/startDate/endDate等)", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "mchId": { - "type": "string", - "description": "商户号" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "orderNo": { - "type": "string", - "description": "订单号" - }, - "paidAmount": { - "type": "number", - "description": "已付金额" - }, - "paidAt": { - "type": "string", - "format": "date-time", - "description": "支付时间" - }, - "payMethodLabel": { - "type": "string", - "description": "支付方式标签(如:微信支付、定金微信+尾款线下)" - }, - "paymentMode": { - "type": "string", - "description": "支付模式(字典:payment_mode)" - }, - "processStatus": { - "type": "string", - "description": "内部流程状态(字典:order_process_status)" - }, - "processStatusLabel": { - "type": "string", - "description": "内部流程状态标签(字典:order_process_status 翻译)" - }, - "productCoverUrl": { - "type": "string", - "description": "产品封面图URL" - }, - "productId": { - "type": "integer", - "format": "int64", - "description": "产品ID" - }, - "productName": { - "type": "string", - "description": "产品名称" - }, - "productSnapshot": { - "type": "string", - "description": "产品快照JSON" - }, - "productType": { - "type": "string", - "description": "产品类型(字典:product_type)" - }, - "readyAt": { - "type": "string", - "format": "date-time", - "description": "就绪时间" - }, - "refundAmount": { - "type": "number", - "description": "退款金额(实退金额)" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "returnDate": { - "type": "string", - "format": "date", - "description": "返程日期(出发日期 + 行程天数 - 1)" - }, - "reviewed": { - "type": "boolean", - "description": "是否已评价" - }, - "roomInfo": { - "type": "string", - "description": "房间信息" - }, - "sharerOpenid": { - "type": "string", - "description": "分享人微信openid" - }, - "status": { - "type": "string", - "description": "订单状态(字典:order_status)" - }, - "statusLabel": { - "type": "string", - "description": "订单状态标签(字典:order_status 翻译)" - }, - "timeline": { - "type": "array", - "description": "时间线列表", - "items": { - "$ref": "#/definitions/OrderTimeline", - "originalRef": "OrderTimeline" - } - }, - "todos": { - "type": "array", - "description": "待办列表", - "items": { - "$ref": "#/definitions/OrderTodo", - "originalRef": "OrderTodo" - } - }, - "totalCost": { - "type": "number", - "description": "总成本(仅管理员可见)" - }, - "totalPrice": { - "type": "number", - "description": "总售价" - }, - "travelers": { - "type": "array", - "description": "出行人列表", - "items": { - "$ref": "#/definitions/OrderTraveler", - "originalRef": "OrderTraveler" - } - }, - "tripDays": { - "type": "integer", - "format": "int32", - "description": "行程天数" - }, - "tripNights": { - "type": "integer", - "format": "int32", - "description": "行程晚数" - }, - "unlockRequestedAt": { - "type": "string", - "format": "date-time", - "description": "解锁请求时间" - }, - "userId": { - "type": "integer", - "format": "int64", - "description": "用户ID" - }, - "vehicleInfo": { - "type": "string", - "description": "车辆信息" - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "description": "小童数" - } - }, - "title": "订单详情VO" - }, - "记录尾款请求": { - "type": "object", - "properties": { - "proofUrl": { - "type": "string", - "description": "支付凭证URL" - }, - "remark": { - "type": "string", - "description": "备注" - } - }, - "title": "记录尾款请求" - }, - "跳过行程节点请求": { - "type": "object", - "required": [ - "dayNumber", - "nodeId", - "reason" - ], - "properties": { - "balanceAdjustment": { - "type": "number", - "example": -120.0, - "description": "尾款调整金额(正数=增加尾款,负数=减少尾款)" - }, - "dayNumber": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "行程天数编号" - }, - "nodeId": { - "type": "string", - "description": "节点ID" - }, - "nodeName": { - "type": "string", - "example": "蒙古族小型冰雪那达慕", - "description": "节点名称" - }, - "reason": { - "type": "string", - "example": "客户不想去该景点", - "description": "修改原因" - } - }, - "title": "跳过行程节点请求" - }, - "车型变更请求": { - "type": "object", - "required": [ - "newVehicleId", - "originalVehicleId", - "reason" - ], - "properties": { - "balanceAdjustment": { - "type": "number", - "example": 300.0, - "description": "尾款调整金额(可选,覆盖系统建议差价;正数=增加尾款,负数=减少尾款)" - }, - "changeReasonCode": { - "type": "string", - "description": "变更原因代码(字典项 order_change_reason)" - }, - "newVehicleId": { - "type": "integer", - "format": "int64", - "description": "新车辆ID" - }, - "originalVehicleId": { - "type": "integer", - "format": "int64", - "description": "原车辆ID" - }, - "reason": { - "type": "string", - "example": "原车辆已被预订", - "description": "变更原因" - } - }, - "title": "车型变更请求" - }, - "车辆信息请求": { - "type": "object", - "required": [ - "vehicleInfo" - ], - "properties": { - "vehicleInfo": { - "type": "string", - "example": "7座商务车1辆,司机张师傅", - "description": "车辆信息" - } - }, - "title": "车辆信息请求" - }, - "车辆分配请求": { - "type": "object", - "required": [ - "vehicleBrand", - "vehicleModel" - ], - "properties": { - "driverName": { - "type": "string", - "description": "司机姓名" - }, - "driverPhone": { - "type": "string", - "description": "司机电话" - }, - "plateNumber": { - "type": "string", - "description": "车牌号" - }, - "vehicleBrand": { - "type": "string", - "description": "品牌" - }, - "vehicleModel": { - "type": "string", - "description": "车型" - } - }, - "title": "车辆分配请求" - }, - "酒店分配请求": { - "type": "object", - "required": [ - "assignments" - ], - "properties": { - "assignments": { - "type": "array", - "description": "酒店分配列表", - "items": { - "$ref": "#/definitions/单项酒店分配", - "originalRef": "单项酒店分配" - } - } - }, - "title": "酒店分配请求" - }, - "修改退款原因请求": { - "type": "object", - "properties": { - "category": { - "type": "string", - "example": "用户原因", - "description": "分类" - }, - "reasonText": { - "type": "string", - "example": "行程有变", - "description": "退款原因文本" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序号" - } - }, - "title": "修改退款原因请求" - }, - "分页结果«退款申请VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/退款申请VO", - "originalRef": "退款申请VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«退款申请VO»" - }, - "创建退款原因请求": { - "type": "object", - "required": [ - "reasonText" - ], - "properties": { - "category": { - "type": "string", - "example": "用户原因", - "description": "分类" - }, - "reasonText": { - "type": "string", - "example": "行程有变", - "description": "退款原因文本" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序号" - } - }, - "title": "创建退款原因请求" - }, - "申诉退款执行请求": { - "type": "object", - "required": [ - "actualAmount" - ], - "properties": { - "actualAmount": { - "type": "number", - "example": 1500.0, - "description": "实际退款金额" - }, - "remark": { - "type": "string", - "example": "申诉通过,按协商金额退款", - "description": "备注" - } - }, - "title": "申诉退款执行请求" - }, - "管理员退款审批请求": { - "type": "object", - "required": [ - "action" - ], - "properties": { - "action": { - "type": "string", - "example": "APPROVE", - "description": "审批结果:APPROVE=通过(自动调起微信退款)、REJECT=拒绝(用户可发起申诉)" - }, - "actualAmount": { - "type": "number", - "example": 1500.0, - "description": "实际退款金额(审批通过时可调整,不传则使用申请金额)。不能超过订单已付金额" - }, - "remark": { - "type": "string", - "example": "同意全额退款", - "description": "审批备注" - } - }, - "title": "管理员退款审批请求" - }, - "统一响应结果«List«退款原因VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/退款原因VO", - "originalRef": "退款原因VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«退款原因VO»»" - }, - "统一响应结果«List«退款政策VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/退款政策VO", - "originalRef": "退款政策VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«退款政策VO»»" - }, - "统一响应结果«分页结果«退款申请VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«退款申请VO»", - "originalRef": "分页结果«退款申请VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«退款申请VO»»" - }, - "统一响应结果«退款原因VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/退款原因VO", - "originalRef": "退款原因VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«退款原因VO»" - }, - "统一响应结果«退款政策VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/退款政策VO", - "originalRef": "退款政策VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«退款政策VO»" - }, - "统一响应结果«退款申请VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/退款申请VO", - "originalRef": "退款申请VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«退款申请VO»" - }, - "退款原因VO": { - "type": "object", - "properties": { - "category": { - "type": "string", - "description": "原因分类" - }, - "enabled": { - "type": "boolean", - "description": "是否启用" - }, - "reasonId": { - "type": "integer", - "format": "int64", - "description": "原因ID" - }, - "reasonText": { - "type": "string", - "description": "原因描述" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - } - }, - "title": "退款原因VO" - }, - "退款政策VO": { - "type": "object", - "properties": { - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "integer", - "format": "int64", - "description": "创建人ID" - }, - "enabled": { - "type": "boolean", - "description": "是否启用" - }, - "endDate": { - "type": "string", - "format": "date", - "description": "生效结束日期" - }, - "isDefault": { - "type": "boolean", - "description": "是否为默认政策" - }, - "policyId": { - "type": "integer", - "format": "int64", - "description": "政策ID" - }, - "policyName": { - "type": "string", - "description": "政策名称" - }, - "refundType": { - "type": "string", - "description": "退款类型" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "rules": { - "type": "array", - "description": "退款规则列表", - "items": { - "$ref": "#/definitions/退款规则VO", - "originalRef": "退款规则VO" - } - }, - "startDate": { - "type": "string", - "format": "date", - "description": "生效开始日期" - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "退款政策VO" - }, - "退款政策请求": { - "type": "object", - "required": [ - "policyName", - "refundType", - "rules" - ], - "properties": { - "endDate": { - "type": "string", - "format": "date", - "example": "2026-12-31", - "description": "生效结束日期" - }, - "isDefault": { - "type": "boolean", - "example": false, - "description": "是否为默认政策" - }, - "policyName": { - "type": "string", - "example": "国内游退款政策", - "description": "政策名称" - }, - "refundType": { - "type": "string", - "example": "FULL_REFUND", - "description": "退款类型" - }, - "remark": { - "type": "string", - "example": "适用于所有国内游产品", - "description": "备注" - }, - "rules": { - "type": "array", - "description": "退款规则列表", - "items": { - "$ref": "#/definitions/退款规则项", - "originalRef": "退款规则项" - } - }, - "startDate": { - "type": "string", - "format": "date", - "example": "2026-01-01", - "description": "生效开始日期" - } - }, - "title": "退款政策请求" - }, - "退款申请VO": { - "type": "object", - "properties": { - "actualAmount": { - "type": "number", - "description": "实际退款金额" - }, - "appealAmount": { - "type": "number", - "description": "申诉退款金额" - }, - "appealReason": { - "type": "string", - "description": "申诉原因" - }, - "appealStatus": { - "type": "integer", - "format": "int32", - "description": "申诉状态: 1-处理中 2-通过 3-驳回" - }, - "appealStatusLabel": { - "type": "string", - "description": "申诉状态标签" - }, - "appealedAt": { - "type": "string", - "format": "date-time", - "description": "申诉时间" - }, - "applicantId": { - "type": "integer", - "format": "int64", - "description": "申请人ID" - }, - "applicantName": { - "type": "string", - "description": "申请人姓名" - }, - "applicantType": { - "type": "string", - "description": "申请人类型(USER/ADMIN)" - }, - "applicationId": { - "type": "integer", - "format": "int64", - "description": "申请ID" - }, - "approvalNo": { - "type": "string", - "description": "审批编号" - }, - "calculatedAmount": { - "type": "number", - "description": "计算退款金额" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "daysBeforeDept": { - "type": "integer", - "format": "int32", - "description": "距出发天数" - }, - "departureDate": { - "type": "string", - "format": "date", - "description": "出发日期" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "orderNo": { - "type": "string", - "description": "订单号" - }, - "paidAmount": { - "type": "number", - "description": "已付金额" - }, - "policyId": { - "type": "integer", - "format": "int64", - "description": "退款政策ID" - }, - "policyName": { - "type": "string", - "description": "退款政策名称" - }, - "productName": { - "type": "string", - "description": "产品名称" - }, - "reasonDetail": { - "type": "string", - "description": "补充说明" - }, - "reasonId": { - "type": "integer", - "format": "int64", - "description": "退款原因ID" - }, - "reasonText": { - "type": "string", - "description": "退款原因" - }, - "refundRatio": { - "type": "integer", - "format": "int32", - "description": "退款比例(百分比)" - }, - "refundType": { - "type": "string", - "description": "退款类型(字典:refund_type)" - }, - "refundTypeLabel": { - "type": "string", - "description": "退款类型标签(字典:refund_type 翻译)" - }, - "refundedAt": { - "type": "string", - "format": "date-time", - "description": "退款完成时间" - }, - "reviewAdminId": { - "type": "integer", - "format": "int64", - "description": "审批管理员ID" - }, - "reviewAdminName": { - "type": "string", - "description": "审批管理员姓名" - }, - "reviewRemark": { - "type": "string", - "description": "审批备注" - }, - "reviewedAt": { - "type": "string", - "format": "date-time", - "description": "审批时间" - }, - "status": { - "type": "string", - "description": "退款状态(字典:refund_status)" - }, - "statusLabel": { - "type": "string", - "description": "退款状态标签(字典:refund_status 翻译)" - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "退款申请VO" - }, - "退款规则VO": { - "type": "object", - "properties": { - "minDays": { - "type": "integer", - "format": "int32", - "description": "距出发最少天数" - }, - "refundRatio": { - "type": "integer", - "format": "int32", - "description": "退款比例(百分比)" - }, - "ruleId": { - "type": "integer", - "format": "int64", - "description": "规则ID" - } - }, - "title": "退款规则VO" - }, - "退款规则项": { - "type": "object", - "required": [ - "minDays", - "refundRatio" - ], - "properties": { - "minDays": { - "type": "integer", - "format": "int32", - "example": 7, - "description": "距出发最少天数(含当天)。例如:minDays=7表示出发前7天及以上适用此规则" - }, - "refundRatio": { - "type": "integer", - "format": "int32", - "example": 80, - "description": "退款比例(百分比,0-100)。例如:80表示退已付金额的80%" - } - }, - "title": "退款规则项" - } - } -} \ No newline at end of file diff --git a/api-docs/hl-payment-service.json b/api-docs/hl-payment-service.json deleted file mode 100644 index 6ed75b8..0000000 --- a/api-docs/hl-payment-service.json +++ /dev/null @@ -1,825 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "支付服务", - "version": "1.0.0" - }, - "basePath": "/", - "paths": { - "/admin/payment/list": { - "get": { - "tags": [ - "支付管理" - ], - "summary": "支付交易列表", - "description": "分页查询支付交易记录,支持按订单号、交易状态、交易类型筛选\n\n**关联字典**:\n- payment_mode:支付模式(列表筛选+显示)", - "operationId": "listTransactionsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "endDate", - "in": "query", - "description": "结束日期", - "required": false, - "type": "string", - "x-example": "2026-12-31" - }, - { - "name": "mchId", - "in": "query", - "description": "商户号", - "required": false, - "type": "string", - "x-example": "1246532201" - }, - { - "name": "orderNo", - "in": "query", - "description": "订单编号", - "required": false, - "type": "string", - "x-example": "HL20260301120000001234" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "startDate", - "in": "query", - "description": "开始日期", - "required": false, - "type": "string", - "x-example": "2026-01-01" - }, - { - "name": "status", - "in": "query", - "description": "支付状态", - "required": false, - "type": "string", - "x-example": "SUCCESS" - }, - { - "name": "tradeType", - "in": "query", - "description": "交易类型: JSAPI/H5", - "required": false, - "type": "string", - "x-example": "JSAPI" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«分页结果«支付交易信息»»", - "$ref": "#/definitions/统一响应结果«分页结果«支付交易信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«分页结果«支付交易信息»»", - "$ref": "#/definitions/统一响应结果«分页结果«支付交易信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/payment/order/{orderId}": { - "get": { - "tags": [ - "支付管理" - ], - "summary": "按订单查询交易", - "description": "查询指定订单的所有支付交易记录", - "operationId": "listByOrderUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«支付交易信息»»", - "$ref": "#/definitions/统一响应结果«List«支付交易信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«支付交易信息»»", - "$ref": "#/definitions/统一响应结果«List«支付交易信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/payment/refund/order/{orderId}": { - "get": { - "tags": [ - "支付管理" - ], - "summary": "按订单查询退款", - "description": "查询指定订单的所有退款记录", - "operationId": "listRefundsByOrderUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«退款记录信息»»", - "$ref": "#/definitions/统一响应结果«List«退款记录信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«退款记录信息»»", - "$ref": "#/definitions/统一响应结果«List«退款记录信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/payment/refund/{refundId}": { - "get": { - "tags": [ - "支付管理" - ], - "summary": "退款详情", - "description": "获取单笔退款记录的完整信息,包含微信退款单号和退款状态", - "operationId": "getRefundDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "refundId", - "in": "path", - "description": "退款ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«退款记录信息»", - "$ref": "#/definitions/统一响应结果«退款记录信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«退款记录信息»", - "$ref": "#/definitions/统一响应结果«退款记录信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/payment/{orderId}/refund": { - "post": { - "tags": [ - "支付管理" - ], - "summary": "发起退款", - "description": "退款流程:验证订单 → 查找原支付交易 → 调用微信退款API → 记录退款单 → 等待微信回调更新状态", - "operationId": "refundUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "orderId", - "in": "path", - "description": "订单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "退款请求", - "required": false, - "schema": { - "originalRef": "退款请求", - "$ref": "#/definitions/退款请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«退款记录信息»", - "$ref": "#/definitions/统一响应结果«退款记录信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«退款记录信息»", - "$ref": "#/definitions/统一响应结果«退款记录信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/payment/{transactionId}": { - "get": { - "tags": [ - "支付管理" - ], - "summary": "交易详情", - "description": "获取单笔交易的完整信息,包含微信支付流水号\n\n**关联字典**:\n- payment_mode:支付模式(显示)", - "operationId": "getDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "transactionId", - "in": "path", - "description": "交易ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«支付交易信息»", - "$ref": "#/definitions/统一响应结果«支付交易信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«支付交易信息»", - "$ref": "#/definitions/统一响应结果«支付交易信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/payment/{transactionId}/sync": { - "post": { - "tags": [ - "支付管理" - ], - "summary": "同步支付状态", - "description": "主动查询微信支付状态并同步本地数据,适用于回调未到达的场景", - "operationId": "syncPaymentStatusUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "transactionId", - "in": "path", - "description": "交易ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«支付交易信息»", - "$ref": "#/definitions/统一响应结果«支付交易信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«支付交易信息»", - "$ref": "#/definitions/统一响应结果«支付交易信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - } - }, - "definitions": { - "分页结果«支付交易信息»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "originalRef": "支付交易信息", - "$ref": "#/definitions/支付交易信息" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«支付交易信息»" - }, - "支付交易信息": { - "type": "object", - "properties": { - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "mchId": { - "type": "string", - "description": "商户号" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "orderNo": { - "type": "string", - "description": "订单编号" - }, - "outTradeNo": { - "type": "string", - "description": "商户订单号" - }, - "payTime": { - "type": "string", - "format": "date-time", - "description": "支付时间" - }, - "payType": { - "type": "string", - "description": "支付类型: FULL/DEPOSIT/BALANCE" - }, - "status": { - "type": "string", - "description": "交易状态" - }, - "totalAmount": { - "type": "number", - "description": "交易金额" - }, - "tradeType": { - "type": "string", - "description": "交易类型: JSAPI/H5" - }, - "transactionId": { - "type": "integer", - "format": "int64", - "description": "交易ID" - }, - "transactionIdWx": { - "type": "string", - "description": "微信支付交易号" - }, - "userId": { - "type": "integer", - "format": "int64", - "description": "用户ID" - } - }, - "title": "支付交易信息" - }, - "统一响应结果«List«支付交易信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "支付交易信息", - "$ref": "#/definitions/支付交易信息" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«支付交易信息»»" - }, - "统一响应结果«List«退款记录信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "退款记录信息", - "$ref": "#/definitions/退款记录信息" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«退款记录信息»»" - }, - "统一响应结果«分页结果«支付交易信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "分页结果«支付交易信息»", - "$ref": "#/definitions/分页结果«支付交易信息»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«支付交易信息»»" - }, - "统一响应结果«支付交易信息»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "支付交易信息", - "$ref": "#/definitions/支付交易信息" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«支付交易信息»" - }, - "统一响应结果«退款记录信息»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "退款记录信息", - "$ref": "#/definitions/退款记录信息" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«退款记录信息»" - }, - "退款记录信息": { - "type": "object", - "properties": { - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "mchId": { - "type": "string", - "description": "商户号" - }, - "orderId": { - "type": "integer", - "format": "int64", - "description": "订单ID" - }, - "orderNo": { - "type": "string", - "description": "订单编号" - }, - "outRefundNo": { - "type": "string", - "description": "商户退款单号" - }, - "reason": { - "type": "string", - "description": "退款原因" - }, - "refundAmount": { - "type": "number", - "description": "退款金额" - }, - "refundId": { - "type": "integer", - "format": "int64", - "description": "退款ID" - }, - "refundIdWx": { - "type": "string", - "description": "微信退款单号" - }, - "status": { - "type": "string", - "description": "退款状态" - }, - "successTime": { - "type": "string", - "format": "date-time", - "description": "退款成功时间" - }, - "totalAmount": { - "type": "number", - "description": "订单总金额" - }, - "transactionId": { - "type": "integer", - "format": "int64", - "description": "交易ID" - } - }, - "title": "退款记录信息" - }, - "退款请求": { - "type": "object", - "required": [ - "amount", - "orderId" - ], - "properties": { - "amount": { - "type": "number", - "example": 100.0, - "description": "退款金额" - }, - "orderId": { - "type": "integer", - "format": "int64", - "example": 1001, - "description": "订单ID" - }, - "reason": { - "type": "string", - "example": "行程取消", - "description": "退款原因" - } - }, - "title": "退款请求" - } - } -} \ No newline at end of file diff --git a/api-docs/hl-product-service.json b/api-docs/hl-product-service.json deleted file mode 100644 index 91f5cc0..0000000 --- a/api-docs/hl-product-service.json +++ /dev/null @@ -1,13354 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "产品服务", - "version": "1.0.0" - }, - "basePath": "/", - "paths": { - "/admin/product/dining/{id}": { - "put": { - "tags": [ - "行程管理" - ], - "summary": "更新餐饮推荐", - "description": "更新餐饮推荐的餐厅、用餐类型(早/午/晚)、描述等信息。", - "operationId": "updateDiningOptionUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "餐饮推荐ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "餐饮推荐请求", - "required": false, - "schema": { - "originalRef": "用餐选项请求", - "$ref": "#/definitions/用餐选项请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«用餐选项VO»", - "$ref": "#/definitions/统一响应结果«用餐选项VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«用餐选项VO»", - "$ref": "#/definitions/统一响应结果«用餐选项VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "行程管理" - ], - "summary": "删除餐饮推荐", - "description": "删除指定的餐饮推荐记录。", - "operationId": "deleteDiningOptionUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "餐饮推荐ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/district/search": { - "get": { - "tags": [ - "行政区划搜索" - ], - "summary": "搜索行政区划(城市/区县)", - "description": "通过高德地图 API 搜索行政区划,用于产品的出发城市和目的地城市选择。\n输入关键词(如\"丽江\"、\"昆明\"),返回匹配的城市/区县列表,包含行政区划编码。\n\n**关联字典**:\n- cities(城市):搜索结果可用于产品行程中的城市预览\n- city(城市筛选):搜索结果可用于资源面板城市筛选", - "operationId": "searchUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keywords", - "in": "query", - "description": "搜索关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«行政区划搜索结果»»", - "$ref": "#/definitions/统一响应结果«List«行政区划搜索结果»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«行政区划搜索结果»»", - "$ref": "#/definitions/统一响应结果«List«行政区划搜索结果»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/folder": { - "post": { - "tags": [ - "产品文件夹管理" - ], - "summary": "创建文件夹", - "description": "创建产品文件夹,用于组织管理产品。支持多级目录结构。\n文件夹归属于创建人,普通管理员只能看到自己的文件夹。", - "operationId": "createFolderUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "创建文件夹请求", - "required": false, - "schema": { - "originalRef": "创建文件夹请求", - "$ref": "#/definitions/创建文件夹请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品文件夹VO»", - "$ref": "#/definitions/统一响应结果«产品文件夹VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品文件夹VO»", - "$ref": "#/definitions/统一响应结果«产品文件夹VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/folder/tree": { - "get": { - "tags": [ - "产品文件夹管理" - ], - "summary": "获取文件夹树", - "description": "获取当前用户可见的文件夹树形结构。\n普通管理员只能看到自己创建的文件夹,SUPER_ADMIN 可看到所有文件夹。\n返回结构为嵌套的树形列表,包含每个文件夹的子文件夹。", - "operationId": "getFolderTreeUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品文件夹VO»»", - "$ref": "#/definitions/统一响应结果«List«产品文件夹VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品文件夹VO»»", - "$ref": "#/definitions/统一响应结果«List«产品文件夹VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/folder/{folderId}": { - "put": { - "tags": [ - "产品文件夹管理" - ], - "summary": "更新文件夹", - "description": "更新文件夹名称等信息。\n**权限说明**:普通管理员只能更新自己创建的文件夹,SUPER_ADMIN 可更新任何文件夹。", - "operationId": "updateFolderUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "folderId", - "in": "path", - "description": "文件夹ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "更新文件夹请求", - "required": false, - "schema": { - "originalRef": "更新文件夹请求", - "$ref": "#/definitions/更新文件夹请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品文件夹VO»", - "$ref": "#/definitions/统一响应结果«产品文件夹VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品文件夹VO»", - "$ref": "#/definitions/统一响应结果«产品文件夹VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "产品文件夹管理" - ], - "summary": "删除文件夹", - "description": "删除文件夹。如果文件夹下有产品,产品会自动移到根目录(folderId 置空)。\n普通管理员只能删除自己的文件夹,SUPER_ADMIN 可删除任何文件夹。", - "operationId": "deleteFolderUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "folderId", - "in": "path", - "description": "文件夹ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/formula/group": { - "post": { - "tags": [ - "定价公式管理" - ], - "summary": "创建公式组", - "description": "创建一个新的定价公式组。创建后默认为未激活状态。\n\n公式组编码(groupCode)在同一产品类型下必须唯一。\n建议命名规范:{产品类型}_PRICING_V{版本号},如 CORE_PRICING_V2。\n\n**关联字典**:\n- product_type(产品类型,公式组所属类型):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品", - "operationId": "createGroupUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "公式组请求", - "$ref": "#/definitions/公式组请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式组VO»", - "$ref": "#/definitions/统一响应结果«公式组VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式组VO»", - "$ref": "#/definitions/统一响应结果«公式组VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/formula/group/list": { - "get": { - "tags": [ - "定价公式管理" - ], - "summary": "公式组列表", - "description": "获取定价公式组列表,可按产品类型筛选。\n\n**公式引擎说明**:定价公式用于自动计算产品的成本价和售价。\n每种产品类型可以有多个公式组,但同一时间只能有一个激活的公式组。\n公式组包含多个步骤,按顺序执行,每步计算一个中间变量或最终结果。\n\n**关联字典**:\n- product_type(产品类型,筛选条件):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品", - "operationId": "listGroupsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productType", - "in": "query", - "description": "productType", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«公式组VO»»", - "$ref": "#/definitions/统一响应结果«List«公式组VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«公式组VO»»", - "$ref": "#/definitions/统一响应结果«List«公式组VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/formula/group/{groupId}": { - "get": { - "tags": [ - "定价公式管理" - ], - "summary": "公式组详情", - "description": "获取公式组完整信息。\n\n**关联字典**:\n- product_type(产品类型):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品", - "operationId": "getGroupUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "groupId", - "in": "path", - "description": "groupId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式组VO»", - "$ref": "#/definitions/统一响应结果«公式组VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式组VO»", - "$ref": "#/definitions/统一响应结果«公式组VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "定价公式管理" - ], - "summary": "更新公式组", - "description": "更新公式组信息。\n\n**关联字典**:\n- product_type(产品类型):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品", - "operationId": "updateGroupUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "groupId", - "in": "path", - "description": "groupId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "公式组请求", - "$ref": "#/definitions/公式组请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式组VO»", - "$ref": "#/definitions/统一响应结果«公式组VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式组VO»", - "$ref": "#/definitions/统一响应结果«公式组VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "定价公式管理" - ], - "summary": "删除公式组", - "description": "删除公式组及其下所有步骤。\n**限制**:已激活的公式组不能删除,需先激活其他公式组。", - "operationId": "deleteGroupUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "groupId", - "in": "path", - "description": "groupId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/formula/group/{groupId}/activate": { - "put": { - "tags": [ - "定价公式管理" - ], - "summary": "激活公式组", - "description": "激活指定公式组,同时自动停用同产品类型下的其他公式组。\n\n同一产品类型下只能有一个激活的公式组,激活操作具有排他性。\n激活后,该产品类型的自动成本计算将使用此公式组。\n\n**关联字典**:\n- product_type(产品类型,同类型排他激活):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品", - "operationId": "activateGroupUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "groupId", - "in": "path", - "description": "groupId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/formula/group/{groupId}/steps": { - "get": { - "tags": [ - "定价公式管理" - ], - "summary": "公式步骤列表", - "description": "获取公式组下所有步骤,按执行顺序(executionOrder)升序排列。\n步骤按顺序依次执行,前一步的输出变量可作为后续步骤的输入。", - "operationId": "listStepsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "groupId", - "in": "path", - "description": "groupId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«公式步骤VO»»", - "$ref": "#/definitions/统一响应结果«List«公式步骤VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«公式步骤VO»»", - "$ref": "#/definitions/统一响应结果«List«公式步骤VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/formula/step": { - "post": { - "tags": [ - "定价公式管理" - ], - "summary": "创建公式步骤", - "description": "在公式组中创建一个计算步骤。\n\n**表达式语法**:使用 Aviator 表达式引擎,支持数学运算、条件判断、内置函数等。\n示例:`baseCost = adultCount * adultUnitCost + childCount * childUnitCost`\n\n**输入变量**:可引用公式变量表中定义的变量,或前置步骤的输出变量。\n**输出变量**:每个步骤必须指定一个输出变量名,供后续步骤引用。", - "operationId": "createStepUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "公式步骤请求", - "$ref": "#/definitions/公式步骤请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式步骤VO»", - "$ref": "#/definitions/统一响应结果«公式步骤VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式步骤VO»", - "$ref": "#/definitions/统一响应结果«公式步骤VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/formula/step/{formulaId}": { - "get": { - "tags": [ - "定价公式管理" - ], - "summary": "公式步骤详情", - "description": "获取单个公式步骤的完整信息,包含表达式、输入/输出变量、执行顺序等。", - "operationId": "getStepUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "formulaId", - "in": "path", - "description": "formulaId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式步骤VO»", - "$ref": "#/definitions/统一响应结果«公式步骤VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式步骤VO»", - "$ref": "#/definitions/统一响应结果«公式步骤VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "定价公式管理" - ], - "summary": "更新公式步骤", - "description": "更新公式步骤的表达式、输入/输出变量等。\n每次更新会自动保存一个版本快照,可通过版本历史接口查看和回滚。", - "operationId": "updateStepUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "formulaId", - "in": "path", - "description": "formulaId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "公式步骤请求", - "$ref": "#/definitions/公式步骤请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式步骤VO»", - "$ref": "#/definitions/统一响应结果«公式步骤VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式步骤VO»", - "$ref": "#/definitions/统一响应结果«公式步骤VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "定价公式管理" - ], - "summary": "删除公式步骤", - "description": "删除指定的公式步骤。删除后其他步骤的执行顺序不会自动调整。\n**注意**:如果后续步骤引用了被删步骤的输出变量,执行时会报错。", - "operationId": "deleteStepUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "formulaId", - "in": "path", - "description": "formulaId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/formula/step/{formulaId}/rollback/{versionNum}": { - "put": { - "tags": [ - "定价公式管理" - ], - "summary": "回滚公式步骤到指定版本", - "description": "将公式步骤回滚到历史版本。\n回滚操作会用历史版本的表达式、变量等覆盖当前内容,并创建一个新的版本记录。", - "operationId": "rollbackStepUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "formulaId", - "in": "path", - "description": "formulaId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "versionNum", - "in": "path", - "description": "versionNum", - "required": true, - "type": "integer", - "format": "int32" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式步骤VO»", - "$ref": "#/definitions/统一响应结果«公式步骤VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式步骤VO»", - "$ref": "#/definitions/统一响应结果«公式步骤VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/formula/step/{formulaId}/toggle": { - "put": { - "tags": [ - "定价公式管理" - ], - "summary": "启用/禁用公式步骤", - "description": "切换公式步骤的启用状态。\n禁用的步骤在公式执行时会被跳过,不影响其他步骤的执行。\n适用场景:临时跳过某个计算步骤进行调试或测试。", - "operationId": "toggleStepUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "formulaId", - "in": "path", - "description": "formulaId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/formula/step/{formulaId}/versions": { - "get": { - "tags": [ - "定价公式管理" - ], - "summary": "公式步骤版本历史", - "description": "获取公式步骤的所有历史版本列表,按版本号倒序。\n每次更新步骤表达式会自动创建新版本,方便追溯和回滚。", - "operationId": "listVersionsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "formulaId", - "in": "path", - "description": "formulaId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«公式版本历史VO»»", - "$ref": "#/definitions/统一响应结果«List«公式版本历史VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«公式版本历史VO»»", - "$ref": "#/definitions/统一响应结果«List«公式版本历史VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/formula/test": { - "post": { - "tags": [ - "定价公式管理" - ], - "summary": "测试公式执行", - "description": "使用自定义变量值测试公式组的执行结果,不影响任何业务数据。\n\n传入公式组ID和测试变量(变量名→值的映射),返回每个步骤的执行结果。\n适用于公式调试:验证表达式是否正确、计算结果是否符合预期。\n如果某步骤执行出错,会在结果中标明错误信息。", - "operationId": "testFormulasUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "公式测试请求", - "$ref": "#/definitions/公式测试请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式测试结果VO»", - "$ref": "#/definitions/统一响应结果«公式测试结果VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式测试结果VO»", - "$ref": "#/definitions/统一响应结果«公式测试结果VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/formula/var": { - "post": { - "tags": [ - "定价公式管理" - ], - "summary": "创建公式变量", - "description": "创建公式变量定义。变量名(varName)全局唯一,建议使用驼峰命名。\n可指定适用的产品类型列表(productTypes),为空则适用于所有类型。\n\n**关联字典**:\n- product_type(产品类型,变量适用范围):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品", - "operationId": "createVarUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "公式变量请求", - "$ref": "#/definitions/公式变量请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式变量VO»", - "$ref": "#/definitions/统一响应结果«公式变量VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式变量VO»", - "$ref": "#/definitions/统一响应结果«公式变量VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/formula/var/list": { - "get": { - "tags": [ - "定价公式管理" - ], - "summary": "公式变量列表", - "description": "获取公式变量列表,可按变量分类筛选。\n\n**变量分类**:\n- INPUT:输入变量,从业务数据获取(如成人人数、资源单价)\n- INTERMEDIATE:中间变量,由公式步骤计算得出\n- OUTPUT:输出变量,最终报价结果(如总成本、售价)", - "operationId": "listVarsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "category", - "in": "query", - "description": "category", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«公式变量VO»»", - "$ref": "#/definitions/统一响应结果«List«公式变量VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«公式变量VO»»", - "$ref": "#/definitions/统一响应结果«List«公式变量VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/formula/var/{varId}": { - "put": { - "tags": [ - "定价公式管理" - ], - "summary": "更新公式变量", - "description": "更新公式变量定义。\n\n**关联字典**:\n- product_type(产品类型,变量适用范围):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品", - "operationId": "updateVarUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "公式变量请求", - "$ref": "#/definitions/公式变量请求" - } - }, - { - "name": "varId", - "in": "path", - "description": "varId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式变量VO»", - "$ref": "#/definitions/统一响应结果«公式变量VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«公式变量VO»", - "$ref": "#/definitions/统一响应结果«公式变量VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "定价公式管理" - ], - "summary": "删除公式变量", - "description": "删除公式变量定义。\n**注意**:如果有公式步骤引用了该变量,删除后步骤执行时会报错。建议先确认无引用再删除。", - "operationId": "deleteVarUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "varId", - "in": "path", - "description": "varId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/hotel/{id}": { - "put": { - "tags": [ - "行程管理" - ], - "summary": "更新每日住宿", - "description": "更新住宿记录的酒店、房型、数量等信息。", - "operationId": "updateHotelUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "住宿记录ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "每日住宿请求", - "required": false, - "schema": { - "originalRef": "每日酒店配置请求", - "$ref": "#/definitions/每日酒店配置请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«每日酒店VO»", - "$ref": "#/definitions/统一响应结果«每日酒店VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«每日酒店VO»", - "$ref": "#/definitions/统一响应结果«每日酒店VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "行程管理" - ], - "summary": "删除每日住宿", - "description": "删除指定住宿记录。删除后该天的住宿成本会从报价中移除。", - "operationId": "deleteHotelUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "住宿记录ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item": { - "post": { - "tags": [ - "产品管理" - ], - "summary": "创建产品(草稿)", - "description": "创建一个新产品,初始状态为 DRAFT(草稿)。\n\n**产品类型说明**:\n- CORE:核心产品,标准旅游产品,支持上架/下架审批流程\n- GROUP:小蒙马拼团,需配合团期批次管理,按人头计价\n- CUSTOM:定制产品,由定制师为客户量身定制,按单计价\n- ROUTE:线路产品,预设线路模板,按单计价\n\n**注意事项**:\n- 创建后需依次完善行程、定价、价格日历等信息\n- CUSTOM/ROUTE 产品的价格日历存储的是整单总价,不按人头乘算\n- GROUP 产品需额外创建团期批次才能报名\n\n**关联字典**:\n- product_type(产品类型):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品\n- product_category(产品分类):family=亲子游, honeymoon=蜜月游, photography=旅拍, experience=体验, driving=自驾", - "operationId": "createProductUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "创建产品请求", - "required": false, - "schema": { - "originalRef": "创建产品请求", - "$ref": "#/definitions/创建产品请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品详情VO»", - "$ref": "#/definitions/统一响应结果«产品详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品详情VO»", - "$ref": "#/definitions/统一响应结果«产品详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/list": { - "get": { - "tags": [ - "产品管理" - ], - "summary": "产品列表", - "description": "分页查询产品列表,支持多维度筛选和排序。\n\n**权限说明**:\n- 普通管理员只能看到自己创建的产品\n- SUPER_ADMIN 可看到所有产品\n\n**筛选条件**:关键词(名称/副标题模糊匹配)、产品类型、状态、文件夹、产品线、季节、行程天数。\n支持多状态筛选(statuses 字段,逗号分隔)。\n\n**关联字典**:\n- product_type(产品类型,筛选条件):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品\n- product_status(产品状态,筛选条件+返回字段):DRAFT=草稿, PENDING_REVIEW=待审核, REVIEWED=已审核, REJECTED=已驳回, PUBLISHED=已上架, UNPUBLISHED=已下架, COMPLETED=已完成, ORDERED=已下单", - "operationId": "listProductsUsingGET_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "folderId", - "in": "query", - "description": "文件夹ID", - "required": false, - "type": "string", - "x-example": "1893012345678901234" - }, - { - "name": "keyword", - "in": "query", - "description": "搜索关键词", - "required": false, - "type": "string", - "x-example": "丽江" - }, - { - "name": "lineId", - "in": "query", - "description": "产品线ID", - "required": false, - "type": "string", - "x-example": "1893012345678901234" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "productType", - "in": "query", - "description": "产品类型:CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团", - "required": false, - "type": "string", - "x-example": "CORE" - }, - { - "name": "season", - "in": "query", - "description": "季节筛选", - "required": false, - "type": "string", - "x-example": "spring" - }, - { - "name": "sortBy", - "in": "query", - "description": "排序字段:name/tripDays/createTime/updateTime", - "required": false, - "type": "string", - "x-example": "createTime" - }, - { - "name": "sortDir", - "in": "query", - "description": "排序方向:asc/desc", - "required": false, - "type": "string", - "x-example": "desc" - }, - { - "name": "status", - "in": "query", - "description": "产品状态:DRAFT/PENDING_REVIEW/REVIEWED/REJECTED/PUBLISHED/UNPUBLISHED/COMPLETED", - "required": false, - "type": "string", - "x-example": "PUBLISHED" - }, - { - "name": "statuses", - "in": "query", - "description": "多状态筛选(逗号分隔)", - "required": false, - "type": "string", - "x-example": "PUBLISHED,COMPLETED" - }, - { - "name": "tripDays", - "in": "query", - "description": "行程天数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 5 - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«分页结果«产品列表VO»»", - "$ref": "#/definitions/统一响应结果«分页结果«产品列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«分页结果«产品列表VO»»", - "$ref": "#/definitions/统一响应结果«分页结果«产品列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}": { - "get": { - "tags": [ - "产品管理" - ], - "summary": "获取产品详情", - "description": "获取产品完整信息,包括基本信息、行程天列表、定价配置、费用项等。\n返回数据包含关联的行程节点资源详情,适用于产品编辑页面。\n不过滤产品状态,所有状态的产品都可查看。\n\n**关联字典**:\n- product_type(产品类型):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品\n- product_status(产品状态):DRAFT=草稿, PENDING_REVIEW=待审核, REVIEWED=已审核, REJECTED=已驳回, PUBLISHED=已上架, UNPUBLISHED=已下架, COMPLETED=已完成, ORDERED=已下单\n- product_category(产品分类):family=亲子游, honeymoon=蜜月游, photography=旅拍, experience=体验, driving=自驾", - "operationId": "getProductUsingGET_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品详情VO»", - "$ref": "#/definitions/统一响应结果«产品详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品详情VO»", - "$ref": "#/definitions/统一响应结果«产品详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "产品管理" - ], - "summary": "更新产品", - "description": "更新产品基本信息,仅传入需要修改的字段,未传字段不会被覆盖。\n\n**权限说明**:\n- 普通管理员只能编辑自己创建的产品\n- SUPER_ADMIN 可编辑所有产品\n\n**注意**:行程、定价、价格日历等通过各自独立的接口管理,不在此接口中处理。\n\n**关联字典**:\n- product_type(产品类型):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品\n- product_category(产品分类):family=亲子游, honeymoon=蜜月游, photography=旅拍, experience=体验, driving=自驾", - "operationId": "updateProductUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "更新产品请求", - "required": false, - "schema": { - "originalRef": "更新产品请求", - "$ref": "#/definitions/更新产品请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品详情VO»", - "$ref": "#/definitions/统一响应结果«产品详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品详情VO»", - "$ref": "#/definitions/统一响应结果«产品详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "产品管理" - ], - "summary": "删除产品", - "description": "软删除产品(设置 deleted_at 字段)。\n\n**权限说明**:普通管理员只能删除自己创建的产品,SUPER_ADMIN 可删除所有产品。\n**限制**:已上架(PUBLISHED)的产品不能直接删除,需先下架。", - "operationId": "deleteProductUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/batch": { - "post": { - "tags": [ - "拼团批次管理" - ], - "summary": "创建主批次", - "description": "为 GROUP(小蒙马拼团)产品创建一个团期主批次。\n\n**仅适用于 GROUP 产品类型**。\n每个批次有独立的出发日期、报名截止日期、人数上限。\n创建后状态为 PENDING(待开放),需手动开启报名。\n\n**批次状态流转**:PENDING → ENROLLING(报名中)→ CONFIRMED(已成团)→ CLOSED(已关闭)\n任意报名状态均可被解散(DISBANDED)。\n\n**关联字典**:\n- product_type(产品类型,仅限GROUP):GROUP=小蒙马拼团\n- batch_status(批次状态):PENDING=待开放, ENROLLING=报名中, CONFIRMED=已成团, FULL=已满员, CLOSED=已关闭, DISBANDED=已解散, IN_PROGRESS=进行中, FINISHED=已结束", - "operationId": "createBatchUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "productId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "创建拼团批次请求", - "$ref": "#/definitions/创建拼团批次请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«团批次VO»", - "$ref": "#/definitions/统一响应结果«团批次VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«团批次VO»", - "$ref": "#/definitions/统一响应结果«团批次VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/batch/list": { - "get": { - "tags": [ - "拼团批次管理" - ], - "summary": "批次列表(树形)", - "description": "获取产品所有批次,以树形结构返回(主批次包含子批次列表)。\n按出发日期升序排列,包含每个批次的报名人数和剩余名额。\n\n**关联字典**:\n- batch_status(批次状态,返回字段):PENDING=待开放, ENROLLING=报名中, CONFIRMED=已成团, FULL=已满员, CLOSED=已关闭, DISBANDED=已解散, IN_PROGRESS=进行中, FINISHED=已结束", - "operationId": "listBatchesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "productId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«团批次VO»»", - "$ref": "#/definitions/统一响应结果«List«团批次VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«团批次VO»»", - "$ref": "#/definitions/统一响应结果«List«团批次VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/batch/{batchId}": { - "get": { - "tags": [ - "拼团批次管理" - ], - "summary": "批次详情", - "description": "获取单个批次的完整信息,包括批次基本信息、服务人员配置、套餐组合等。\n\n**关联字典**:\n- batch_status(批次状态):PENDING=待开放, ENROLLING=报名中, CONFIRMED=已成团, FULL=已满员, CLOSED=已关闭, DISBANDED=已解散, IN_PROGRESS=进行中, FINISHED=已结束\n- staff_type(人员类型,服务人员配置):GUIDE=领队, DRIVER=司机, PHOTOGRAPHER=摄影师, ASSISTANT=助理, OTHER=其他", - "operationId": "getBatchDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "batchId", - "in": "path", - "description": "batchId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "productId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«团批次详情VO»", - "$ref": "#/definitions/统一响应结果«团批次详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«团批次详情VO»", - "$ref": "#/definitions/统一响应结果«团批次详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "拼团批次管理" - ], - "summary": "更新批次", - "description": "更新批次基本信息。仅传入需要修改的字段。\n已有报名人员的批次修改人数上限时,不能低于已报名人数。", - "operationId": "updateBatchUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "batchId", - "in": "path", - "description": "batchId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "productId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "更新拼团批次请求", - "$ref": "#/definitions/更新拼团批次请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«团批次VO»", - "$ref": "#/definitions/统一响应结果«团批次VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«团批次VO»", - "$ref": "#/definitions/统一响应结果«团批次VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "拼团批次管理" - ], - "summary": "删除批次", - "description": "删除批次(软删除)。\n**限制**:已有报名人员的批次不能直接删除,需先解散批次。", - "operationId": "deleteBatchUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "batchId", - "in": "path", - "description": "batchId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "productId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/batch/{batchId}/close": { - "put": { - "tags": [ - "拼团批次管理" - ], - "summary": "关闭报名(ENROLLING/CONFIRMED->CLOSED)", - "description": "关闭批次报名,不再接受新的报名。\n已报名的订单不受影响,仅阻止新增报名。\n适用于报名截止日期到达或手动提前关闭的场景。", - "operationId": "closeEnrollmentUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "batchId", - "in": "path", - "description": "batchId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "productId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/batch/{batchId}/disband": { - "post": { - "tags": [ - "拼团批次管理" - ], - "summary": "解散批次", - "description": "解散批次并处理已报名的订单。\n\n**重要**:解散操作会触发以下流程:\n1. 批次状态变更为 DISBANDED\n2. 通过 MQ 消息通知订单服务,自动取消该批次下的所有未完成订单\n3. 已支付订单会触发退款流程\n\n必须填写解散原因(如:报名人数不足、行程调整等)。", - "operationId": "disbandBatchUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "batchId", - "in": "path", - "description": "batchId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "productId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "解散批次请求", - "$ref": "#/definitions/解散批次请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/batch/{batchId}/open": { - "put": { - "tags": [ - "拼团批次管理" - ], - "summary": "开启报名(PENDING->ENROLLING)", - "description": "将批次从 PENDING 状态变更为 ENROLLING(报名中)。\n开启后用户可在小程序端看到该团期并报名。\n前提条件:产品必须已上架(PUBLISHED)。", - "operationId": "openEnrollmentUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "batchId", - "in": "path", - "description": "batchId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "productId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/batch/{batchId}/staff": { - "get": { - "tags": [ - "拼团批次管理" - ], - "summary": "服务人员列表", - "description": "**关联字典**:\n- staff_type(人员类型):GUIDE=领队, DRIVER=司机, PHOTOGRAPHER=摄影师, ASSISTANT=助理, OTHER=其他", - "operationId": "listStaffUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "batchId", - "in": "path", - "description": "batchId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "productId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«团批次服务人员VO»»", - "$ref": "#/definitions/统一响应结果«List«团批次服务人员VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«团批次服务人员VO»»", - "$ref": "#/definitions/统一响应结果«List«团批次服务人员VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "拼团批次管理" - ], - "summary": "保存服务人员(全量替换)", - "description": "保存批次的服务人员配置,采用全量替换模式(先删后增)。\n\n每次提交完整的人员列表,替换掉该批次原有的所有人员配置。\n人员来源于资源服务的人员库,通过 staffId 关联。\n**角色类型**:LEADER(领队)/PHOTOGRAPHER(摄影师)/DRIVER(司机)/OTHER(其他)\n\n**关联字典**:\n- staff_type(人员类型):GUIDE=领队, DRIVER=司机, PHOTOGRAPHER=摄影师, ASSISTANT=助理, OTHER=其他", - "operationId": "saveStaffUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "batchId", - "in": "path", - "description": "batchId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "productId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "requests", - "description": "requests", - "required": true, - "schema": { - "type": "array", - "items": { - "originalRef": "批次服务人员分配请求", - "$ref": "#/definitions/批次服务人员分配请求" - } - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«团批次服务人员VO»»", - "$ref": "#/definitions/统一响应结果«List«团批次服务人员VO»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«团批次服务人员VO»»", - "$ref": "#/definitions/统一响应结果«List«团批次服务人员VO»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/batch/{batchId}/staff/copy-from/{sourceId}": { - "post": { - "tags": [ - "拼团批次管理" - ], - "summary": "从其他批次复制服务人员", - "description": "将源批次的服务人员配置复制到当前批次(全量替换当前批次已有人员)。\n适用场景:多个团期使用相同的服务人员班底。", - "operationId": "copyStaffUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "batchId", - "in": "path", - "description": "batchId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "productId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "sourceId", - "in": "path", - "description": "sourceId", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«团批次服务人员VO»»", - "$ref": "#/definitions/统一响应结果«List«团批次服务人员VO»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«团批次服务人员VO»»", - "$ref": "#/definitions/统一响应结果«List«团批次服务人员VO»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/batch/{batchId}/sub-batch": { - "post": { - "tags": [ - "拼团批次管理" - ], - "summary": "创建子批次(溢出)", - "description": "当主批次人数满员时,创建子批次接收溢出报名。\n\n子批次共享主批次的出发日期和行程,但有独立的人数上限和报名人数。\n适用场景:某团期特别火爆,需要扩容但希望分开管理。\n子批次在列表中显示为主批次的子级节点。", - "operationId": "createSubBatchUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "batchId", - "in": "path", - "description": "batchId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "productId", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "originalRef": "创建拼团批次请求", - "$ref": "#/definitions/创建拼团批次请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«团批次VO»", - "$ref": "#/definitions/统一响应结果«团批次VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«团批次VO»", - "$ref": "#/definitions/统一响应结果«团批次VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/copy": { - "post": { - "tags": [ - "产品管理" - ], - "summary": "复制产品", - "description": "深度复制产品,包括行程天、行程节点、定价配置、住宿、餐饮、物资、人员配置等所有关联数据。\n\n复制后的产品状态为 DRAFT,名称自动添加\"(副本)\"后缀。\n适用场景:基于已有产品快速创建新产品。\n\n**关联字典**:\n- product_type(产品类型,返回字段):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品\n- product_status(产品状态,复制后固定为 DRAFT)", - "operationId": "copyProductUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品详情VO»", - "$ref": "#/definitions/统一响应结果«产品详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品详情VO»", - "$ref": "#/definitions/统一响应结果«产品详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/cost-item": { - "post": { - "tags": [ - "定价与费用管理" - ], - "summary": "添加费用项", - "description": "添加产品的费用包含/不包含说明项。\n\n用于在产品详情页展示\"费用包含\"和\"费用不包含\"信息。\n仅用于前端展示,不参与报价计算。", - "operationId": "addCostItemUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "费用项请求", - "required": false, - "schema": { - "originalRef": "成本项请求", - "$ref": "#/definitions/成本项请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品成本项VO»", - "$ref": "#/definitions/统一响应结果«产品成本项VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品成本项VO»", - "$ref": "#/definitions/统一响应结果«产品成本项VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/cost-item/{itemId}": { - "put": { - "tags": [ - "定价与费用管理" - ], - "summary": "更新费用项", - "description": "更新费用包含/不包含说明项的内容。仅用于前端展示,不参与报价计算。", - "operationId": "updateCostItemUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "itemId", - "in": "path", - "description": "费用项ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "费用项请求", - "required": false, - "schema": { - "originalRef": "成本项请求", - "$ref": "#/definitions/成本项请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品成本项VO»", - "$ref": "#/definitions/统一响应结果«产品成本项VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品成本项VO»", - "$ref": "#/definitions/统一响应结果«产品成本项VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "定价与费用管理" - ], - "summary": "删除费用项", - "description": "删除费用包含/不包含说明项。", - "operationId": "deleteCostItemUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "itemId", - "in": "path", - "description": "费用项ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/cost-items": { - "get": { - "tags": [ - "定价与费用管理" - ], - "summary": "获取费用项列表", - "description": "获取产品的所有费用包含/不包含说明项列表。", - "operationId": "listCostItemsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品成本项VO»»", - "$ref": "#/definitions/统一响应结果«List«产品成本项VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品成本项VO»»", - "$ref": "#/definitions/统一响应结果«List«产品成本项VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/custom-fee": { - "post": { - "tags": [ - "定价与费用管理" - ], - "summary": "添加自定义费用", - "description": "添加产品级别的自定义费用项,直接设置金额,参与成本自动计算。\n\n与额外成本关联不同,自定义费用不关联资源服务的费用项,而是直接指定费用名称和金额。\n适用于临时性或一次性的费用。", - "operationId": "addCustomFeeUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "自定义费用请求", - "required": false, - "schema": { - "originalRef": "自定义费用项请求", - "$ref": "#/definitions/自定义费用项请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品自定义费用项VO»", - "$ref": "#/definitions/统一响应结果«产品自定义费用项VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品自定义费用项VO»", - "$ref": "#/definitions/统一响应结果«产品自定义费用项VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/custom-fee/{feeId}": { - "put": { - "tags": [ - "定价与费用管理" - ], - "summary": "更新自定义费用", - "description": "更新自定义费用项的名称、金额等信息。修改后会影响成本自动计算结果。", - "operationId": "updateCustomFeeUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "feeId", - "in": "path", - "description": "自定义费用ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "自定义费用请求", - "required": false, - "schema": { - "originalRef": "自定义费用项请求", - "$ref": "#/definitions/自定义费用项请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品自定义费用项VO»", - "$ref": "#/definitions/统一响应结果«产品自定义费用项VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品自定义费用项VO»", - "$ref": "#/definitions/统一响应结果«产品自定义费用项VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "定价与费用管理" - ], - "summary": "删除自定义费用", - "description": "删除自定义费用项。删除后该费用不再计入成本自动计算。", - "operationId": "deleteCustomFeeUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "feeId", - "in": "path", - "description": "自定义费用ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/custom-fees": { - "get": { - "tags": [ - "定价与费用管理" - ], - "summary": "获取自定义费用列表", - "description": "获取产品的所有自定义费用项列表。", - "operationId": "listCustomFeesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品自定义费用项VO»»", - "$ref": "#/definitions/统一响应结果«List«产品自定义费用项VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品自定义费用项VO»»", - "$ref": "#/definitions/统一响应结果«List«产品自定义费用项VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/day/{dayNumber}": { - "put": { - "tags": [ - "行程管理" - ], - "summary": "更新行程天", - "description": "更新指定天的行程信息,如当天主题、概述等。\n行程天在创建产品时根据 tripDays 自动生成,不支持单独增删,只能更新。\ndayNumber 从 1 开始,对应第几天的行程。", - "operationId": "updateDayUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "dayNumber", - "in": "path", - "description": "天数编号", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "行程天请求", - "required": false, - "schema": { - "originalRef": "行程天请求", - "$ref": "#/definitions/行程天请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«行程天VO»", - "$ref": "#/definitions/统一响应结果«行程天VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«行程天VO»", - "$ref": "#/definitions/统一响应结果«行程天VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/day/{dayNumber}/dining": { - "get": { - "tags": [ - "行程管理" - ], - "summary": "获取某天的餐厅推荐列表", - "description": "获取指定天的所有餐饮推荐,包含餐厅名称、用餐类型、描述等信息。", - "operationId": "listDiningUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "dayNumber", - "in": "path", - "description": "天数编号", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«用餐选项VO»»", - "$ref": "#/definitions/统一响应结果«List«用餐选项VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«用餐选项VO»»", - "$ref": "#/definitions/统一响应结果«List«用餐选项VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "行程管理" - ], - "summary": "添加每日餐厅推荐", - "description": "为指定天添加餐饮推荐,关联资源服务中的餐厅。\n用于展示当天的用餐安排,可按早/午/晚分类。", - "operationId": "addDiningOptionUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "dayNumber", - "in": "path", - "description": "天数编号", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "餐饮推荐请求", - "required": false, - "schema": { - "originalRef": "用餐选项请求", - "$ref": "#/definitions/用餐选项请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«用餐选项VO»", - "$ref": "#/definitions/统一响应结果«用餐选项VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«用餐选项VO»", - "$ref": "#/definitions/统一响应结果«用餐选项VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/day/{dayNumber}/hotel": { - "post": { - "tags": [ - "行程管理" - ], - "summary": "添加每日住宿", - "description": "为指定天添加住宿安排,关联资源服务中的酒店和房型。\n每天可以有多个住宿选项(如不同档次),参与成本自动计算。\n住宿费用会体现在价格日历的成本计算中。", - "operationId": "addHotelUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "dayNumber", - "in": "path", - "description": "天数编号", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "每日住宿请求", - "required": false, - "schema": { - "originalRef": "每日酒店配置请求", - "$ref": "#/definitions/每日酒店配置请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«每日酒店VO»", - "$ref": "#/definitions/统一响应结果«每日酒店VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«每日酒店VO»", - "$ref": "#/definitions/统一响应结果«每日酒店VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/day/{dayNumber}/hotels": { - "get": { - "tags": [ - "行程管理" - ], - "summary": "获取某天的住宿列表", - "description": "获取指定天的所有住宿安排,包含酒店名称、房型、数量等信息。", - "operationId": "listHotelsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "dayNumber", - "in": "path", - "description": "天数编号", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«每日酒店VO»»", - "$ref": "#/definitions/统一响应结果«List«每日酒店VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«每日酒店VO»»", - "$ref": "#/definitions/统一响应结果«List«每日酒店VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/day/{dayNumber}/node": { - "post": { - "tags": [ - "行程管理" - ], - "summary": "添加行程节点", - "description": "在指定天添加一个行程节点。节点是行程的最小单元,可关联资源服务中的景区、酒店、活动等。\n\n**节点类型**:TRANSPORT(交通)/SCENIC(景区)/DINING(餐饮)/ACTIVITY(活动)/PHOTOGRAPHY(摄影)/HOTEL(酒店)/FREE(自由活动)/CUSTOM(自定义)\n\n**CUSTOM 定制产品特有**:可通过 familyIds 指定节点所属的家庭分组,实现按家庭分配行程。\n新建节点自动追加到当天最后位置,可通过排序接口调整顺序。\n\n**关联字典**:\n- city(城市,资源面板筛选用):用于在添加节点时按城市筛选可选资源", - "operationId": "createNodeUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "dayNumber", - "in": "path", - "description": "天数编号", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "创建节点请求", - "required": false, - "schema": { - "originalRef": "创建行程节点请求", - "$ref": "#/definitions/创建行程节点请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«行程节点VO»", - "$ref": "#/definitions/统一响应结果«行程节点VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«行程节点VO»", - "$ref": "#/definitions/统一响应结果«行程节点VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/day/{dayNumber}/nodes": { - "get": { - "tags": [ - "行程管理" - ], - "summary": "获取某天的节点列表", - "description": "获取指定天的所有行程节点,按排序顺序返回。\n每个节点包含类型、名称、时间、关联资源信息、图片等完整数据。\n\n**关联字典**:\n- city(城市):资源面板城市筛选\n- cities(城市ID映射):城市名称预览", - "operationId": "listNodesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "dayNumber", - "in": "path", - "description": "天数编号", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«行程节点VO»»", - "$ref": "#/definitions/统一响应结果«List«行程节点VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«行程节点VO»»", - "$ref": "#/definitions/统一响应结果«List«行程节点VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/day/{dayNumber}/nodes/sort": { - "put": { - "tags": [ - "行程管理" - ], - "summary": "行程节点拖拽排序", - "description": "重新排列指定天的所有行程节点顺序。前端拖拽排序后,将新的节点ID顺序全量提交。\nnodeIds 列表中的顺序即为新的排序顺序(从上到下)。", - "operationId": "sortNodesUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "dayNumber", - "in": "path", - "description": "天数编号", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "节点排序请求", - "required": false, - "schema": { - "originalRef": "节点排序请求", - "$ref": "#/definitions/节点排序请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/days": { - "get": { - "tags": [ - "行程管理" - ], - "summary": "获取行程天列表", - "description": "获取产品所有行程天的信息,按 dayNumber 升序排列。\n每一天包含当天主题、概述等信息,不包含节点详情(节点通过单独接口获取)。", - "operationId": "listDaysUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«行程天VO»»", - "$ref": "#/definitions/统一响应结果«List«行程天VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«行程天VO»»", - "$ref": "#/definitions/统一响应结果«List«行程天VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/extra-cost": { - "post": { - "tags": [ - "定价与费用管理" - ], - "summary": "添加额外成本关联", - "description": "关联资源服务中的费用项(cost_item)到产品,参与成本自动计算。\n\n额外成本是指不包含在行程节点中、但需要计入总成本的费用。\n例如:导游服务费、保险费、通讯费等固定运营开支。", - "operationId": "addExtraCostUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "额外成本请求", - "required": false, - "schema": { - "originalRef": "额外成本请求", - "$ref": "#/definitions/额外成本请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品额外成本VO»", - "$ref": "#/definitions/统一响应结果«产品额外成本VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品额外成本VO»", - "$ref": "#/definitions/统一响应结果«产品额外成本VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/extra-cost/{ecId}": { - "put": { - "tags": [ - "定价与费用管理" - ], - "summary": "更新额外成本关联", - "description": "更新额外成本关联的费用项、数量等信息。修改后会影响成本自动计算结果。", - "operationId": "updateExtraCostUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "ecId", - "in": "path", - "description": "额外成本ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "额外成本请求", - "required": false, - "schema": { - "originalRef": "额外成本请求", - "$ref": "#/definitions/额外成本请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品额外成本VO»", - "$ref": "#/definitions/统一响应结果«产品额外成本VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品额外成本VO»", - "$ref": "#/definitions/统一响应结果«产品额外成本VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "定价与费用管理" - ], - "summary": "删除额外成本关联", - "description": "删除额外成本关联记录。删除后该费用项不再计入成本自动计算。", - "operationId": "removeExtraCostUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "ecId", - "in": "path", - "description": "额外成本ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/extra-costs": { - "get": { - "tags": [ - "定价与费用管理" - ], - "summary": "获取额外成本关联列表", - "description": "获取产品关联的所有额外成本项列表,包含费用项名称、金额等信息。", - "operationId": "listExtraCostsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品额外成本VO»»", - "$ref": "#/definitions/统一响应结果«List«产品额外成本VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品额外成本VO»»", - "$ref": "#/definitions/统一响应结果«List«产品额外成本VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/families": { - "get": { - "tags": [ - "家庭分组管理" - ], - "summary": "获取家庭分组列表", - "description": "获取产品的家庭分组列表,按排序序号升序。\n\n**仅适用于 CUSTOM(定制)产品**。\n家庭分组用于将定制产品的行程按家庭单位分配,每个家庭可以有不同的人数和行程安排。\n行程节点通过 familyIds 字段关联到具体的家庭分组。", - "operationId": "listFamiliesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«家庭分组VO»»", - "$ref": "#/definitions/统一响应结果«List«家庭分组VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«家庭分组VO»»", - "$ref": "#/definitions/统一响应结果«List«家庭分组VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/family": { - "post": { - "tags": [ - "家庭分组管理" - ], - "summary": "添加家庭分组", - "description": "为 CUSTOM 定制产品添加一个家庭分组,指定家庭名称和各类型人数。\n添加后可在行程节点中关联此家庭,实现按家庭分配行程。", - "operationId": "addFamilyUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "家庭分组请求", - "required": false, - "schema": { - "originalRef": "家庭分组保存请求", - "$ref": "#/definitions/家庭分组保存请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«家庭分组VO»", - "$ref": "#/definitions/统一响应结果«家庭分组VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«家庭分组VO»", - "$ref": "#/definitions/统一响应结果«家庭分组VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/family/{familyId}": { - "put": { - "tags": [ - "家庭分组管理" - ], - "summary": "更新家庭分组", - "description": "更新家庭分组的名称、各类型人数等信息。\n**仅适用于 CUSTOM(定制)产品**。", - "operationId": "updateFamilyUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "familyId", - "in": "path", - "description": "家庭ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "家庭分组请求", - "required": false, - "schema": { - "originalRef": "家庭分组保存请求", - "$ref": "#/definitions/家庭分组保存请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«家庭分组VO»", - "$ref": "#/definitions/统一响应结果«家庭分组VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«家庭分组VO»", - "$ref": "#/definitions/统一响应结果«家庭分组VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "家庭分组管理" - ], - "summary": "删除家庭分组", - "description": "删除家庭分组。如果有行程节点通过 familyIds 关联了该分组,需要手动移除关联。\n**仅适用于 CUSTOM(定制)产品**。", - "operationId": "deleteFamilyUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "familyId", - "in": "path", - "description": "家庭ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/generate-route-map": { - "post": { - "tags": [ - "产品管理" - ], - "summary": "手动生成路径图", - "description": "根据产品行程节点的经纬度信息,调用地图API生成行程路径图。\n\n通常在行程编辑完成后手动触发,生成结果为 OSS 图片 URL。\n如果行程节点没有经纬度信息,则无法生成路径图。", - "operationId": "generateRouteMapUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«string»", - "$ref": "#/definitions/统一响应结果«string»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«string»", - "$ref": "#/definitions/统一响应结果«string»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/group-quote": { - "get": { - "tags": [ - "报价计算" - ], - "summary": "GROUP产品报价(按套餐组合)", - "description": "为 GROUP(小蒙马拼团)产品按团期批次和套餐组合计算报价。\n\nGROUP 产品的价格由批次下的套餐组合(combo)决定,不同组合有不同的成人/儿童人数搭配和价格。\n传入 batchId 指定团期批次,adultCount 用于匹配合适的套餐组合。\n\n**与普通报价的区别**:普通报价从价格日历取单价,GROUP 报价从套餐组合取打包价。\n\n**关联字典**:\n- product_type(产品类型,仅限GROUP):GROUP=小蒙马拼团", - "operationId": "calculateGroupQuoteUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "adultCount", - "in": "query", - "description": "成人人数", - "required": false, - "type": "integer", - "default": 2, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "batchId", - "in": "query", - "description": "团期ID", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«GROUP产品报价结果»", - "$ref": "#/definitions/统一响应结果«GROUP产品报价结果»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«GROUP产品报价结果»", - "$ref": "#/definitions/统一响应结果«GROUP产品报价结果»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/move": { - "put": { - "tags": [ - "产品管理" - ], - "summary": "移动产品到文件夹", - "description": "将产品移动到指定文件夹,或移出文件夹(folderId 传空字符串或 null)。\n文件夹用于组织管理产品,不影响产品的业务逻辑。", - "operationId": "moveProductUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "移动产品请求", - "required": false, - "schema": { - "originalRef": "产品移动请求", - "$ref": "#/definitions/产品移动请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/price-calendar": { - "get": { - "tags": [ - "定价与费用管理" - ], - "summary": "获取月度价格日历", - "description": "获取指定月份的价格日历数据列表。\n\n每条数据包含:日期、成人售价/成本价、儿童售价/成本价、库存、状态(OPEN/CLOSED)等。\n**CORE/GROUP 产品**:价格为单人价格,按人头 × 价格计算总价。\n**CUSTOM/ROUTE 产品**:价格为整单总价,不乘以人头数。", - "operationId": "getMonthCalendarUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "month", - "in": "query", - "description": "月份", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "year", - "in": "query", - "description": "年份", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品价格日历VO»»", - "$ref": "#/definitions/统一响应结果«List«产品价格日历VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品价格日历VO»»", - "$ref": "#/definitions/统一响应结果«List«产品价格日历VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "定价与费用管理" - ], - "summary": "设置单日价格", - "description": "设置或更新指定日期的价格和库存。如果该日期已有记录则更新,否则新建。\n\n可设置成人售价/成本价、儿童售价/成本价、库存数量、状态(OPEN/CLOSED)。\n状态为 CLOSED 的日期不会出现在小程序端的可选日期中。", - "operationId": "setDayPriceUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "价格日历请求", - "required": false, - "schema": { - "originalRef": "价格日历请求", - "$ref": "#/definitions/价格日历请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品价格日历VO»", - "$ref": "#/definitions/统一响应结果«产品价格日历VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品价格日历VO»", - "$ref": "#/definitions/统一响应结果«产品价格日历VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/price-calendar/auto-calc": { - "post": { - "tags": [ - "定价与费用管理" - ], - "summary": "自动计算成本并同步到价格日历", - "description": "根据出发日期和人数,自动计算成本并将结果写入价格日历。\n\n与测算预览不同,此接口会实际更新价格日历数据。\n计算逻辑:查询各资源的价格日历 → 汇总成本 → 应用公式和利润规则 → 写入结果。\n\n**关联字典**:\n- vehicle_type(车型):车辆费用成本计算", - "operationId": "autoCalcCostUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "报价请求", - "required": false, - "schema": { - "originalRef": "报价请求", - "$ref": "#/definitions/报价请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«报价结果VO»", - "$ref": "#/definitions/统一响应结果«报价结果VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«报价结果VO»", - "$ref": "#/definitions/统一响应结果«报价结果VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/price-calendar/batch": { - "post": { - "tags": [ - "定价与费用管理" - ], - "summary": "批量设置价格", - "description": "批量设置日期范围内的价格和库存,支持按星期筛选。\n\n指定 startDate 和 endDate 日期范围,可选 selectedWeekdays 过滤星期几。\n示例:设置5月1日-5月31日的工作日(周一到周五=[1,2,3,4,5])价格。\nselectedWeekdays 为空时,范围内所有日期都会被设置。", - "operationId": "batchSetPricesUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "批量价格请求", - "required": false, - "schema": { - "originalRef": "批量设置价格日历请求", - "$ref": "#/definitions/批量设置价格日历请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品价格日历VO»»", - "$ref": "#/definitions/统一响应结果«List«产品价格日历VO»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品价格日历VO»»", - "$ref": "#/definitions/统一响应结果«List«产品价格日历VO»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/price-calendar/calc-preview": { - "post": { - "tags": [ - "定价与费用管理" - ], - "summary": "测算预览(不写入数据库)", - "description": "根据行程中的资源价格日历,自动计算指定日期的成本价和售价,仅预览不保存。\n\n用于在设置价格日历前预览自动计算的结果。\n计算逻辑:汇总当天所有行程节点关联资源的价格 → 应用公式引擎 → 加上利润。\nGROUP 产品需要传 adultCount 参数(影响均摊计算)。\n\n**关联字典**:\n- vehicle_type(车型):车辆费用成本测算", - "operationId": "calcPreviewUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "测算预览请求", - "required": false, - "schema": { - "originalRef": "成本预览请求", - "$ref": "#/definitions/成本预览请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«成本预览VO»", - "$ref": "#/definitions/统一响应结果«成本预览VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«成本预览VO»", - "$ref": "#/definitions/统一响应结果«成本预览VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/price-calendar/recalculate": { - "post": { - "tags": [ - "定价与费用管理" - ], - "summary": "重新测算所有自动测算日期的价格", - "description": "重新计算价格日历中所有 costAutoCalc=true 的日期的成本价和售价。\n\n适用场景:资源价格调整后,批量刷新所有自动计算的价格日历。\n返回更新的日期数量和详情。手动设置的价格(costAutoCalc=false)不受影响。", - "operationId": "recalculateUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Map«string,object»»", - "$ref": "#/definitions/统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Map«string,object»»", - "$ref": "#/definitions/统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/pricing": { - "get": { - "tags": [ - "定价与费用管理" - ], - "summary": "获取定价规则", - "description": "获取产品的定价配置,包括定价模式、利润设置、儿童/婴儿价格、支付方式等。\n如果产品尚未设置定价规则,返回 null。\n\n**关联字典**:\n- vehicle_type(车型):费用配置中车辆相关成本显示", - "operationId": "getPricingUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品定价配置VO»", - "$ref": "#/definitions/统一响应结果«产品定价配置VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品定价配置VO»", - "$ref": "#/definitions/统一响应结果«产品定价配置VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "定价与费用管理" - ], - "summary": "保存定价规则", - "description": "保存或更新产品的定价配置(一个产品仅一条定价记录,重复调用为覆盖更新)。\n\n**定价模式**:\n- AUTO:自动计算,通过公式引擎根据行程资源价格自动测算成本和售价\n- MANUAL:手动定价,直接在价格日历中手动设置每日价格\n- CUSTOM:定制定价,设置整单总价(customTotalPrice),不按人头\n\n**利润模式**(AUTO 模式下生效):\n- FIXED:固定金额加价,售价 = 成本 + profitAmount\n- PERCENT:百分比加价,售价 = 成本 × (1 + markupPercent/100)\n\n**支付方式**:FULL=全款支付,DEPOSIT=定金+尾款(需设置 depositRatio 或 depositAmount)\n\n**关联字典**:\n- vehicle_type(车型):费用配置中车辆相关成本计算", - "operationId": "savePricingUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "定价规则请求", - "required": false, - "schema": { - "originalRef": "定价配置请求", - "$ref": "#/definitions/定价配置请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品定价配置VO»", - "$ref": "#/definitions/统一响应结果«产品定价配置VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品定价配置VO»", - "$ref": "#/definitions/统一响应结果«产品定价配置VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/quote": { - "post": { - "tags": [ - "报价计算" - ], - "summary": "计算报价", - "description": "根据出发日期和人数组合,计算产品的完整报价。\n\n**计算流程**:\n1. 从价格日历获取指定日期的单价\n2. 按人数类型分别计算:成人 × 成人价、儿童 × 儿童价\n3. 小童按儿童价 × 折扣比例(childDiscountPercent)计算\n4. 婴儿使用固定价格(babyPrice)\n5. 儿童加床(childNeedBed=true)额外加收 childWithBed 费用\n\n**CUSTOM/ROUTE 产品**:价格日历存的是整单总价,不按人头乘算。\n**GROUP 产品**:建议使用 group-quote 接口,支持套餐组合报价。\n\n**关联字典**:\n- product_type(产品类型,影响计算逻辑):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品", - "operationId": "calculateQuoteUsingPOST_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "报价请求", - "required": false, - "schema": { - "originalRef": "报价请求", - "$ref": "#/definitions/报价请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«报价结果VO»", - "$ref": "#/definitions/统一响应结果«报价结果VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«报价结果VO»", - "$ref": "#/definitions/统一响应结果«报价结果VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/share-link": { - "post": { - "tags": [ - "产品管理" - ], - "summary": "生成定制产品分享链接", - "description": "为 CUSTOM(定制)产品生成小程序分享链接,用于定制师发送给客户查看方案。\n\n**限制**:仅 CUSTOM 类型且状态为 COMPLETED 的产品可生成。\n**权限**:普通管理员只能为自己创建的产品生成链接,SUPER_ADMIN 不受限制。", - "operationId": "generateShareLinkUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«分享链接响应»", - "$ref": "#/definitions/统一响应结果«分享链接响应»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«分享链接响应»", - "$ref": "#/definitions/统一响应结果«分享链接响应»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/staff-config": { - "post": { - "tags": [ - "行程管理" - ], - "summary": "添加人员配置", - "description": "为产品添加服务人员配置(如领队、摄影师、司机等),关联资源服务中的人员。\n人员配置是产品级别的模板,GROUP 产品的实际人员在团期批次中单独分配。\n人员费用参与成本自动计算。\n\n**关联字典**:\n- staff_type(人员类型):GUIDE=领队, DRIVER=司机, PHOTOGRAPHER=摄影师, ASSISTANT=助理, OTHER=其他", - "operationId": "addStaffConfigUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "人员配置请求", - "required": false, - "schema": { - "originalRef": "人员配置请求", - "$ref": "#/definitions/人员配置请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品人员配置VO»", - "$ref": "#/definitions/统一响应结果«产品人员配置VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品人员配置VO»", - "$ref": "#/definitions/统一响应结果«产品人员配置VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/staff-configs": { - "get": { - "tags": [ - "行程管理" - ], - "summary": "获取产品人员配置列表", - "description": "**关联字典**:\n- staff_type(人员类型):GUIDE=领队, DRIVER=司机, PHOTOGRAPHER=摄影师, ASSISTANT=助理, OTHER=其他", - "operationId": "listStaffConfigsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品人员配置VO»»", - "$ref": "#/definitions/统一响应结果«List«产品人员配置VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品人员配置VO»»", - "$ref": "#/definitions/统一响应结果«List«产品人员配置VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/status": { - "put": { - "tags": [ - "产品管理" - ], - "summary": "产品状态变更(上架/下架/完成)", - "description": "根据产品类型,状态流转规则不同:\n\n**核心产品(CORE) / 小蒙马(GROUP)**:支持上架/下架,需企微审批\n- DRAFT → PENDING_REVIEW → REVIEWED → PUBLISHED(上架)\n- PUBLISHED → UNPUBLISHED(下架)\n- UNPUBLISHED → PUBLISHED(重新上架)\n- REJECTED → DRAFT(驳回后重新编辑)\n\n**定制产品(CUSTOM)**:仅支持完成,无上架/下架概念\n- DRAFT → COMPLETED(定制师完成设计)\n- COMPLETED → ORDERED(客户下单,系统自动变更)\n- ORDERED → COMPLETED(订单取消/退款后回退)\n\n**关联字典**:\n- product_type(产品类型,影响状态流转规则):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品\n- product_status(产品状态,请求+返回字段):DRAFT=草稿, PENDING_REVIEW=待审核, REVIEWED=已审核, REJECTED=已驳回, PUBLISHED=已上架, UNPUBLISHED=已下架, COMPLETED=已完成, ORDERED=已下单", - "operationId": "changeStatusUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "状态变更请求", - "required": false, - "schema": { - "originalRef": "产品状态变更请求", - "$ref": "#/definitions/产品状态变更请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/item/{productId}/supplies": { - "get": { - "tags": [ - "行程管理" - ], - "summary": "获取产品物资列表", - "description": "获取产品关联的所有物资配品,包含物资名称、数量、单价等信息。", - "operationId": "listSuppliesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品物资VO»»", - "$ref": "#/definitions/统一响应结果«List«产品物资VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品物资VO»»", - "$ref": "#/definitions/统一响应结果«List«产品物资VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "行程管理" - ], - "summary": "添加物资配品", - "description": "为产品添加物资配品(如帐篷、睡袋、登山杖等),关联资源服务中的物资。\n物资配品是产品级别的,不区分具体哪一天,参与成本计算。", - "operationId": "addSuppliesUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "物资配品请求", - "required": false, - "schema": { - "originalRef": "物资配置请求", - "$ref": "#/definitions/物资配置请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品物资VO»", - "$ref": "#/definitions/统一响应结果«产品物资VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品物资VO»", - "$ref": "#/definitions/统一响应结果«产品物资VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/line": { - "post": { - "tags": [ - "产品线管理" - ], - "summary": "创建产品线", - "description": "创建产品线,用于对产品进行业务分类(如:亲子游、蜜月游、探险游等)。\n产品线在小程序端可作为筛选条件,帮助用户快速找到感兴趣的产品类别。", - "operationId": "createLineUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "创建产品线请求", - "required": false, - "schema": { - "originalRef": "创建产品线请求", - "$ref": "#/definitions/创建产品线请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品线VO»", - "$ref": "#/definitions/统一响应结果«产品线VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品线VO»", - "$ref": "#/definitions/统一响应结果«产品线VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/line/active": { - "get": { - "tags": [ - "产品线管理" - ], - "summary": "所有启用的产品线", - "description": "获取所有启用状态的产品线,不分页。\n适用于产品编辑时的产品线下拉选择,以及小程序端的筛选项。", - "operationId": "listAllActiveUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品线VO»»", - "$ref": "#/definitions/统一响应结果«List«产品线VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«产品线VO»»", - "$ref": "#/definitions/统一响应结果«List«产品线VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/line/list": { - "get": { - "tags": [ - "产品线管理" - ], - "summary": "产品线列表(分页)", - "description": "分页查询产品线列表,支持按名称关键词筛选。", - "operationId": "listLinesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "搜索关键词", - "required": false, - "type": "string", - "x-example": "丽江" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "status", - "in": "query", - "description": "产品线状态:ACTIVE=启用 INACTIVE=停用", - "required": false, - "type": "string", - "x-example": "ACTIVE" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«分页结果«产品线VO»»", - "$ref": "#/definitions/统一响应结果«分页结果«产品线VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«分页结果«产品线VO»»", - "$ref": "#/definitions/统一响应结果«分页结果«产品线VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/line/{lineId}": { - "get": { - "tags": [ - "产品线管理" - ], - "summary": "产品线详情", - "description": "获取指定产品线的完整信息。", - "operationId": "getLineUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "lineId", - "in": "path", - "description": "产品线ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品线VO»", - "$ref": "#/definitions/统一响应结果«产品线VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品线VO»", - "$ref": "#/definitions/统一响应结果«产品线VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "产品线管理" - ], - "summary": "更新产品线", - "description": "更新产品线名称、描述、状态等信息。", - "operationId": "updateLineUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "lineId", - "in": "path", - "description": "产品线ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "更新产品线请求", - "required": false, - "schema": { - "originalRef": "更新产品线请求", - "$ref": "#/definitions/更新产品线请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品线VO»", - "$ref": "#/definitions/统一响应结果«产品线VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品线VO»", - "$ref": "#/definitions/统一响应结果«产品线VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "产品线管理" - ], - "summary": "删除产品线", - "description": "删除产品线(软删除)。已关联产品的产品线仍可删除,但关联产品的产品线字段不会被清空。", - "operationId": "deleteLineUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "lineId", - "in": "path", - "description": "产品线ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/node/{nodeId}": { - "put": { - "tags": [ - "行程管理" - ], - "summary": "更新行程节点", - "description": "更新行程节点信息,仅传入需要修改的字段。\n可修改节点名称、时间、关联资源、图片、描述等。\n\n**关联字典**:\n- city(城市):资源面板城市筛选\n- cities(城市ID映射):城市名称预览", - "operationId": "updateNodeUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "nodeId", - "in": "path", - "description": "行程节点ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "更新节点请求", - "required": false, - "schema": { - "originalRef": "更新行程节点请求", - "$ref": "#/definitions/更新行程节点请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«行程节点VO»", - "$ref": "#/definitions/统一响应结果«行程节点VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«行程节点VO»", - "$ref": "#/definitions/统一响应结果«行程节点VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "行程管理" - ], - "summary": "删除行程节点", - "description": "删除指定行程节点,同天其他节点的排序自动调整。", - "operationId": "deleteNodeUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "nodeId", - "in": "path", - "description": "行程节点ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/node/{nodeId}/copy": { - "post": { - "tags": [ - "行程管理" - ], - "summary": "复制行程节点", - "description": "复制指定节点到同一天的末尾位置,包括节点的所有属性(名称、资源关联、图片等)。\n适用场景:同一天有相似的行程安排时快速复制。", - "operationId": "copyNodeUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "nodeId", - "in": "path", - "description": "行程节点ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«行程节点VO»", - "$ref": "#/definitions/统一响应结果«行程节点VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«行程节点VO»", - "$ref": "#/definitions/统一响应结果«行程节点VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/node/{nodeId}/move": { - "put": { - "tags": [ - "行程管理" - ], - "summary": "移动行程节点到其他天", - "description": "将节点从当前天移动到目标天的末尾位置。\n移动后原天和目标天的节点排序自动调整。", - "operationId": "moveNodeUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "nodeId", - "in": "path", - "description": "行程节点ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "节点移动请求", - "required": false, - "schema": { - "originalRef": "节点移动请求", - "$ref": "#/definitions/节点移动请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«行程节点VO»", - "$ref": "#/definitions/统一响应结果«行程节点VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«行程节点VO»", - "$ref": "#/definitions/统一响应结果«行程节点VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/staff-config/{id}": { - "put": { - "tags": [ - "行程管理" - ], - "summary": "更新人员配置", - "description": "**关联字典**:\n- staff_type(人员类型):GUIDE=领队, DRIVER=司机, PHOTOGRAPHER=摄影师, ASSISTANT=助理, OTHER=其他", - "operationId": "updateStaffConfigUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "人员配置ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "人员配置请求", - "required": false, - "schema": { - "originalRef": "人员配置请求", - "$ref": "#/definitions/人员配置请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品人员配置VO»", - "$ref": "#/definitions/统一响应结果«产品人员配置VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品人员配置VO»", - "$ref": "#/definitions/统一响应结果«产品人员配置VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "行程管理" - ], - "summary": "删除人员配置", - "description": "删除指定的人员配置记录。删除后该人员费用不再计入成本。\n\n**关联字典**:\n- staff_type(人员类型):GUIDE=领队, DRIVER=司机, PHOTOGRAPHER=摄影师, ASSISTANT=助理, OTHER=其他", - "operationId": "deleteStaffConfigUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "人员配置ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/product/supplies/{id}": { - "put": { - "tags": [ - "行程管理" - ], - "summary": "更新物资配品", - "description": "更新物资配品的关联物资、数量等信息。修改后会影响成本自动计算结果。", - "operationId": "updateSuppliesUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "物资配品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "物资配品请求", - "required": false, - "schema": { - "originalRef": "物资配置请求", - "$ref": "#/definitions/物资配置请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品物资VO»", - "$ref": "#/definitions/统一响应结果«产品物资VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品物资VO»", - "$ref": "#/definitions/统一响应结果«产品物资VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "行程管理" - ], - "summary": "删除物资配品", - "description": "删除指定的物资配品记录。删除后该物资费用不再计入成本。", - "operationId": "deleteSuppliesUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "物资配品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/product/list": { - "get": { - "tags": [ - "小程序-产品" - ], - "summary": "产品列表(C端)", - "description": "小程序端产品列表接口,仅返回已上架(PUBLISHED)的产品。\n\n支持按产品类型、季节、行程天数、目的地、产品线、支付模式、定制师等筛选。\n默认按 sortOrder 排序,也可按价格或行程天数排序。\n\n**关联字典**:\n- product_type(产品类型,筛选条件):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品", - "operationId": "listProductsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "designerId", - "in": "query", - "description": "定制师ID(创建者ID)筛选", - "required": false, - "type": "integer", - "format": "int64", - "x-example": 1893012345678901234 - }, - { - "name": "destination", - "in": "query", - "description": "目的地筛选", - "required": false, - "type": "string", - "x-example": "丽江" - }, - { - "name": "keyword", - "in": "query", - "description": "搜索关键词(产品名称)", - "required": false, - "type": "string", - "x-example": "丽江" - }, - { - "name": "lineId", - "in": "query", - "description": "产品线ID筛选", - "required": false, - "type": "string", - "x-example": "1893012345678901234" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 10 - }, - { - "name": "paymentMode", - "in": "query", - "description": "支付模式筛选:FULL=全款 DEPOSIT=定金+尾款 null=全部", - "required": false, - "type": "string", - "x-example": "DEPOSIT" - }, - { - "name": "productType", - "in": "query", - "description": "产品类型:CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团", - "required": false, - "type": "string", - "x-example": "CORE" - }, - { - "name": "season", - "in": "query", - "description": "季节筛选", - "required": false, - "type": "string", - "x-example": "spring" - }, - { - "name": "sortBy", - "in": "query", - "description": "排序字段:price/tripDays/default(默认按sortOrder)", - "required": false, - "type": "string", - "x-example": "price" - }, - { - "name": "sortDir", - "in": "query", - "description": "排序方向:asc/desc", - "required": false, - "type": "string", - "x-example": "asc" - }, - { - "name": "tripDays", - "in": "query", - "description": "行程天数筛选", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 5 - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«分页结果«C端产品列表VO»»", - "$ref": "#/definitions/统一响应结果«分页结果«C端产品列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«分页结果«C端产品列表VO»»", - "$ref": "#/definitions/统一响应结果«分页结果«C端产品列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/product/{productId}": { - "get": { - "tags": [ - "小程序-产品" - ], - "summary": "产品详情(C端)", - "description": "小程序端产品详情接口,仅返回已上架(PUBLISHED)的产品。\n包含完整的行程信息、定价配置、费用说明、创作者寄语等。\n未上架的产品会返回 404 错误。\n\n**关联字典**:\n- product_type(产品类型):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品\n- product_category(产品分类):family=亲子游, honeymoon=蜜月游, photography=旅拍, experience=体验, driving=自驾", - "operationId": "getProductUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品详情VO»", - "$ref": "#/definitions/统一响应结果«产品详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«产品详情VO»", - "$ref": "#/definitions/统一响应结果«产品详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/mp/product/{productId}/quote": { - "post": { - "tags": [ - "小程序-产品" - ], - "summary": "报价计算(C端)", - "description": "小程序端报价计算接口,根据用户选择的日期和人数计算总价。\n内部会校验产品是否存在且已上架。\n详细计算逻辑参见管理后台的报价计算接口说明。", - "operationId": "calculateQuoteUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "产品ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "报价请求", - "required": false, - "schema": { - "originalRef": "报价请求", - "$ref": "#/definitions/报价请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«报价结果VO»", - "$ref": "#/definitions/统一响应结果«报价结果VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«报价结果VO»", - "$ref": "#/definitions/统一响应结果«报价结果VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - } - }, - "definitions": { - "C端产品列表VO": { - "type": "object", - "properties": { - "coverImageUrl": { - "type": "string", - "description": "封面图URL" - }, - "creatorAvatarUrl": { - "type": "string", - "description": "定制师头像URL" - }, - "departureCity": { - "type": "string", - "description": "出发城市" - }, - "destinationCity": { - "type": "string", - "description": "目的地城市" - }, - "lineName": { - "type": "string", - "description": "产品线名称" - }, - "name": { - "type": "string", - "description": "产品名称" - }, - "paymentMode": { - "type": "string", - "description": "支付模式:FULL=全款 DEPOSIT=定金+尾款" - }, - "productId": { - "type": "string", - "description": "产品ID" - }, - "productType": { - "type": "string", - "description": "产品类型:CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团" - }, - "routeMapUrl": { - "type": "string", - "description": "路径图URL" - }, - "seasons": { - "type": "array", - "description": "适用季节列表", - "items": { - "type": "string" - } - }, - "startPrice": { - "type": "number", - "description": "起步价(来自定价配置)" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "tags": { - "type": "array", - "description": "产品标签列表", - "items": { - "type": "string" - } - }, - "tripDays": { - "type": "integer", - "format": "int32", - "description": "行程天数" - }, - "tripNights": { - "type": "integer", - "format": "int32", - "description": "行程晚数" - } - }, - "title": "C端产品列表VO" - }, - "GROUP产品报价结果": { - "type": "object", - "properties": { - "adultCostPrice": { - "type": "number", - "description": "成人成本价(单房差+每人费用)" - }, - "adultSellPrice": { - "type": "number", - "description": "成人售价" - }, - "childCostPrice": { - "type": "number", - "description": "儿童成本价(每人费用,不含酒店)" - }, - "childSellPrice": { - "type": "number", - "description": "儿童售价" - }, - "code": { - "type": "integer", - "format": "int32", - "description": "返回码: 0=成功, 1=非GROUP产品, 2=错误" - }, - "dayCosts": { - "type": "array", - "description": "每日成本明细", - "items": { - "originalRef": "每日成本明细", - "$ref": "#/definitions/每日成本明细" - } - }, - "extraCostItems": { - "type": "array", - "description": "额外成本明细列表", - "items": { - "originalRef": "额外成本明细项", - "$ref": "#/definitions/额外成本明细项" - } - }, - "extraCostPerPerson": { - "type": "number", - "description": "额外成本(人均)" - }, - "extraCostTotal": { - "type": "number", - "description": "额外成本总额(团队)" - }, - "hotelCostTotal": { - "type": "number", - "description": "酒店总成本" - }, - "message": { - "type": "string", - "description": "错误信息(code!=0时)" - }, - "perPersonCost": { - "type": "number", - "description": "每人成本(不含酒店)" - }, - "profitMode": { - "type": "string", - "description": "利润模式" - }, - "singleRoomSupplement": { - "type": "number", - "description": "单房差(酒店总成本/2)" - }, - "warnings": { - "type": "array", - "description": "警告信息", - "items": { - "type": "string" - } - } - }, - "title": "GROUP产品报价结果" - }, - "产品人员配置VO": { - "type": "object", - "properties": { - "familyIds": { - "type": "array", - "description": "所属家庭ID列表(定制产品按家庭分配)", - "items": { - "type": "string" - } - }, - "id": { - "type": "string", - "description": "记录ID" - }, - "quantity": { - "type": "integer", - "format": "int32", - "description": "数量" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "staffType": { - "type": "string", - "description": "人员类型:GUIDE/GUIDE_ASSISTANT/PHOTOGRAPHER/LEADER/OTHER" - }, - "staffTypeName": { - "type": "string", - "description": "人员类型名称" - } - }, - "title": "产品人员配置VO" - }, - "产品价格日历VO": { - "type": "object", - "properties": { - "adultCostPrice": { - "type": "number", - "description": "成人成本价" - }, - "adultProfit": { - "type": "number", - "description": "成人利润" - }, - "adultSellPrice": { - "type": "number", - "description": "成人售价" - }, - "childCostPrice": { - "type": "number", - "description": "儿童成本价" - }, - "childProfit": { - "type": "number", - "description": "儿童利润" - }, - "childSellPrice": { - "type": "number", - "description": "儿童售价" - }, - "costAutoCalc": { - "type": "boolean", - "description": "是否自动计算成本" - }, - "date": { - "type": "string", - "format": "date", - "description": "日期" - }, - "id": { - "type": "string", - "description": "价格日历ID" - }, - "profitRate": { - "type": "number", - "description": "利润率(百分比)" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "sold": { - "type": "integer", - "format": "int32", - "description": "已售数量" - }, - "status": { - "type": "string", - "description": "状态:OPEN=开放 CLOSED=关闭" - }, - "stock": { - "type": "integer", - "format": "int32", - "description": "库存数量" - } - }, - "title": "产品价格日历VO" - }, - "产品列表VO": { - "type": "object", - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "description": "成人数(私人定制/路书)" - }, - "approvalNo": { - "type": "string", - "description": "审批编号" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "description": "幼童数(私人定制/路书)" - }, - "childCount": { - "type": "integer", - "format": "int32", - "description": "儿童数(私人定制/路书)" - }, - "coverImageUrl": { - "type": "string", - "description": "封面图URL" - }, - "createBy": { - "type": "string", - "description": "创建人ID" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "departureCity": { - "type": "string", - "description": "出发城市" - }, - "destinationCity": { - "type": "string", - "description": "目的地城市" - }, - "folderId": { - "type": "string", - "description": "所属文件夹ID" - }, - "groupRoomId": { - "type": "string", - "description": "企微群聊ID(用于会话存档展示群消息)" - }, - "isBooking": { - "type": "boolean", - "description": "是否预约产品" - }, - "lineId": { - "type": "string", - "description": "产品线ID" - }, - "lineName": { - "type": "string", - "description": "产品线名称" - }, - "maxAdultPerOrder": { - "type": "integer", - "format": "int32", - "description": "每单最大成人数(null=不限)" - }, - "maxChildPerOrder": { - "type": "integer", - "format": "int32", - "description": "每单最大儿童数(null=不限)" - }, - "mchId": { - "type": "string", - "description": "商户号" - }, - "minAdultPerOrder": { - "type": "integer", - "format": "int32", - "description": "每单最少成人数(null=默认1)" - }, - "name": { - "type": "string", - "description": "产品名称" - }, - "pendingStatus": { - "type": "string", - "description": "待审批目标状态" - }, - "productId": { - "type": "string", - "description": "产品ID" - }, - "productNo": { - "type": "string", - "description": "产品编号" - }, - "productType": { - "type": "string", - "description": "产品类型:CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团" - }, - "seasons": { - "type": "array", - "description": "适用季节列表", - "items": { - "type": "string" - } - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "status": { - "type": "string", - "description": "产品状态:DRAFT/PENDING_REVIEW/REVIEWED/REJECTED/PUBLISHED/UNPUBLISHED/COMPLETED" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "tripDays": { - "type": "integer", - "format": "int32", - "description": "行程天数" - }, - "tripNights": { - "type": "integer", - "format": "int32", - "description": "行程晚数" - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "description": "小童数(私人定制/路书)" - } - }, - "title": "产品列表VO" - }, - "产品定价配置VO": { - "type": "object", - "properties": { - "adultExtraBed": { - "type": "number", - "description": "成人加床费" - }, - "babyPrice": { - "type": "number", - "description": "婴儿价" - }, - "balanceDueDays": { - "type": "integer", - "format": "int32", - "description": "尾款支付截止天数(出发前N天)" - }, - "childDiscountPercent": { - "type": "number", - "description": "儿童折扣百分比" - }, - "childNoBed": { - "type": "number", - "description": "儿童不占床价" - }, - "childWithBed": { - "type": "number", - "description": "儿童占床价" - }, - "companionPrice": { - "type": "number", - "description": "陪同人员价格" - }, - "customTotalPrice": { - "type": "number", - "description": "定制产品总价(CUSTOM模式下使用)" - }, - "depositAmount": { - "type": "number", - "description": "定金金额" - }, - "depositRatio": { - "type": "integer", - "format": "int32", - "description": "定金比例(百分比)" - }, - "extraCostPerPerson": { - "type": "number", - "description": "每人额外成本" - }, - "insuranceFee": { - "type": "number", - "description": "保险费用" - }, - "markupPercent": { - "type": "number", - "description": "加价百分比(PERCENT模式下使用)" - }, - "maxGroupSize": { - "type": "integer", - "format": "int32", - "description": "最大成团人数" - }, - "mealBudget": { - "type": "number", - "description": "餐费预算" - }, - "minGroupSize": { - "type": "integer", - "format": "int32", - "description": "最小成团人数" - }, - "paymentType": { - "type": "string", - "description": "支付方式:FULL=全款 DEPOSIT=定金+尾款" - }, - "pricingId": { - "type": "string", - "description": "定价配置ID" - }, - "pricingMode": { - "type": "string", - "description": "定价模式:AUTO=自动计算 MANUAL=手动定价 CUSTOM=定制定价" - }, - "productId": { - "type": "string", - "description": "产品ID" - }, - "profitAmount": { - "type": "number", - "description": "利润金额(FIXED模式下使用)" - }, - "profitMode": { - "type": "string", - "description": "利润模式:FIXED=固定金额 PERCENT=百分比" - }, - "singleRoomDiff": { - "type": "number", - "description": "单房差" - }, - "vehicleModelIds": { - "type": "array", - "description": "车型ID列表", - "items": { - "type": "string" - } - }, - "vehicleWarning": { - "type": "string", - "description": "车辆绑定警告信息(为空表示绑定成功)" - } - }, - "title": "产品定价配置VO" - }, - "产品成本项VO": { - "type": "object", - "properties": { - "category": { - "type": "string", - "description": "成本项类别:HOTEL/SCENIC/VEHICLE/ACTIVITY/SERVICE/DINING/OTHER" - }, - "description": { - "type": "string", - "description": "成本项描述" - }, - "id": { - "type": "string", - "description": "成本项ID" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "title": { - "type": "string", - "description": "成本项标题" - }, - "type": { - "type": "string", - "description": "成本项类型:INCLUDED=费用包含 EXCLUDED=费用不含 SELF_PAY=自理费用" - } - }, - "title": "产品成本项VO" - }, - "产品文件夹VO": { - "type": "object", - "properties": { - "children": { - "type": "array", - "description": "子文件夹列表", - "items": { - "originalRef": "产品文件夹VO", - "$ref": "#/definitions/产品文件夹VO" - } - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "folderId": { - "type": "string", - "description": "文件夹ID" - }, - "name": { - "type": "string", - "description": "文件夹名称" - }, - "ownerId": { - "type": "string", - "description": "拥有者ID" - }, - "ownerName": { - "type": "string", - "description": "拥有者姓名" - }, - "parentId": { - "type": "string", - "description": "父文件夹ID" - }, - "productCount": { - "type": "integer", - "format": "int32", - "description": "文件夹内产品数量" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "产品文件夹VO" - }, - "产品物资VO": { - "type": "object", - "properties": { - "billingType": { - "type": "string", - "description": "计费方式:BY_PERSON=按人头 BY_COUNT=按次/按件" - }, - "costPerPerson": { - "type": "number", - "description": "每人成本" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "dayNumber": { - "type": "integer", - "format": "int32", - "description": "天数编号(scope=DAY时生效)" - }, - "familyIds": { - "type": "array", - "description": "所属家庭ID列表(定制产品按家庭分配)", - "items": { - "type": "string" - } - }, - "id": { - "type": "string", - "description": "记录ID" - }, - "quantity": { - "type": "integer", - "format": "int32", - "description": "数量" - }, - "scope": { - "type": "string", - "description": "适用范围:ALL=整个行程 DAY=指定天" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "suppliesId": { - "type": "string", - "description": "物资ID" - }, - "suppliesName": { - "type": "string", - "description": "物资名称" - } - }, - "title": "产品物资VO" - }, - "产品状态变更请求": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "reason": { - "type": "string", - "example": "行程信息不完整,请补充", - "description": "状态变更原因(驳回时必填;上架/下架审批时可填)" - }, - "status": { - "type": "string", - "example": "PUBLISHED", - "description": "目标状态。核心/小蒙马:DRAFT/PENDING_REVIEW/REVIEWED/REJECTED/PUBLISHED/UNPUBLISHED;定制产品:COMPLETED" - } - }, - "title": "产品状态变更请求" - }, - "产品移动请求": { - "type": "object", - "properties": { - "folderId": { - "type": "string", - "example": 1893012345678901234, - "description": "目标文件夹ID,为空则移动到根目录" - } - }, - "title": "产品移动请求" - }, - "产品线VO": { - "type": "object", - "properties": { - "coverImageUrl": { - "type": "string", - "description": "封面图URL" - }, - "createBy": { - "type": "string", - "description": "创建人ID" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "description": { - "type": "string", - "description": "产品线描述" - }, - "lineId": { - "type": "string", - "description": "产品线ID" - }, - "name": { - "type": "string", - "description": "产品线名称" - }, - "productCount": { - "type": "integer", - "format": "int32", - "description": "关联产品数量" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "status": { - "type": "string", - "description": "状态:ACTIVE=启用 INACTIVE=停用" - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "产品线VO" - }, - "产品自定义费用项VO": { - "type": "object", - "properties": { - "description": { - "type": "string", - "description": "费用说明" - }, - "familyIds": { - "type": "array", - "description": "所属家庭ID列表(定制产品按家庭分配)", - "items": { - "type": "string" - } - }, - "feeAmount": { - "type": "number", - "description": "费用金额" - }, - "feeName": { - "type": "string", - "description": "费用项名称" - }, - "feeUnit": { - "type": "string", - "description": "费用单位" - }, - "id": { - "type": "string", - "description": "费用项ID" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - } - }, - "title": "产品自定义费用项VO" - }, - "产品详情VO": { - "type": "object", - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "description": "成人人数" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "description": "婴儿人数" - }, - "benefitsDescription": { - "type": "array", - "description": "权益说明(静态,所有产品相同)", - "items": { - "originalRef": "权益分组", - "$ref": "#/definitions/权益分组" - } - }, - "bookingNotice": { - "type": "string", - "description": "预定须知" - }, - "cancelPolicy": { - "type": "string", - "description": "退改政策" - }, - "carouselImages": { - "type": "array", - "description": "轮播图列表", - "items": { - "type": "string" - } - }, - "carouselVideoUrl": { - "type": "string", - "description": "轮播视频URL" - }, - "chatMessages": { - "type": "array", - "description": "群聊消息列表", - "items": { - "originalRef": "群聊消息VO", - "$ref": "#/definitions/群聊消息VO" - } - }, - "childCount": { - "type": "integer", - "format": "int32", - "description": "儿童人数" - }, - "costItems": { - "type": "array", - "description": "成本项列表", - "items": { - "originalRef": "产品成本项VO", - "$ref": "#/definitions/产品成本项VO" - } - }, - "coverImageUrl": { - "type": "string", - "description": "封面图URL" - }, - "createBy": { - "type": "string", - "description": "创建人ID" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "creatorAvatarUrl": { - "type": "string", - "description": "定制师头像URL" - }, - "creatorIntro": { - "type": "string", - "description": "创作者寄语" - }, - "customFees": { - "type": "array", - "description": "自定义费用项列表", - "items": { - "originalRef": "产品自定义费用项VO", - "$ref": "#/definitions/产品自定义费用项VO" - } - }, - "customizerId": { - "type": "string", - "description": "定制师ID" - }, - "departureCity": { - "type": "string", - "description": "出发城市" - }, - "destinationCities": { - "type": "array", - "description": "途经城市列表(从行程节点资源去重提取)", - "items": { - "type": "string" - } - }, - "destinationCity": { - "type": "string", - "description": "目的地城市" - }, - "families": { - "type": "array", - "description": "家庭分组列表(定制产品)", - "items": { - "originalRef": "家庭分组VO", - "$ref": "#/definitions/家庭分组VO" - } - }, - "folderId": { - "type": "string", - "description": "所属文件夹ID" - }, - "groupChatQrUrl": { - "type": "string", - "description": "群聊二维码URL" - }, - "groupRoomId": { - "type": "string", - "description": "企微群聊ID(用于会话存档展示群消息)" - }, - "isBooking": { - "type": "boolean", - "description": "是否预约产品" - }, - "itineraryDays": { - "type": "array", - "description": "行程天列表", - "items": { - "originalRef": "行程天VO", - "$ref": "#/definitions/行程天VO" - } - }, - "lineId": { - "type": "string", - "description": "产品线ID" - }, - "lineName": { - "type": "string", - "description": "产品线名称" - }, - "lineSubtitle": { - "type": "string", - "description": "产品线副标题" - }, - "maxAdultPerOrder": { - "type": "integer", - "format": "int32", - "description": "每单最大成人数(null=不限)" - }, - "maxChildPerOrder": { - "type": "integer", - "format": "int32", - "description": "每单最大儿童数(null=不限)" - }, - "mchId": { - "type": "string", - "description": "商户号" - }, - "minAdultPerOrder": { - "type": "integer", - "format": "int32", - "description": "每单最少成人数(null=默认1)" - }, - "name": { - "type": "string", - "description": "产品名称" - }, - "paymentMode": { - "type": "string", - "description": "支付模式:FULL=全款 DEPOSIT=定金+尾款" - }, - "pricing": { - "description": "定价配置", - "originalRef": "产品定价配置VO", - "$ref": "#/definitions/产品定价配置VO" - }, - "productId": { - "type": "string", - "description": "产品ID" - }, - "productNo": { - "type": "string", - "description": "产品编号" - }, - "productType": { - "type": "string", - "description": "产品类型:CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团" - }, - "publishedAt": { - "type": "string", - "format": "date-time", - "description": "发布时间" - }, - "routeMapUrl": { - "type": "string", - "description": "路径图URL(后端自动生成)" - }, - "seasons": { - "type": "array", - "description": "适用季节列表", - "items": { - "type": "string" - } - }, - "showChatGroup": { - "type": "boolean", - "description": "是否显示群聊入口" - }, - "showReview": { - "type": "boolean", - "description": "是否显示评价" - }, - "showTripDistance": { - "type": "boolean", - "description": "是否显示行程距离" - }, - "showTripTime": { - "type": "boolean", - "description": "是否显示行程时间" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "staffConfigs": { - "type": "array", - "description": "人员配置列表(定制产品)", - "items": { - "originalRef": "产品人员配置VO", - "$ref": "#/definitions/产品人员配置VO" - } - }, - "startPrice": { - "type": "number", - "description": "起步价:未来一年价格日历中最低成人售价" - }, - "status": { - "type": "string", - "description": "产品状态:DRAFT/PENDING_REVIEW/REVIEWED/REJECTED/PUBLISHED/UNPUBLISHED/COMPLETED" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "suppliesList": { - "type": "array", - "description": "物资列表", - "items": { - "originalRef": "产品物资VO", - "$ref": "#/definitions/产品物资VO" - } - }, - "tags": { - "type": "array", - "description": "产品标签列表", - "items": { - "type": "string" - } - }, - "teamExperienceYears": { - "type": "integer", - "format": "int32", - "description": "团队经验年数" - }, - "tripDays": { - "type": "integer", - "format": "int32", - "description": "行程天数" - }, - "tripNights": { - "type": "integer", - "format": "int32", - "description": "行程晚数" - }, - "updateBy": { - "type": "string", - "description": "更新人ID" - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "warmTips": { - "type": "string", - "description": "温馨提示" - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "description": "小童人数" - } - }, - "title": "产品详情VO" - }, - "产品额外成本VO": { - "type": "object", - "properties": { - "applyRole": { - "type": "string", - "description": "适用角色" - }, - "categoryCode": { - "type": "string", - "description": "费用类别编码" - }, - "costItemId": { - "type": "string", - "description": "费用项ID" - }, - "costItemName": { - "type": "string", - "description": "费用项名称" - }, - "daily": { - "type": "boolean", - "description": "是否按天计算:true=按天计算(乘以天数) false=整个行程一次" - }, - "familyIds": { - "type": "array", - "description": "所属家庭ID列表(定制产品按家庭分配)", - "items": { - "type": "string" - } - }, - "id": { - "type": "string", - "description": "记录ID" - }, - "quantity": { - "type": "integer", - "format": "int32", - "description": "数量" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "unit": { - "type": "string", - "description": "单位" - }, - "unitPrice": { - "type": "number", - "description": "单价" - } - }, - "title": "产品额外成本VO" - }, - "人员配置请求": { - "type": "object", - "required": [ - "quantity", - "staffType" - ], - "properties": { - "familyIds": { - "type": "array", - "description": "所属家庭ID列表(定制产品按家庭分配)", - "items": { - "type": "string" - } - }, - "quantity": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "数量" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序序号" - }, - "staffType": { - "type": "string", - "example": "GUIDE", - "description": "人员类型:GUIDE/GUIDE_ASSISTANT/PHOTOGRAPHER/LEADER/OTHER" - } - }, - "title": "人员配置请求" - }, - "价格日历请求": { - "type": "object", - "required": [ - "date" - ], - "properties": { - "adultCostPrice": { - "type": "number", - "example": 2800.0, - "description": "成人成本价" - }, - "adultCount": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "成人人数(GROUP产品自动测算用)" - }, - "adultSellPrice": { - "type": "number", - "example": 3980.0, - "description": "成人售价" - }, - "childCostPrice": { - "type": "number", - "example": 1800.0, - "description": "儿童成本价" - }, - "childSellPrice": { - "type": "number", - "example": 2680.0, - "description": "儿童售价" - }, - "costAutoCalc": { - "type": "boolean", - "example": true, - "description": "是否自动计算成本(true时重新测算会自动更新此日期的价格)" - }, - "date": { - "type": "string", - "format": "date", - "example": "2026-05-01", - "description": "日期" - }, - "remark": { - "type": "string", - "example": "五一黄金周特价", - "description": "备注" - }, - "status": { - "type": "string", - "example": "OPEN", - "description": "状态:OPEN=开放预订 CLOSED=关闭(不可预订)" - }, - "stock": { - "type": "integer", - "format": "int32", - "example": 30, - "description": "库存数量(CORE/GROUP按人头扣减,CUSTOM/ROUTE按单扣减)" - } - }, - "title": "价格日历请求" - }, - "公式变量VO": { - "type": "object", - "properties": { - "category": { - "type": "string", - "description": "变量分类:INPUT/INTERMEDIATE/OUTPUT" - }, - "defaultValue": { - "type": "string", - "description": "默认值" - }, - "description": { - "type": "string", - "description": "描述" - }, - "productTypes": { - "type": "array", - "description": "适用产品类型列表", - "items": { - "type": "string" - } - }, - "varId": { - "type": "string", - "description": "变量ID" - }, - "varName": { - "type": "string", - "description": "变量名" - }, - "varType": { - "type": "string", - "description": "变量类型:DECIMAL/INTEGER/BOOLEAN/STRING" - } - }, - "title": "公式变量VO" - }, - "公式变量请求": { - "type": "object", - "required": [ - "category", - "varName", - "varType" - ], - "properties": { - "category": { - "type": "string", - "example": "INPUT", - "description": "变量分类:INPUT/INTERMEDIATE/OUTPUT" - }, - "defaultValue": { - "type": "string", - "example": 0, - "description": "默认值" - }, - "description": { - "type": "string", - "example": "成人单价成本", - "description": "描述" - }, - "productTypes": { - "type": "array", - "example": [ - "CORE", - "ROUTE" - ], - "description": "适用产品类型列表", - "items": { - "type": "string" - } - }, - "varName": { - "type": "string", - "example": "adultUnitCost", - "description": "变量名" - }, - "varType": { - "type": "string", - "example": "DECIMAL", - "description": "变量类型:DECIMAL/INTEGER/BOOLEAN/STRING" - } - }, - "title": "公式变量请求" - }, - "公式步骤VO": { - "type": "object", - "properties": { - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "description": { - "type": "string", - "description": "描述" - }, - "executionOrder": { - "type": "integer", - "format": "int32", - "description": "执行顺序" - }, - "expression": { - "type": "string", - "description": "表达式" - }, - "formulaId": { - "type": "string", - "description": "公式ID" - }, - "groupId": { - "type": "string", - "description": "公式组ID" - }, - "inputVars": { - "type": "string", - "description": "输入变量(逗号分隔)" - }, - "isEnabled": { - "type": "boolean", - "description": "是否启用" - }, - "outputVar": { - "type": "string", - "description": "输出变量名" - }, - "stepCode": { - "type": "string", - "description": "步骤编码" - }, - "stepName": { - "type": "string", - "description": "步骤名称" - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "公式步骤VO" - }, - "公式步骤请求": { - "type": "object", - "required": [ - "expression", - "groupId", - "outputVar", - "stepCode", - "stepName" - ], - "properties": { - "changeNote": { - "type": "string", - "example": "初始创建", - "description": "变更说明" - }, - "description": { - "type": "string", - "example": "根据人数和单价计算基础成本", - "description": "描述" - }, - "executionOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "执行顺序" - }, - "expression": { - "type": "string", - "example": "baseCost = adultCount * adultUnitCost + childCount * childUnitCost", - "description": "Aviator表达式(支持数学运算、条件判断、内置函数;可引用前置步骤的输出变量和公式变量表中的变量)" - }, - "groupId": { - "type": "integer", - "format": "int64", - "example": 1893012345678901234, - "description": "公式组ID" - }, - "inputVars": { - "type": "string", - "example": "adultCount,adultUnitCost,childCount,childUnitCost", - "description": "输入变量(逗号分隔)" - }, - "outputVar": { - "type": "string", - "example": "baseCost", - "description": "输出变量名" - }, - "stepCode": { - "type": "string", - "example": "CALC_BASE_COST", - "description": "步骤编码" - }, - "stepName": { - "type": "string", - "example": "计算基础成本", - "description": "步骤名称" - } - }, - "title": "公式步骤请求" - }, - "公式测试结果VO": { - "type": "object", - "properties": { - "errorMessage": { - "type": "string", - "description": "错误信息" - }, - "finalVariables": { - "type": "object", - "description": "最终变量表" - }, - "stepResults": { - "type": "array", - "description": "各步骤执行结果", - "items": { - "originalRef": "步骤执行结果", - "$ref": "#/definitions/步骤执行结果" - } - }, - "success": { - "type": "boolean", - "description": "是否成功" - }, - "totalTimeMs": { - "type": "integer", - "format": "int64", - "description": "总耗时(毫秒)" - } - }, - "title": "公式测试结果VO" - }, - "公式测试请求": { - "type": "object", - "required": [ - "groupId", - "variables" - ], - "properties": { - "groupId": { - "type": "integer", - "format": "int64", - "example": 1893012345678901234, - "description": "公式组ID" - }, - "variables": { - "type": "object", - "description": "测试变量(变量名→值)" - } - }, - "title": "公式测试请求" - }, - "公式版本历史VO": { - "type": "object", - "properties": { - "changeNote": { - "type": "string", - "description": "变更说明" - }, - "changedBy": { - "type": "string", - "description": "变更人ID" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "expression": { - "type": "string", - "description": "表达式" - }, - "formulaId": { - "type": "string", - "description": "公式ID" - }, - "versionId": { - "type": "string", - "description": "版本ID" - }, - "versionNum": { - "type": "integer", - "format": "int32", - "description": "版本号" - } - }, - "title": "公式版本历史VO" - }, - "公式组VO": { - "type": "object", - "properties": { - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "description": { - "type": "string", - "description": "描述" - }, - "groupCode": { - "type": "string", - "description": "公式组编码" - }, - "groupId": { - "type": "string", - "description": "公式组ID" - }, - "groupName": { - "type": "string", - "description": "公式组名称" - }, - "isActive": { - "type": "boolean", - "description": "是否激活" - }, - "productType": { - "type": "string", - "description": "适用产品类型" - }, - "stepCount": { - "type": "integer", - "format": "int32", - "description": "步骤数量" - }, - "version": { - "type": "integer", - "format": "int32", - "description": "版本号" - } - }, - "title": "公式组VO" - }, - "公式组请求": { - "type": "object", - "required": [ - "groupCode", - "groupName", - "productType" - ], - "properties": { - "description": { - "type": "string", - "example": "核心产品标准报价公式", - "description": "描述" - }, - "groupCode": { - "type": "string", - "example": "CORE_PRICING_V1", - "description": "公式组编码" - }, - "groupName": { - "type": "string", - "example": "核心产品定价公式", - "description": "公式组名称" - }, - "productType": { - "type": "string", - "example": "CORE", - "description": "适用产品类型:CORE/ROUTE/CUSTOM/GROUP" - } - }, - "title": "公式组请求" - }, - "分享链接响应": { - "type": "object", - "properties": { - "expireTime": { - "type": "object", - "description": "链接过期时间(Unix时间戳)" - }, - "productId": { - "type": "integer", - "format": "int64", - "description": "产品ID" - }, - "productName": { - "type": "string", - "description": "产品名称" - }, - "urlLink": { - "type": "string", - "description": "微信URL Link" - } - }, - "title": "分享链接响应" - }, - "分页结果«C端产品列表VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "originalRef": "C端产品列表VO", - "$ref": "#/definitions/C端产品列表VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«C端产品列表VO»" - }, - "分页结果«产品列表VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "originalRef": "产品列表VO", - "$ref": "#/definitions/产品列表VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«产品列表VO»" - }, - "分页结果«产品线VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "originalRef": "产品线VO", - "$ref": "#/definitions/产品线VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«产品线VO»" - }, - "创建产品线请求": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "coverImageUrl": { - "type": "string", - "example": "https://oss.example.com/cover.jpg", - "description": "封面图URL" - }, - "description": { - "type": "string", - "example": "丽江古城及周边精品旅游线路", - "description": "产品线描述" - }, - "name": { - "type": "string", - "example": "丽江精品线路", - "description": "产品线名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序序号" - } - }, - "title": "创建产品线请求" - }, - "创建产品请求": { - "type": "object", - "required": [ - "name", - "productType" - ], - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "成人人数" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "婴儿人数" - }, - "bookingNotice": { - "type": "string", - "description": "预定须知" - }, - "cancelPolicy": { - "type": "string", - "description": "退改政策" - }, - "carouselImages": { - "type": "array", - "description": "轮播图列表", - "items": { - "type": "string" - } - }, - "carouselVideoUrl": { - "type": "string", - "example": "https://oss.example.com/video.mp4", - "description": "轮播视频URL" - }, - "childCount": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "儿童人数" - }, - "creatorAvatarUrl": { - "type": "string", - "example": "https://oss.example.com/avatar.jpg", - "description": "定制师头像URL" - }, - "creatorIntro": { - "type": "string", - "example": "带你体验最地道的丽江风情", - "description": "创作者寄语" - }, - "customizerId": { - "type": "string", - "example": 1893012345678901234, - "description": "定制师ID" - }, - "departureCity": { - "type": "string", - "example": "昆明", - "description": "出发城市" - }, - "destinationCity": { - "type": "string", - "example": "丽江", - "description": "目的地城市" - }, - "folderId": { - "type": "string", - "example": 1893012345678901234, - "description": "所属文件夹ID" - }, - "groupChatQrUrl": { - "type": "string", - "example": "https://oss.example.com/qr.jpg", - "description": "群聊二维码URL" - }, - "groupRoomId": { - "type": "string", - "description": "企微群聊ID(用于会话存档展示群消息)" - }, - "isBooking": { - "type": "boolean", - "example": false, - "description": "是否预约产品" - }, - "lineId": { - "type": "string", - "example": 1893012345678901234, - "description": "产品线ID" - }, - "maxAdultPerOrder": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "每单最大成人数(不填则不限制)" - }, - "maxChildPerOrder": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "每单最大儿童数(不填则不限制)" - }, - "mchId": { - "type": "string", - "example": "shanhe", - "description": "商户号:shanhe/wenlu" - }, - "minAdultPerOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "每单最少成人数(不填默认1)" - }, - "name": { - "type": "string", - "example": "丽江5日深度游", - "description": "产品名称" - }, - "productType": { - "type": "string", - "example": "CORE", - "description": "产品类型:CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团" - }, - "seasons": { - "type": "array", - "description": "适用季节列表", - "items": { - "type": "string" - } - }, - "showChatGroup": { - "type": "boolean", - "example": true, - "description": "是否显示群聊入口" - }, - "showReview": { - "type": "boolean", - "example": true, - "description": "是否显示评价" - }, - "showTripDistance": { - "type": "boolean", - "example": true, - "description": "是否显示行程距离" - }, - "showTripTime": { - "type": "boolean", - "example": true, - "description": "是否显示行程时间" - }, - "subtitle": { - "type": "string", - "example": "探访纳西文化,邂逅玉龙雪山", - "description": "副标题" - }, - "tags": { - "type": "array", - "description": "产品标签列表", - "items": { - "type": "string" - } - }, - "tripDays": { - "type": "integer", - "format": "int32", - "example": 5, - "description": "行程天数" - }, - "warmTips": { - "type": "string", - "description": "温馨提示" - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "小童人数" - } - }, - "title": "创建产品请求" - }, - "创建拼团批次请求": { - "type": "object", - "required": [ - "batchName", - "departureDate", - "enrollmentDeadline", - "maxParticipants" - ], - "properties": { - "batchName": { - "type": "string", - "example": "7月20日第1批", - "description": "批次名称" - }, - "departureDate": { - "type": "string", - "format": "date", - "example": "2026-07-20", - "description": "出发日期" - }, - "enrollmentDeadline": { - "type": "string", - "format": "date", - "example": "2026-07-15", - "description": "报名截止日期,必须早于出发日期" - }, - "maxParticipants": { - "type": "integer", - "format": "int32", - "example": 30, - "description": "最大参团人数(报名人数达到上限后自动关闭报名)" - }, - "minParticipants": { - "type": "integer", - "format": "int32", - "example": 10, - "description": "最低成团人数(0=不限制,达到此人数自动变为CONFIRMED状态)" - }, - "remark": { - "type": "string", - "example": "暑期特别批次", - "description": "备注说明" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序序号(越小越靠前)" - } - }, - "title": "创建拼团批次请求" - }, - "创建文件夹请求": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string", - "example": "国内线路", - "description": "文件夹名称" - }, - "parentId": { - "type": "string", - "example": 1893012345678901234, - "description": "父文件夹ID,为空则为根文件夹" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序序号" - } - }, - "title": "创建文件夹请求" - }, - "创建行程节点请求": { - "type": "object", - "required": [ - "nodeName", - "nodeType" - ], - "properties": { - "description": { - "type": "string", - "example": "漫步古城,感受纳西文化", - "description": "节点描述" - }, - "distanceKm": { - "type": "number", - "example": 15.5, - "description": "距离(公里)" - }, - "durationMinutes": { - "type": "integer", - "format": "int32", - "example": 120, - "description": "时长(分钟)" - }, - "emojiIcon": { - "type": "string", - "example": "city_sunset", - "description": "表情图标" - }, - "extraData": { - "type": "string", - "description": "扩展数据(JSON格式)" - }, - "familyIds": { - "type": "array", - "description": "所属家庭ID列表(仅CUSTOM定制产品使用,实现按家庭分配行程节点)", - "items": { - "type": "string" - } - }, - "images": { - "type": "array", - "description": "节点图片列表", - "items": { - "type": "string" - } - }, - "latitude": { - "type": "number", - "example": 26.872108, - "description": "纬度" - }, - "longitude": { - "type": "number", - "example": 100.233026, - "description": "经度" - }, - "nodeName": { - "type": "string", - "example": "丽江古城游览", - "description": "节点名称" - }, - "nodeType": { - "type": "string", - "example": "SCENIC", - "description": "节点类型:TRANSPORT(交通)/SCENIC(景区)/DINING(餐饮)/ACTIVITY(活动)/PHOTOGRAPHY(摄影)/HOTEL(酒店)/FREE(自由活动)/CUSTOM(自定义)" - }, - "quantity": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "数量" - }, - "resourceId": { - "type": "string", - "example": 1893012345678901234, - "description": "关联资源ID(来自资源服务,关联后节点名称和图片可自动同步)" - }, - "resourceType": { - "type": "string", - "example": "SCENIC", - "description": "关联资源类型(关联后可从资源服务获取价格参与成本计算):SCENIC/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE" - }, - "startTime": { - "type": "string", - "example": "09:00", - "description": "开始时间" - } - }, - "title": "创建行程节点请求" - }, - "团批次VO": { - "type": "object", - "properties": { - "batchId": { - "type": "string", - "example": 2026280000000000001, - "description": "批次ID" - }, - "batchLabel": { - "type": "string", - "example": "五一团", - "description": "批次标签(简称)" - }, - "batchName": { - "type": "string", - "example": "2026年五一黄金周第一批", - "description": "批次名称" - }, - "batchNo": { - "type": "string", - "example": "B20260501-01", - "description": "批次编号" - }, - "batchStatus": { - "type": "string", - "example": "ENROLLING", - "description": "批次状态: PENDING/ENROLLING/CONFIRMED/FULL/CLOSED/IN_PROGRESS/FINISHED/DISBANDED" - }, - "createBy": { - "type": "string", - "example": 2026260000000000001, - "description": "创建人ID" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "departureDate": { - "type": "string", - "format": "date", - "example": "2026-05-01", - "description": "出发日期" - }, - "endDate": { - "type": "string", - "format": "date", - "example": "2026-05-05", - "description": "结束日期" - }, - "enrolledCount": { - "type": "integer", - "format": "int32", - "example": 15, - "description": "已报名人数" - }, - "enrollmentDeadline": { - "type": "string", - "format": "date", - "example": "2026-04-25", - "description": "报名截止日期" - }, - "maxParticipants": { - "type": "integer", - "format": "int32", - "example": 30, - "description": "最大人数" - }, - "minParticipants": { - "type": "integer", - "format": "int32", - "example": 10, - "description": "最少成团人数" - }, - "parentBatchId": { - "type": "string", - "example": 2026280000000000001, - "description": "父批次ID(子批次时有值)" - }, - "productId": { - "type": "string", - "example": 2026270000000000001, - "description": "产品ID" - }, - "remainingSlots": { - "type": "integer", - "format": "int32", - "example": 15, - "description": "剩余名额" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序" - }, - "subBatches": { - "type": "array", - "description": "子批次列表(树形)", - "items": { - "originalRef": "团批次VO", - "$ref": "#/definitions/团批次VO" - } - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "团批次VO" - }, - "团批次服务人员VO": { - "type": "object", - "properties": { - "batchId": { - "type": "string", - "example": 2026280000000000001, - "description": "批次ID" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "id": { - "type": "string", - "example": 2026280000000000020, - "description": "记录ID" - }, - "productId": { - "type": "string", - "example": 2026270000000000001, - "description": "产品ID" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序" - }, - "staffId": { - "type": "string", - "example": 2026250000000000001, - "description": "服务人员ID" - }, - "staffName": { - "type": "string", - "example": "张导", - "description": "姓名" - }, - "staffPhone": { - "type": "string", - "example": 13800138000, - "description": "手机号" - }, - "staffRole": { - "type": "string", - "example": "GUIDE", - "description": "角色: GUIDE/GUIDE_ASSISTANT/PHOTOGRAPHER/LEADER/OTHER" - } - }, - "title": "团批次服务人员VO" - }, - "团批次详情VO": { - "type": "object", - "properties": { - "batchId": { - "type": "string", - "example": 2026280000000000001, - "description": "批次ID" - }, - "batchLabel": { - "type": "string", - "example": "五一团", - "description": "批次标签(简称)" - }, - "batchName": { - "type": "string", - "example": "2026年五一黄金周第一批", - "description": "批次名称" - }, - "batchNo": { - "type": "string", - "example": "B20260501-01", - "description": "批次编号" - }, - "batchStatus": { - "type": "string", - "example": "ENROLLING", - "description": "批次状态: PENDING/ENROLLING/CONFIRMED/FULL/CLOSED/IN_PROGRESS/FINISHED/DISBANDED" - }, - "createBy": { - "type": "string", - "example": 2026260000000000001, - "description": "创建人ID" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "departureDate": { - "type": "string", - "format": "date", - "example": "2026-05-01", - "description": "出发日期" - }, - "endDate": { - "type": "string", - "format": "date", - "example": "2026-05-05", - "description": "结束日期" - }, - "enrolledCount": { - "type": "integer", - "format": "int32", - "example": 15, - "description": "已报名人数" - }, - "enrollmentDeadline": { - "type": "string", - "format": "date", - "example": "2026-04-25", - "description": "报名截止日期" - }, - "maxParticipants": { - "type": "integer", - "format": "int32", - "example": 30, - "description": "最大人数" - }, - "minParticipants": { - "type": "integer", - "format": "int32", - "example": 10, - "description": "最少成团人数" - }, - "parentBatchId": { - "type": "string", - "example": 2026280000000000001, - "description": "父批次ID(子批次时有值)" - }, - "productId": { - "type": "string", - "example": 2026270000000000001, - "description": "产品ID" - }, - "remainingSlots": { - "type": "integer", - "format": "int32", - "example": 15, - "description": "剩余名额" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序" - }, - "staff": { - "type": "array", - "description": "服务人员列表", - "items": { - "originalRef": "团批次服务人员VO", - "$ref": "#/definitions/团批次服务人员VO" - } - }, - "subBatches": { - "type": "array", - "description": "子批次列表(树形)", - "items": { - "originalRef": "团批次VO", - "$ref": "#/definitions/团批次VO" - } - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "团批次详情VO" - }, - "定价配置请求": { - "type": "object", - "properties": { - "adultExtraBed": { - "type": "number", - "example": 200.0, - "description": "成人加床费" - }, - "babyPrice": { - "type": "number", - "example": 300.0, - "description": "婴儿固定价格(不随日期变化)" - }, - "balanceDueDays": { - "type": "integer", - "format": "int32", - "example": 7, - "description": "尾款支付截止天数(出发前N天必须支付尾款,超时可能取消订单)" - }, - "childDiscountPercent": { - "type": "number", - "example": 70.0, - "description": "小童折扣百分比(小童价=儿童价×此百分比/100,如70表示打7折)" - }, - "childNoBed": { - "type": "number", - "example": 1200.0, - "description": "儿童不占床价(暂未使用,预留字段)" - }, - "childWithBed": { - "type": "number", - "example": 1800.0, - "description": "儿童加床费(childNeedBed=true时额外加收的费用)" - }, - "companionPrice": { - "type": "number", - "example": 0.0, - "description": "陪同人员价格" - }, - "customTotalPrice": { - "type": "number", - "example": 28800.0, - "description": "定制产品总价(CUSTOM定价模式下使用,代表整单总价)" - }, - "depositAmount": { - "type": "number", - "example": 1000.0, - "description": "定金金额(固定金额,与depositRatio二选一)" - }, - "depositRatio": { - "type": "integer", - "format": "int32", - "example": 30, - "description": "定金比例(百分比,如30代表30%。与depositAmount二选一,优先使用比例)" - }, - "extraCostPerPerson": { - "type": "number", - "example": 50.0, - "description": "每人额外成本" - }, - "insuranceFee": { - "type": "number", - "example": 50.0, - "description": "保险费用" - }, - "markupPercent": { - "type": "number", - "example": 20.0, - "description": "加价百分比(PERCENT模式下使用)" - }, - "maxGroupSize": { - "type": "integer", - "format": "int32", - "example": 16, - "description": "最大成团人数(CORE/GROUP产品用)" - }, - "mealBudget": { - "type": "number", - "example": 100.0, - "description": "餐费预算" - }, - "minGroupSize": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "最小成团人数(CORE/GROUP产品用,影响均摊成本计算)" - }, - "paymentType": { - "type": "string", - "example": "FULL", - "description": "支付方式:FULL=全款支付 DEPOSIT=定金+尾款分期支付" - }, - "pricingMode": { - "type": "string", - "example": "AUTO", - "description": "定价模式:AUTO=根据行程资源价格自动计算 MANUAL=手动在价格日历设置每日价格 CUSTOM=定制产品整单定价" - }, - "profitAmount": { - "type": "number", - "example": 500.0, - "description": "利润金额(FIXED模式下使用)" - }, - "profitMode": { - "type": "string", - "example": "FIXED", - "description": "利润模式(AUTO模式下生效):FIXED=在成本基础上加固定金额 PERCENT=在成本基础上按百分比加价" - }, - "singleRoomDiff": { - "type": "number", - "example": 300.0, - "description": "单房差" - }, - "vehicleModelIds": { - "type": "array", - "description": "车型ID列表", - "items": { - "type": "integer", - "format": "int64" - } - } - }, - "title": "定价配置请求" - }, - "家庭分组VO": { - "type": "object", - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "description": "成人数" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "description": "幼童数" - }, - "childCount": { - "type": "integer", - "format": "int32", - "description": "儿童数" - }, - "familyId": { - "type": "string", - "description": "家庭ID" - }, - "familyName": { - "type": "string", - "description": "家庭名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "description": "小童数" - } - }, - "title": "家庭分组VO" - }, - "家庭分组保存请求": { - "type": "object", - "required": [ - "familyName" - ], - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "成人数" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "幼童数" - }, - "childCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "儿童数" - }, - "familyName": { - "type": "string", - "example": "家庭1", - "description": "家庭名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序序号" - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "小童数" - } - }, - "title": "家庭分组保存请求", - "description": "仅适用于CUSTOM定制产品,用于将行程按家庭单位分配" - }, - "家庭成本明细": { - "type": "object", - "properties": { - "activityCost": { - "type": "number", - "description": "活动成本" - }, - "adultCount": { - "type": "integer", - "format": "int32", - "description": "成人数" - }, - "babyCost": { - "type": "number", - "description": "婴儿固定成本" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "description": "幼童数" - }, - "childCount": { - "type": "integer", - "format": "int32", - "description": "儿童数" - }, - "costPerPerson": { - "type": "number", - "description": "人均成本(家庭成本/付费人头)" - }, - "customFeeCost": { - "type": "number", - "description": "自定义费用成本" - }, - "extraCost": { - "type": "number", - "description": "额外成本" - }, - "familyId": { - "type": "string", - "description": "家庭ID" - }, - "familyName": { - "type": "string", - "description": "家庭名称" - }, - "headcount": { - "type": "integer", - "format": "int32", - "description": "人头数" - }, - "hotelCost": { - "type": "number", - "description": "酒店成本" - }, - "insuranceCost": { - "type": "number", - "description": "保险成本" - }, - "payingHeadcount": { - "type": "integer", - "format": "int32", - "description": "付费人头数(不含幼童)" - }, - "personCosts": { - "type": "array", - "description": "每人分项成本列表", - "items": { - "originalRef": "每人成本明细", - "$ref": "#/definitions/每人成本明细" - } - }, - "scenicCost": { - "type": "number", - "description": "景区成本" - }, - "sellPricePerPerson": { - "type": "number", - "description": "人均售价(家庭售价/付费人头)" - }, - "serviceCost": { - "type": "number", - "description": "服务成本" - }, - "staffCost": { - "type": "number", - "description": "人员成本" - }, - "suppliesCost": { - "type": "number", - "description": "物资成本" - }, - "totalCost": { - "type": "number", - "description": "家庭成本合计" - }, - "totalProfit": { - "type": "number", - "description": "家庭利润合计" - }, - "totalSellPrice": { - "type": "number", - "description": "家庭售价合计" - }, - "vehicleCost": { - "type": "number", - "description": "车辆成本" - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "description": "小童数" - } - }, - "title": "家庭成本明细" - }, - "成本项请求": { - "type": "object", - "required": [ - "category", - "title", - "type" - ], - "properties": { - "category": { - "type": "string", - "example": "HOTEL", - "description": "成本项类别:HOTEL/SCENIC/VEHICLE/ACTIVITY/SERVICE/DINING/OTHER" - }, - "description": { - "type": "string", - "example": "含早餐,标准双人间", - "description": "成本项描述" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序序号" - }, - "title": { - "type": "string", - "example": "丽江古城酒店住宿", - "description": "成本项标题" - }, - "type": { - "type": "string", - "example": "INCLUDED", - "description": "成本项类型:INCLUDED=费用包含 EXCLUDED=费用不含 SELF_PAY=自理费用" - } - }, - "title": "成本项请求" - }, - "成本预览VO": { - "type": "object", - "properties": { - "adultCostPrice": { - "type": "number", - "description": "成人成本价" - }, - "adultSellPrice": { - "type": "number", - "description": "成人售价" - }, - "childCostPrice": { - "type": "number", - "description": "儿童成本价" - }, - "childSellPrice": { - "type": "number", - "description": "儿童售价" - }, - "warnings": { - "type": "array", - "description": "警告信息列表", - "items": { - "type": "string" - } - } - }, - "title": "成本预览VO" - }, - "成本预览请求": { - "type": "object", - "required": [ - "date" - ], - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "成人人数(GROUP产品用)" - }, - "date": { - "type": "string", - "format": "date", - "example": "2026-05-01", - "description": "日期" - } - }, - "title": "成本预览请求" - }, - "批次服务人员分配请求": { - "type": "object", - "required": [ - "staffId", - "staffRole" - ], - "properties": { - "remark": { - "type": "string", - "example": "主导游", - "description": "备注(如:主导游、备用摄影师等)" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序序号(越小越靠前)" - }, - "staffId": { - "type": "integer", - "format": "int64", - "example": 1760000000000001, - "description": "人员ID(来自资源服务的人员库)" - }, - "staffRole": { - "type": "string", - "example": "LEADER", - "description": "在该批次中的角色:LEADER(领队)/PHOTOGRAPHER(摄影师)/DRIVER(司机)/OTHER(其他)" - } - }, - "title": "批次服务人员分配请求" - }, - "批量设置价格日历请求": { - "type": "object", - "required": [ - "endDate", - "startDate" - ], - "properties": { - "adultCostPrice": { - "type": "number", - "example": 2800.0, - "description": "成人成本价" - }, - "adultSellPrice": { - "type": "number", - "example": 3980.0, - "description": "成人售价" - }, - "childCostPrice": { - "type": "number", - "example": 1800.0, - "description": "儿童成本价" - }, - "childSellPrice": { - "type": "number", - "example": 2680.0, - "description": "儿童售价" - }, - "costAutoCalc": { - "type": "boolean", - "example": true, - "description": "是否自动计算成本" - }, - "endDate": { - "type": "string", - "format": "date", - "example": "2026-05-07", - "description": "结束日期" - }, - "remark": { - "type": "string", - "example": "五一黄金周特价", - "description": "备注" - }, - "selectedWeekdays": { - "type": "array", - "example": [ - 1, - 2, - 3, - 4, - 5 - ], - "description": "选中的星期(1=周一...7=周日),为空或包含全部则不过滤", - "items": { - "type": "integer", - "format": "int32" - } - }, - "startDate": { - "type": "string", - "format": "date", - "example": "2026-05-01", - "description": "开始日期" - }, - "status": { - "type": "string", - "example": "OPEN", - "description": "状态:OPEN=开放 CLOSED=关闭" - }, - "stock": { - "type": "integer", - "format": "int32", - "example": 30, - "description": "库存数量" - } - }, - "title": "批量设置价格日历请求" - }, - "报价结果VO": { - "type": "object", - "properties": { - "customFeeCost": { - "type": "number", - "description": "自定义费用合计(定制产品)" - }, - "dayCosts": { - "type": "array", - "description": "每日成本明细列表", - "items": { - "originalRef": "每日成本明细", - "$ref": "#/definitions/每日成本明细" - } - }, - "extraCostItems": { - "type": "array", - "description": "额外成本明细列表", - "items": { - "originalRef": "额外成本明细项", - "$ref": "#/definitions/额外成本明细项" - } - }, - "extraCostPerPerson": { - "type": "number", - "description": "每人额外成本" - }, - "extraCostTotal": { - "type": "number", - "description": "额外成本合计" - }, - "familyCosts": { - "type": "array", - "description": "家庭分组成本明细(定制产品,有分组时返回)", - "items": { - "originalRef": "家庭成本明细", - "$ref": "#/definitions/家庭成本明细" - } - }, - "grandTotalCost": { - "type": "number", - "description": "总成本合计" - }, - "grandTotalProfit": { - "type": "number", - "description": "总利润合计" - }, - "grandTotalSellPrice": { - "type": "number", - "description": "总售价合计" - }, - "insuranceFee": { - "type": "number", - "description": "保险费用" - }, - "profitRate": { - "type": "number", - "description": "利润率(百分比)" - }, - "staffCost": { - "type": "number", - "description": "人员成本" - }, - "suppliesCost": { - "type": "number", - "description": "物资成本" - }, - "totalAdultCost": { - "type": "number", - "description": "成人总成本" - }, - "totalAdultProfit": { - "type": "number", - "description": "成人总利润" - }, - "totalAdultSellPrice": { - "type": "number", - "description": "成人总售价" - }, - "totalBabyCost": { - "type": "number", - "description": "婴儿总成本" - }, - "totalBabySellPrice": { - "type": "number", - "description": "婴儿总售价" - }, - "totalChildCost": { - "type": "number", - "description": "儿童总成本" - }, - "totalChildSellPrice": { - "type": "number", - "description": "儿童总售价" - }, - "totalYoungChildCost": { - "type": "number", - "description": "小童总成本" - }, - "totalYoungChildSellPrice": { - "type": "number", - "description": "小童总售价" - }, - "warnings": { - "type": "array", - "description": "警告信息列表", - "items": { - "type": "string" - } - } - }, - "title": "报价结果VO" - }, - "报价请求": { - "type": "object", - "required": [ - "adultCount", - "departureDate" - ], - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "成人人数" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "婴儿人数(按固定 babyPrice 计算)" - }, - "childCount": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "儿童人数(占床,按儿童价计算)" - }, - "childNeedBed": { - "type": "boolean", - "example": false, - "description": "儿童是否加床(true 时额外加收 childWithBed 费用)" - }, - "departureDate": { - "type": "string", - "format": "date", - "example": "2026-05-01", - "description": "出发日期" - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "小童人数(不占床,按儿童价 × childDiscountPercent 折扣比例计算)" - } - }, - "title": "报价请求" - }, - "更新产品线请求": { - "type": "object", - "properties": { - "coverImageUrl": { - "type": "string", - "example": "https://oss.example.com/cover.jpg", - "description": "封面图URL" - }, - "description": { - "type": "string", - "example": "丽江古城及周边精品旅游线路", - "description": "产品线描述" - }, - "name": { - "type": "string", - "example": "丽江精品线路", - "description": "产品线名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序序号" - }, - "status": { - "type": "string", - "example": "ACTIVE", - "description": "产品线状态:ACTIVE=启用 INACTIVE=停用" - } - }, - "title": "更新产品线请求" - }, - "更新产品请求": { - "type": "object", - "properties": { - "adultCount": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "成人人数" - }, - "babyCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "婴儿人数" - }, - "bookingNotice": { - "type": "string", - "description": "预定须知" - }, - "cancelPolicy": { - "type": "string", - "description": "退改政策" - }, - "carouselImages": { - "type": "array", - "description": "轮播图列表", - "items": { - "type": "string" - } - }, - "carouselVideoUrl": { - "type": "string", - "example": "https://oss.example.com/video.mp4", - "description": "轮播视频URL" - }, - "chatMessages": { - "type": "array", - "description": "群聊消息列表", - "items": { - "originalRef": "群聊消息VO", - "$ref": "#/definitions/群聊消息VO" - } - }, - "childCount": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "儿童人数" - }, - "creatorAvatarUrl": { - "type": "string", - "example": "https://oss.example.com/avatar.jpg", - "description": "定制师头像URL" - }, - "creatorIntro": { - "type": "string", - "example": "带你体验最地道的丽江风情", - "description": "创作者寄语" - }, - "customizerId": { - "type": "string", - "example": 1893012345678901234, - "description": "定制师ID" - }, - "departureCity": { - "type": "string", - "example": "昆明", - "description": "出发城市" - }, - "destinationCity": { - "type": "string", - "example": "丽江", - "description": "目的地城市" - }, - "folderId": { - "type": "string", - "example": 1893012345678901234, - "description": "所属文件夹ID" - }, - "groupChatQrUrl": { - "type": "string", - "example": "https://oss.example.com/qr.jpg", - "description": "群聊二维码URL" - }, - "groupRoomId": { - "type": "string", - "description": "企微群聊ID(用于会话存档展示群消息)" - }, - "isBooking": { - "type": "boolean", - "example": false, - "description": "是否预约产品" - }, - "lineId": { - "type": "string", - "example": 1893012345678901234, - "description": "产品线ID" - }, - "lineSubtitle": { - "type": "string", - "example": "亲子游", - "description": "产品线副标题" - }, - "maxAdultPerOrder": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "每单最大成人数(不填则不限制)" - }, - "maxChildPerOrder": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "每单最大儿童数(不填则不限制)" - }, - "mchId": { - "type": "string", - "example": "shanhe", - "description": "商户号:shanhe/wenlu" - }, - "minAdultPerOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "每单最少成人数(不填默认1)" - }, - "name": { - "type": "string", - "example": "丽江5日深度游", - "description": "产品名称" - }, - "seasons": { - "type": "array", - "description": "适用季节列表", - "items": { - "type": "string" - } - }, - "showChatGroup": { - "type": "boolean", - "example": true, - "description": "是否显示群聊入口" - }, - "showReview": { - "type": "boolean", - "example": true, - "description": "是否显示评价" - }, - "showTripDistance": { - "type": "boolean", - "example": true, - "description": "是否显示行程距离" - }, - "showTripTime": { - "type": "boolean", - "example": true, - "description": "是否显示行程时间" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序序号" - }, - "subtitle": { - "type": "string", - "example": "探访纳西文化,邂逅玉龙雪山", - "description": "副标题" - }, - "tags": { - "type": "array", - "description": "产品标签列表", - "items": { - "type": "string" - } - }, - "teamExperienceYears": { - "type": "integer", - "format": "int32", - "example": 10, - "description": "团队经验年数" - }, - "tripDays": { - "type": "integer", - "format": "int32", - "example": 5, - "description": "行程天数" - }, - "warmTips": { - "type": "string", - "description": "温馨提示" - }, - "youngChildCount": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "小童人数" - } - }, - "title": "更新产品请求" - }, - "更新拼团批次请求": { - "type": "object", - "properties": { - "batchName": { - "type": "string", - "example": "7月20日第1批", - "description": "批次名称" - }, - "departureDate": { - "type": "string", - "format": "date", - "example": "2026-07-20", - "description": "出发日期" - }, - "enrollmentDeadline": { - "type": "string", - "format": "date", - "example": "2026-07-15", - "description": "报名截止日期" - }, - "maxParticipants": { - "type": "integer", - "format": "int32", - "example": 30, - "description": "最大参团人数(不能低于已报名人数)" - }, - "minParticipants": { - "type": "integer", - "format": "int32", - "example": 10, - "description": "最低成团人数(0=不限制)" - }, - "remark": { - "type": "string", - "description": "备注说明" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - } - }, - "title": "更新拼团批次请求" - }, - "更新文件夹请求": { - "type": "object", - "properties": { - "name": { - "type": "string", - "example": "国内线路", - "description": "文件夹名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "排序序号" - } - }, - "title": "更新文件夹请求" - }, - "更新行程节点请求": { - "type": "object", - "properties": { - "description": { - "type": "string", - "example": "漫步古城,感受纳西文化", - "description": "节点描述" - }, - "distanceKm": { - "type": "number", - "example": 15.5, - "description": "距离(公里)" - }, - "durationMinutes": { - "type": "integer", - "format": "int32", - "example": 120, - "description": "时长(分钟)" - }, - "emojiIcon": { - "type": "string", - "example": "city_sunset", - "description": "表情图标" - }, - "extraData": { - "type": "string", - "description": "扩展数据(JSON格式)" - }, - "familyIds": { - "type": "array", - "description": "所属家庭ID列表(定制产品按家庭分配)", - "items": { - "type": "string" - } - }, - "images": { - "type": "array", - "description": "节点图片列表", - "items": { - "type": "string" - } - }, - "latitude": { - "type": "number", - "example": 26.872108, - "description": "纬度" - }, - "longitude": { - "type": "number", - "example": 100.233026, - "description": "经度" - }, - "nodeName": { - "type": "string", - "example": "丽江古城游览", - "description": "节点名称" - }, - "nodeType": { - "type": "string", - "example": "SCENIC", - "description": "节点类型:TRANSPORT(交通)/SCENIC(景区)/DINING(餐饮)/ACTIVITY(活动)/PHOTOGRAPHY(摄影)/HOTEL(酒店)/FREE(自由活动)/CUSTOM(自定义)" - }, - "quantity": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "数量" - }, - "resourceId": { - "type": "string", - "example": 1893012345678901234, - "description": "关联资源ID" - }, - "resourceType": { - "type": "string", - "example": "SCENIC_SPOT", - "description": "关联资源类型:SCENIC_SPOT/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE" - }, - "startTime": { - "type": "string", - "example": "09:00", - "description": "开始时间" - } - }, - "title": "更新行程节点请求" - }, - "权益分组": { - "type": "object", - "properties": { - "items": { - "type": "array", - "description": "权益项列表", - "items": { - "originalRef": "权益项", - "$ref": "#/definitions/权益项" - } - }, - "title": { - "type": "string", - "description": "分组标题,如:儿童权益 (1.2m以下)" - } - }, - "title": "权益分组" - }, - "权益项": { - "type": "object", - "properties": { - "category": { - "type": "string", - "description": "类别,如:门票、住宿、餐饮" - }, - "description": { - "type": "string", - "description": "说明,如:含全部景点儿童票" - } - }, - "title": "权益项" - }, - "步骤执行结果": { - "type": "object", - "properties": { - "errorMessage": { - "type": "string", - "description": "错误信息" - }, - "executionTimeMs": { - "type": "integer", - "format": "int64", - "description": "执行耗时(毫秒)" - }, - "expression": { - "type": "string", - "description": "表达式" - }, - "outputValue": { - "type": "object", - "description": "输出值" - }, - "outputVar": { - "type": "string", - "description": "输出变量名" - }, - "stepCode": { - "type": "string", - "description": "步骤编码" - }, - "stepName": { - "type": "string", - "description": "步骤名称" - }, - "success": { - "type": "boolean", - "description": "是否成功" - } - }, - "title": "步骤执行结果" - }, - "每人成本明细": { - "type": "object", - "properties": { - "activityCost": { - "type": "number", - "description": "活动成本" - }, - "babyCost": { - "type": "number", - "description": "婴儿固定成本" - }, - "customFeeCost": { - "type": "number", - "description": "自定义费用成本" - }, - "extraCost": { - "type": "number", - "description": "额外成本" - }, - "hotelCost": { - "type": "number", - "description": "酒店成本" - }, - "insuranceCost": { - "type": "number", - "description": "保险成本" - }, - "label": { - "type": "string", - "description": "人员标签(如 成人1、儿童1、婴儿1)" - }, - "personType": { - "type": "string", - "description": "人员类型:ADULT/CHILD/YOUNG_CHILD/BABY" - }, - "scenicCost": { - "type": "number", - "description": "景区成本" - }, - "serviceCost": { - "type": "number", - "description": "服务成本" - }, - "staffCost": { - "type": "number", - "description": "人员成本" - }, - "suppliesCost": { - "type": "number", - "description": "物资成本" - }, - "totalCost": { - "type": "number", - "description": "个人成本合计" - }, - "vehicleCost": { - "type": "number", - "description": "车辆成本" - } - }, - "title": "每人成本明细" - }, - "每日成本明细": { - "type": "object", - "properties": { - "activityCost": { - "type": "number", - "description": "活动成本" - }, - "dayCostTotal": { - "type": "number", - "description": "当日成本合计" - }, - "dayNumber": { - "type": "integer", - "format": "int32", - "description": "天数编号" - }, - "diningCost": { - "type": "number", - "description": "餐饮成本" - }, - "extraCost": { - "type": "number", - "description": "额外成本" - }, - "hotelCost": { - "type": "number", - "description": "酒店成本" - }, - "scenicCost": { - "type": "number", - "description": "景区成本" - }, - "serviceCost": { - "type": "number", - "description": "服务成本" - }, - "staffCost": { - "type": "number", - "description": "人员成本" - }, - "vehicleCost": { - "type": "number", - "description": "车辆成本" - } - }, - "title": "每日成本明细" - }, - "每日酒店VO": { - "type": "object", - "properties": { - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "dayNumber": { - "type": "integer", - "format": "int32", - "description": "天数编号" - }, - "familyIds": { - "type": "array", - "description": "所属家庭ID列表(NULL=所有家庭共享)", - "items": { - "type": "string" - } - }, - "familyRoomConfig": { - "type": "object", - "description": "家庭房间分配:{familyId: roomCount}", - "additionalProperties": { - "type": "integer", - "format": "int32" - } - }, - "hotelId": { - "type": "string", - "description": "酒店ID" - }, - "hotelName": { - "type": "string", - "description": "酒店名称" - }, - "id": { - "type": "string", - "description": "记录ID" - }, - "isDefault": { - "type": "boolean", - "description": "是否默认酒店" - }, - "roomCount": { - "type": "integer", - "format": "int32", - "description": "房间数量" - }, - "roomTypeId": { - "type": "string", - "description": "房型ID" - }, - "roomTypeName": { - "type": "string", - "description": "房型名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - } - }, - "title": "每日酒店VO" - }, - "每日酒店配置请求": { - "type": "object", - "required": [ - "hotelId" - ], - "properties": { - "coverUrl": { - "type": "string", - "example": "https://oss.example.com/hotel-cover.jpg", - "description": "封面图URL" - }, - "familyIds": { - "type": "array", - "description": "所属家庭ID列表(定制产品,不传=所有家庭共享)", - "items": { - "type": "string" - } - }, - "familyRoomConfig": { - "type": "object", - "description": "家庭房间分配(定制产品):{familyId: roomCount},如 {\"123\": 2, \"456\": 1}", - "additionalProperties": { - "type": "integer", - "format": "int32" - } - }, - "hotelId": { - "type": "string", - "example": 1893012345678901234, - "description": "酒店ID" - }, - "hotelName": { - "type": "string", - "example": "丽江和府洲际度假酒店", - "description": "酒店名称" - }, - "isDefault": { - "type": "boolean", - "example": true, - "description": "是否默认酒店" - }, - "roomCount": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "房间数量" - }, - "roomTypeId": { - "type": "string", - "example": 1893012345678901234, - "description": "关联房型ID(定制产品必填,核心产品为空)" - }, - "roomTypeName": { - "type": "string", - "example": "豪华山景大床房", - "description": "房型名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序序号" - } - }, - "title": "每日酒店配置请求" - }, - "物资配置请求": { - "type": "object", - "required": [ - "suppliesId" - ], - "properties": { - "billingType": { - "type": "string", - "example": "BY_PERSON", - "description": "计费方式:BY_PERSON=按人头 BY_COUNT=按次/按件" - }, - "costPerPerson": { - "type": "number", - "example": 30.0, - "description": "每人成本" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "dayNumber": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "天数编号(scope=DAY时生效)" - }, - "familyIds": { - "type": "array", - "description": "所属家庭ID列表(定制产品按家庭分配)", - "items": { - "type": "string" - } - }, - "quantity": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "数量" - }, - "scope": { - "type": "string", - "example": "ALL", - "description": "适用范围:ALL=整个行程 DAY=指定天" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序序号" - }, - "suppliesId": { - "type": "string", - "example": 1893012345678901234, - "description": "物资ID" - }, - "suppliesName": { - "type": "string", - "example": "登山杖", - "description": "物资名称" - } - }, - "title": "物资配置请求" - }, - "用餐选项VO": { - "type": "object", - "properties": { - "coverUrl": { - "type": "string", - "description": "餐食封面图URL" - }, - "dayNumber": { - "type": "integer", - "format": "int32", - "description": "天数编号" - }, - "id": { - "type": "string", - "description": "记录ID" - }, - "mealTypes": { - "type": "string", - "description": "餐次:早餐/午餐/晚餐" - }, - "priceInfo": { - "type": "string", - "description": "价格信息" - }, - "quantity": { - "type": "integer", - "format": "int32", - "description": "数量" - }, - "restaurantId": { - "type": "string", - "description": "餐厅ID" - }, - "restaurantName": { - "type": "string", - "description": "餐厅/餐食名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "unitPrice": { - "type": "number", - "description": "餐食单价(元)" - } - }, - "title": "用餐选项VO" - }, - "用餐选项请求": { - "type": "object", - "properties": { - "coverUrl": { - "type": "string", - "example": "https://oss.example.com/meal.jpg", - "description": "餐食封面图URL" - }, - "mealTypes": { - "type": "string", - "example": "午餐", - "description": "餐次:早餐/午餐/晚餐" - }, - "priceInfo": { - "type": "string", - "example": "人均80元", - "description": "价格信息" - }, - "quantity": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "数量" - }, - "restaurantId": { - "type": "string", - "example": 1893012345678901234, - "description": "餐厅ID(GROUP产品可不传)" - }, - "restaurantName": { - "type": "string", - "example": "纳西风味餐厅", - "description": "餐厅/餐食名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序序号" - }, - "unitPrice": { - "type": "number", - "example": 80.0, - "description": "餐食单价(元,GROUP产品用于成本计算)" - } - }, - "title": "用餐选项请求" - }, - "统一响应结果«GROUP产品报价结果»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "GROUP产品报价结果", - "$ref": "#/definitions/GROUP产品报价结果" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«GROUP产品报价结果»" - }, - "统一响应结果«List«产品人员配置VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "产品人员配置VO", - "$ref": "#/definitions/产品人员配置VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«产品人员配置VO»»" - }, - "统一响应结果«List«产品价格日历VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "产品价格日历VO", - "$ref": "#/definitions/产品价格日历VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«产品价格日历VO»»" - }, - "统一响应结果«List«产品成本项VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "产品成本项VO", - "$ref": "#/definitions/产品成本项VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«产品成本项VO»»" - }, - "统一响应结果«List«产品文件夹VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "产品文件夹VO", - "$ref": "#/definitions/产品文件夹VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«产品文件夹VO»»" - }, - "统一响应结果«List«产品物资VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "产品物资VO", - "$ref": "#/definitions/产品物资VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«产品物资VO»»" - }, - "统一响应结果«List«产品线VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "产品线VO", - "$ref": "#/definitions/产品线VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«产品线VO»»" - }, - "统一响应结果«List«产品自定义费用项VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "产品自定义费用项VO", - "$ref": "#/definitions/产品自定义费用项VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«产品自定义费用项VO»»" - }, - "统一响应结果«List«产品额外成本VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "产品额外成本VO", - "$ref": "#/definitions/产品额外成本VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«产品额外成本VO»»" - }, - "统一响应结果«List«公式变量VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "公式变量VO", - "$ref": "#/definitions/公式变量VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«公式变量VO»»" - }, - "统一响应结果«List«公式步骤VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "公式步骤VO", - "$ref": "#/definitions/公式步骤VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«公式步骤VO»»" - }, - "统一响应结果«List«公式版本历史VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "公式版本历史VO", - "$ref": "#/definitions/公式版本历史VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«公式版本历史VO»»" - }, - "统一响应结果«List«公式组VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "公式组VO", - "$ref": "#/definitions/公式组VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«公式组VO»»" - }, - "统一响应结果«List«团批次VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "团批次VO", - "$ref": "#/definitions/团批次VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«团批次VO»»" - }, - "统一响应结果«List«团批次服务人员VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "团批次服务人员VO", - "$ref": "#/definitions/团批次服务人员VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«团批次服务人员VO»»" - }, - "统一响应结果«List«家庭分组VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "家庭分组VO", - "$ref": "#/definitions/家庭分组VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«家庭分组VO»»" - }, - "统一响应结果«List«每日酒店VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "每日酒店VO", - "$ref": "#/definitions/每日酒店VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«每日酒店VO»»" - }, - "统一响应结果«List«用餐选项VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "用餐选项VO", - "$ref": "#/definitions/用餐选项VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«用餐选项VO»»" - }, - "统一响应结果«List«行政区划搜索结果»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "行政区划搜索结果", - "$ref": "#/definitions/行政区划搜索结果" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«行政区划搜索结果»»" - }, - "统一响应结果«List«行程天VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "行程天VO", - "$ref": "#/definitions/行程天VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«行程天VO»»" - }, - "统一响应结果«List«行程节点VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "行程节点VO", - "$ref": "#/definitions/行程节点VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«行程节点VO»»" - }, - "统一响应结果«Map«string,object»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "object", - "description": "响应数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Map«string,object»»" - }, - "统一响应结果«Void»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Void»" - }, - "统一响应结果«string»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "string", - "description": "响应数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«string»" - }, - "统一响应结果«产品人员配置VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "产品人员配置VO", - "$ref": "#/definitions/产品人员配置VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«产品人员配置VO»" - }, - "统一响应结果«产品价格日历VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "产品价格日历VO", - "$ref": "#/definitions/产品价格日历VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«产品价格日历VO»" - }, - "统一响应结果«产品定价配置VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "产品定价配置VO", - "$ref": "#/definitions/产品定价配置VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«产品定价配置VO»" - }, - "统一响应结果«产品成本项VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "产品成本项VO", - "$ref": "#/definitions/产品成本项VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«产品成本项VO»" - }, - "统一响应结果«产品文件夹VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "产品文件夹VO", - "$ref": "#/definitions/产品文件夹VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«产品文件夹VO»" - }, - "统一响应结果«产品物资VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "产品物资VO", - "$ref": "#/definitions/产品物资VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«产品物资VO»" - }, - "统一响应结果«产品线VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "产品线VO", - "$ref": "#/definitions/产品线VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«产品线VO»" - }, - "统一响应结果«产品自定义费用项VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "产品自定义费用项VO", - "$ref": "#/definitions/产品自定义费用项VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«产品自定义费用项VO»" - }, - "统一响应结果«产品详情VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "产品详情VO", - "$ref": "#/definitions/产品详情VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«产品详情VO»" - }, - "统一响应结果«产品额外成本VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "产品额外成本VO", - "$ref": "#/definitions/产品额外成本VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«产品额外成本VO»" - }, - "统一响应结果«公式变量VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "公式变量VO", - "$ref": "#/definitions/公式变量VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«公式变量VO»" - }, - "统一响应结果«公式步骤VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "公式步骤VO", - "$ref": "#/definitions/公式步骤VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«公式步骤VO»" - }, - "统一响应结果«公式测试结果VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "公式测试结果VO", - "$ref": "#/definitions/公式测试结果VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«公式测试结果VO»" - }, - "统一响应结果«公式组VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "公式组VO", - "$ref": "#/definitions/公式组VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«公式组VO»" - }, - "统一响应结果«分享链接响应»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "分享链接响应", - "$ref": "#/definitions/分享链接响应" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分享链接响应»" - }, - "统一响应结果«分页结果«C端产品列表VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "分页结果«C端产品列表VO»", - "$ref": "#/definitions/分页结果«C端产品列表VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«C端产品列表VO»»" - }, - "统一响应结果«分页结果«产品列表VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "分页结果«产品列表VO»", - "$ref": "#/definitions/分页结果«产品列表VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«产品列表VO»»" - }, - "统一响应结果«分页结果«产品线VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "分页结果«产品线VO»", - "$ref": "#/definitions/分页结果«产品线VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«产品线VO»»" - }, - "统一响应结果«团批次VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "团批次VO", - "$ref": "#/definitions/团批次VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«团批次VO»" - }, - "统一响应结果«团批次详情VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "团批次详情VO", - "$ref": "#/definitions/团批次详情VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«团批次详情VO»" - }, - "统一响应结果«家庭分组VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "家庭分组VO", - "$ref": "#/definitions/家庭分组VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«家庭分组VO»" - }, - "统一响应结果«成本预览VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "成本预览VO", - "$ref": "#/definitions/成本预览VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«成本预览VO»" - }, - "统一响应结果«报价结果VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "报价结果VO", - "$ref": "#/definitions/报价结果VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«报价结果VO»" - }, - "统一响应结果«每日酒店VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "每日酒店VO", - "$ref": "#/definitions/每日酒店VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«每日酒店VO»" - }, - "统一响应结果«用餐选项VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "用餐选项VO", - "$ref": "#/definitions/用餐选项VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«用餐选项VO»" - }, - "统一响应结果«行程天VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "行程天VO", - "$ref": "#/definitions/行程天VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«行程天VO»" - }, - "统一响应结果«行程节点VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "行程节点VO", - "$ref": "#/definitions/行程节点VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«行程节点VO»" - }, - "群聊消息VO": { - "type": "object", - "properties": { - "avatar": { - "type": "string", - "description": "用户头像URL(type=user时有效)" - }, - "text": { - "type": "string", - "description": "消息内容" - }, - "type": { - "type": "string", - "description": "消息类型: user/creator" - } - }, - "title": "群聊消息VO" - }, - "自定义费用项请求": { - "type": "object", - "required": [ - "feeName" - ], - "properties": { - "description": { - "type": "string", - "example": "含专车接机及导游服务", - "description": "费用说明" - }, - "familyIds": { - "type": "array", - "description": "所属家庭ID列表(定制产品按家庭分配)", - "items": { - "type": "string" - } - }, - "feeAmount": { - "type": "number", - "example": 200.0, - "description": "费用金额" - }, - "feeName": { - "type": "string", - "example": "接机服务费", - "description": "费用项名称" - }, - "feeUnit": { - "type": "string", - "example": "元/人", - "description": "费用单位" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序序号" - } - }, - "title": "自定义费用项请求" - }, - "节点排序请求": { - "type": "object", - "required": [ - "nodeIds" - ], - "properties": { - "nodeIds": { - "type": "array", - "description": "节点ID有序列表,按期望排序顺序排列", - "items": { - "type": "string" - } - } - }, - "title": "节点排序请求" - }, - "节点移动请求": { - "type": "object", - "required": [ - "targetDayNumber" - ], - "properties": { - "targetDayNumber": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "目标天数编号" - } - }, - "title": "节点移动请求" - }, - "行政区划搜索结果": { - "type": "object", - "properties": { - "adcode": { - "type": "string", - "description": "行政区编码" - }, - "level": { - "type": "string", - "description": "级别: city/district" - }, - "levelName": { - "type": "string", - "description": "级别中文名" - }, - "name": { - "type": "string", - "description": "行政区名称" - } - }, - "title": "行政区划搜索结果" - }, - "行程天VO": { - "type": "object", - "properties": { - "dayId": { - "type": "string", - "description": "行程天ID" - }, - "dayNumber": { - "type": "integer", - "format": "int32", - "description": "天数编号" - }, - "dayTitle": { - "type": "string", - "description": "天标题" - }, - "hotels": { - "type": "array", - "description": "当日酒店列表", - "items": { - "originalRef": "每日酒店VO", - "$ref": "#/definitions/每日酒店VO" - } - }, - "nodes": { - "type": "array", - "description": "行程节点列表", - "items": { - "originalRef": "行程节点VO", - "$ref": "#/definitions/行程节点VO" - } - }, - "restaurants": { - "type": "array", - "description": "当日用餐列表", - "items": { - "originalRef": "用餐选项VO", - "$ref": "#/definitions/用餐选项VO" - } - }, - "routeSummary": { - "type": "string", - "description": "路线概览" - } - }, - "title": "行程天VO" - }, - "行程天请求": { - "type": "object", - "properties": { - "dayTitle": { - "type": "string", - "example": "Day1 丽江古城漫步", - "description": "天标题" - }, - "routeSummary": { - "type": "string", - "example": "丽江古城 → 束河古镇 → 白沙古镇", - "description": "路线概览" - } - }, - "title": "行程天请求" - }, - "行程节点VO": { - "type": "object", - "properties": { - "costPrice": { - "type": "number", - "description": "资源成本价(来自资源价格日历)" - }, - "dayId": { - "type": "string", - "description": "所属行程天ID" - }, - "description": { - "type": "string", - "description": "节点描述" - }, - "distanceKm": { - "type": "number", - "description": "距离(公里)" - }, - "durationMinutes": { - "type": "integer", - "format": "int32", - "description": "时长(分钟)" - }, - "emojiIcon": { - "type": "string", - "description": "表情图标" - }, - "extraData": { - "type": "string", - "description": "扩展数据(JSON格式)" - }, - "familyIds": { - "type": "array", - "description": "所属家庭ID列表(定制产品按家庭分配)", - "items": { - "type": "string" - } - }, - "images": { - "type": "array", - "description": "节点图片列表", - "items": { - "type": "string" - } - }, - "latitude": { - "type": "number", - "description": "纬度" - }, - "longitude": { - "type": "number", - "description": "经度" - }, - "nodeId": { - "type": "string", - "description": "节点ID" - }, - "nodeName": { - "type": "string", - "description": "节点名称" - }, - "nodeType": { - "type": "string", - "description": "节点类型:SCENIC/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE/FREE/NOTE" - }, - "quantity": { - "type": "integer", - "format": "int32", - "description": "数量" - }, - "resourceDetail": { - "description": "绑定资源的详细信息(含图片、地址等)", - "originalRef": "资源详情", - "$ref": "#/definitions/资源详情" - }, - "resourceId": { - "type": "string", - "description": "关联资源ID" - }, - "resourceName": { - "type": "string", - "description": "关联资源名称" - }, - "resourceType": { - "type": "string", - "description": "关联资源类型:SCENIC_SPOT/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "startTime": { - "type": "string", - "description": "开始时间" - } - }, - "title": "行程节点VO" - }, - "解散批次请求": { - "type": "object", - "required": [ - "reason" - ], - "properties": { - "reason": { - "type": "string", - "example": "报名人数不足", - "description": "解散原因(如:报名人数不足、行程调整等)" - } - }, - "title": "解散批次请求" - }, - "资源详情": { - "type": "object", - "properties": { - "address": { - "type": "string", - "description": "地址" - }, - "city": { - "type": "string", - "description": "所在城市" - }, - "cover": { - "type": "string", - "description": "封面图URL" - }, - "description": { - "type": "string", - "description": "简介/描述" - }, - "featureIntro": { - "type": "string", - "description": "图文详情(featureIntro JSON)" - }, - "images": { - "type": "array", - "description": "图片URL列表(轮播图)", - "items": { - "type": "string" - } - }, - "latitude": { - "type": "number", - "description": "纬度" - }, - "longitude": { - "type": "number", - "description": "经度" - }, - "name": { - "type": "string", - "description": "资源名称" - }, - "rating": { - "type": "number", - "description": "评分" - }, - "resourceId": { - "type": "string", - "description": "资源ID" - }, - "resourceType": { - "type": "string", - "description": "资源类型: SCENIC_SPOT/HOTEL/RESTAURANT/ACTIVITY" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "type": "string" - } - } - }, - "title": "资源详情" - }, - "额外成本明细项": { - "type": "object", - "properties": { - "costItemName": { - "type": "string", - "description": "成本项名称" - }, - "daily": { - "type": "boolean", - "description": "是否按天计算" - }, - "days": { - "type": "integer", - "format": "int32", - "description": "天数(按天计算时)" - }, - "quantity": { - "type": "integer", - "format": "int32", - "description": "数量" - }, - "subtotal": { - "type": "number", - "description": "小计金额" - }, - "unitPrice": { - "type": "number", - "description": "单价" - } - }, - "title": "额外成本明细项" - }, - "额外成本请求": { - "type": "object", - "required": [ - "costItemId" - ], - "properties": { - "costItemId": { - "type": "integer", - "format": "int64", - "example": 1893012345678901234, - "description": "额外成本项ID(关联费用项资源)" - }, - "daily": { - "type": "boolean", - "example": true, - "description": "是否按天计算:true=按天计算(乘以天数) false=整个行程一次" - }, - "familyIds": { - "type": "array", - "description": "所属家庭ID列表(定制产品按家庭分配)", - "items": { - "type": "string" - } - }, - "quantity": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "数量" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序序号" - } - }, - "title": "额外成本请求" - } - } -} \ No newline at end of file diff --git a/api-docs/hl-resource-service.json b/api-docs/hl-resource-service.json deleted file mode 100644 index f7142dc..0000000 --- a/api-docs/hl-resource-service.json +++ /dev/null @@ -1,24220 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "资源服务", - "version": "1.0.0" - }, - "basePath": "/", - "paths": { - "/admin/scenic/spot": { - "post": { - "tags": [ - "景区管理" - ], - "summary": "创建景区", - "description": "新建一个景区资源,初始状态为草稿(status=0)。创建后需通过「提交启用审批」接口走企微OA审批流程才能上架。支持富文本字段(featureIntro/detailContent等),素材ID从素材库获取。\n\n**关联字典**:\n- scenic_facility:景区设施(表单多选)\n- scenic_honor:景区荣誉(表单多选)", - "operationId": "createSpotUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "景区创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/景区创建请求", - "originalRef": "景区创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«景区详情»", - "originalRef": "统一响应结果«景区详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«景区详情»", - "originalRef": "统一响应结果«景区详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/spot/{scenicId}": { - "get": { - "tags": [ - "景区管理" - ], - "summary": "景区详情", - "description": "获取景区完整信息,包含富文本内容、素材URL、标签列表、季节内容等。素材ID会自动解析为OSS访问地址。\n\n**关联字典**:\n- scenic_facility:景区设施(详情显示)\n- scenic_honor:景区荣誉(详情显示)", - "operationId": "getSpotUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "scenicId", - "in": "path", - "description": "景区ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«景区详情»", - "originalRef": "统一响应结果«景区详情»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«景区详情»", - "originalRef": "统一响应结果«景区详情»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "景区管理" - ], - "summary": "更新景区", - "description": "更新景区基本信息和富文本内容。更新不会改变当前状态。如果景区已上架,修改后仍保持上架状态,无需重新审批。\n\n**关联字典**:\n- scenic_facility:景区设施(表单多选)\n- scenic_honor:景区荣誉(表单多选)", - "operationId": "updateSpotUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "景区更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/景区更新请求", - "originalRef": "景区更新请求" - } - }, - { - "name": "scenicId", - "in": "path", - "description": "景区ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«景区详情»", - "originalRef": "统一响应结果«景区详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«景区详情»", - "originalRef": "统一响应结果«景区详情»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "景区管理" - ], - "summary": "删除景区", - "description": "软删除景区(设置deleted_at)。仅SUPER_ADMIN角色或创建者本人可删除。已上架的景区需先下架再删除。删除后会同时清理关联的素材引用。", - "operationId": "deleteSpotUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "scenicId", - "in": "path", - "description": "景区ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/spot/{scenicId}/prices": { - "get": { - "tags": [ - "景区价格日历" - ], - "summary": "查询价格日历", - "description": "按月查询景区的每日价格和可售状态。返回指定年月中所有已设置价格的日期,未设置的日期不返回。用于前端日历组件渲染。", - "operationId": "getPriceCalendarUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "month", - "in": "query", - "description": "月份", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "scenicId", - "in": "path", - "description": "景区ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "year", - "in": "query", - "description": "年份", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«价格日历月视图»", - "originalRef": "统一响应结果«价格日历月视图»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«价格日历月视图»", - "originalRef": "统一响应结果«价格日历月视图»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "景区价格日历" - ], - "summary": "批量设置价格", - "description": "在指定日期范围内批量设置成本价、库存和可售状态。支持weekdayOnly/weekendOnly/selectedWeekdays过滤特定星期,支持excludeDates排除特定日期。已有价格的日期会被覆盖更新。", - "operationId": "batchSetPricesUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "价格日历设置请求", - "required": false, - "schema": { - "$ref": "#/definitions/价格日历批量设置请求", - "originalRef": "价格日历批量设置请求" - } - }, - { - "name": "scenicId", - "in": "path", - "description": "景区ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "景区价格日历" - ], - "summary": "批量清除价格", - "description": "删除指定日期范围内的所有价格记录。删除后该日期范围将显示为未设置状态。日期格式:yyyy-MM-dd。", - "operationId": "deletePricesUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "endDate", - "in": "query", - "description": "结束日期", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "scenicId", - "in": "path", - "description": "景区ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "startDate", - "in": "query", - "description": "开始日期", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/spot/{scenicId}/prices/status": { - "put": { - "tags": [ - "景区价格日历" - ], - "summary": "批量修改可售状态", - "description": "批量修改指定日期范围内的可售状态,不影响价格和库存。status=0不可售,status=1可售。用于临时关闭/开放某些日期的售卖。", - "operationId": "batchUpdateStatusUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "价格日历状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/价格日历状态变更请求", - "originalRef": "价格日历状态变更请求" - } - }, - { - "name": "scenicId", - "in": "path", - "description": "景区ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/spot/{scenicId}/season/{seasonType}": { - "put": { - "tags": [ - "景区季节内容" - ], - "summary": "保存/更新季节内容", - "description": "创建或更新指定景区的季节内容。seasonType为季节标识(如spring/summer/autumn/winter)。如果该季节已存在则更新,不存在则创建。支持设置季节别名(如「樱花季」)、月份范围、独立封面和轮播图。", - "operationId": "saveSeasonUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "季节内容保存请求", - "required": false, - "schema": { - "$ref": "#/definitions/景区季节保存请求", - "originalRef": "景区季节保存请求" - } - }, - { - "name": "scenicId", - "in": "path", - "description": "景区ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "seasonType", - "in": "path", - "description": "季节类型", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«景区季节内容»", - "originalRef": "统一响应结果«景区季节内容»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«景区季节内容»", - "originalRef": "统一响应结果«景区季节内容»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "景区季节内容" - ], - "summary": "删除季节内容", - "description": "删除指定景区的某个季节内容,同时清理关联的素材引用。", - "operationId": "deleteSeasonUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "scenicId", - "in": "path", - "description": "景区ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "seasonType", - "in": "path", - "description": "季节类型", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/spot/{scenicId}/seasons": { - "get": { - "tags": [ - "景区季节内容" - ], - "summary": "获取景区全部季节内容", - "description": "返回景区的所有季节内容列表(春/夏/秋/冬)。季节内容是景区独有功能,其他资源类型没有此概念。每个季节可设置独立的封面、轮播图、亮点描述和游玩攻略。", - "operationId": "getSeasonsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "scenicId", - "in": "path", - "description": "景区ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«景区季节内容»»", - "originalRef": "统一响应结果«List«景区季节内容»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«景区季节内容»»", - "originalRef": "统一响应结果«List«景区季节内容»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/spot/{scenicId}/status": { - "put": { - "tags": [ - "景区管理" - ], - "summary": "上下架切换", - "description": "直接修改景区状态(跳过审批流程),仅限SUPER_ADMIN使用。普通管理员应使用「提交启用/禁用审批」接口。状态值:0=草稿,1=上架,2=下架。", - "operationId": "updateStatusUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "景区状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/景区状态变更请求", - "originalRef": "景区状态变更请求" - } - }, - { - "name": "scenicId", - "in": "path", - "description": "景区ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/spot/{scenicId}/submit-approval": { - "post": { - "tags": [ - "景区管理" - ], - "summary": "提交启用/禁用审批", - "description": "向企微OA提交审批申请。targetStatus=1表示申请上架,targetStatus=2表示申请下架。提交后景区进入PENDING_APPROVAL状态,企微审批通过/拒绝后通过回调自动更新状态。返回企微审批单号spNo。同一景区不可重复提交未完成的审批。", - "operationId": "submitApprovalUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "审批提交请求", - "required": false, - "schema": { - "$ref": "#/definitions/审批提交请求", - "originalRef": "审批提交请求" - } - }, - { - "name": "scenicId", - "in": "path", - "description": "景区ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/spot/{scenicId}/tags": { - "put": { - "tags": [ - "景区标签管理" - ], - "summary": "更新景区标签", - "description": "全量替换指定景区的标签列表。传入tagIds为该景区最终要关联的标签ID列表,为空则清除所有标签。", - "operationId": "updateScenicTagsUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "景区标签更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/景区标签更新请求", - "originalRef": "景区标签更新请求" - } - }, - { - "name": "scenicId", - "in": "path", - "description": "景区ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/spots": { - "get": { - "tags": [ - "景区管理" - ], - "summary": "景区列表", - "description": "分页查询景区列表,支持按名称关键词、状态(0草稿/1上架/2下架)、城市等条件筛选。返回列表摘要信息(不含富文本详情),按sortOrder倒序+创建时间倒序排列。\n\n**关联字典**:\n- scenic_facility:景区设施(列表显示)\n- scenic_honor:景区荣誉(列表显示)", - "operationId": "listSpotsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "city", - "in": "query", - "description": "城市筛选(行政区划)", - "required": false, - "type": "string", - "x-example": "杭州市" - }, - { - "name": "cityKeyword", - "in": "query", - "description": "城市/区域关键词模糊搜索(匹配城市名、省份、地址)", - "required": false, - "type": "string", - "x-example": "海拉尔" - }, - { - "name": "cityName", - "in": "query", - "description": "城市名称筛选(展示用)", - "required": false, - "type": "string", - "x-example": "杭州" - }, - { - "name": "facility", - "in": "query", - "description": "设施编码筛选", - "required": false, - "type": "string", - "x-example": "parking" - }, - { - "name": "keyword", - "in": "query", - "description": "搜索关键词(名称/地址模糊匹配)", - "required": false, - "type": "string", - "x-example": "西湖" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "province", - "in": "query", - "description": "省份筛选", - "required": false, - "type": "string", - "x-example": "浙江省" - }, - { - "name": "sortBy", - "in": "query", - "description": "排序字段:name/rating/viewCount/sortOrder/createdAt", - "required": false, - "type": "string", - "x-example": "sortOrder" - }, - { - "name": "sortDir", - "in": "query", - "description": "排序方向:asc/desc", - "required": false, - "type": "string", - "x-example": "desc" - }, - { - "name": "status", - "in": "query", - "description": "状态筛选:0=草稿 1=上架 2=下架", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "tagId", - "in": "query", - "description": "标签ID筛选(单个)", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "tagIds", - "in": "query", - "description": "标签ID筛选(多个,逗号分隔)", - "required": false, - "type": "string", - "x-example": "1,2,3" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«景区列表项»»", - "originalRef": "统一响应结果«分页结果«景区列表项»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«景区列表项»»", - "originalRef": "统一响应结果«分页结果«景区列表项»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/spots/batch": { - "delete": { - "tags": [ - "景区管理" - ], - "summary": "批量删除", - "description": "批量软删除多个景区。权限校验同单个删除:仅SUPER_ADMIN或创建者可操作。部分失败不影响其他景区的删除。", - "operationId": "batchDeleteUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量删除请求", - "required": false, - "schema": { - "$ref": "#/definitions/景区批量删除请求", - "originalRef": "景区批量删除请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/spots/batch/status": { - "put": { - "tags": [ - "景区管理" - ], - "summary": "批量上下架", - "description": "批量修改多个景区的状态。scenicIds为景区ID列表(字符串格式),status为目标状态。跳过审批流程,适用于批量管理场景。", - "operationId": "batchUpdateStatusUsingPUT_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "景区状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/景区状态变更请求", - "originalRef": "景区状态变更请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/spots/batch/tags": { - "put": { - "tags": [ - "景区标签管理" - ], - "summary": "批量打标签", - "description": "对多个景区批量添加或移除标签。addTagIds为要添加的标签,removeTagIds为要移除的标签,两者可同时使用。增量操作,不影响未指定的标签。", - "operationId": "batchUpdateTagsUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量标签请求", - "required": false, - "schema": { - "$ref": "#/definitions/景区批量标签操作请求", - "originalRef": "景区批量标签操作请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/tag": { - "post": { - "tags": [ - "景区标签管理" - ], - "summary": "创建管理标签", - "description": "创建预设标签,标签名不可重复。可指定颜色(tagColor),默认为#409EFF。预设标签在标签管理页面展示和维护。", - "operationId": "createTagUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/标签创建请求", - "originalRef": "标签创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«景区标签»", - "originalRef": "统一响应结果«景区标签»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«景区标签»", - "originalRef": "统一响应结果«景区标签»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/tag/adhoc": { - "post": { - "tags": [ - "景区标签管理" - ], - "summary": "解析自定义标签", - "description": "输入标签名称,如果已存在则直接返回,不存在则自动创建。用于景区编辑时快速输入新标签,避免先到标签管理页面创建。", - "operationId": "resolveAdHocTagUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/标签创建请求", - "originalRef": "标签创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«景区标签»", - "originalRef": "统一响应结果«景区标签»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«景区标签»", - "originalRef": "统一响应结果«景区标签»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/tag/{tagId}": { - "put": { - "tags": [ - "景区标签管理" - ], - "summary": "编辑标签", - "description": "修改标签名称或颜色。修改后所有关联此标签的景区会自动生效。", - "operationId": "updateTagUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/标签更新请求", - "originalRef": "标签更新请求" - } - }, - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«景区标签»", - "originalRef": "统一响应结果«景区标签»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«景区标签»", - "originalRef": "统一响应结果«景区标签»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "景区标签管理" - ], - "summary": "删除标签", - "description": "删除标签并自动解除所有景区与该标签的关联关系。", - "operationId": "deleteTagUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/tags": { - "get": { - "tags": [ - "景区标签管理" - ], - "summary": "获取管理标签列表(分页)", - "description": "分页查询景区标签库中的所有标签,支持按关键词搜索。标签分为预设标签(管理员创建)和自定义标签(adhoc接口创建),此接口返回全部类型。", - "operationId": "listManagedTagsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«景区标签»»", - "originalRef": "统一响应结果«分页结果«景区标签»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«景区标签»»", - "originalRef": "统一响应结果«分页结果«景区标签»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/scenic/tags/all": { - "get": { - "tags": [ - "景区标签管理" - ], - "summary": "获取全部标签", - "description": "不分页返回所有标签,用于景区编辑时的标签选择下拉列表。", - "operationId": "listAllTagsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«景区标签»»", - "originalRef": "统一响应结果«List«景区标签»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«景区标签»»", - "originalRef": "统一响应结果«List«景区标签»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/restaurant/item": { - "post": { - "tags": [ - "餐厅管理" - ], - "summary": "创建餐厅", - "description": "新建餐厅资源,初始状态为草稿(status=0)。餐厅没有价格日历,费用通过产品报价中的费用项管理。需走企微审批流程上架。\n\n**关联字典**:\n- restaurant_category:餐厅分类(表单选择)\n- cuisine_type:菜系类型(表单多选)\n- environment_type:环境类型(表单多选)\n- restaurant_facility:餐厅设施(表单多选)\n\n**纯文本字段**:\n- cityName:城市名称(手动输入,如「拉萨」「海拉尔」)", - "operationId": "createRestaurantUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "餐厅创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/餐厅创建请求", - "originalRef": "餐厅创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«餐厅详情视图»", - "originalRef": "统一响应结果«餐厅详情视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«餐厅详情视图»", - "originalRef": "统一响应结果«餐厅详情视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/restaurant/item/{restaurantId}": { - "get": { - "tags": [ - "餐厅管理" - ], - "summary": "餐厅详情", - "description": "获取餐厅完整信息,包含素材URL、标签、富文本介绍等。\n\n**关联字典**:\n- restaurant_category:餐厅分类(详情显示)\n- cuisine_type:菜系类型(详情显示)\n- environment_type:环境类型(详情显示)\n- restaurant_facility:餐厅设施(详情显示)", - "operationId": "getRestaurantUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "restaurantId", - "in": "path", - "description": "餐厅ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«餐厅详情视图»", - "originalRef": "统一响应结果«餐厅详情视图»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«餐厅详情视图»", - "originalRef": "统一响应结果«餐厅详情视图»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "餐厅管理" - ], - "summary": "更新餐厅", - "description": "更新餐厅基本信息,不改变当前状态。\n\n**关联字典**:\n- restaurant_category:餐厅分类(表单选择)\n- cuisine_type:菜系类型(表单多选)\n- environment_type:环境类型(表单多选)\n- restaurant_facility:餐厅设施(表单多选)\n\n**纯文本字段**:\n- cityName:城市名称(手动输入)", - "operationId": "updateRestaurantUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "餐厅更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/餐厅更新请求", - "originalRef": "餐厅更新请求" - } - }, - { - "name": "restaurantId", - "in": "path", - "description": "餐厅ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«餐厅详情视图»", - "originalRef": "统一响应结果«餐厅详情视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«餐厅详情视图»", - "originalRef": "统一响应结果«餐厅详情视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "餐厅管理" - ], - "summary": "删除餐厅", - "description": "软删除餐厅。仅SUPER_ADMIN或创建者可操作。", - "operationId": "deleteRestaurantUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "restaurantId", - "in": "path", - "description": "餐厅ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/restaurant/item/{restaurantId}/status": { - "put": { - "tags": [ - "餐厅管理" - ], - "summary": "上下架切换", - "description": "直接修改状态(跳过审批),仅限SUPER_ADMIN。状态值:0=草稿,1=上架,2=下架。", - "operationId": "updateStatusUsingPUT_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "餐厅状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/餐厅状态变更请求", - "originalRef": "餐厅状态变更请求" - } - }, - { - "name": "restaurantId", - "in": "path", - "description": "餐厅ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/restaurant/item/{restaurantId}/submit-approval": { - "post": { - "tags": [ - "餐厅管理" - ], - "summary": "提交启用/禁用审批", - "description": "向企微OA提交审批。targetStatus=1申请上架,targetStatus=2申请下架。返回审批单号spNo。", - "operationId": "submitApprovalUsingPOST_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "审批提交请求", - "required": false, - "schema": { - "$ref": "#/definitions/餐厅审批提交请求", - "originalRef": "餐厅审批提交请求" - } - }, - { - "name": "restaurantId", - "in": "path", - "description": "餐厅ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/restaurant/item/{restaurantId}/tags": { - "put": { - "tags": [ - "餐厅标签管理" - ], - "summary": "更新餐厅标签", - "description": "全量替换指定餐厅的标签列表。传入tagIds为最终关联的标签ID列表,为空则清除所有标签。", - "operationId": "updateRestaurantTagsUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "餐厅标签更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/餐厅标签更新请求_1", - "originalRef": "餐厅标签更新请求_1" - } - }, - { - "name": "restaurantId", - "in": "path", - "description": "餐厅ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/restaurant/items": { - "get": { - "tags": [ - "餐厅管理" - ], - "summary": "餐厅列表", - "description": "分页查询餐厅列表,支持按名称、状态、分类、城市等条件筛选。\n\n**关联字典**:\n- restaurant_category:餐厅分类(筛选+列表显示)\n- cuisine_type:菜系类型(列表显示)\n- environment_type:环境类型(列表显示)\n- restaurant_facility:餐厅设施(列表显示)", - "operationId": "listRestaurantsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "categoryCode", - "in": "query", - "description": "分类编码", - "required": false, - "type": "string", - "x-example": "TIBETAN" - }, - { - "name": "city", - "in": "query", - "description": "城市", - "required": false, - "type": "string", - "x-example": "拉萨市" - }, - { - "name": "cityName", - "in": "query", - "description": "城市名称筛选(纯文本)", - "required": false, - "type": "string", - "x-example": "拉萨" - }, - { - "name": "cuisineType", - "in": "query", - "description": "菜系类型", - "required": false, - "type": "string", - "x-example": "TIBETAN" - }, - { - "name": "keyword", - "in": "query", - "description": "搜索关键词(名称/副标题模糊搜索)", - "required": false, - "type": "string", - "x-example": "藏餐" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "province", - "in": "query", - "description": "省份", - "required": false, - "type": "string", - "x-example": "西藏自治区" - }, - { - "name": "recommended", - "in": "query", - "description": "是否推荐:0=否 1=是", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "sortBy", - "in": "query", - "description": "排序字段", - "required": false, - "type": "string", - "x-example": "createdAt" - }, - { - "name": "sortDir", - "in": "query", - "description": "排序方向:asc=升序 desc=降序", - "required": false, - "type": "string", - "x-example": "desc" - }, - { - "name": "status", - "in": "query", - "description": "状态:0=草稿 1=上架 2=下架", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "tagId", - "in": "query", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64", - "x-example": 100 - }, - { - "name": "tagIds", - "in": "query", - "description": "标签ID列表(逗号分隔)", - "required": false, - "type": "string", - "x-example": "100,101,102" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«餐厅列表视图»»", - "originalRef": "统一响应结果«分页结果«餐厅列表视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«餐厅列表视图»»", - "originalRef": "统一响应结果«分页结果«餐厅列表视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/restaurant/items/batch": { - "delete": { - "tags": [ - "餐厅管理" - ], - "summary": "批量删除", - "description": "批量软删除多个餐厅。仅SUPER_ADMIN或创建者可操作。", - "operationId": "batchDeleteUsingDELETE_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量删除请求", - "required": false, - "schema": { - "$ref": "#/definitions/餐厅批量删除请求", - "originalRef": "餐厅批量删除请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/restaurant/items/batch/status": { - "put": { - "tags": [ - "餐厅管理" - ], - "summary": "批量上下架", - "description": "批量修改多个餐厅的状态,跳过审批流程。", - "operationId": "batchUpdateStatusUsingPUT_2", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "餐厅状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/餐厅状态变更请求", - "originalRef": "餐厅状态变更请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/restaurant/items/batch/tags": { - "put": { - "tags": [ - "餐厅标签管理" - ], - "summary": "批量打标签", - "description": "对多个餐厅批量添加/移除标签。增量操作,不影响未指定的标签。", - "operationId": "batchUpdateTagsUsingPUT_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量标签请求", - "required": false, - "schema": { - "$ref": "#/definitions/餐厅批量标签操作请求", - "originalRef": "餐厅批量标签操作请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/restaurant/tag": { - "post": { - "tags": [ - "餐厅标签管理" - ], - "summary": "创建管理标签", - "description": "创建预设标签,标签名不可重复。可指定颜色(tagColor),默认#409EFF。", - "operationId": "createTagUsingPOST_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/餐厅标签创建请求", - "originalRef": "餐厅标签创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«餐厅标签视图»", - "originalRef": "统一响应结果«餐厅标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«餐厅标签视图»", - "originalRef": "统一响应结果«餐厅标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/restaurant/tag/adhoc": { - "post": { - "tags": [ - "餐厅标签管理" - ], - "summary": "解析自定义标签", - "description": "按名称查找或自动创建标签。用于餐厅编辑时快速输入新标签。", - "operationId": "resolveAdHocTagUsingPOST_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/餐厅标签创建请求", - "originalRef": "餐厅标签创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«餐厅标签视图»", - "originalRef": "统一响应结果«餐厅标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«餐厅标签视图»", - "originalRef": "统一响应结果«餐厅标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/restaurant/tag/{tagId}": { - "put": { - "tags": [ - "餐厅标签管理" - ], - "summary": "编辑标签", - "description": "修改标签名称或颜色,所有关联餐厅自动生效。", - "operationId": "updateTagUsingPUT_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/餐厅标签更新请求", - "originalRef": "餐厅标签更新请求" - } - }, - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«餐厅标签视图»", - "originalRef": "统一响应结果«餐厅标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«餐厅标签视图»", - "originalRef": "统一响应结果«餐厅标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "餐厅标签管理" - ], - "summary": "删除标签", - "description": "删除标签并解除所有餐厅与该标签的关联。", - "operationId": "deleteTagUsingDELETE_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/restaurant/tags": { - "get": { - "tags": [ - "餐厅标签管理" - ], - "summary": "获取管理标签列表(分页)", - "description": "分页查询餐厅标签库,支持按关键词搜索。包含预设标签和自定义标签。", - "operationId": "listManagedTagsUsingGET_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«餐厅标签视图»»", - "originalRef": "统一响应结果«分页结果«餐厅标签视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«餐厅标签视图»»", - "originalRef": "统一响应结果«分页结果«餐厅标签视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/restaurant/tags/all": { - "get": { - "tags": [ - "餐厅标签管理" - ], - "summary": "获取全部标签", - "description": "不分页返回所有标签,用于餐厅编辑时的标签选择下拉。", - "operationId": "listAllTagsUsingGET_1", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«餐厅标签视图»»", - "originalRef": "统一响应结果«List«餐厅标签视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«餐厅标签视图»»", - "originalRef": "统一响应结果«List«餐厅标签视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/supplies/item": { - "post": { - "tags": [ - "备品管理" - ], - "summary": "创建备品", - "description": "新建备品资源(帐篷、睡袋、炊具等物资),初始状态为草稿(status=0)。需走企微审批上架。支持按件(PER_ITEM)和按人(PER_PERSON)计费。\n\n**关联字典**:\n- supplies_category:备品分类(表单选择)\n- billing_type:计费方式(表单选择)", - "operationId": "createSuppliesUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "备品创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/备品创建请求", - "originalRef": "备品创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«备品详情视图»", - "originalRef": "统一响应结果«备品详情视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«备品详情视图»", - "originalRef": "统一响应结果«备品详情视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/supplies/item/{suppliesId}": { - "get": { - "tags": [ - "备品管理" - ], - "summary": "备品详情", - "description": "获取备品完整信息,包含素材URL、标签等。\n\n**关联字典**:\n- supplies_category:备品分类(详情显示)\n- billing_type:计费方式(详情显示)", - "operationId": "getSuppliesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "suppliesId", - "in": "path", - "description": "备品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«备品详情视图»", - "originalRef": "统一响应结果«备品详情视图»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«备品详情视图»", - "originalRef": "统一响应结果«备品详情视图»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "备品管理" - ], - "summary": "更新备品", - "description": "更新备品基本信息,不改变当前状态。\n\n**关联字典**:\n- supplies_category:备品分类(表单选择)\n- billing_type:计费方式(表单选择)", - "operationId": "updateSuppliesUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "备品更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/备品更新请求", - "originalRef": "备品更新请求" - } - }, - { - "name": "suppliesId", - "in": "path", - "description": "备品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«备品详情视图»", - "originalRef": "统一响应结果«备品详情视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«备品详情视图»", - "originalRef": "统一响应结果«备品详情视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "备品管理" - ], - "summary": "删除备品", - "description": "软删除备品。仅SUPER_ADMIN或创建者可操作。", - "operationId": "deleteSuppliesUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "suppliesId", - "in": "path", - "description": "备品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/supplies/item/{suppliesId}/status": { - "put": { - "tags": [ - "备品管理" - ], - "summary": "上下架切换", - "description": "直接修改状态(跳过审批),仅限SUPER_ADMIN。状态值:0=草稿,1=上架,2=下架。", - "operationId": "updateStatusUsingPUT_2", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "备品状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/备品状态变更请求", - "originalRef": "备品状态变更请求" - } - }, - { - "name": "suppliesId", - "in": "path", - "description": "备品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/supplies/item/{suppliesId}/submit-approval": { - "post": { - "tags": [ - "备品管理" - ], - "summary": "提交启用/禁用审批", - "description": "向企微OA提交审批。targetStatus=1申请上架,targetStatus=2申请下架。返回审批单号spNo。", - "operationId": "submitApprovalUsingPOST_2", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "审批提交请求", - "required": false, - "schema": { - "$ref": "#/definitions/备品审批提交请求", - "originalRef": "备品审批提交请求" - } - }, - { - "name": "suppliesId", - "in": "path", - "description": "备品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/supplies/item/{suppliesId}/tags": { - "put": { - "tags": [ - "备品标签管理" - ], - "summary": "更新备品标签", - "description": "全量替换指定备品的标签列表。", - "operationId": "updateSuppliesTagsUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "备品标签更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/备品标签更新请求_1", - "originalRef": "备品标签更新请求_1" - } - }, - { - "name": "suppliesId", - "in": "path", - "description": "备品ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/supplies/items": { - "get": { - "tags": [ - "备品管理" - ], - "summary": "备品列表", - "description": "分页查询备品列表,支持按名称、状态、分类等条件筛选。\n\n**关联字典**:\n- supplies_category:备品分类(筛选+列表显示)\n- billing_type:计费方式(列表显示)", - "operationId": "listSuppliesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "billingType", - "in": "query", - "description": "计费方式:PER_ITEM=按件 PER_DAY=按天", - "required": false, - "type": "string", - "x-example": "PER_ITEM" - }, - { - "name": "categoryCode", - "in": "query", - "description": "分类编码", - "required": false, - "type": "string", - "x-example": "OUTDOOR_GEAR" - }, - { - "name": "keyword", - "in": "query", - "description": "搜索关键词(名称/副标题模糊搜索)", - "required": false, - "type": "string", - "x-example": "登山杖" - }, - { - "name": "maxPrice", - "in": "query", - "description": "最高价格", - "required": false, - "type": "number", - "x-example": 500.0 - }, - { - "name": "minPrice", - "in": "query", - "description": "最低价格", - "required": false, - "type": "number", - "x-example": 10.0 - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "recommended", - "in": "query", - "description": "是否推荐:0=否 1=是", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "sortBy", - "in": "query", - "description": "排序字段", - "required": false, - "type": "string", - "x-example": "createdAt" - }, - { - "name": "sortDir", - "in": "query", - "description": "排序方向:asc=升序 desc=降序", - "required": false, - "type": "string", - "x-example": "desc" - }, - { - "name": "status", - "in": "query", - "description": "状态:0=草稿 1=上架 2=下架", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "tagId", - "in": "query", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64", - "x-example": 100 - }, - { - "name": "tagIds", - "in": "query", - "description": "标签ID列表(逗号分隔)", - "required": false, - "type": "string", - "x-example": "100,101,102" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«备品列表视图»»", - "originalRef": "统一响应结果«分页结果«备品列表视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«备品列表视图»»", - "originalRef": "统一响应结果«分页结果«备品列表视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/supplies/items/batch": { - "delete": { - "tags": [ - "备品管理" - ], - "summary": "批量删除", - "description": "批量软删除多个备品。仅SUPER_ADMIN或创建者可操作。", - "operationId": "batchDeleteUsingDELETE_2", - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量删除请求", - "required": false, - "schema": { - "$ref": "#/definitions/备品批量删除请求", - "originalRef": "备品批量删除请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/supplies/items/batch/status": { - "put": { - "tags": [ - "备品管理" - ], - "summary": "批量上下架", - "description": "批量修改多个备品的状态,跳过审批流程。", - "operationId": "batchUpdateStatusUsingPUT_3", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "备品状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/备品状态变更请求", - "originalRef": "备品状态变更请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/supplies/items/batch/tags": { - "put": { - "tags": [ - "备品标签管理" - ], - "summary": "批量打标签", - "description": "对多个备品批量添加/移除标签。增量操作。", - "operationId": "batchUpdateTagsUsingPUT_2", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量标签请求", - "required": false, - "schema": { - "$ref": "#/definitions/备品批量标签操作请求", - "originalRef": "备品批量标签操作请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/supplies/tag": { - "post": { - "tags": [ - "备品标签管理" - ], - "summary": "创建管理标签", - "description": "创建预设标签,标签名不可重复。", - "operationId": "createTagUsingPOST_2", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/备品标签创建请求", - "originalRef": "备品标签创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«备品标签视图»", - "originalRef": "统一响应结果«备品标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«备品标签视图»", - "originalRef": "统一响应结果«备品标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/supplies/tag/adhoc": { - "post": { - "tags": [ - "备品标签管理" - ], - "summary": "解析自定义标签", - "description": "按名称查找或自动创建标签。", - "operationId": "resolveAdHocTagUsingPOST_2", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/备品标签创建请求", - "originalRef": "备品标签创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«备品标签视图»", - "originalRef": "统一响应结果«备品标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«备品标签视图»", - "originalRef": "统一响应结果«备品标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/supplies/tag/{tagId}": { - "put": { - "tags": [ - "备品标签管理" - ], - "summary": "编辑标签", - "description": "修改标签名称或颜色,所有关联备品自动生效。", - "operationId": "updateTagUsingPUT_2", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/备品标签更新请求", - "originalRef": "备品标签更新请求" - } - }, - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«备品标签视图»", - "originalRef": "统一响应结果«备品标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«备品标签视图»", - "originalRef": "统一响应结果«备品标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "备品标签管理" - ], - "summary": "删除标签", - "description": "删除标签并解除所有备品与该标签的关联。", - "operationId": "deleteTagUsingDELETE_2", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/supplies/tags": { - "get": { - "tags": [ - "备品标签管理" - ], - "summary": "获取管理标签列表(分页)", - "description": "分页查询备品标签库,支持按关键词搜索。", - "operationId": "listManagedTagsUsingGET_2", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«备品标签视图»»", - "originalRef": "统一响应结果«分页结果«备品标签视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«备品标签视图»»", - "originalRef": "统一响应结果«分页结果«备品标签视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/supplies/tags/all": { - "get": { - "tags": [ - "备品标签管理" - ], - "summary": "获取全部标签", - "description": "不分页返回所有标签,用于备品编辑时的标签选择下拉。", - "operationId": "listAllTagsUsingGET_2", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«备品标签视图»»", - "originalRef": "统一响应结果«List«备品标签视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«备品标签视图»»", - "originalRef": "统一响应结果«List«备品标签视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/activity/item": { - "post": { - "tags": [ - "游玩项目管理" - ], - "summary": "创建游玩项目", - "description": "新建游玩项目资源(如漂流、骑行、篝火晚会等),初始状态为草稿(status=0)。需通过「提交启用/禁用审批」走企微审批后上架。支持按项收费(PER_ITEM)和按人收费(PER_PERSON)两种计费方式。\n\n**关联字典**:\n- activity_category:活动分类(表单选择)\n- activity_billing_type:计费方式(表单选择)", - "operationId": "createActivityUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "游玩项目创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/活动项目创建请求", - "originalRef": "活动项目创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«活动项目详情视图»", - "originalRef": "统一响应结果«活动项目详情视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«活动项目详情视图»", - "originalRef": "统一响应结果«活动项目详情视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/activity/item/{activityId}": { - "get": { - "tags": [ - "游玩项目管理" - ], - "summary": "游玩项目详情", - "description": "获取游玩项目完整信息,包含富文本内容、素材URL、标签、价格日历等。\n\n**关联字典**:\n- activity_category:活动分类(详情显示)\n- activity_billing_type:计费方式(详情显示)", - "operationId": "getActivityUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "activityId", - "in": "path", - "description": "游玩项目ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«活动项目详情视图»", - "originalRef": "统一响应结果«活动项目详情视图»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«活动项目详情视图»", - "originalRef": "统一响应结果«活动项目详情视图»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "游玩项目管理" - ], - "summary": "更新游玩项目", - "description": "更新游玩项目基本信息,不改变当前状态。已上架的项目修改后仍保持上架。\n\n**关联字典**:\n- activity_category:活动分类(表单选择)\n- activity_billing_type:计费方式(表单选择)", - "operationId": "updateActivityUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "activityId", - "in": "path", - "description": "游玩项目ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "游玩项目更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/活动项目更新请求", - "originalRef": "活动项目更新请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«活动项目详情视图»", - "originalRef": "统一响应结果«活动项目详情视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«活动项目详情视图»", - "originalRef": "统一响应结果«活动项目详情视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "游玩项目管理" - ], - "summary": "删除游玩项目", - "description": "软删除游玩项目。仅SUPER_ADMIN或创建者可操作。删除后关联的素材引用会被清理。", - "operationId": "deleteActivityUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "activityId", - "in": "path", - "description": "游玩项目ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/activity/item/{activityId}/prices": { - "get": { - "tags": [ - "游玩项目价格日历" - ], - "summary": "查询价格日历", - "description": "按月查询游玩项目的每日价格和可接待状态。", - "operationId": "getPriceCalendarUsingGET_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "activityId", - "in": "path", - "description": "游玩项目ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "month", - "in": "query", - "description": "月份", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "year", - "in": "query", - "description": "年份", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«活动价格日历视图»", - "originalRef": "统一响应结果«活动价格日历视图»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«活动价格日历视图»", - "originalRef": "统一响应结果«活动价格日历视图»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "游玩项目价格日历" - ], - "summary": "批量设置价格", - "description": "在指定日期范围内批量设置成本价和可接待状态。支持按星期过滤和排除特定日期。", - "operationId": "batchSetPricesUsingPUT_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "activityId", - "in": "path", - "description": "游玩项目ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "价格日历设置请求", - "required": false, - "schema": { - "$ref": "#/definitions/活动价格日历设置请求", - "originalRef": "活动价格日历设置请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "游玩项目价格日历" - ], - "summary": "批量清除价格", - "description": "删除指定日期范围内的所有价格记录。日期格式:yyyy-MM-dd。", - "operationId": "deletePricesUsingDELETE_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "activityId", - "in": "path", - "description": "游玩项目ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "endDate", - "in": "query", - "description": "结束日期", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "startDate", - "in": "query", - "description": "开始日期", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/activity/item/{activityId}/prices/batch-status": { - "put": { - "tags": [ - "游玩项目价格日历" - ], - "summary": "批量修改可接待状态", - "description": "批量修改指定日期范围内的可接待状态,不影响价格。", - "operationId": "batchUpdateStatusUsingPUT_5", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "activityId", - "in": "path", - "description": "游玩项目ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "价格日历状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/活动价格日历状态变更请求", - "originalRef": "活动价格日历状态变更请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/activity/item/{activityId}/status": { - "put": { - "tags": [ - "游玩项目管理" - ], - "summary": "启用/禁用切换", - "description": "直接修改状态(跳过审批),仅限SUPER_ADMIN。状态值:0=草稿,1=上架,2=下架。", - "operationId": "updateStatusUsingPUT_3", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "activityId", - "in": "path", - "description": "游玩项目ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "游玩项目状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/活动项目状态变更请求", - "originalRef": "活动项目状态变更请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/activity/item/{activityId}/submit-approval": { - "post": { - "tags": [ - "游玩项目管理" - ], - "summary": "提交启用/禁用审批", - "description": "向企微OA提交审批。targetStatus=1申请上架,targetStatus=2申请下架。审批通过后自动更新状态,返回审批单号spNo。", - "operationId": "submitApprovalUsingPOST_3", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "activityId", - "in": "path", - "description": "游玩项目ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "审批提交请求", - "required": false, - "schema": { - "$ref": "#/definitions/活动项目审批提交请求", - "originalRef": "活动项目审批提交请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/activity/item/{activityId}/tags": { - "put": { - "tags": [ - "游玩项目标签管理" - ], - "summary": "更新项目标签", - "description": "全量替换指定项目的标签列表。传入tagIds为最终关联的标签ID列表,为空则清除所有标签。", - "operationId": "updateActivityTagsUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "activityId", - "in": "path", - "description": "游玩项目ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "游玩项目标签更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/活动项目标签更新请求", - "originalRef": "活动项目标签更新请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/activity/items": { - "get": { - "tags": [ - "游玩项目管理" - ], - "summary": "游玩项目列表", - "description": "分页查询游玩项目列表,支持按名称、状态、分类等条件筛选。返回摘要信息,按sortOrder倒序+创建时间倒序排列。\n\n**关联字典**:\n- activity_category:活动分类(筛选+列表显示)\n- activity_billing_type:计费方式(列表显示)", - "operationId": "listActivitiesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "billingType", - "in": "query", - "description": "计费方式:PER_PERSON=按人 PER_GROUP=按团 PER_HOUR=按时", - "required": false, - "type": "string", - "x-example": "PER_PERSON" - }, - { - "name": "categoryCode", - "in": "query", - "description": "分类编码", - "required": false, - "type": "string", - "x-example": "OUTDOOR" - }, - { - "name": "city", - "in": "query", - "description": "城市", - "required": false, - "type": "string", - "x-example": "拉萨市" - }, - { - "name": "cityKeyword", - "in": "query", - "description": "城市/区域关键词模糊搜索(匹配城市名、省份、地址)", - "required": false, - "type": "string", - "x-example": "海拉尔" - }, - { - "name": "environmentType", - "in": "query", - "description": "环境类型:INDOOR=室内 OUTDOOR=室外 BOTH=室内外", - "required": false, - "type": "string", - "x-example": "OUTDOOR" - }, - { - "name": "keyword", - "in": "query", - "description": "搜索关键词(名称/副标题模糊搜索)", - "required": false, - "type": "string", - "x-example": "骑马" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "physicalLevel", - "in": "query", - "description": "体力要求:LOW=低 MEDIUM=中 HIGH=高", - "required": false, - "type": "string", - "x-example": "MEDIUM" - }, - { - "name": "sortBy", - "in": "query", - "description": "排序字段", - "required": false, - "type": "string", - "x-example": "createdAt" - }, - { - "name": "sortDir", - "in": "query", - "description": "排序方向:asc=升序 desc=降序", - "required": false, - "type": "string", - "x-example": "desc" - }, - { - "name": "status", - "in": "query", - "description": "状态:0=草稿 1=上架 2=下架", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "tagId", - "in": "query", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64", - "x-example": 100 - }, - { - "name": "tagIds", - "in": "query", - "description": "标签ID列表(逗号分隔)", - "required": false, - "type": "string", - "x-example": "100,101,102" - }, - { - "name": "weatherDependent", - "in": "query", - "description": "是否受天气影响:0=否 1=是", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«活动项目列表视图»»", - "originalRef": "统一响应结果«分页结果«活动项目列表视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«活动项目列表视图»»", - "originalRef": "统一响应结果«分页结果«活动项目列表视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/activity/items/batch": { - "delete": { - "tags": [ - "游玩项目管理" - ], - "summary": "批量删除", - "description": "批量软删除多个游玩项目。仅SUPER_ADMIN或创建者可操作。", - "operationId": "batchDeleteUsingDELETE_3", - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量删除请求", - "required": false, - "schema": { - "$ref": "#/definitions/活动项目批量删除请求", - "originalRef": "活动项目批量删除请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/activity/items/batch/status": { - "put": { - "tags": [ - "游玩项目管理" - ], - "summary": "批量启用/禁用", - "description": "批量修改多个游玩项目的状态,跳过审批流程。", - "operationId": "batchUpdateStatusUsingPUT_4", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "游玩项目状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/活动项目状态变更请求", - "originalRef": "活动项目状态变更请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/activity/items/batch/tags": { - "put": { - "tags": [ - "游玩项目标签管理" - ], - "summary": "批量打标签", - "description": "对多个项目批量添加/移除标签。增量操作,不影响未指定的标签。", - "operationId": "batchUpdateTagsUsingPUT_3", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量标签请求", - "required": false, - "schema": { - "$ref": "#/definitions/活动项目批量标签操作请求", - "originalRef": "活动项目批量标签操作请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/activity/tag": { - "post": { - "tags": [ - "游玩项目标签管理" - ], - "summary": "创建管理标签", - "description": "创建预设标签,标签名不可重复。可指定颜色(tagColor),默认#409EFF。", - "operationId": "createTagUsingPOST_3", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/活动标签创建请求", - "originalRef": "活动标签创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«活动标签视图»", - "originalRef": "统一响应结果«活动标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«活动标签视图»", - "originalRef": "统一响应结果«活动标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/activity/tag/adhoc": { - "post": { - "tags": [ - "游玩项目标签管理" - ], - "summary": "解析自定义标签", - "description": "按名称查找或自动创建标签。用于项目编辑时快速输入新标签。", - "operationId": "resolveAdHocTagUsingPOST_3", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/活动标签创建请求", - "originalRef": "活动标签创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«活动标签视图»", - "originalRef": "统一响应结果«活动标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«活动标签视图»", - "originalRef": "统一响应结果«活动标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/activity/tag/{tagId}": { - "put": { - "tags": [ - "游玩项目标签管理" - ], - "summary": "编辑标签", - "description": "修改标签名称或颜色,所有关联项目自动生效。", - "operationId": "updateTagUsingPUT_3", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/活动标签更新请求", - "originalRef": "活动标签更新请求" - } - }, - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«活动标签视图»", - "originalRef": "统一响应结果«活动标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«活动标签视图»", - "originalRef": "统一响应结果«活动标签视图»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "游玩项目标签管理" - ], - "summary": "删除标签", - "description": "删除标签并自动解除所有项目与该标签的关联。", - "operationId": "deleteTagUsingDELETE_3", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/activity/tags": { - "get": { - "tags": [ - "游玩项目标签管理" - ], - "summary": "获取管理标签列表(分页)", - "description": "分页查询游玩项目标签库,支持按关键词搜索。包含预设标签和自定义标签。", - "operationId": "listManagedTagsUsingGET_3", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«活动标签视图»»", - "originalRef": "统一响应结果«分页结果«活动标签视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«活动标签视图»»", - "originalRef": "统一响应结果«分页结果«活动标签视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/activity/tags/all": { - "get": { - "tags": [ - "游玩项目标签管理" - ], - "summary": "获取全部标签", - "description": "不分页返回所有标签,用于项目编辑时的标签选择下拉。", - "operationId": "listAllTagsUsingGET_3", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«活动标签视图»»", - "originalRef": "统一响应结果«List«活动标签视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«活动标签视图»»", - "originalRef": "统一响应结果«List«活动标签视图»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/item": { - "post": { - "tags": [ - "住宿管理" - ], - "summary": "创建住宿", - "description": "新建住宿资源(酒店/民宿/营地等),初始状态为草稿(status=0)。创建后需通过「提交启用/禁用审批」走企微OA审批流程才能上架。住宿下可继续创建房型(RoomType),房型有独立的价格日历。\n\n**关联字典**:\n- hotel_type:住宿类型(表单选择)\n- hotel_star_level:酒店星级(表单选择)\n- hotel_facility:酒店设施(表单多选)", - "operationId": "createHotelUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "住宿创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/酒店创建请求", - "originalRef": "酒店创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«酒店详情VO»", - "originalRef": "统一响应结果«酒店详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«酒店详情VO»", - "originalRef": "统一响应结果«酒店详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/item/{hotelId}": { - "get": { - "tags": [ - "住宿管理" - ], - "summary": "住宿详情", - "description": "获取住宿完整信息,包含素材URL、标签列表、房型列表等。素材ID会自动解析为OSS访问地址。\n\n**关联字典**:\n- hotel_type:住宿类型(详情显示)\n- hotel_star_level:酒店星级(详情显示)\n- hotel_facility:酒店设施(详情显示)", - "operationId": "getHotelUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "hotelId", - "in": "path", - "description": "住宿ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«酒店详情VO»", - "originalRef": "统一响应结果«酒店详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«酒店详情VO»", - "originalRef": "统一响应结果«酒店详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "住宿管理" - ], - "summary": "更新住宿", - "description": "更新住宿基本信息。更新不会改变当前状态,已上架的住宿修改后仍保持上架状态。\n\n**关联字典**:\n- hotel_type:住宿类型(表单选择)\n- hotel_star_level:酒店星级(表单选择)\n- hotel_facility:酒店设施(表单多选)", - "operationId": "updateHotelUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "hotelId", - "in": "path", - "description": "住宿ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "住宿更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/酒店更新请求", - "originalRef": "酒店更新请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«酒店详情VO»", - "originalRef": "统一响应结果«酒店详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«酒店详情VO»", - "originalRef": "统一响应结果«酒店详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "住宿管理" - ], - "summary": "删除住宿", - "description": "软删除住宿。仅SUPER_ADMIN或创建者可操作。删除住宿会同时删除其下所有房型和价格日历数据。", - "operationId": "deleteHotelUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "hotelId", - "in": "path", - "description": "住宿ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/item/{hotelId}/status": { - "put": { - "tags": [ - "住宿管理" - ], - "summary": "启用/禁用切换", - "description": "直接修改住宿状态(跳过审批),仅限SUPER_ADMIN使用。状态值:0=草稿,1=上架,2=下架。", - "operationId": "updateStatusUsingPUT_4", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "hotelId", - "in": "path", - "description": "住宿ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "住宿状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/酒店状态变更请求", - "originalRef": "酒店状态变更请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/item/{hotelId}/submit-approval": { - "post": { - "tags": [ - "住宿管理" - ], - "summary": "提交启用/禁用审批", - "description": "向企微OA提交住宿启用/禁用审批。targetStatus=1申请上架,targetStatus=2申请下架。审批通过后自动更新状态。返回企微审批单号spNo。", - "operationId": "submitApprovalUsingPOST_4", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "hotelId", - "in": "path", - "description": "住宿ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "审批提交请求", - "required": false, - "schema": { - "$ref": "#/definitions/酒店审批提交请求", - "originalRef": "酒店审批提交请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/item/{hotelId}/tags": { - "put": { - "tags": [ - "住宿标签管理" - ], - "summary": "设置住宿标签", - "description": "全量替换指定住宿的标签列表。", - "operationId": "updateHotelTagsUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "hotelId", - "in": "path", - "description": "住宿ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "住宿标签更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/酒店标签更新请求_1", - "originalRef": "酒店标签更新请求_1" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/items": { - "get": { - "tags": [ - "住宿管理" - ], - "summary": "住宿列表", - "description": "分页查询住宿列表,支持按名称关键词、状态、住宿类型等条件筛选。返回列表摘要信息,按sortOrder倒序+创建时间倒序排列。\n\n**关联字典**:\n- hotel_type:住宿类型(筛选+列表显示)\n- hotel_star_level:酒店星级(筛选+列表显示)\n- hotel_facility:酒店设施(列表显示)", - "operationId": "listHotelsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "city", - "in": "query", - "description": "城市筛选", - "required": false, - "type": "string", - "x-example": "丽江市" - }, - { - "name": "cityKeyword", - "in": "query", - "description": "城市/区域关键词模糊搜索(匹配城市名、省份、地址)", - "required": false, - "type": "string", - "x-example": "海拉尔" - }, - { - "name": "hotelType", - "in": "query", - "description": "住宿类型筛选", - "required": false, - "type": "string", - "x-example": "HOTEL" - }, - { - "name": "keyword", - "in": "query", - "description": "搜索关键词(名称/地址模糊匹配)", - "required": false, - "type": "string", - "x-example": "丽江" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "sortBy", - "in": "query", - "description": "排序字段", - "required": false, - "type": "string", - "x-example": "createdAt" - }, - { - "name": "sortDir", - "in": "query", - "description": "排序方向:asc/desc", - "required": false, - "type": "string", - "x-example": "desc" - }, - { - "name": "starLevel", - "in": "query", - "description": "星级筛选", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 5 - }, - { - "name": "status", - "in": "query", - "description": "状态筛选:0=草稿 1=上架 2=下架", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "tagId", - "in": "query", - "description": "标签ID(单个)", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "tagIds", - "in": "query", - "description": "标签ID列表(逗号分隔)", - "required": false, - "type": "string", - "x-example": "1,2,3" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«酒店列表VO»»", - "originalRef": "统一响应结果«分页结果«酒店列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«酒店列表VO»»", - "originalRef": "统一响应结果«分页结果«酒店列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/items/all-simple": { - "get": { - "tags": [ - "住宿管理" - ], - "summary": "所有启用的住宿(不分页,仅ID和名称)", - "description": "返回所有已上架(status=1)的住宿简要信息,用于下拉选择框。每项只含hotelId和name字段。适用于房型管理时选择所属住宿、产品编排时绑定住宿资源等场景。", - "operationId": "listAllSimpleUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/items/batch": { - "delete": { - "tags": [ - "住宿管理" - ], - "summary": "批量删除", - "description": "批量软删除多个住宿及其关联的房型和价格日历。仅SUPER_ADMIN或创建者可操作。", - "operationId": "batchDeleteUsingDELETE_4", - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量删除请求", - "required": false, - "schema": { - "$ref": "#/definitions/酒店批量删除请求", - "originalRef": "酒店批量删除请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/items/batch/status": { - "put": { - "tags": [ - "住宿管理" - ], - "summary": "批量启用/禁用", - "description": "批量修改多个住宿的状态,跳过审批流程。hotelIds为住宿ID列表(字符串格式)。", - "operationId": "batchUpdateStatusUsingPUT_6", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "住宿状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/酒店状态变更请求", - "originalRef": "酒店状态变更请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/items/batch/tags": { - "put": { - "tags": [ - "住宿标签管理" - ], - "summary": "批量添加/移除标签", - "description": "对多个住宿批量添加/移除标签。增量操作,不影响未指定的标签。", - "operationId": "batchUpdateTagsUsingPUT_4", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量标签请求", - "required": false, - "schema": { - "$ref": "#/definitions/酒店批量标签操作请求", - "originalRef": "酒店批量标签操作请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/room-type/{roomTypeId}": { - "get": { - "tags": [ - "房型管理" - ], - "summary": "房型详情", - "description": "获取房型完整信息,包含价格、入住人数、素材等。\n\n**关联字典**:\n- room_category:房型分类(列表/详情显示)\n- bed_type:床型(列表/详情显示)\n- window_type:窗户类型(列表/详情显示)\n- bathroom_type:卫浴类型(列表/详情显示)\n- room_facility:房间设施(列表/详情显示)", - "operationId": "getRoomTypeUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "roomTypeId", - "in": "path", - "description": "房型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«房型详情VO»", - "originalRef": "统一响应结果«房型详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«房型详情VO»", - "originalRef": "统一响应结果«房型详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "房型管理" - ], - "summary": "更新房型", - "description": "更新房型基本信息,不改变当前状态。\n\n**关联字典**:\n- room_category:房型分类(表单选择)\n- bed_type:床型(表单选择)\n- window_type:窗户类型(表单选择)\n- bathroom_type:卫浴类型(表单选择)\n- room_facility:房间设施(表单多选)", - "operationId": "updateRoomTypeUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "房型更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/房型更新请求", - "originalRef": "房型更新请求" - } - }, - { - "name": "roomTypeId", - "in": "path", - "description": "房型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«房型详情VO»", - "originalRef": "统一响应结果«房型详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«房型详情VO»", - "originalRef": "统一响应结果«房型详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "房型管理" - ], - "summary": "删除房型", - "description": "软删除房型及其价格日历数据。", - "operationId": "deleteRoomTypeUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "roomTypeId", - "in": "path", - "description": "房型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/room-type/{roomTypeId}/prices": { - "get": { - "tags": [ - "房型价格日历" - ], - "summary": "查询价格日历", - "description": "按月查询房型的每日价格和可售状态。每个房型有独立的价格日历。", - "operationId": "getPriceCalendarUsingGET_2", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "month", - "in": "query", - "description": "月份", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "roomTypeId", - "in": "path", - "description": "房型ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "year", - "in": "query", - "description": "年份", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«酒店房型价格日历VO»", - "originalRef": "统一响应结果«酒店房型价格日历VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«酒店房型价格日历VO»", - "originalRef": "统一响应结果«酒店房型价格日历VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "房型价格日历" - ], - "summary": "批量设置价格日历", - "description": "在指定日期范围内批量设置房型的成本价和可售状态。支持按星期过滤和排除特定日期。", - "operationId": "batchSetPricesUsingPUT_2", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "价格日历设置请求", - "required": false, - "schema": { - "$ref": "#/definitions/酒店房型价格日历设置请求", - "originalRef": "酒店房型价格日历设置请求" - } - }, - { - "name": "roomTypeId", - "in": "path", - "description": "房型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "房型价格日历" - ], - "summary": "删除价格日历", - "description": "删除指定日期范围内房型的所有价格记录。日期格式:yyyy-MM-dd。", - "operationId": "deletePricesUsingDELETE_2", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "endDate", - "in": "query", - "description": "结束日期", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "roomTypeId", - "in": "path", - "description": "房型ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "startDate", - "in": "query", - "description": "开始日期", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/room-type/{roomTypeId}/prices/batch-status": { - "put": { - "tags": [ - "房型价格日历" - ], - "summary": "批量修改日期可售状态", - "description": "批量修改指定日期范围内房型的可售状态,不影响价格。", - "operationId": "batchUpdateStatusUsingPUT_7", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "价格日历状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/酒店房型价格日历状态变更请求", - "originalRef": "酒店房型价格日历状态变更请求" - } - }, - { - "name": "roomTypeId", - "in": "path", - "description": "房型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/room-type/{roomTypeId}/status": { - "put": { - "tags": [ - "房型管理" - ], - "summary": "启用/禁用房型", - "description": "直接修改房型状态(跳过审批)。status=0禁用,status=1启用。禁用后该房型不会出现在C端展示中。", - "operationId": "updateRoomTypeStatusUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "房型状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/房型状态变更请求", - "originalRef": "房型状态变更请求" - } - }, - { - "name": "roomTypeId", - "in": "path", - "description": "房型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/room-type/{roomTypeId}/submit-approval": { - "post": { - "tags": [ - "房型管理" - ], - "summary": "提交房型启用/禁用审批", - "description": "向企微OA提交房型启用/禁用审批。审批流程与住宿共享同一模板。返回审批单号spNo。", - "operationId": "submitRoomTypeApprovalUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "审批提交请求", - "required": false, - "schema": { - "$ref": "#/definitions/酒店审批提交请求", - "originalRef": "酒店审批提交请求" - } - }, - { - "name": "roomTypeId", - "in": "path", - "description": "房型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/tag": { - "post": { - "tags": [ - "住宿标签管理" - ], - "summary": "创建标签", - "description": "创建预设标签,标签名不可重复。", - "operationId": "createTagUsingPOST_4", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/酒店标签创建请求", - "originalRef": "酒店标签创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«酒店标签VO»", - "originalRef": "统一响应结果«酒店标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«酒店标签VO»", - "originalRef": "统一响应结果«酒店标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/tag/adhoc": { - "post": { - "tags": [ - "住宿标签管理" - ], - "summary": "查找或创建自定义标签", - "description": "按名称查找标签,不存在则自动创建。用于住宿编辑时快速输入新标签。", - "operationId": "resolveAdHocTagUsingPOST_4", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/酒店标签创建请求", - "originalRef": "酒店标签创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«酒店标签VO»", - "originalRef": "统一响应结果«酒店标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«酒店标签VO»", - "originalRef": "统一响应结果«酒店标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/tag/{tagId}": { - "put": { - "tags": [ - "住宿标签管理" - ], - "summary": "更新标签", - "description": "修改标签名称或颜色,所有关联住宿自动生效。", - "operationId": "updateTagUsingPUT_4", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/酒店标签更新请求", - "originalRef": "酒店标签更新请求" - } - }, - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«酒店标签VO»", - "originalRef": "统一响应结果«酒店标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«酒店标签VO»", - "originalRef": "统一响应结果«酒店标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "住宿标签管理" - ], - "summary": "删除标签", - "description": "删除标签并解除所有住宿与该标签的关联。", - "operationId": "deleteTagUsingDELETE_4", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/tags": { - "get": { - "tags": [ - "住宿标签管理" - ], - "summary": "预设标签列表(分页)", - "description": "分页查询住宿标签库,支持按关键词搜索。", - "operationId": "listManagedTagsUsingGET_4", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«酒店标签VO»»", - "originalRef": "统一响应结果«分页结果«酒店标签VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«酒店标签VO»»", - "originalRef": "统一响应结果«分页结果«酒店标签VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/tags/all": { - "get": { - "tags": [ - "住宿标签管理" - ], - "summary": "所有标签列表", - "description": "不分页返回所有标签,用于住宿编辑时的标签选择。", - "operationId": "listAllTagsUsingGET_4", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«酒店标签VO»»", - "originalRef": "统一响应结果«List«酒店标签VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«酒店标签VO»»", - "originalRef": "统一响应结果«List«酒店标签VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/{hotelId}/room-type": { - "post": { - "tags": [ - "房型管理" - ], - "summary": "创建房型", - "description": "在指定住宿下创建房型(如标准间、大床房、套房等)。每个房型有独立的价格日历、最大入住人数(maxOccupancy)和基础价格(basePrice)。房型初始状态为草稿(status=0),需独立审批后才能启用。创建后可通过「提交房型启用审批」接口提交企微OA审批。\n\n**关联字典**:\n- room_category:房型分类(表单选择)\n- bed_type:床型(表单选择)\n- window_type:窗户类型(表单选择)\n- bathroom_type:卫浴类型(表单选择)\n- room_facility:房间设施(表单多选)", - "operationId": "createRoomTypeUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "hotelId", - "in": "path", - "description": "住宿ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "房型创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/房型创建请求", - "originalRef": "房型创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«房型详情VO»", - "originalRef": "统一响应结果«房型详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«房型详情VO»", - "originalRef": "统一响应结果«房型详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/hotel/{hotelId}/room-types": { - "get": { - "tags": [ - "房型管理" - ], - "summary": "房型列表", - "description": "获取指定住宿下的所有房型列表(不分页),按sortOrder排序。\n\n**关联字典**:\n- room_category:房型分类(列表/详情显示)\n- bed_type:床型(列表/详情显示)\n- window_type:窗户类型(列表/详情显示)\n- bathroom_type:卫浴类型(列表/详情显示)\n- room_facility:房间设施(列表/详情显示)", - "operationId": "listRoomTypesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "hotelId", - "in": "path", - "description": "住宿ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«房型详情VO»»", - "originalRef": "统一响应结果«List«房型详情VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«房型详情VO»»", - "originalRef": "统一响应结果«List«房型详情VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/service/item": { - "post": { - "tags": [ - "增值服务管理" - ], - "summary": "创建增值服务", - "description": "新建增值服务项目(如保险、签证代办、接送机等),初始状态为草稿(status=0)。支持免费(isPaid=false)和付费两种模式,付费服务有独立的价格日历。需走企微审批上架。\n\n**关联字典**:\n- service_category:服务分类(表单选择)\n- billing_type_service:服务计费方式(表单选择)\n- service_unit:服务计量单位(表单选择)", - "operationId": "createServiceItemUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "服务创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务项创建请求", - "originalRef": "服务项创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务项详情VO»", - "originalRef": "统一响应结果«服务项详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务项详情VO»", - "originalRef": "统一响应结果«服务项详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/service/item/{serviceId}": { - "get": { - "tags": [ - "增值服务管理" - ], - "summary": "增值服务详情", - "description": "获取增值服务完整信息,包含素材URL、标签、计费方式等。\n\n**关联字典**:\n- service_category:服务分类(详情显示)\n- billing_type_service:服务计费方式(详情显示)\n- service_unit:服务计量单位(详情显示)", - "operationId": "getServiceItemUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "serviceId", - "in": "path", - "description": "服务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务项详情VO»", - "originalRef": "统一响应结果«服务项详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务项详情VO»", - "originalRef": "统一响应结果«服务项详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "增值服务管理" - ], - "summary": "更新增值服务", - "description": "更新增值服务基本信息,不改变当前状态。\n\n**关联字典**:\n- service_category:服务分类(表单选择)\n- billing_type_service:服务计费方式(表单选择)\n- service_unit:服务计量单位(表单选择)", - "operationId": "updateServiceItemUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "服务更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务项更新请求", - "originalRef": "服务项更新请求" - } - }, - { - "name": "serviceId", - "in": "path", - "description": "服务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务项详情VO»", - "originalRef": "统一响应结果«服务项详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务项详情VO»", - "originalRef": "统一响应结果«服务项详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "增值服务管理" - ], - "summary": "删除增值服务", - "description": "软删除增值服务。仅SUPER_ADMIN或创建者可操作。", - "operationId": "deleteServiceItemUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "serviceId", - "in": "path", - "description": "服务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/service/item/{serviceId}/prices": { - "get": { - "tags": [ - "服务价格日历" - ], - "summary": "查询价格日历", - "description": "按月查询增值服务的每日价格和可售状态。仅付费服务(isPaid=true)需要设置价格日历。", - "operationId": "getPriceCalendarUsingGET_3", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "month", - "in": "query", - "description": "月份", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "serviceId", - "in": "path", - "description": "服务ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "year", - "in": "query", - "description": "年份", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务项价格日历VO»", - "originalRef": "统一响应结果«服务项价格日历VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务项价格日历VO»", - "originalRef": "统一响应结果«服务项价格日历VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "服务价格日历" - ], - "summary": "批量设置价格", - "description": "在指定日期范围内批量设置服务的成本价和可售状态。", - "operationId": "batchSetPricesUsingPUT_3", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "价格日历设置请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务项价格日历设置请求", - "originalRef": "服务项价格日历设置请求" - } - }, - { - "name": "serviceId", - "in": "path", - "description": "服务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "服务价格日历" - ], - "summary": "批量清除价格", - "description": "删除指定日期范围内的价格记录。日期格式:yyyy-MM-dd。", - "operationId": "deletePricesUsingDELETE_3", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "endDate", - "in": "query", - "description": "结束日期", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "serviceId", - "in": "path", - "description": "服务ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "startDate", - "in": "query", - "description": "开始日期", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/service/item/{serviceId}/prices/batch-status": { - "put": { - "tags": [ - "服务价格日历" - ], - "summary": "批量修改可售状态", - "description": "批量修改日期范围内的可售状态,不影响价格。", - "operationId": "batchUpdateStatusUsingPUT_9", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "价格日历状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务项价格日历状态变更请求", - "originalRef": "服务项价格日历状态变更请求" - } - }, - { - "name": "serviceId", - "in": "path", - "description": "服务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/service/item/{serviceId}/status": { - "put": { - "tags": [ - "增值服务管理" - ], - "summary": "启用/禁用切换", - "description": "直接修改状态(跳过审批),仅限SUPER_ADMIN。状态值:0=草稿,1=上架,2=下架。", - "operationId": "updateStatusUsingPUT_5", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "服务状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务项状态变更请求", - "originalRef": "服务项状态变更请求" - } - }, - { - "name": "serviceId", - "in": "path", - "description": "服务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/service/item/{serviceId}/submit-approval": { - "post": { - "tags": [ - "增值服务管理" - ], - "summary": "提交启用/禁用审批", - "description": "向企微OA提交审批。targetStatus=1申请上架,targetStatus=2申请下架。返回审批单号spNo。", - "operationId": "submitApprovalUsingPOST_5", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "审批提交请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务项审批提交请求", - "originalRef": "服务项审批提交请求" - } - }, - { - "name": "serviceId", - "in": "path", - "description": "服务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/service/item/{serviceId}/tags": { - "put": { - "tags": [ - "服务标签管理" - ], - "summary": "更新服务标签", - "description": "全量替换指定服务的标签列表。", - "operationId": "updateServiceTagsUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "服务标签更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务项标签更新请求", - "originalRef": "服务项标签更新请求" - } - }, - { - "name": "serviceId", - "in": "path", - "description": "服务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/service/items": { - "get": { - "tags": [ - "增值服务管理" - ], - "summary": "增值服务列表", - "description": "分页查询增值服务列表,支持按名称、状态、分类等条件筛选。\n\n**关联字典**:\n- service_category:服务分类(筛选+列表显示)\n- billing_type_service:服务计费方式(列表显示)\n- service_unit:服务计量单位(列表显示)", - "operationId": "listServiceItemsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "billingType", - "in": "query", - "description": "计费方式筛选", - "required": false, - "type": "string", - "x-example": "PER_DAY" - }, - { - "name": "categoryCode", - "in": "query", - "description": "分类编码筛选", - "required": false, - "type": "string", - "x-example": "GUIDE" - }, - { - "name": "city", - "in": "query", - "description": "城市筛选", - "required": false, - "type": "string", - "x-example": "丽江市" - }, - { - "name": "cityKeyword", - "in": "query", - "description": "城市/区域关键词模糊搜索(匹配城市名、省份、地址)", - "required": false, - "type": "string", - "x-example": "海拉尔" - }, - { - "name": "instantConfirm", - "in": "query", - "description": "是否即时确认筛选:0=否 1=是", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "isPaid", - "in": "query", - "description": "是否收费筛选:0=免费 1=收费", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "keyword", - "in": "query", - "description": "搜索关键词(名称模糊匹配)", - "required": false, - "type": "string", - "x-example": "导游" - }, - { - "name": "maxPrice", - "in": "query", - "description": "最高价格筛选", - "required": false, - "type": "number", - "x-example": 1000.0 - }, - { - "name": "minPrice", - "in": "query", - "description": "最低价格筛选", - "required": false, - "type": "number", - "x-example": 100.0 - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "sortBy", - "in": "query", - "description": "排序字段", - "required": false, - "type": "string", - "x-example": "createdAt" - }, - { - "name": "sortDir", - "in": "query", - "description": "排序方向:asc/desc", - "required": false, - "type": "string", - "x-example": "desc" - }, - { - "name": "status", - "in": "query", - "description": "状态筛选:0=草稿 1=上架 2=下架", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "tagId", - "in": "query", - "description": "标签ID(单个)", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "tagIds", - "in": "query", - "description": "标签ID列表(逗号分隔)", - "required": false, - "type": "string", - "x-example": "1,2,3" - }, - { - "name": "vehicleType", - "in": "query", - "description": "配套车型筛选", - "required": false, - "type": "string", - "x-example": "商务车" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«服务项列表VO»»", - "originalRef": "统一响应结果«分页结果«服务项列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«服务项列表VO»»", - "originalRef": "统一响应结果«分页结果«服务项列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/service/items/batch": { - "delete": { - "tags": [ - "增值服务管理" - ], - "summary": "批量删除", - "description": "批量软删除多个增值服务。仅SUPER_ADMIN或创建者可操作。", - "operationId": "batchDeleteUsingDELETE_5", - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量删除请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务项批量删除请求", - "originalRef": "服务项批量删除请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/service/items/batch/status": { - "put": { - "tags": [ - "增值服务管理" - ], - "summary": "批量启用/禁用", - "description": "批量修改多个增值服务的状态,跳过审批流程。", - "operationId": "batchUpdateStatusUsingPUT_8", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "服务状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务项状态变更请求", - "originalRef": "服务项状态变更请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/service/items/batch/tags": { - "put": { - "tags": [ - "服务标签管理" - ], - "summary": "批量打标签", - "description": "对多个服务批量添加/移除标签。增量操作。", - "operationId": "batchUpdateTagsUsingPUT_5", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量标签请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务项批量标签操作请求", - "originalRef": "服务项批量标签操作请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/service/tag": { - "post": { - "tags": [ - "服务标签管理" - ], - "summary": "创建管理标签", - "description": "创建预设标签,标签名不可重复。", - "operationId": "createTagUsingPOST_5", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务标签创建请求", - "originalRef": "服务标签创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务标签VO»", - "originalRef": "统一响应结果«服务标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务标签VO»", - "originalRef": "统一响应结果«服务标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/service/tag/adhoc": { - "post": { - "tags": [ - "服务标签管理" - ], - "summary": "解析自定义标签", - "description": "按名称查找或自动创建标签。", - "operationId": "resolveAdHocTagUsingPOST_5", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务标签创建请求", - "originalRef": "服务标签创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务标签VO»", - "originalRef": "统一响应结果«服务标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务标签VO»", - "originalRef": "统一响应结果«服务标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/service/tag/{tagId}": { - "put": { - "tags": [ - "服务标签管理" - ], - "summary": "编辑标签", - "description": "修改标签名称或颜色,所有关联服务自动生效。", - "operationId": "updateTagUsingPUT_5", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务标签更新请求", - "originalRef": "服务标签更新请求" - } - }, - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务标签VO»", - "originalRef": "统一响应结果«服务标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务标签VO»", - "originalRef": "统一响应结果«服务标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "服务标签管理" - ], - "summary": "删除标签", - "description": "删除标签并解除所有服务与该标签的关联。", - "operationId": "deleteTagUsingDELETE_5", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/service/tags": { - "get": { - "tags": [ - "服务标签管理" - ], - "summary": "获取管理标签列表(分页)", - "description": "分页查询增值服务标签库,支持按关键词搜索。", - "operationId": "listManagedTagsUsingGET_5", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«服务标签VO»»", - "originalRef": "统一响应结果«分页结果«服务标签VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«服务标签VO»»", - "originalRef": "统一响应结果«分页结果«服务标签VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/service/tags/all": { - "get": { - "tags": [ - "服务标签管理" - ], - "summary": "获取全部标签", - "description": "不分页返回所有标签,用于服务编辑时的标签选择。", - "operationId": "listAllTagsUsingGET_5", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«服务标签VO»»", - "originalRef": "统一响应结果«List«服务标签VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«服务标签VO»»", - "originalRef": "统一响应结果«List«服务标签VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/model": { - "post": { - "tags": [ - "车型管理" - ], - "summary": "创建车型", - "description": "新建车型资源(如7座商务车、14座中巴等),初始状态为草稿(status=0)。车型有独立的价格日历用于报价计算。需走企微审批上架。\n\n**关联字典**:\n- vehicle_type:车辆类型(表单选择)", - "operationId": "createVehicleUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "车型创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/车型创建请求", - "originalRef": "车型创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«车型详情VO»", - "originalRef": "统一响应结果«车型详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«车型详情VO»", - "originalRef": "统一响应结果«车型详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/model/{vehicleId}": { - "get": { - "tags": [ - "车型管理" - ], - "summary": "车型详情", - "description": "获取车型完整信息,包含座位数、品牌、素材URL、标签等。\n\n**关联字典**:\n- vehicle_type:车辆类型(详情显示)", - "operationId": "getVehicleUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "vehicleId", - "in": "path", - "description": "车型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«车型详情VO»", - "originalRef": "统一响应结果«车型详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«车型详情VO»", - "originalRef": "统一响应结果«车型详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "车型管理" - ], - "summary": "更新车型", - "description": "更新车型基本信息,不改变当前状态。\n\n**关联字典**:\n- vehicle_type:车辆类型(表单选择)", - "operationId": "updateVehicleUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "车型更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/车型更新请求", - "originalRef": "车型更新请求" - } - }, - { - "name": "vehicleId", - "in": "path", - "description": "车型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«车型详情VO»", - "originalRef": "统一响应结果«车型详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«车型详情VO»", - "originalRef": "统一响应结果«车型详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "车型管理" - ], - "summary": "删除车型", - "description": "软删除车型。仅SUPER_ADMIN或创建者可操作。", - "operationId": "deleteVehicleUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "vehicleId", - "in": "path", - "description": "车型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/model/{vehicleId}/prices": { - "get": { - "tags": [ - "车型价格日历" - ], - "summary": "查询价格日历", - "description": "按月查询车型的每日租赁价格和可调度状态。", - "operationId": "getPriceCalendarUsingGET_4", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "month", - "in": "query", - "description": "月份", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "vehicleId", - "in": "path", - "description": "车型ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "year", - "in": "query", - "description": "年份", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«车型价格日历VO»", - "originalRef": "统一响应结果«车型价格日历VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«车型价格日历VO»", - "originalRef": "统一响应结果«车型价格日历VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "车型价格日历" - ], - "summary": "批量设置价格", - "description": "在指定日期范围内批量设置车型的租赁成本价和可调度状态。", - "operationId": "batchSetPricesUsingPUT_4", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "价格日历设置请求", - "required": false, - "schema": { - "$ref": "#/definitions/车型价格日历设置请求", - "originalRef": "车型价格日历设置请求" - } - }, - { - "name": "vehicleId", - "in": "path", - "description": "车型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "车型价格日历" - ], - "summary": "清除价格日历", - "description": "删除指定日期范围内车型的价格记录。日期格式:yyyy-MM-dd。", - "operationId": "deletePricesUsingDELETE_4", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "endDate", - "in": "query", - "description": "结束日期", - "required": false, - "type": "string", - "format": "date", - "allowEmptyValue": false - }, - { - "name": "startDate", - "in": "query", - "description": "开始日期", - "required": false, - "type": "string", - "format": "date", - "allowEmptyValue": false - }, - { - "name": "vehicleId", - "in": "path", - "description": "车型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/model/{vehicleId}/prices/batch-status": { - "put": { - "tags": [ - "车型价格日历" - ], - "summary": "批量修改调度状态", - "description": "批量修改日期范围内车型的可调度状态,不影响价格。", - "operationId": "batchUpdateStatusUsingPUT_11", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "价格日历状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/车型价格日历状态变更请求", - "originalRef": "车型价格日历状态变更请求" - } - }, - { - "name": "vehicleId", - "in": "path", - "description": "车型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/model/{vehicleId}/status": { - "put": { - "tags": [ - "车型管理" - ], - "summary": "更新状态", - "description": "直接修改车型状态(跳过审批),仅限SUPER_ADMIN。状态值:0=草稿,1=上架,2=下架。", - "operationId": "updateStatusUsingPUT_6", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "状态请求体", - "required": false, - "schema": { - "$ref": "#/definitions/车型状态请求", - "originalRef": "车型状态请求" - } - }, - { - "name": "vehicleId", - "in": "path", - "description": "车型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/model/{vehicleId}/submit-approval": { - "post": { - "tags": [ - "车型管理" - ], - "summary": "提交审批", - "description": "向企微OA提交车型启用/禁用审批。targetStatus=1申请上架,targetStatus=2申请下架。返回审批单号spNo。", - "operationId": "submitApprovalUsingPOST_6", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "审批提交请求体", - "required": false, - "schema": { - "$ref": "#/definitions/车型审批提交请求", - "originalRef": "车型审批提交请求" - } - }, - { - "name": "vehicleId", - "in": "path", - "description": "车型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/model/{vehicleId}/tags": { - "put": { - "tags": [ - "车型标签管理" - ], - "summary": "设置车型标签", - "description": "全量替换指定车型的标签列表。", - "operationId": "updateVehicleTagsUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签ID列表请求", - "required": false, - "schema": { - "$ref": "#/definitions/设置车型标签请求", - "originalRef": "设置车型标签请求" - } - }, - { - "name": "vehicleId", - "in": "path", - "description": "车型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/models": { - "get": { - "tags": [ - "车型管理" - ], - "summary": "车型列表", - "description": "分页查询车型列表,支持按名称、状态、车辆类型等条件筛选。\n\n**关联字典**:\n- vehicle_type:车辆类型(筛选+列表显示)", - "operationId": "listVehiclesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "brand", - "in": "query", - "description": "品牌筛选", - "required": false, - "type": "string", - "x-example": "别克" - }, - { - "name": "keyword", - "in": "query", - "description": "搜索关键词(名称/品牌模糊匹配)", - "required": false, - "type": "string", - "x-example": "别克" - }, - { - "name": "maxPrice", - "in": "query", - "description": "最高价格筛选", - "required": false, - "type": "number", - "x-example": 2000.0 - }, - { - "name": "maxSeatCount", - "in": "query", - "description": "最多座位数筛选", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 15 - }, - { - "name": "minPrice", - "in": "query", - "description": "最低价格筛选", - "required": false, - "type": "number", - "x-example": 500.0 - }, - { - "name": "minSeatCount", - "in": "query", - "description": "最少座位数筛选", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 5 - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "sortBy", - "in": "query", - "description": "排序字段", - "required": false, - "type": "string", - "x-example": "createdAt" - }, - { - "name": "sortDir", - "in": "query", - "description": "排序方向:asc/desc", - "required": false, - "type": "string", - "x-example": "desc" - }, - { - "name": "status", - "in": "query", - "description": "状态筛选:0=草稿 1=上架 2=下架", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "tagId", - "in": "query", - "description": "标签ID(单个)", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "tagIds", - "in": "query", - "description": "标签ID列表(逗号分隔)", - "required": false, - "type": "string", - "x-example": "1,2,3" - }, - { - "name": "vehicleType", - "in": "query", - "description": "车型分类筛选", - "required": false, - "type": "string", - "x-example": "MPV" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«车型列表VO»»", - "originalRef": "统一响应结果«分页结果«车型列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«车型列表VO»»", - "originalRef": "统一响应结果«分页结果«车型列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/models/all": { - "get": { - "tags": [ - "车型管理" - ], - "summary": "车型全量列表(不分页,用于下拉选择)", - "description": "返回所有车型列表,可选按状态筛选。适用于产品编排时选择车型的下拉选择框。不分页返回全部数据。\n\n**关联字典**:\n- vehicle_type:车辆类型(列表显示)", - "operationId": "listAllVehiclesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "status", - "in": "query", - "description": "状态筛选:1=上架", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«车型列表VO»»", - "originalRef": "统一响应结果«List«车型列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«车型列表VO»»", - "originalRef": "统一响应结果«List«车型列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/models/batch": { - "delete": { - "tags": [ - "车型管理" - ], - "summary": "批量删除", - "description": "批量软删除多个车型。仅SUPER_ADMIN或创建者可操作。", - "operationId": "batchDeleteUsingDELETE_6", - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量删除请求体", - "required": false, - "schema": { - "$ref": "#/definitions/车型批量删除请求", - "originalRef": "车型批量删除请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/models/batch/status": { - "put": { - "tags": [ - "车型管理" - ], - "summary": "批量更新状态", - "description": "批量修改多个车型的状态,跳过审批流程。", - "operationId": "batchUpdateStatusUsingPUT_10", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量状态请求体", - "required": false, - "schema": { - "$ref": "#/definitions/车型状态请求", - "originalRef": "车型状态请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/models/batch/tags": { - "put": { - "tags": [ - "车型标签管理" - ], - "summary": "批量添加/移除标签", - "description": "对多个车型批量添加/移除标签。增量操作。", - "operationId": "batchUpdateTagsUsingPUT_6", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量标签请求", - "required": false, - "schema": { - "$ref": "#/definitions/车型批量标签操作请求", - "originalRef": "车型批量标签操作请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/tag": { - "post": { - "tags": [ - "车型标签管理" - ], - "summary": "创建标签", - "description": "创建预设标签,标签名不可重复。", - "operationId": "createTagUsingPOST_6", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/车辆标签创建请求", - "originalRef": "车辆标签创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«车辆标签VO»", - "originalRef": "统一响应结果«车辆标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«车辆标签VO»", - "originalRef": "统一响应结果«车辆标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/tag/adhoc": { - "post": { - "tags": [ - "车型标签管理" - ], - "summary": "解析自定义标签", - "description": "按名称查找或自动创建标签。", - "operationId": "resolveAdHocTagUsingPOST_6", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签名称请求体", - "required": false, - "schema": { - "$ref": "#/definitions/车辆标签创建请求", - "originalRef": "车辆标签创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«车辆标签VO»", - "originalRef": "统一响应结果«车辆标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«车辆标签VO»", - "originalRef": "统一响应结果«车辆标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/tag/{tagId}": { - "put": { - "tags": [ - "车型标签管理" - ], - "summary": "更新标签", - "description": "修改标签名称或颜色。", - "operationId": "updateTagUsingPUT_6", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/车辆标签更新请求", - "originalRef": "车辆标签更新请求" - } - }, - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«车辆标签VO»", - "originalRef": "统一响应结果«车辆标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«车辆标签VO»", - "originalRef": "统一响应结果«车辆标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "车型标签管理" - ], - "summary": "删除标签", - "description": "删除标签并解除所有车型与该标签的关联。", - "operationId": "deleteTagUsingDELETE_6", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/tags": { - "get": { - "tags": [ - "车型标签管理" - ], - "summary": "预设标签列表(分页)", - "description": "分页查询车型标签库,支持按关键词搜索。", - "operationId": "listManagedTagsUsingGET_6", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«车辆标签VO»»", - "originalRef": "统一响应结果«分页结果«车辆标签VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«车辆标签VO»»", - "originalRef": "统一响应结果«分页结果«车辆标签VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/vehicle/tags/all": { - "get": { - "tags": [ - "车型标签管理" - ], - "summary": "全部标签列表", - "description": "不分页返回所有标签,用于车型编辑时的标签选择。", - "operationId": "listAllTagsUsingGET_6", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«车辆标签VO»»", - "originalRef": "统一响应结果«List«车辆标签VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«车辆标签VO»»", - "originalRef": "统一响应结果«List«车辆标签VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/cost/item": { - "post": { - "tags": [ - "费用项管理" - ], - "summary": "创建费用项", - "description": "新建费用项(如门票成本、餐费、保险费等),用于产品报价计算。费用项有独立的价格日历,价格变更会记录变更日志。创建后需走企微审批上架。\n\n**关联字典**:\n- cost_category:费用分类(表单选择)\n- cost_apply_role:适用角色(表单选择)\n- cost_unit:计量单位(表单选择)", - "operationId": "createCostItemUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "费用项创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/费用项创建请求", - "originalRef": "费用项创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«费用项详情VO»", - "originalRef": "统一响应结果«费用项详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«费用项详情VO»", - "originalRef": "统一响应结果«费用项详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/cost/item/{costId}": { - "get": { - "tags": [ - "费用项管理" - ], - "summary": "费用项详情", - "description": "获取费用项完整信息,包含当前价格、引用计数等。\n\n**关联字典**:\n- cost_category:费用分类(详情显示)\n- cost_apply_role:适用角色(详情显示)\n- cost_unit:计量单位(详情显示)", - "operationId": "getCostItemUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "costId", - "in": "path", - "description": "费用项ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«费用项详情VO»", - "originalRef": "统一响应结果«费用项详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«费用项详情VO»", - "originalRef": "统一响应结果«费用项详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "费用项管理" - ], - "summary": "更新费用项", - "description": "更新费用项信息。如果修改了价格,会自动记录价格变更日志。\n\n**关联字典**:\n- cost_category:费用分类(表单选择)\n- cost_apply_role:适用角色(表单选择)\n- cost_unit:计量单位(表单选择)", - "operationId": "updateCostItemUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "costId", - "in": "path", - "description": "费用项ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "费用项更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/费用项更新请求", - "originalRef": "费用项更新请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«费用项详情VO»", - "originalRef": "统一响应结果«费用项详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«费用项详情VO»", - "originalRef": "统一响应结果«费用项详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "费用项管理" - ], - "summary": "删除费用项", - "description": "软删除费用项。仅SUPER_ADMIN或创建者可操作。被产品引用(refCount>0)的费用项不建议删除。", - "operationId": "deleteCostItemUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "costId", - "in": "path", - "description": "费用项ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/cost/item/{costId}/price-logs": { - "get": { - "tags": [ - "费用项管理" - ], - "summary": "费用项价格变更记录", - "description": "查询费用项的历史价格变更记录,按时间倒序排列。用于追溯价格调整历史。", - "operationId": "getPriceLogsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "costId", - "in": "path", - "description": "费用项ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«费用项价格变更日志VO»»", - "originalRef": "统一响应结果«List«费用项价格变更日志VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«费用项价格变更日志VO»»", - "originalRef": "统一响应结果«List«费用项价格变更日志VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/cost/item/{costId}/prices": { - "get": { - "tags": [ - "费用项价格日历" - ], - "summary": "查询价格日历", - "description": "按月查询费用项的每日价格。费用项价格日历用于产品报价计算时按日期获取成本价。", - "operationId": "getPriceCalendarUsingGET_5", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "costId", - "in": "path", - "description": "费用项ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "month", - "in": "query", - "description": "月份", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "year", - "in": "query", - "description": "年份", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«费用项价格日历VO»", - "originalRef": "统一响应结果«费用项价格日历VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«费用项价格日历VO»", - "originalRef": "统一响应结果«费用项价格日历VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "费用项价格日历" - ], - "summary": "批量设置价格", - "description": "在指定日期范围内批量设置费用项的成本价。", - "operationId": "batchSetPricesUsingPUT_5", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "costId", - "in": "path", - "description": "费用项ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "价格日历设置请求", - "required": false, - "schema": { - "$ref": "#/definitions/费用项价格日历设置请求", - "originalRef": "费用项价格日历设置请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "费用项价格日历" - ], - "summary": "清除价格日历", - "description": "删除指定日期范围内费用项的价格记录。日期格式:yyyy-MM-dd。", - "operationId": "deletePricesUsingDELETE_5", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "costId", - "in": "path", - "description": "费用项ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "endDate", - "in": "query", - "description": "结束日期", - "required": false, - "type": "string", - "format": "date", - "allowEmptyValue": false - }, - { - "name": "startDate", - "in": "query", - "description": "开始日期", - "required": false, - "type": "string", - "format": "date", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/cost/item/{costId}/submit-approval": { - "post": { - "tags": [ - "费用项管理" - ], - "summary": "提交审批", - "description": "向企微OA提交费用项启用/禁用审批。targetStatus=1申请上架,targetStatus=2申请下架。返回审批单号spNo。", - "operationId": "submitApprovalUsingPOST_7", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "costId", - "in": "path", - "description": "费用项ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "审批提交请求体", - "required": false, - "schema": { - "$ref": "#/definitions/费用项审批提交请求", - "originalRef": "费用项审批提交请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/cost/items": { - "get": { - "tags": [ - "费用项管理" - ], - "summary": "费用项列表", - "description": "分页查询费用项列表,支持按名称、状态等条件筛选。\n\n**关联字典**:\n- cost_category:费用分类(筛选+列表显示)\n- cost_apply_role:适用角色(筛选+列表显示)\n- cost_unit:计量单位(列表显示)", - "operationId": "listCostItemsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "applyRole", - "in": "query", - "description": "适用角色筛选", - "required": false, - "type": "string", - "x-example": "ADULT" - }, - { - "name": "categoryCode", - "in": "query", - "description": "费用分类编码筛选", - "required": false, - "type": "string", - "x-example": "GUIDE" - }, - { - "name": "keyword", - "in": "query", - "description": "搜索关键词(名称模糊匹配)", - "required": false, - "type": "string", - "x-example": "导游" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "sortBy", - "in": "query", - "description": "排序字段", - "required": false, - "type": "string", - "x-example": "createdAt" - }, - { - "name": "sortDir", - "in": "query", - "description": "排序方向:asc/desc", - "required": false, - "type": "string", - "x-example": "desc" - }, - { - "name": "status", - "in": "query", - "description": "状态筛选:0=草稿 1=上架 2=下架", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«费用项列表VO»»", - "originalRef": "统一响应结果«分页结果«费用项列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«费用项列表VO»»", - "originalRef": "统一响应结果«分页结果«费用项列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/cost/items/enabled": { - "get": { - "tags": [ - "费用项管理" - ], - "summary": "启用的费用项列表", - "description": "查询所有已启用(status=1)的费用项,不分页。用于产品编排时选择费用项的下拉列表。\n\n**关联字典**:\n- cost_category:费用分类(列表显示)\n- cost_apply_role:适用角色(列表显示)\n- cost_unit:计量单位(列表显示)", - "operationId": "listEnabledCostItemsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«费用项详情VO»»", - "originalRef": "统一响应结果«List«费用项详情VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«费用项详情VO»»", - "originalRef": "统一响应结果«List«费用项详情VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/staff": { - "post": { - "tags": [ - "服务人员管理" - ], - "summary": "创建服务人员", - "description": "新建服务人员(导游/领队/摄影师/助理等)。人员类型(staffType)决定了其在价格日历中的归类。需走企微审批上架后才能被产品引用。\n\n**关联字典**:\n- staff_type:人员类型(表单选择)\n- guide_level:导游等级(表单选择)\n- driver_license_type:驾照类型(表单选择)\n- language:语言能力(表单多选)\n- guide_specialty:导游专长(表单多选)\n- guide_service_area:服务区域(表单多选)", - "operationId": "createStaffUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "服务人员创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务人员创建请求", - "originalRef": "服务人员创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务人员详情VO»", - "originalRef": "统一响应结果«服务人员详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务人员详情VO»", - "originalRef": "统一响应结果«服务人员详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/staff/batch": { - "delete": { - "tags": [ - "服务人员管理" - ], - "summary": "批量删除", - "description": "批量软删除多个服务人员。仅SUPER_ADMIN或创建者可操作。", - "operationId": "batchDeleteUsingDELETE_7", - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量删除请求体", - "required": false, - "schema": { - "$ref": "#/definitions/人员批量删除请求", - "originalRef": "人员批量删除请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/staff/batch/status": { - "put": { - "tags": [ - "服务人员管理" - ], - "summary": "批量更新状态", - "description": "批量修改多个服务人员的状态,跳过审批流程。", - "operationId": "batchUpdateStatusUsingPUT_12", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量状态请求体", - "required": false, - "schema": { - "$ref": "#/definitions/人员状态请求", - "originalRef": "人员状态请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/staff/batch/tags": { - "put": { - "tags": [ - "服务人员标签管理" - ], - "summary": "批量添加/移除标签", - "description": "对多个人员批量添加/移除标签。增量操作。", - "operationId": "batchUpdateTagsUsingPUT_7", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "批量标签请求", - "required": false, - "schema": { - "$ref": "#/definitions/人员批量标签操作请求", - "originalRef": "人员批量标签操作请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/staff/list": { - "get": { - "tags": [ - "服务人员管理" - ], - "summary": "服务人员列表", - "description": "分页查询服务人员列表,支持按姓名、状态、人员类型等条件筛选。\n\n**关联字典**:\n- staff_type:人员类型(筛选+列表显示)\n- guide_level:导游等级(列表显示)\n- driver_license_type:驾照类型(列表显示)\n- language:语言能力(列表显示)\n- guide_specialty:导游专长(列表显示)\n- guide_service_area:服务区域(列表显示)", - "operationId": "listStaffUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "搜索关键词(姓名/描述模糊匹配)", - "required": false, - "type": "string", - "x-example": "张导" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "sortBy", - "in": "query", - "description": "排序字段", - "required": false, - "type": "string", - "x-example": "createdAt" - }, - { - "name": "sortDir", - "in": "query", - "description": "排序方向:asc/desc", - "required": false, - "type": "string", - "x-example": "desc" - }, - { - "name": "staffType", - "in": "query", - "description": "人员类型筛选", - "required": false, - "type": "string", - "x-example": "GUIDE" - }, - { - "name": "status", - "in": "query", - "description": "状态筛选:0=禁用 1=启用", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "tagId", - "in": "query", - "description": "标签ID(单个)", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "tagIds", - "in": "query", - "description": "标签ID列表(逗号分隔)", - "required": false, - "type": "string", - "x-example": "1,2,3" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«服务人员列表VO»»", - "originalRef": "统一响应结果«分页结果«服务人员列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«服务人员列表VO»»", - "originalRef": "统一响应结果«分页结果«服务人员列表VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/staff/tag": { - "post": { - "tags": [ - "服务人员标签管理" - ], - "summary": "创建标签", - "description": "创建预设标签,标签名不可重复。", - "operationId": "createTagUsingPOST_7", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务人员标签创建请求", - "originalRef": "服务人员标签创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务人员标签VO»", - "originalRef": "统一响应结果«服务人员标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务人员标签VO»", - "originalRef": "统一响应结果«服务人员标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/staff/tag/adhoc": { - "post": { - "tags": [ - "服务人员标签管理" - ], - "summary": "解析自定义标签", - "description": "按名称查找或自动创建标签。", - "operationId": "resolveAdHocTagUsingPOST_7", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签名称请求体", - "required": false, - "schema": { - "$ref": "#/definitions/服务人员标签创建请求", - "originalRef": "服务人员标签创建请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务人员标签VO»", - "originalRef": "统一响应结果«服务人员标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务人员标签VO»", - "originalRef": "统一响应结果«服务人员标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/staff/tag/{tagId}": { - "put": { - "tags": [ - "服务人员标签管理" - ], - "summary": "更新标签", - "description": "修改标签名称或颜色。", - "operationId": "updateTagUsingPUT_7", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务人员标签更新请求", - "originalRef": "服务人员标签更新请求" - } - }, - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务人员标签VO»", - "originalRef": "统一响应结果«服务人员标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务人员标签VO»", - "originalRef": "统一响应结果«服务人员标签VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "服务人员标签管理" - ], - "summary": "删除标签", - "description": "删除标签并解除所有人员与该标签的关联。", - "operationId": "deleteTagUsingDELETE_7", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "tagId", - "in": "path", - "description": "标签ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/staff/tags": { - "get": { - "tags": [ - "服务人员标签管理" - ], - "summary": "预设标签列表(分页)", - "description": "分页查询服务人员标签库,支持按关键词搜索。", - "operationId": "listManagedTagsUsingGET_7", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«服务人员标签VO»»", - "originalRef": "统一响应结果«分页结果«服务人员标签VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«服务人员标签VO»»", - "originalRef": "统一响应结果«分页结果«服务人员标签VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/staff/tags/all": { - "get": { - "tags": [ - "服务人员标签管理" - ], - "summary": "全部标签列表", - "description": "不分页返回所有标签,用于人员编辑时的标签选择。", - "operationId": "listAllTagsUsingGET_7", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«服务人员标签VO»»", - "originalRef": "统一响应结果«List«服务人员标签VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«服务人员标签VO»»", - "originalRef": "统一响应结果«List«服务人员标签VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/staff/type/{staffType}/prices": { - "get": { - "tags": [ - "服务人员价格日历" - ], - "summary": "查询价格日历(按人员类型)", - "description": "按月查询指定人员类型的每日服务费用和可调度状态。注意:价格日历按人员类型维度管理,非按个人维度。同一类型的所有人员共享同一套价格。\n\n**关联字典**:\n- staff_type(人员类型)→ staffType路径参数", - "operationId": "getPriceCalendarUsingGET_6", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "month", - "in": "query", - "description": "月份", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "staffType", - "in": "path", - "description": "人员类型: GUIDE/GUIDE_ASSISTANT/PHOTOGRAPHER/LEADER/OTHER", - "required": false, - "type": "string" - }, - { - "name": "year", - "in": "query", - "description": "年份", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务人员价格日历VO»", - "originalRef": "统一响应结果«服务人员价格日历VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务人员价格日历VO»", - "originalRef": "统一响应结果«服务人员价格日历VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "服务人员价格日历" - ], - "summary": "批量设置价格(按人员类型)", - "description": "在指定日期范围内批量设置该类型人员的服务成本价和可调度状态。\n\n**关联字典**:\n- staff_type(人员类型)→ staffType路径参数", - "operationId": "batchSetPricesUsingPUT_6", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "价格日历设置请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务人员价格日历设置请求", - "originalRef": "服务人员价格日历设置请求" - } - }, - { - "name": "staffType", - "in": "path", - "description": "人员类型: GUIDE/GUIDE_ASSISTANT/PHOTOGRAPHER/LEADER/OTHER", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "服务人员价格日历" - ], - "summary": "清除价格日历(按人员类型)", - "description": "删除指定日期范围内该类型人员的价格记录。日期格式:yyyy-MM-dd。\n\n**关联字典**:\n- staff_type(人员类型)→ staffType路径参数", - "operationId": "deletePricesUsingDELETE_6", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "endDate", - "in": "query", - "description": "结束日期", - "required": false, - "type": "string", - "format": "date", - "allowEmptyValue": false - }, - { - "name": "staffType", - "in": "path", - "description": "人员类型: GUIDE/GUIDE_ASSISTANT/PHOTOGRAPHER/LEADER/OTHER", - "required": false, - "type": "string" - }, - { - "name": "startDate", - "in": "query", - "description": "开始日期", - "required": false, - "type": "string", - "format": "date", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/staff/type/{staffType}/prices/batch-status": { - "put": { - "tags": [ - "服务人员价格日历" - ], - "summary": "批量修改调度状态(按人员类型)", - "description": "批量修改日期范围内的可调度状态,不影响价格。\n\n**关联字典**:\n- staff_type(人员类型)→ staffType路径参数", - "operationId": "batchUpdateStatusUsingPUT_13", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "价格日历状态请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务人员价格日历状态变更请求", - "originalRef": "服务人员价格日历状态变更请求" - } - }, - { - "name": "staffType", - "in": "path", - "description": "人员类型: GUIDE/GUIDE_ASSISTANT/PHOTOGRAPHER/LEADER/OTHER", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/staff/{staffId}": { - "get": { - "tags": [ - "服务人员管理" - ], - "summary": "服务人员详情", - "description": "获取服务人员完整信息,包含素材URL、标签、技能描述等。\n\n**关联字典**:\n- staff_type:人员类型(详情显示)\n- guide_level:导游等级(详情显示)\n- driver_license_type:驾照类型(详情显示)\n- language:语言能力(详情显示)\n- guide_specialty:导游专长(详情显示)\n- guide_service_area:服务区域(详情显示)", - "operationId": "getStaffUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "staffId", - "in": "path", - "description": "人员ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务人员详情VO»", - "originalRef": "统一响应结果«服务人员详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务人员详情VO»", - "originalRef": "统一响应结果«服务人员详情VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "服务人员管理" - ], - "summary": "更新服务人员", - "description": "更新服务人员基本信息,不改变当前状态。\n\n**关联字典**:\n- staff_type:人员类型(表单选择)\n- guide_level:导游等级(表单选择)\n- driver_license_type:驾照类型(表单选择)\n- language:语言能力(表单多选)\n- guide_specialty:导游专长(表单多选)\n- guide_service_area:服务区域(表单多选)", - "operationId": "updateStaffUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "服务人员更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/服务人员更新请求", - "originalRef": "服务人员更新请求" - } - }, - { - "name": "staffId", - "in": "path", - "description": "人员ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务人员详情VO»", - "originalRef": "统一响应结果«服务人员详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«服务人员详情VO»", - "originalRef": "统一响应结果«服务人员详情VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "服务人员管理" - ], - "summary": "删除服务人员", - "description": "软删除服务人员。仅SUPER_ADMIN或创建者可操作。", - "operationId": "deleteStaffUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "staffId", - "in": "path", - "description": "人员ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/staff/{staffId}/status": { - "put": { - "tags": [ - "服务人员管理" - ], - "summary": "更新状态", - "description": "直接修改人员状态(跳过审批),仅限SUPER_ADMIN。状态值:0=草稿,1=启用,2=禁用。", - "operationId": "updateStatusUsingPUT_7", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "状态请求体", - "required": false, - "schema": { - "$ref": "#/definitions/人员状态请求", - "originalRef": "人员状态请求" - } - }, - { - "name": "staffId", - "in": "path", - "description": "人员ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/staff/{staffId}/submit-approval": { - "post": { - "tags": [ - "服务人员管理" - ], - "summary": "提交审批", - "description": "向企微OA提交人员启用/禁用审批。targetStatus=1申请启用,targetStatus=2申请禁用。返回审批单号spNo。", - "operationId": "submitApprovalUsingPOST_8", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "审批提交请求体", - "required": false, - "schema": { - "$ref": "#/definitions/人员审批提交请求", - "originalRef": "人员审批提交请求" - } - }, - { - "name": "staffId", - "in": "path", - "description": "人员ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,string»»", - "originalRef": "统一响应结果«Map«string,string»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/staff/{staffId}/tags": { - "put": { - "tags": [ - "服务人员标签管理" - ], - "summary": "设置人员标签", - "description": "全量替换指定人员的标签列表。", - "operationId": "updateStaffTagsUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "标签ID列表请求", - "required": false, - "schema": { - "$ref": "#/definitions/设置人员标签请求", - "originalRef": "设置人员标签请求" - } - }, - { - "name": "staffId", - "in": "path", - "description": "人员ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - } - }, - "definitions": { - "Map«string,string»": { - "type": "object", - "title": "Map«string,string»", - "additionalProperties": { - "type": "string" - } - }, - "价格日历批量设置请求": { - "type": "object", - "required": [ - "costPrice", - "endDate", - "startDate" - ], - "properties": { - "costPrice": { - "type": "number", - "example": 150.0, - "description": "成本价(元)" - }, - "endDate": { - "type": "string", - "example": "2026-03-31", - "description": "结束日期" - }, - "excludeDates": { - "type": "array", - "example": [ - "2026-03-08", - "2026-03-15" - ], - "description": "排除的日期列表", - "items": { - "type": "string" - } - }, - "remark": { - "type": "string", - "example": "春季特价", - "description": "备注" - }, - "selectedWeekdays": { - "type": "array", - "example": [ - 1, - 2, - 3, - 4, - 5 - ], - "description": "选中的星期(1=周一...7=周日),为空时不做过滤", - "items": { - "type": "integer", - "format": "int32" - } - }, - "startDate": { - "type": "string", - "example": "2026-03-01", - "description": "开始日期" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=不可用 1=可用" - }, - "stock": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "库存数量" - }, - "weekdayOnly": { - "type": "boolean", - "example": false, - "description": "仅工作日" - }, - "weekendOnly": { - "type": "boolean", - "example": false, - "description": "仅周末" - } - }, - "title": "价格日历批量设置请求" - }, - "价格日历日数据": { - "type": "object", - "properties": { - "costPrice": { - "type": "number", - "description": "成本价(元)" - }, - "date": { - "type": "string", - "format": "date", - "description": "日期" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=不可用 1=可用" - }, - "stock": { - "type": "integer", - "format": "int32", - "description": "总库存" - }, - "stockUsed": { - "type": "integer", - "format": "int32", - "description": "已用库存" - } - }, - "title": "价格日历日数据" - }, - "价格日历月视图": { - "type": "object", - "properties": { - "month": { - "type": "integer", - "format": "int32", - "description": "月份" - }, - "prices": { - "type": "array", - "description": "每日价格列表", - "items": { - "$ref": "#/definitions/价格日历日数据", - "originalRef": "价格日历日数据" - } - }, - "scenicId": { - "type": "string", - "description": "景区ID" - }, - "scenicName": { - "type": "string", - "description": "景区名称" - }, - "stockEnabled": { - "type": "boolean", - "description": "是否启用库存管理" - }, - "year": { - "type": "integer", - "format": "int32", - "description": "年份" - } - }, - "title": "价格日历月视图" - }, - "价格日历状态变更请求": { - "type": "object", - "required": [ - "endDate", - "startDate", - "status" - ], - "properties": { - "endDate": { - "type": "string", - "example": "2026-03-31", - "description": "结束日期" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "startDate": { - "type": "string", - "example": "2026-03-01", - "description": "开始日期" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "目标状态:0=不可用 1=可用" - } - }, - "title": "价格日历状态变更请求" - }, - "分页结果«景区列表项»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/景区列表项", - "originalRef": "景区列表项" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«景区列表项»" - }, - "分页结果«景区标签»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/景区标签", - "originalRef": "景区标签" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«景区标签»" - }, - "审批提交请求": { - "type": "object", - "required": [ - "reason", - "targetStatus" - ], - "properties": { - "reason": { - "type": "string", - "example": "内容审核完毕,申请上架", - "description": "审批理由" - }, - "targetStatus": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "目标状态:1=上架 2=下架" - } - }, - "title": "审批提交请求" - }, - "景区列表项": { - "type": "object", - "properties": { - "approvalNo": { - "type": "string", - "description": "审批编号(审批中时有值)" - }, - "cityName": { - "type": "string", - "description": "所在城市" - }, - "contactPerson": { - "type": "string", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "description": "联系人电话" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "highlights": { - "type": "string", - "description": "亮点简介" - }, - "honors": { - "type": "array", - "description": "荣誉称号列表", - "items": { - "type": "string" - } - }, - "latitude": { - "type": "number", - "description": "纬度" - }, - "longitude": { - "type": "number", - "description": "经度" - }, - "name": { - "type": "string", - "description": "景区名称" - }, - "pendingStatus": { - "type": "integer", - "format": "int32", - "description": "待审批目标状态" - }, - "rating": { - "type": "number", - "description": "评分" - }, - "reviewCount": { - "type": "integer", - "format": "int32", - "description": "评论数" - }, - "scenicId": { - "type": "string", - "description": "景区ID" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/景区标签", - "originalRef": "景区标签" - } - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - } - }, - "title": "景区列表项" - }, - "景区创建请求": { - "type": "object", - "required": [ - "city", - "cityName", - "latitude", - "longitude", - "name", - "province" - ], - "properties": { - "address": { - "type": "string", - "example": "西湖风景名胜区", - "description": "详细地址" - }, - "arrangement": { - "type": "string", - "description": "行程安排(富文本JSON)" - }, - "backupContactPerson": { - "type": "string", - "description": "备用联系人姓名" - }, - "backupContactPhone": { - "type": "string", - "description": "备用联系人电话" - }, - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "string" - } - }, - "city": { - "type": "string", - "example": "杭州市", - "description": "城市(行政区划)" - }, - "cityName": { - "type": "string", - "example": "杭州", - "description": "所在城市(展示用)" - }, - "closedDay": { - "type": "string", - "example": "每周一", - "description": "闭园日" - }, - "contactPerson": { - "type": "string", - "example": "张三", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "example": 13800138000, - "description": "联系人电话" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "cultureExperience": { - "type": "string", - "description": "文化体验(富文本JSON)" - }, - "description": { - "type": "string", - "description": "景区描述" - }, - "detailContent": { - "type": "string", - "description": "详情内容(富文本JSON)" - }, - "district": { - "type": "string", - "example": "西湖区", - "description": "区/县" - }, - "facilities": { - "type": "array", - "example": [ - "parking", - "wifi", - "toilet" - ], - "description": "设施编码列表", - "items": { - "type": "string" - } - }, - "featureIntro": { - "type": "string", - "description": "特色介绍(富文本JSON)" - }, - "highlightSpots": { - "type": "string", - "description": "亮点景点(富文本JSON)" - }, - "highlights": { - "type": "string", - "example": "湖光山色,人间天堂", - "description": "亮点简介" - }, - "honors": { - "type": "array", - "example": [ - "5A级景区", - "世界遗产" - ], - "description": "荣誉称号列表", - "items": { - "type": "string" - } - }, - "interactiveExperience": { - "type": "string", - "description": "互动体验(富文本JSON)" - }, - "latitude": { - "type": "number", - "example": 30.2617, - "description": "纬度" - }, - "longitude": { - "type": "number", - "example": 120.1536, - "description": "经度" - }, - "name": { - "type": "string", - "example": "杭州西湖", - "description": "景区名称" - }, - "openTime": { - "type": "string", - "example": "08:00-17:30", - "description": "开放时间" - }, - "photographyGuide": { - "type": "string", - "description": "摄影指南(富文本JSON)" - }, - "province": { - "type": "string", - "example": "浙江省", - "description": "省份" - }, - "sceneryExperience": { - "type": "string", - "description": "风景体验(富文本JSON)" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重,越大越靠前" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "状态:0=草稿 1=上架 2=下架" - }, - "travelPrep": { - "type": "string", - "description": "出行准备(富文本JSON)" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - } - }, - "title": "景区创建请求" - }, - "景区季节保存请求": { - "type": "object", - "required": [ - "monthEnd", - "monthStart" - ], - "properties": { - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "string" - } - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "description": { - "type": "string", - "description": "季节描述" - }, - "highlights": { - "type": "string", - "description": "季节亮点" - }, - "monthEnd": { - "type": "integer", - "format": "int32", - "example": 5, - "description": "结束月份(1-12)" - }, - "monthStart": { - "type": "integer", - "format": "int32", - "example": 3, - "description": "开始月份(1-12)" - }, - "playGuide": { - "type": "string", - "description": "游玩攻略(富文本JSON)" - }, - "seasonName": { - "type": "string", - "example": "樱花季", - "description": "季节别名" - }, - "tips": { - "type": "string", - "description": "温馨提示" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - } - }, - "title": "景区季节保存请求" - }, - "景区季节内容": { - "type": "object", - "properties": { - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "string" - } - }, - "bannerUrls": { - "type": "array", - "description": "轮播图URL列表", - "items": { - "type": "string" - } - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "description": { - "type": "string", - "description": "季节描述" - }, - "highlights": { - "type": "string", - "description": "季节亮点" - }, - "monthEnd": { - "type": "integer", - "format": "int32", - "description": "结束月份" - }, - "monthStart": { - "type": "integer", - "format": "int32", - "description": "开始月份" - }, - "playGuide": { - "type": "string", - "description": "游玩攻略(富文本JSON)" - }, - "scenicId": { - "type": "string", - "description": "景区ID" - }, - "seasonId": { - "type": "string", - "description": "季节ID" - }, - "seasonName": { - "type": "string", - "description": "季节别名" - }, - "seasonType": { - "type": "string", - "description": "季节类型:spring/summer/autumn/winter" - }, - "tips": { - "type": "string", - "description": "温馨提示" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - }, - "videoUrls": { - "type": "array", - "description": "视频URL列表", - "items": { - "type": "string" - } - } - }, - "title": "景区季节内容" - }, - "景区批量删除请求": { - "type": "object", - "required": [ - "scenicIds" - ], - "properties": { - "scenicIds": { - "type": "array", - "description": "景区ID列表", - "items": { - "type": "string" - } - } - }, - "title": "景区批量删除请求" - }, - "景区批量标签操作请求": { - "type": "object", - "required": [ - "scenicIds" - ], - "properties": { - "addTagIds": { - "type": "array", - "description": "要添加的标签ID列表", - "items": { - "type": "string" - } - }, - "removeTagIds": { - "type": "array", - "description": "要移除的标签ID列表", - "items": { - "type": "string" - } - }, - "scenicIds": { - "type": "array", - "description": "景区ID列表", - "items": { - "type": "string" - } - } - }, - "title": "景区批量标签操作请求" - }, - "景区更新请求": { - "type": "object", - "properties": { - "address": { - "type": "string", - "description": "详细地址" - }, - "arrangement": { - "type": "string", - "description": "行程安排(富文本JSON)" - }, - "backupContactPerson": { - "type": "string", - "description": "备用联系人姓名" - }, - "backupContactPhone": { - "type": "string", - "description": "备用联系人电话" - }, - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "string" - } - }, - "city": { - "type": "string", - "example": "杭州市", - "description": "城市(行政区划)" - }, - "cityName": { - "type": "string", - "example": "杭州", - "description": "所在城市(展示用)" - }, - "closedDay": { - "type": "string", - "example": "每周一", - "description": "闭园日" - }, - "contactPerson": { - "type": "string", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "description": "联系人电话" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "cultureExperience": { - "type": "string", - "description": "文化体验(富文本JSON)" - }, - "description": { - "type": "string", - "description": "景区描述" - }, - "detailContent": { - "type": "string", - "description": "详情内容(富文本JSON)" - }, - "district": { - "type": "string", - "example": "西湖区", - "description": "区/县" - }, - "facilities": { - "type": "array", - "description": "设施编码列表", - "items": { - "type": "string" - } - }, - "featureIntro": { - "type": "string", - "description": "特色介绍(富文本JSON)" - }, - "highlightSpots": { - "type": "string", - "description": "亮点景点(富文本JSON)" - }, - "highlights": { - "type": "string", - "description": "亮点简介" - }, - "honors": { - "type": "array", - "description": "荣誉称号列表", - "items": { - "type": "string" - } - }, - "interactiveExperience": { - "type": "string", - "description": "互动体验(富文本JSON)" - }, - "latitude": { - "type": "number", - "example": 30.2617, - "description": "纬度" - }, - "longitude": { - "type": "number", - "example": 120.1536, - "description": "经度" - }, - "name": { - "type": "string", - "example": "杭州西湖", - "description": "景区名称" - }, - "openTime": { - "type": "string", - "example": "08:00-17:30", - "description": "开放时间" - }, - "photographyGuide": { - "type": "string", - "description": "摄影指南(富文本JSON)" - }, - "province": { - "type": "string", - "example": "浙江省", - "description": "省份" - }, - "sceneryExperience": { - "type": "string", - "description": "风景体验(富文本JSON)" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重,越大越靠前" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "travelPrep": { - "type": "string", - "description": "出行准备(富文本JSON)" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - } - }, - "title": "景区更新请求" - }, - "景区标签": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "tagColor": { - "type": "string", - "description": "标签颜色(十六进制)" - }, - "tagId": { - "type": "string", - "description": "标签ID" - }, - "tagName": { - "type": "string", - "description": "标签名称" - }, - "tagType": { - "type": "integer", - "format": "int32", - "description": "标签类型:0=自定义 1=系统预设" - }, - "useCount": { - "type": "integer", - "format": "int32", - "description": "使用次数" - } - }, - "title": "景区标签" - }, - "景区标签更新请求": { - "type": "object", - "properties": { - "tagIds": { - "type": "array", - "description": "标签ID列表(全量替换)", - "items": { - "type": "string" - } - } - }, - "title": "景区标签更新请求" - }, - "景区状态变更请求": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "scenicIds": { - "type": "array", - "description": "景区ID列表", - "items": { - "type": "string" - } - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "目标状态:0=草稿 1=上架 2=下架" - } - }, - "title": "景区状态变更请求" - }, - "景区详情": { - "type": "object", - "properties": { - "address": { - "type": "string", - "description": "详细地址" - }, - "arrangement": { - "type": "string", - "description": "行程安排(富文本JSON)" - }, - "backupContactPerson": { - "type": "string", - "description": "备用联系人姓名" - }, - "backupContactPhone": { - "type": "string", - "description": "备用联系人电话" - }, - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "string" - } - }, - "bannerUrls": { - "type": "array", - "description": "轮播图URL列表", - "items": { - "type": "string" - } - }, - "city": { - "type": "string", - "description": "城市(行政区划)" - }, - "cityName": { - "type": "string", - "description": "所在城市(展示用)" - }, - "closedDay": { - "type": "string", - "description": "闭园日" - }, - "contactPerson": { - "type": "string", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "description": "联系人电话" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "string", - "description": "创建人ID" - }, - "createdByName": { - "type": "string", - "description": "创建人姓名" - }, - "cultureExperience": { - "type": "string", - "description": "文化体验(富文本JSON)" - }, - "description": { - "type": "string", - "description": "景区描述" - }, - "detailContent": { - "type": "string", - "description": "详情内容(富文本JSON)" - }, - "district": { - "type": "string", - "description": "区/县" - }, - "facilities": { - "type": "array", - "description": "设施编码列表", - "items": { - "type": "string" - } - }, - "facilityNames": { - "type": "array", - "description": "设施名称列表", - "items": { - "type": "string" - } - }, - "featureIntro": { - "type": "string", - "description": "特色介绍(富文本JSON)" - }, - "highlightSpots": { - "type": "string", - "description": "亮点景点(富文本JSON)" - }, - "highlights": { - "type": "string", - "description": "亮点简介" - }, - "honors": { - "type": "array", - "description": "荣誉称号列表", - "items": { - "type": "string" - } - }, - "interactiveExperience": { - "type": "string", - "description": "互动体验(富文本JSON)" - }, - "latitude": { - "type": "number", - "description": "纬度" - }, - "longitude": { - "type": "number", - "description": "经度" - }, - "name": { - "type": "string", - "description": "景区名称" - }, - "openTime": { - "type": "string", - "description": "开放时间" - }, - "photographyGuide": { - "type": "string", - "description": "摄影指南(富文本JSON)" - }, - "province": { - "type": "string", - "description": "省份" - }, - "rating": { - "type": "number", - "description": "评分" - }, - "reviewCount": { - "type": "integer", - "format": "int32", - "description": "评论数" - }, - "sceneryExperience": { - "type": "string", - "description": "风景体验(富文本JSON)" - }, - "scenicId": { - "type": "string", - "description": "景区ID" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/景区标签", - "originalRef": "景区标签" - } - }, - "travelPrep": { - "type": "string", - "description": "出行准备(富文本JSON)" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - }, - "videoUrls": { - "type": "array", - "description": "视频URL列表", - "items": { - "type": "string" - } - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - } - }, - "title": "景区详情" - }, - "标签创建请求": { - "type": "object", - "required": [ - "tagName" - ], - "properties": { - "tagColor": { - "type": "string", - "example": "#409EFF", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "example": "热门", - "description": "标签名称" - } - }, - "title": "标签创建请求" - }, - "标签更新请求": { - "type": "object", - "properties": { - "tagColor": { - "type": "string", - "example": "#409EFF", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "example": "热门", - "description": "标签名称" - } - }, - "title": "标签更新请求" - }, - "统一响应结果«List«景区季节内容»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/景区季节内容", - "originalRef": "景区季节内容" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«景区季节内容»»" - }, - "统一响应结果«List«景区标签»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/景区标签", - "originalRef": "景区标签" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«景区标签»»" - }, - "统一响应结果«Map«string,string»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "object", - "description": "响应数据", - "additionalProperties": { - "type": "string" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Map«string,string»»" - }, - "统一响应结果«Void»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Void»" - }, - "统一响应结果«价格日历月视图»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/价格日历月视图", - "originalRef": "价格日历月视图" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«价格日历月视图»" - }, - "统一响应结果«分页结果«景区列表项»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«景区列表项»", - "originalRef": "分页结果«景区列表项»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«景区列表项»»" - }, - "统一响应结果«分页结果«景区标签»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«景区标签»", - "originalRef": "分页结果«景区标签»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«景区标签»»" - }, - "统一响应结果«景区季节内容»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/景区季节内容", - "originalRef": "景区季节内容" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«景区季节内容»" - }, - "统一响应结果«景区标签»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/景区标签", - "originalRef": "景区标签" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«景区标签»" - }, - "统一响应结果«景区详情»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/景区详情", - "originalRef": "景区详情" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«景区详情»" - }, - "分页结果«餐厅列表视图»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/餐厅列表视图", - "originalRef": "餐厅列表视图" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«餐厅列表视图»" - }, - "分页结果«餐厅标签视图»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/餐厅标签视图", - "originalRef": "餐厅标签视图" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«餐厅标签视图»" - }, - "统一响应结果«List«餐厅标签视图»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/餐厅标签视图", - "originalRef": "餐厅标签视图" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«餐厅标签视图»»" - }, - "统一响应结果«分页结果«餐厅列表视图»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«餐厅列表视图»", - "originalRef": "分页结果«餐厅列表视图»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«餐厅列表视图»»" - }, - "统一响应结果«分页结果«餐厅标签视图»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«餐厅标签视图»", - "originalRef": "分页结果«餐厅标签视图»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«餐厅标签视图»»" - }, - "统一响应结果«餐厅标签视图»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/餐厅标签视图", - "originalRef": "餐厅标签视图" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«餐厅标签视图»" - }, - "统一响应结果«餐厅详情视图»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/餐厅详情视图", - "originalRef": "餐厅详情视图" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«餐厅详情视图»" - }, - "餐厅列表视图": { - "type": "object", - "properties": { - "approvalNo": { - "type": "string", - "description": "审批编号" - }, - "categoryCode": { - "type": "string", - "description": "分类编码" - }, - "categoryName": { - "type": "string", - "description": "分类名称" - }, - "cityName": { - "type": "string", - "description": "城市名称(纯文本)" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "cuisineType": { - "type": "string", - "description": "菜系类型编码" - }, - "cuisineTypeName": { - "type": "string", - "description": "菜系类型名称" - }, - "highlights": { - "type": "string", - "description": "亮点摘要" - }, - "name": { - "type": "string", - "description": "餐厅名称" - }, - "pendingStatus": { - "type": "integer", - "format": "int32", - "description": "待审批目标状态" - }, - "pricePerPerson": { - "type": "number", - "description": "人均消费(元)" - }, - "rating": { - "type": "number", - "description": "评分" - }, - "recommended": { - "type": "integer", - "format": "int32", - "description": "是否推荐:0=否 1=是" - }, - "restaurantId": { - "type": "string", - "description": "餐厅ID" - }, - "reviewCount": { - "type": "integer", - "format": "int32", - "description": "评论数" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/餐厅标签视图", - "originalRef": "餐厅标签视图" - } - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - } - }, - "title": "餐厅列表视图" - }, - "餐厅创建请求": { - "type": "object", - "required": [ - "categoryCode", - "city", - "cityName", - "latitude", - "longitude", - "name", - "province" - ], - "properties": { - "address": { - "type": "string", - "example": "北京中路100号", - "description": "详细地址" - }, - "arrangement": { - "type": "string", - "description": "座位布局说明" - }, - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "string" - } - }, - "businessHours": { - "type": "string", - "example": "10:00-22:00", - "description": "营业时间" - }, - "capacity": { - "type": "integer", - "format": "int32", - "example": 80, - "description": "容纳人数" - }, - "categoryCode": { - "type": "string", - "example": "TIBETAN", - "description": "分类编码" - }, - "city": { - "type": "string", - "example": "拉萨市", - "description": "城市" - }, - "cityName": { - "type": "string", - "example": "拉萨", - "description": "城市名称(纯文本输入)" - }, - "closedDay": { - "type": "string", - "example": "每周一", - "description": "休息日" - }, - "coverMaterialId": { - "type": "string", - "example": 1001, - "description": "封面素材ID" - }, - "cuisineType": { - "type": "string", - "example": "TIBETAN", - "description": "菜系类型" - }, - "description": { - "type": "string", - "description": "餐厅描述" - }, - "district": { - "type": "string", - "example": "城关区", - "description": "区县" - }, - "environmentType": { - "type": "string", - "example": "INDOOR", - "description": "环境类型" - }, - "facilities": { - "type": "array", - "description": "设施列表", - "items": { - "type": "string" - } - }, - "featureIntro": { - "type": "string", - "description": "图文详情(JSON格式)" - }, - "featuredMenu": { - "type": "string", - "description": "招牌菜单(JSON格式)" - }, - "groupSizeMax": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "最多接待人数" - }, - "groupSizeMin": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "最少成行人数" - }, - "hasPrivateRoom": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "是否有包间:0=无 1=有" - }, - "highlights": { - "type": "string", - "example": "地道藏餐、酥油茶、糌粑", - "description": "亮点摘要" - }, - "latitude": { - "type": "number", - "example": 29.66, - "description": "纬度" - }, - "longitude": { - "type": "number", - "example": 91.132, - "description": "经度" - }, - "minAdvanceHours": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "最少提前预约小时数" - }, - "name": { - "type": "string", - "example": "云端藏餐", - "description": "餐厅名称" - }, - "phone": { - "type": "string", - "example": "0891-6812345", - "description": "联系电话" - }, - "pricePerPerson": { - "type": "number", - "example": 88.0, - "description": "人均消费(元)" - }, - "province": { - "type": "string", - "example": "西藏自治区", - "description": "省份" - }, - "recommended": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "是否推荐:0=否 1=是" - }, - "reservationRequired": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "是否需要预约:0=否 1=是" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重(数字越大越靠前)" - }, - "subtitle": { - "type": "string", - "example": "正宗藏式风味体验", - "description": "副标题" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - } - }, - "title": "餐厅创建请求" - }, - "餐厅审批提交请求": { - "type": "object", - "required": [ - "reason", - "targetStatus" - ], - "properties": { - "reason": { - "type": "string", - "example": "餐厅信息已完善,申请上架", - "description": "审批理由" - }, - "targetStatus": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "目标状态:1=上架 2=下架" - } - }, - "title": "餐厅审批提交请求" - }, - "餐厅批量删除请求": { - "type": "object", - "required": [ - "restaurantIds" - ], - "properties": { - "restaurantIds": { - "type": "array", - "example": [ - "1", - "2", - "3" - ], - "description": "餐厅ID列表", - "items": { - "type": "string" - } - } - }, - "title": "餐厅批量删除请求" - }, - "餐厅批量标签操作请求": { - "type": "object", - "required": [ - "restaurantIds" - ], - "properties": { - "addTagIds": { - "type": "array", - "example": [ - "10", - "11" - ], - "description": "要添加的标签ID列表", - "items": { - "type": "string" - } - }, - "removeTagIds": { - "type": "array", - "example": [ - "12" - ], - "description": "要移除的标签ID列表", - "items": { - "type": "string" - } - }, - "restaurantIds": { - "type": "array", - "example": [ - "1", - "2" - ], - "description": "餐厅ID列表", - "items": { - "type": "string" - } - } - }, - "title": "餐厅批量标签操作请求" - }, - "餐厅更新请求": { - "type": "object", - "properties": { - "address": { - "type": "string", - "example": "北京中路100号", - "description": "详细地址" - }, - "arrangement": { - "type": "string", - "description": "座位布局说明" - }, - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "string" - } - }, - "businessHours": { - "type": "string", - "example": "10:00-22:00", - "description": "营业时间" - }, - "capacity": { - "type": "integer", - "format": "int32", - "example": 80, - "description": "容纳人数" - }, - "categoryCode": { - "type": "string", - "example": "TIBETAN", - "description": "分类编码" - }, - "city": { - "type": "string", - "example": "拉萨市", - "description": "城市" - }, - "cityName": { - "type": "string", - "example": "拉萨", - "description": "城市名称(纯文本输入)" - }, - "closedDay": { - "type": "string", - "example": "每周一", - "description": "休息日" - }, - "coverMaterialId": { - "type": "string", - "example": 1001, - "description": "封面素材ID" - }, - "cuisineType": { - "type": "string", - "example": "TIBETAN", - "description": "菜系类型" - }, - "description": { - "type": "string", - "description": "餐厅描述" - }, - "district": { - "type": "string", - "example": "城关区", - "description": "区县" - }, - "environmentType": { - "type": "string", - "example": "INDOOR", - "description": "环境类型" - }, - "facilities": { - "type": "array", - "description": "设施列表", - "items": { - "type": "string" - } - }, - "featureIntro": { - "type": "string", - "description": "图文详情(JSON格式)" - }, - "featuredMenu": { - "type": "string", - "description": "招牌菜单(JSON格式)" - }, - "groupSizeMax": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "最多接待人数" - }, - "groupSizeMin": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "最少成行人数" - }, - "hasPrivateRoom": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "是否有包间:0=无 1=有" - }, - "highlights": { - "type": "string", - "example": "地道藏餐、酥油茶、糌粑", - "description": "亮点摘要" - }, - "latitude": { - "type": "number", - "example": 29.66, - "description": "纬度" - }, - "longitude": { - "type": "number", - "example": 91.132, - "description": "经度" - }, - "minAdvanceHours": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "最少提前预约小时数" - }, - "name": { - "type": "string", - "example": "云端藏餐", - "description": "餐厅名称" - }, - "phone": { - "type": "string", - "example": "0891-6812345", - "description": "联系电话" - }, - "pricePerPerson": { - "type": "number", - "example": 88.0, - "description": "人均消费(元)" - }, - "province": { - "type": "string", - "example": "西藏自治区", - "description": "省份" - }, - "recommended": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "是否推荐:0=否 1=是" - }, - "reservationRequired": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "是否需要预约:0=否 1=是" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重(数字越大越靠前)" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=草稿 1=上架 2=下架" - }, - "subtitle": { - "type": "string", - "example": "正宗藏式风味体验", - "description": "副标题" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - } - }, - "title": "餐厅更新请求" - }, - "餐厅标签创建请求": { - "type": "object", - "required": [ - "tagName" - ], - "properties": { - "tagColor": { - "type": "string", - "example": "#FF5733", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "example": "藏餐", - "description": "标签名称" - } - }, - "title": "餐厅标签创建请求" - }, - "餐厅标签更新请求": { - "type": "object", - "properties": { - "tagColor": { - "type": "string", - "example": "#FF5733", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "example": "藏餐", - "description": "标签名称" - } - }, - "title": "餐厅标签更新请求" - }, - "餐厅标签更新请求_1": { - "type": "object", - "properties": { - "tagIds": { - "type": "array", - "description": "标签ID列表", - "items": { - "type": "string" - } - } - }, - "title": "餐厅标签更新请求_1" - }, - "餐厅标签视图": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "tagColor": { - "type": "string", - "description": "标签颜色" - }, - "tagId": { - "type": "string", - "description": "标签ID" - }, - "tagName": { - "type": "string", - "description": "标签名称" - }, - "tagType": { - "type": "integer", - "format": "int32", - "description": "标签类型:1=系统标签 2=自定义标签" - }, - "useCount": { - "type": "integer", - "format": "int32", - "description": "使用次数" - } - }, - "title": "餐厅标签视图" - }, - "餐厅状态变更请求": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "restaurantIds": { - "type": "array", - "description": "餐厅ID列表(批量操作)", - "items": { - "type": "string" - } - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "目标状态:0=草稿 1=上架 2=下架" - } - }, - "title": "餐厅状态变更请求" - }, - "餐厅详情视图": { - "type": "object", - "properties": { - "address": { - "type": "string", - "description": "详细地址" - }, - "arrangement": { - "type": "string", - "description": "座位布局说明" - }, - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "string" - } - }, - "bannerUrls": { - "type": "array", - "description": "轮播图URL列表", - "items": { - "type": "string" - } - }, - "businessHours": { - "type": "string", - "description": "营业时间" - }, - "capacity": { - "type": "integer", - "format": "int32", - "description": "容纳人数" - }, - "categoryCode": { - "type": "string", - "description": "分类编码" - }, - "categoryName": { - "type": "string", - "description": "分类名称" - }, - "city": { - "type": "string", - "description": "城市" - }, - "cityName": { - "type": "string", - "description": "城市名称(纯文本)" - }, - "closedDay": { - "type": "string", - "description": "休息日" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "string", - "description": "创建人ID" - }, - "createdByName": { - "type": "string", - "description": "创建人姓名" - }, - "cuisineType": { - "type": "string", - "description": "菜系类型编码" - }, - "cuisineTypeName": { - "type": "string", - "description": "菜系类型名称" - }, - "description": { - "type": "string", - "description": "餐厅描述" - }, - "district": { - "type": "string", - "description": "区县" - }, - "environmentType": { - "type": "string", - "description": "环境类型" - }, - "facilities": { - "type": "array", - "description": "设施编码列表", - "items": { - "type": "string" - } - }, - "facilityNames": { - "type": "array", - "description": "设施名称列表", - "items": { - "type": "string" - } - }, - "featureIntro": { - "type": "string", - "description": "图文详情(JSON格式)" - }, - "featuredMenu": { - "type": "string", - "description": "招牌菜单(JSON格式)" - }, - "groupSizeMax": { - "type": "integer", - "format": "int32", - "description": "最多接待人数" - }, - "groupSizeMin": { - "type": "integer", - "format": "int32", - "description": "最少成行人数" - }, - "hasPrivateRoom": { - "type": "integer", - "format": "int32", - "description": "是否有包间:0=无 1=有" - }, - "highlights": { - "type": "string", - "description": "亮点摘要" - }, - "latitude": { - "type": "number", - "description": "纬度" - }, - "longitude": { - "type": "number", - "description": "经度" - }, - "minAdvanceHours": { - "type": "integer", - "format": "int32", - "description": "最少提前预约小时数" - }, - "name": { - "type": "string", - "description": "餐厅名称" - }, - "phone": { - "type": "string", - "description": "联系电话" - }, - "pricePerPerson": { - "type": "number", - "description": "人均消费(元)" - }, - "province": { - "type": "string", - "description": "省份" - }, - "rating": { - "type": "number", - "description": "评分" - }, - "recommended": { - "type": "integer", - "format": "int32", - "description": "是否推荐:0=否 1=是" - }, - "reservationRequired": { - "type": "integer", - "format": "int32", - "description": "是否需要预约:0=否 1=是" - }, - "restaurantId": { - "type": "string", - "description": "餐厅ID" - }, - "reviewCount": { - "type": "integer", - "format": "int32", - "description": "评论数" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/餐厅标签视图", - "originalRef": "餐厅标签视图" - } - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - }, - "videoUrls": { - "type": "array", - "description": "视频URL列表", - "items": { - "type": "string" - } - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - } - }, - "title": "餐厅详情视图" - }, - "分页结果«备品列表视图»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/备品列表视图", - "originalRef": "备品列表视图" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«备品列表视图»" - }, - "分页结果«备品标签视图»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/备品标签视图", - "originalRef": "备品标签视图" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«备品标签视图»" - }, - "备品列表视图": { - "type": "object", - "properties": { - "approvalNo": { - "type": "string", - "description": "审批编号" - }, - "basePrice": { - "type": "number", - "description": "基础单价(元)" - }, - "billingType": { - "type": "string", - "description": "计费方式编码" - }, - "billingTypeName": { - "type": "string", - "description": "计费方式名称" - }, - "categoryCode": { - "type": "string", - "description": "分类编码" - }, - "categoryName": { - "type": "string", - "description": "分类名称" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "highlights": { - "type": "string", - "description": "亮点摘要" - }, - "name": { - "type": "string", - "description": "备品名称" - }, - "pendingStatus": { - "type": "integer", - "format": "int32", - "description": "待审批目标状态" - }, - "recommended": { - "type": "integer", - "format": "int32", - "description": "是否推荐:0=否 1=是" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "suppliesId": { - "type": "string", - "description": "备品ID" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/备品标签视图", - "originalRef": "备品标签视图" - } - }, - "unit": { - "type": "string", - "description": "计量单位" - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - } - }, - "title": "备品列表视图" - }, - "备品创建请求": { - "type": "object", - "required": [ - "basePrice", - "billingType", - "categoryCode", - "name" - ], - "properties": { - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "string" - } - }, - "basePrice": { - "type": "number", - "example": 25.0, - "description": "基础单价(元)" - }, - "billingType": { - "type": "string", - "example": "PER_ITEM", - "description": "计费方式:PER_ITEM=按件 PER_DAY=按天" - }, - "brand": { - "type": "string", - "example": "Black Diamond", - "description": "品牌" - }, - "categoryCode": { - "type": "string", - "example": "OUTDOOR_GEAR", - "description": "分类编码" - }, - "coverMaterialId": { - "type": "string", - "example": 1001, - "description": "封面素材ID" - }, - "description": { - "type": "string", - "description": "备品描述" - }, - "featureIntro": { - "type": "string", - "description": "图文详情(JSON格式)" - }, - "highlights": { - "type": "string", - "example": "超轻碳纤维材质,可折叠收纳", - "description": "亮点摘要" - }, - "includes": { - "type": "array", - "description": "包含物品清单", - "items": { - "type": "string" - } - }, - "model": { - "type": "string", - "example": "Trail Ergo Cork", - "description": "型号" - }, - "name": { - "type": "string", - "example": "登山杖", - "description": "备品名称" - }, - "recommended": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "是否推荐:0=否 1=是" - }, - "sizeOptions": { - "type": "array", - "description": "可选尺码列表", - "items": { - "type": "string" - } - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重(数字越大越靠前)" - }, - "specifications": { - "type": "string", - "description": "规格参数(JSON格式)" - }, - "subtitle": { - "type": "string", - "example": "碳纤维轻量登山杖", - "description": "副标题" - }, - "unit": { - "type": "string", - "example": "根", - "description": "计量单位" - }, - "usageNotes": { - "type": "string", - "description": "使用注意事项" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - }, - "weight": { - "type": "number", - "example": 0.35, - "description": "重量(kg)" - } - }, - "title": "备品创建请求" - }, - "备品审批提交请求": { - "type": "object", - "required": [ - "reason", - "targetStatus" - ], - "properties": { - "reason": { - "type": "string", - "example": "备品信息已完善,申请上架", - "description": "审批理由" - }, - "targetStatus": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "目标状态:1=上架 2=下架" - } - }, - "title": "备品审批提交请求" - }, - "备品批量删除请求": { - "type": "object", - "required": [ - "suppliesIds" - ], - "properties": { - "suppliesIds": { - "type": "array", - "example": [ - "1", - "2", - "3" - ], - "description": "备品ID列表", - "items": { - "type": "string" - } - } - }, - "title": "备品批量删除请求" - }, - "备品批量标签操作请求": { - "type": "object", - "required": [ - "suppliesIds" - ], - "properties": { - "addTagIds": { - "type": "array", - "example": [ - "10", - "11" - ], - "description": "要添加的标签ID列表", - "items": { - "type": "string" - } - }, - "removeTagIds": { - "type": "array", - "example": [ - "12" - ], - "description": "要移除的标签ID列表", - "items": { - "type": "string" - } - }, - "suppliesIds": { - "type": "array", - "example": [ - "1", - "2" - ], - "description": "备品ID列表", - "items": { - "type": "string" - } - } - }, - "title": "备品批量标签操作请求" - }, - "备品更新请求": { - "type": "object", - "properties": { - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "string" - } - }, - "basePrice": { - "type": "number", - "example": 25.0, - "description": "基础单价(元)" - }, - "billingType": { - "type": "string", - "example": "PER_ITEM", - "description": "计费方式:PER_ITEM=按件 PER_DAY=按天" - }, - "brand": { - "type": "string", - "example": "Black Diamond", - "description": "品牌" - }, - "categoryCode": { - "type": "string", - "example": "OUTDOOR_GEAR", - "description": "分类编码" - }, - "coverMaterialId": { - "type": "string", - "example": 1001, - "description": "封面素材ID" - }, - "description": { - "type": "string", - "description": "备品描述" - }, - "featureIntro": { - "type": "string", - "description": "图文详情(JSON格式)" - }, - "highlights": { - "type": "string", - "example": "超轻碳纤维材质,可折叠收纳", - "description": "亮点摘要" - }, - "includes": { - "type": "array", - "description": "包含物品清单", - "items": { - "type": "string" - } - }, - "model": { - "type": "string", - "example": "Trail Ergo Cork", - "description": "型号" - }, - "name": { - "type": "string", - "example": "登山杖", - "description": "备品名称" - }, - "recommended": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "是否推荐:0=否 1=是" - }, - "sizeOptions": { - "type": "array", - "description": "可选尺码列表", - "items": { - "type": "string" - } - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重(数字越大越靠前)" - }, - "specifications": { - "type": "string", - "description": "规格参数(JSON格式)" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=草稿 1=上架 2=下架" - }, - "subtitle": { - "type": "string", - "example": "碳纤维轻量登山杖", - "description": "副标题" - }, - "unit": { - "type": "string", - "example": "根", - "description": "计量单位" - }, - "usageNotes": { - "type": "string", - "description": "使用注意事项" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - }, - "weight": { - "type": "number", - "example": 0.35, - "description": "重量(kg)" - } - }, - "title": "备品更新请求" - }, - "备品标签创建请求": { - "type": "object", - "required": [ - "tagName" - ], - "properties": { - "tagColor": { - "type": "string", - "example": "#FF5733", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "example": "户外装备", - "description": "标签名称" - } - }, - "title": "备品标签创建请求" - }, - "备品标签更新请求": { - "type": "object", - "properties": { - "tagColor": { - "type": "string", - "example": "#FF5733", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "example": "户外装备", - "description": "标签名称" - } - }, - "title": "备品标签更新请求" - }, - "备品标签更新请求_1": { - "type": "object", - "properties": { - "tagIds": { - "type": "array", - "description": "标签ID列表", - "items": { - "type": "string" - } - } - }, - "title": "备品标签更新请求_1" - }, - "备品标签视图": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "tagColor": { - "type": "string", - "description": "标签颜色" - }, - "tagId": { - "type": "string", - "description": "标签ID" - }, - "tagName": { - "type": "string", - "description": "标签名称" - }, - "tagType": { - "type": "integer", - "format": "int32", - "description": "标签类型:1=系统标签 2=自定义标签" - }, - "useCount": { - "type": "integer", - "format": "int32", - "description": "使用次数" - } - }, - "title": "备品标签视图" - }, - "备品状态变更请求": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "目标状态:0=草稿 1=上架 2=下架" - }, - "suppliesIds": { - "type": "array", - "description": "备品ID列表(批量操作)", - "items": { - "type": "string" - } - } - }, - "title": "备品状态变更请求" - }, - "备品详情视图": { - "type": "object", - "properties": { - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "string" - } - }, - "bannerUrls": { - "type": "array", - "description": "轮播图URL列表", - "items": { - "type": "string" - } - }, - "basePrice": { - "type": "number", - "description": "基础单价(元)" - }, - "billingType": { - "type": "string", - "description": "计费方式编码" - }, - "billingTypeName": { - "type": "string", - "description": "计费方式名称" - }, - "brand": { - "type": "string", - "description": "品牌" - }, - "categoryCode": { - "type": "string", - "description": "分类编码" - }, - "categoryName": { - "type": "string", - "description": "分类名称" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "string", - "description": "创建人ID" - }, - "createdByName": { - "type": "string", - "description": "创建人姓名" - }, - "description": { - "type": "string", - "description": "备品描述" - }, - "featureIntro": { - "type": "string", - "description": "图文详情(JSON格式)" - }, - "highlights": { - "type": "string", - "description": "亮点摘要" - }, - "includes": { - "type": "array", - "description": "包含物品清单", - "items": { - "type": "string" - } - }, - "model": { - "type": "string", - "description": "型号" - }, - "name": { - "type": "string", - "description": "备品名称" - }, - "recommended": { - "type": "integer", - "format": "int32", - "description": "是否推荐:0=否 1=是" - }, - "sizeOptions": { - "type": "array", - "description": "可选尺码列表", - "items": { - "type": "string" - } - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "specifications": { - "type": "string", - "description": "规格参数(JSON格式)" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "suppliesId": { - "type": "string", - "description": "备品ID" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/备品标签视图", - "originalRef": "备品标签视图" - } - }, - "unit": { - "type": "string", - "description": "计量单位" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "usageNotes": { - "type": "string", - "description": "使用注意事项" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - }, - "videoUrls": { - "type": "array", - "description": "视频URL列表", - "items": { - "type": "string" - } - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - }, - "weight": { - "type": "number", - "description": "重量(kg)" - } - }, - "title": "备品详情视图" - }, - "统一响应结果«List«备品标签视图»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/备品标签视图", - "originalRef": "备品标签视图" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«备品标签视图»»" - }, - "统一响应结果«分页结果«备品列表视图»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«备品列表视图»", - "originalRef": "分页结果«备品列表视图»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«备品列表视图»»" - }, - "统一响应结果«分页结果«备品标签视图»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«备品标签视图»", - "originalRef": "分页结果«备品标签视图»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«备品标签视图»»" - }, - "统一响应结果«备品标签视图»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/备品标签视图", - "originalRef": "备品标签视图" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«备品标签视图»" - }, - "统一响应结果«备品详情视图»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/备品详情视图", - "originalRef": "备品详情视图" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«备品详情视图»" - }, - "分页结果«活动标签视图»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/活动标签视图", - "originalRef": "活动标签视图" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«活动标签视图»" - }, - "分页结果«活动项目列表视图»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/活动项目列表视图", - "originalRef": "活动项目列表视图" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«活动项目列表视图»" - }, - "活动价格日历日视图": { - "type": "object", - "properties": { - "costPrice": { - "type": "number", - "description": "成本价(元)" - }, - "date": { - "type": "string", - "format": "date", - "description": "日期" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=不可用 1=可用" - }, - "stock": { - "type": "integer", - "format": "int32", - "description": "库存数量" - }, - "stockUsed": { - "type": "integer", - "format": "int32", - "description": "已用库存" - } - }, - "title": "活动价格日历日视图" - }, - "活动价格日历状态变更请求": { - "type": "object", - "required": [ - "endDate", - "startDate", - "status" - ], - "properties": { - "endDate": { - "type": "string", - "example": "2026-03-31", - "description": "结束日期" - }, - "remark": { - "type": "string", - "example": "临时关闭", - "description": "备注" - }, - "startDate": { - "type": "string", - "example": "2026-03-01", - "description": "开始日期" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=不可用 1=可用" - } - }, - "title": "活动价格日历状态变更请求" - }, - "活动价格日历视图": { - "type": "object", - "properties": { - "activityId": { - "type": "string", - "description": "活动项目ID" - }, - "activityName": { - "type": "string", - "description": "活动项目名称" - }, - "month": { - "type": "integer", - "format": "int32", - "description": "月份" - }, - "prices": { - "type": "array", - "description": "价格日历每日数据列表", - "items": { - "$ref": "#/definitions/活动价格日历日视图", - "originalRef": "活动价格日历日视图" - } - }, - "stockEnabled": { - "type": "boolean", - "description": "是否启用库存管理" - }, - "year": { - "type": "integer", - "format": "int32", - "description": "年份" - } - }, - "title": "活动价格日历视图" - }, - "活动价格日历设置请求": { - "type": "object", - "required": [ - "costPrice", - "endDate", - "startDate" - ], - "properties": { - "costPrice": { - "type": "number", - "example": 150.0, - "description": "成本价(元)" - }, - "endDate": { - "type": "string", - "example": "2026-03-31", - "description": "结束日期" - }, - "excludeDates": { - "type": "array", - "example": [ - "2026-03-08", - "2026-03-15" - ], - "description": "排除日期列表", - "items": { - "type": "string" - } - }, - "remark": { - "type": "string", - "example": "旺季价格", - "description": "备注" - }, - "selectedWeekdays": { - "type": "array", - "example": [ - 1, - 2, - 3, - 4, - 5 - ], - "description": "指定星期几(1=周一 7=周日)", - "items": { - "type": "integer", - "format": "int32" - } - }, - "startDate": { - "type": "string", - "example": "2026-03-01", - "description": "开始日期" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=不可用 1=可用" - }, - "stock": { - "type": "integer", - "format": "int32", - "example": 50, - "description": "库存数量" - }, - "weekdayOnly": { - "type": "boolean", - "example": false, - "description": "是否仅工作日" - }, - "weekendOnly": { - "type": "boolean", - "example": false, - "description": "是否仅周末" - } - }, - "title": "活动价格日历设置请求" - }, - "活动标签创建请求": { - "type": "object", - "required": [ - "tagName" - ], - "properties": { - "tagColor": { - "type": "string", - "example": "#FF5733", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "example": "户外探险", - "description": "标签名称" - } - }, - "title": "活动标签创建请求" - }, - "活动标签更新请求": { - "type": "object", - "properties": { - "tagColor": { - "type": "string", - "example": "#FF5733", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "example": "户外探险", - "description": "标签名称" - } - }, - "title": "活动标签更新请求" - }, - "活动标签视图": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "tagColor": { - "type": "string", - "description": "标签颜色" - }, - "tagId": { - "type": "string", - "description": "标签ID" - }, - "tagName": { - "type": "string", - "description": "标签名称" - }, - "tagType": { - "type": "integer", - "format": "int32", - "description": "标签类型:1=系统标签 2=自定义标签" - }, - "useCount": { - "type": "integer", - "format": "int32", - "description": "使用次数" - } - }, - "title": "活动标签视图" - }, - "活动项目列表视图": { - "type": "object", - "properties": { - "activityId": { - "type": "string", - "description": "活动项目ID" - }, - "approvalNo": { - "type": "string", - "description": "审批编号" - }, - "billingType": { - "type": "string", - "description": "计费方式编码" - }, - "categoryCode": { - "type": "string", - "description": "分类编码" - }, - "city": { - "type": "string", - "description": "城市" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "durationMinutes": { - "type": "integer", - "format": "int32", - "description": "体验时长(分钟)" - }, - "environmentType": { - "type": "string", - "description": "环境类型:INDOOR=室内 OUTDOOR=室外 BOTH=室内外" - }, - "highlights": { - "type": "string", - "description": "项目亮点" - }, - "latitude": { - "type": "number", - "description": "纬度" - }, - "longitude": { - "type": "number", - "description": "经度" - }, - "name": { - "type": "string", - "description": "项目名称" - }, - "pendingStatus": { - "type": "integer", - "format": "int32", - "description": "待审批目标状态" - }, - "physicalLevel": { - "type": "string", - "description": "体力要求:LOW=低 MEDIUM=中 HIGH=高" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/活动标签视图", - "originalRef": "活动标签视图" - } - }, - "unit": { - "type": "string", - "description": "计量单位" - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - }, - "weatherDependent": { - "type": "integer", - "format": "int32", - "description": "是否受天气影响:0=否 1=是" - } - }, - "title": "活动项目列表视图" - }, - "活动项目创建请求": { - "type": "object", - "required": [ - "billingType", - "categoryCode", - "name" - ], - "properties": { - "address": { - "type": "string", - "example": "拉萨河谷骑马基地", - "description": "详细地址" - }, - "ageMax": { - "type": "integer", - "format": "int32", - "example": 65, - "description": "最大年龄限制" - }, - "ageMin": { - "type": "integer", - "format": "int32", - "example": 8, - "description": "最小年龄限制" - }, - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "string" - } - }, - "bestSeason": { - "type": "string", - "example": "5月-10月", - "description": "最佳季节" - }, - "billingType": { - "type": "string", - "example": "PER_PERSON", - "description": "计费方式:PER_PERSON=按人 PER_GROUP=按团 PER_HOUR=按时" - }, - "categoryCode": { - "type": "string", - "example": "OUTDOOR", - "description": "分类编码" - }, - "city": { - "type": "string", - "example": "拉萨市", - "description": "城市" - }, - "contactPhone": { - "type": "string", - "example": 13800138000, - "description": "联系电话" - }, - "coverMaterialId": { - "type": "string", - "example": 1001, - "description": "封面素材ID" - }, - "dailyCapacity": { - "type": "integer", - "format": "int32", - "example": 50, - "description": "每日接待上限" - }, - "description": { - "type": "string", - "description": "项目描述" - }, - "district": { - "type": "string", - "example": "城关区", - "description": "区县" - }, - "durationMinutes": { - "type": "integer", - "format": "int32", - "example": 120, - "description": "体验时长(分钟)" - }, - "environmentType": { - "type": "string", - "example": "OUTDOOR", - "description": "环境类型:INDOOR=室内 OUTDOOR=室外 BOTH=室内外" - }, - "groupSizeMax": { - "type": "integer", - "format": "int32", - "example": 10, - "description": "单次最多人数" - }, - "groupSizeMin": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "最少成行人数" - }, - "healthNotes": { - "type": "string", - "description": "健康须知" - }, - "highlights": { - "type": "string", - "example": "专业马术教练全程指导", - "description": "项目亮点" - }, - "latitude": { - "type": "number", - "example": 29.66, - "description": "纬度" - }, - "longitude": { - "type": "number", - "example": 91.132, - "description": "经度" - }, - "name": { - "type": "string", - "example": "高原骑马体验", - "description": "项目名称" - }, - "physicalLevel": { - "type": "string", - "example": "MEDIUM", - "description": "体力要求:LOW=低 MEDIUM=中 HIGH=高" - }, - "providedEquipment": { - "type": "string", - "description": "提供装备说明" - }, - "province": { - "type": "string", - "example": "西藏自治区", - "description": "省份" - }, - "requiredEquipment": { - "type": "string", - "description": "需自备装备说明" - }, - "safetyNotes": { - "type": "string", - "description": "安全须知" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重(数字越大越靠前)" - }, - "subtitle": { - "type": "string", - "example": "策马奔腾在雪域高原", - "description": "副标题" - }, - "unit": { - "type": "string", - "example": "人/次", - "description": "计量单位" - }, - "usageNotes": { - "type": "string", - "description": "使用注意事项" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - }, - "weatherDependent": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "是否受天气影响:0=否 1=是" - }, - "whatExcluded": { - "type": "string", - "description": "费用不包含说明" - }, - "whatIncluded": { - "type": "string", - "description": "费用包含说明" - } - }, - "title": "活动项目创建请求" - }, - "活动项目审批提交请求": { - "type": "object", - "required": [ - "reason", - "targetStatus" - ], - "properties": { - "reason": { - "type": "string", - "example": "活动信息已完善,申请上架", - "description": "审批理由" - }, - "targetStatus": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "目标状态:1=上架 2=下架" - } - }, - "title": "活动项目审批提交请求" - }, - "活动项目批量删除请求": { - "type": "object", - "required": [ - "activityIds" - ], - "properties": { - "activityIds": { - "type": "array", - "example": [ - "1", - "2", - "3" - ], - "description": "活动项目ID列表", - "items": { - "type": "string" - } - } - }, - "title": "活动项目批量删除请求" - }, - "活动项目批量标签操作请求": { - "type": "object", - "required": [ - "activityIds" - ], - "properties": { - "activityIds": { - "type": "array", - "example": [ - "1", - "2" - ], - "description": "活动项目ID列表", - "items": { - "type": "string" - } - }, - "addTagIds": { - "type": "array", - "example": [ - "10", - "11" - ], - "description": "要添加的标签ID列表", - "items": { - "type": "string" - } - }, - "removeTagIds": { - "type": "array", - "example": [ - "12" - ], - "description": "要移除的标签ID列表", - "items": { - "type": "string" - } - } - }, - "title": "活动项目批量标签操作请求" - }, - "活动项目更新请求": { - "type": "object", - "properties": { - "address": { - "type": "string", - "example": "拉萨河谷骑马基地", - "description": "详细地址" - }, - "ageMax": { - "type": "integer", - "format": "int32", - "example": 65, - "description": "最大年龄限制" - }, - "ageMin": { - "type": "integer", - "format": "int32", - "example": 8, - "description": "最小年龄限制" - }, - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "string" - } - }, - "bestSeason": { - "type": "string", - "example": "5月-10月", - "description": "最佳季节" - }, - "billingType": { - "type": "string", - "example": "PER_PERSON", - "description": "计费方式:PER_PERSON=按人 PER_GROUP=按团 PER_HOUR=按时" - }, - "categoryCode": { - "type": "string", - "example": "OUTDOOR", - "description": "分类编码" - }, - "city": { - "type": "string", - "example": "拉萨市", - "description": "城市" - }, - "contactPhone": { - "type": "string", - "example": 13800138000, - "description": "联系电话" - }, - "coverMaterialId": { - "type": "string", - "example": 1001, - "description": "封面素材ID" - }, - "dailyCapacity": { - "type": "integer", - "format": "int32", - "example": 50, - "description": "每日接待上限" - }, - "description": { - "type": "string", - "description": "项目描述" - }, - "district": { - "type": "string", - "example": "城关区", - "description": "区县" - }, - "durationMinutes": { - "type": "integer", - "format": "int32", - "example": 120, - "description": "体验时长(分钟)" - }, - "environmentType": { - "type": "string", - "example": "OUTDOOR", - "description": "环境类型:INDOOR=室内 OUTDOOR=室外 BOTH=室内外" - }, - "groupSizeMax": { - "type": "integer", - "format": "int32", - "example": 10, - "description": "单次最多人数" - }, - "groupSizeMin": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "最少成行人数" - }, - "healthNotes": { - "type": "string", - "description": "健康须知" - }, - "highlights": { - "type": "string", - "example": "专业马术教练全程指导", - "description": "项目亮点" - }, - "latitude": { - "type": "number", - "example": 29.66, - "description": "纬度" - }, - "longitude": { - "type": "number", - "example": 91.132, - "description": "经度" - }, - "name": { - "type": "string", - "example": "高原骑马体验", - "description": "项目名称" - }, - "physicalLevel": { - "type": "string", - "example": "MEDIUM", - "description": "体力要求:LOW=低 MEDIUM=中 HIGH=高" - }, - "providedEquipment": { - "type": "string", - "description": "提供装备说明" - }, - "province": { - "type": "string", - "example": "西藏自治区", - "description": "省份" - }, - "requiredEquipment": { - "type": "string", - "description": "需自备装备说明" - }, - "safetyNotes": { - "type": "string", - "description": "安全须知" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重(数字越大越靠前)" - }, - "subtitle": { - "type": "string", - "example": "策马奔腾在雪域高原", - "description": "副标题" - }, - "unit": { - "type": "string", - "example": "人/次", - "description": "计量单位" - }, - "usageNotes": { - "type": "string", - "description": "使用注意事项" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - }, - "weatherDependent": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "是否受天气影响:0=否 1=是" - }, - "whatExcluded": { - "type": "string", - "description": "费用不包含说明" - }, - "whatIncluded": { - "type": "string", - "description": "费用包含说明" - } - }, - "title": "活动项目更新请求" - }, - "活动项目标签更新请求": { - "type": "object", - "properties": { - "tagIds": { - "type": "array", - "description": "标签ID列表", - "items": { - "type": "string" - } - } - }, - "title": "活动项目标签更新请求" - }, - "活动项目状态变更请求": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "activityIds": { - "type": "array", - "description": "活动项目ID列表(批量操作)", - "items": { - "type": "string" - } - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "目标状态:0=草稿 1=上架 2=下架" - } - }, - "title": "活动项目状态变更请求" - }, - "活动项目详情视图": { - "type": "object", - "properties": { - "activityId": { - "type": "string", - "description": "活动项目ID" - }, - "address": { - "type": "string", - "description": "详细地址" - }, - "ageMax": { - "type": "integer", - "format": "int32", - "description": "最大年龄限制" - }, - "ageMin": { - "type": "integer", - "format": "int32", - "description": "最小年龄限制" - }, - "bannerMaterialIds": { - "type": "array", - "description": "轮播图素材ID列表", - "items": { - "type": "string" - } - }, - "bannerUrls": { - "type": "array", - "description": "轮播图URL列表", - "items": { - "type": "string" - } - }, - "bestSeason": { - "type": "string", - "description": "最佳季节" - }, - "billingType": { - "type": "string", - "description": "计费方式:PER_PERSON=按人 PER_GROUP=按团 PER_HOUR=按时" - }, - "categoryCode": { - "type": "string", - "description": "分类编码" - }, - "city": { - "type": "string", - "description": "城市" - }, - "contactPhone": { - "type": "string", - "description": "联系电话" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "string", - "description": "创建人ID" - }, - "dailyCapacity": { - "type": "integer", - "format": "int32", - "description": "每日接待上限" - }, - "description": { - "type": "string", - "description": "项目描述" - }, - "district": { - "type": "string", - "description": "区县" - }, - "durationMinutes": { - "type": "integer", - "format": "int32", - "description": "体验时长(分钟)" - }, - "environmentType": { - "type": "string", - "description": "环境类型:INDOOR=室内 OUTDOOR=室外 BOTH=室内外" - }, - "groupSizeMax": { - "type": "integer", - "format": "int32", - "description": "单次最多人数" - }, - "groupSizeMin": { - "type": "integer", - "format": "int32", - "description": "最少成行人数" - }, - "healthNotes": { - "type": "string", - "description": "健康须知" - }, - "highlights": { - "type": "string", - "description": "项目亮点" - }, - "latitude": { - "type": "number", - "description": "纬度" - }, - "longitude": { - "type": "number", - "description": "经度" - }, - "name": { - "type": "string", - "description": "项目名称" - }, - "physicalLevel": { - "type": "string", - "description": "体力要求:LOW=低 MEDIUM=中 HIGH=高" - }, - "providedEquipment": { - "type": "string", - "description": "提供装备说明" - }, - "province": { - "type": "string", - "description": "省份" - }, - "requiredEquipment": { - "type": "string", - "description": "需自备装备说明" - }, - "safetyNotes": { - "type": "string", - "description": "安全须知" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/活动标签视图", - "originalRef": "活动标签视图" - } - }, - "unit": { - "type": "string", - "description": "计量单位" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "usageNotes": { - "type": "string", - "description": "使用注意事项" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - }, - "videoUrls": { - "type": "array", - "description": "视频URL列表", - "items": { - "type": "string" - } - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - }, - "weatherDependent": { - "type": "integer", - "format": "int32", - "description": "是否受天气影响:0=否 1=是" - }, - "whatExcluded": { - "type": "string", - "description": "费用不包含说明" - }, - "whatIncluded": { - "type": "string", - "description": "费用包含说明" - } - }, - "title": "活动项目详情视图" - }, - "统一响应结果«List«活动标签视图»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/活动标签视图", - "originalRef": "活动标签视图" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«活动标签视图»»" - }, - "统一响应结果«分页结果«活动标签视图»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«活动标签视图»", - "originalRef": "分页结果«活动标签视图»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«活动标签视图»»" - }, - "统一响应结果«分页结果«活动项目列表视图»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«活动项目列表视图»", - "originalRef": "分页结果«活动项目列表视图»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«活动项目列表视图»»" - }, - "统一响应结果«活动价格日历视图»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/活动价格日历视图", - "originalRef": "活动价格日历视图" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«活动价格日历视图»" - }, - "统一响应结果«活动标签视图»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/活动标签视图", - "originalRef": "活动标签视图" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«活动标签视图»" - }, - "统一响应结果«活动项目详情视图»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/活动项目详情视图", - "originalRef": "活动项目详情视图" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«活动项目详情视图»" - }, - "Map«string,object»": { - "type": "object", - "title": "Map«string,object»", - "additionalProperties": { - "type": "object" - } - }, - "分页结果«酒店列表VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/酒店列表VO", - "originalRef": "酒店列表VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«酒店列表VO»" - }, - "分页结果«酒店标签VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/酒店标签VO", - "originalRef": "酒店标签VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«酒店标签VO»" - }, - "房型创建请求": { - "type": "object", - "required": [ - "bedType", - "name", - "roomCategory" - ], - "properties": { - "bannerMaterialIds": { - "type": "array", - "description": "横幅素材ID列表", - "items": { - "type": "string" - } - }, - "basePrice": { - "type": "number", - "example": 580.0, - "description": "基础成本价(元)" - }, - "bathroomType": { - "type": "string", - "example": "独立卫浴", - "description": "卫浴类型" - }, - "bedCount": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "床位数量" - }, - "bedSize": { - "type": "string", - "example": "1.8m*2.0m", - "description": "床尺寸" - }, - "bedType": { - "type": "string", - "example": "大床", - "description": "床型" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "description": { - "type": "string", - "description": "房型描述" - }, - "floorInfo": { - "type": "string", - "example": "3-8层", - "description": "楼层信息" - }, - "maxOccupancy": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "最多入住人数" - }, - "name": { - "type": "string", - "example": "豪华大床房", - "description": "房型名称" - }, - "roomArea": { - "type": "number", - "example": 45.0, - "description": "房间面积(平方米)" - }, - "roomCategory": { - "type": "string", - "example": "STANDARD", - "description": "房型分类" - }, - "roomFacilities": { - "type": "string", - "description": "房间设施(JSON)" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重,值越大越靠前" - }, - "totalRooms": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "总房间数" - }, - "videoMaterialId": { - "type": "string", - "description": "视频素材ID" - }, - "windowType": { - "type": "string", - "example": "落地窗", - "description": "窗型" - } - }, - "title": "房型创建请求" - }, - "房型更新请求": { - "type": "object", - "properties": { - "bannerMaterialIds": { - "type": "array", - "description": "横幅素材ID列表", - "items": { - "type": "string" - } - }, - "basePrice": { - "type": "number", - "example": 580.0, - "description": "基础成本价(元)" - }, - "bathroomType": { - "type": "string", - "example": "独立卫浴", - "description": "卫浴类型" - }, - "bedCount": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "床位数量" - }, - "bedSize": { - "type": "string", - "example": "1.8m*2.0m", - "description": "床尺寸" - }, - "bedType": { - "type": "string", - "example": "大床", - "description": "床型" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "description": { - "type": "string", - "description": "房型描述" - }, - "floorInfo": { - "type": "string", - "example": "3-8层", - "description": "楼层信息" - }, - "maxOccupancy": { - "type": "integer", - "format": "int32", - "example": 2, - "description": "最多入住人数" - }, - "name": { - "type": "string", - "example": "豪华大床房", - "description": "房型名称" - }, - "roomArea": { - "type": "number", - "example": 45.0, - "description": "房间面积(平方米)" - }, - "roomCategory": { - "type": "string", - "example": "STANDARD", - "description": "房型分类" - }, - "roomFacilities": { - "type": "string", - "description": "房间设施(JSON)" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重,值越大越靠前" - }, - "totalRooms": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "总房间数" - }, - "videoMaterialId": { - "type": "string", - "description": "视频素材ID" - }, - "windowType": { - "type": "string", - "example": "落地窗", - "description": "窗型" - } - }, - "title": "房型更新请求" - }, - "房型状态变更请求": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=禁用 1=启用" - } - }, - "title": "房型状态变更请求" - }, - "房型详情VO": { - "type": "object", - "properties": { - "approvalNo": { - "type": "string", - "description": "审批单号" - }, - "bannerMaterialIds": { - "type": "array", - "description": "横幅素材ID列表", - "items": { - "type": "string" - } - }, - "bannerUrls": { - "type": "array", - "description": "横幅图URL列表", - "items": { - "type": "string" - } - }, - "basePrice": { - "type": "number", - "description": "基础成本价(元)" - }, - "bathroomType": { - "type": "string", - "description": "卫浴类型" - }, - "bedCount": { - "type": "integer", - "format": "int32", - "description": "床位数量" - }, - "bedSize": { - "type": "string", - "description": "床尺寸" - }, - "bedType": { - "type": "string", - "description": "床型" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "description": { - "type": "string", - "description": "房型描述" - }, - "floorInfo": { - "type": "string", - "description": "楼层信息" - }, - "hotelId": { - "type": "string", - "description": "所属酒店ID" - }, - "maxOccupancy": { - "type": "integer", - "format": "int32", - "description": "最多入住人数" - }, - "name": { - "type": "string", - "description": "房型名称" - }, - "pendingStatus": { - "type": "integer", - "format": "int32", - "description": "待审批目标状态" - }, - "roomArea": { - "type": "number", - "description": "房间面积(平方米)" - }, - "roomCategory": { - "type": "string", - "description": "房型分类" - }, - "roomFacilities": { - "type": "string", - "description": "房间设施(JSON)" - }, - "roomTypeId": { - "type": "string", - "description": "房型ID" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=禁用 1=启用" - }, - "totalRooms": { - "type": "integer", - "format": "int32", - "description": "总房间数" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "videoMaterialId": { - "type": "string", - "description": "视频素材ID" - }, - "videoUrl": { - "type": "string", - "description": "视频URL" - }, - "windowType": { - "type": "string", - "description": "窗型" - } - }, - "title": "房型详情VO" - }, - "统一响应结果«List«Map«string,object»»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«Map«string,object»»»" - }, - "统一响应结果«List«房型详情VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/房型详情VO", - "originalRef": "房型详情VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«房型详情VO»»" - }, - "统一响应结果«List«酒店标签VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/酒店标签VO", - "originalRef": "酒店标签VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«酒店标签VO»»" - }, - "统一响应结果«分页结果«酒店列表VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«酒店列表VO»", - "originalRef": "分页结果«酒店列表VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«酒店列表VO»»" - }, - "统一响应结果«分页结果«酒店标签VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«酒店标签VO»", - "originalRef": "分页结果«酒店标签VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«酒店标签VO»»" - }, - "统一响应结果«房型详情VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/房型详情VO", - "originalRef": "房型详情VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«房型详情VO»" - }, - "统一响应结果«酒店房型价格日历VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/酒店房型价格日历VO", - "originalRef": "酒店房型价格日历VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«酒店房型价格日历VO»" - }, - "统一响应结果«酒店标签VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/酒店标签VO", - "originalRef": "酒店标签VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«酒店标签VO»" - }, - "统一响应结果«酒店详情VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/酒店详情VO", - "originalRef": "酒店详情VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«酒店详情VO»" - }, - "酒店列表VO": { - "type": "object", - "properties": { - "approvalNo": { - "type": "string", - "description": "审批单号" - }, - "city": { - "type": "string", - "description": "城市" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "diamondLevel": { - "type": "integer", - "format": "int32", - "description": "钻级:0-5" - }, - "hotelId": { - "type": "string", - "description": "酒店ID" - }, - "hotelType": { - "type": "string", - "description": "住宿类型" - }, - "name": { - "type": "string", - "description": "酒店名称" - }, - "pendingStatus": { - "type": "integer", - "format": "int32", - "description": "待审批目标状态" - }, - "roomTypeCount": { - "type": "integer", - "format": "int32", - "description": "房型数量" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "starLevel": { - "type": "integer", - "format": "int32", - "description": "星级:1-5" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/酒店标签VO", - "originalRef": "酒店标签VO" - } - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - } - }, - "title": "酒店列表VO" - }, - "酒店创建请求": { - "type": "object", - "required": [ - "address", - "hotelType", - "latitude", - "longitude", - "name" - ], - "properties": { - "address": { - "type": "string", - "example": "束河古镇悦榕路1号", - "description": "详细地址" - }, - "bannerMaterialIds": { - "type": "array", - "description": "横幅素材ID列表", - "items": { - "type": "string" - } - }, - "checkInNotes": { - "type": "string", - "description": "入住须知" - }, - "checkInTime": { - "type": "string", - "example": "14:00", - "description": "入住时间" - }, - "checkOutTime": { - "type": "string", - "example": "12:00", - "description": "退房时间" - }, - "city": { - "type": "string", - "example": "丽江市", - "description": "城市" - }, - "contactPerson": { - "type": "string", - "example": "张经理", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "example": 13800138000, - "description": "联系电话" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "description": { - "type": "string", - "description": "酒店描述" - }, - "diamondLevel": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "钻级:0-5" - }, - "district": { - "type": "string", - "example": "古城区", - "description": "区县" - }, - "facilities": { - "type": "string", - "description": "设施配置(JSON)" - }, - "highlights": { - "type": "string", - "description": "酒店亮点(JSON)" - }, - "hotelType": { - "type": "string", - "example": "HOTEL", - "description": "住宿类型" - }, - "latitude": { - "type": "number", - "example": 26.8721, - "description": "纬度" - }, - "longitude": { - "type": "number", - "example": 100.2134, - "description": "经度" - }, - "luggageInfo": { - "type": "string", - "description": "行李服务说明" - }, - "name": { - "type": "string", - "example": "丽江悦榕庄", - "description": "酒店名称" - }, - "parkingInfo": { - "type": "string", - "description": "停车信息" - }, - "province": { - "type": "string", - "example": "云南省", - "description": "省份" - }, - "shuttleInfo": { - "type": "string", - "description": "接驳服务说明" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重,值越大越靠前" - }, - "starLevel": { - "type": "integer", - "format": "int32", - "example": 5, - "description": "星级:1-5" - }, - "subtitle": { - "type": "string", - "example": "古城边的世外桃源", - "description": "副标题" - }, - "usageNotes": { - "type": "string", - "description": "使用须知" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - } - }, - "title": "酒店创建请求" - }, - "酒店审批提交请求": { - "type": "object", - "required": [ - "reason", - "targetStatus" - ], - "properties": { - "reason": { - "type": "string", - "example": "信息已核实,申请上架", - "description": "审批理由" - }, - "targetStatus": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "目标状态:1=上架 2=下架" - } - }, - "title": "酒店审批提交请求" - }, - "酒店房型价格日历VO": { - "type": "object", - "properties": { - "hotelId": { - "type": "string", - "description": "酒店ID" - }, - "month": { - "type": "integer", - "format": "int32", - "description": "月份" - }, - "prices": { - "type": "array", - "description": "价格日历明细列表", - "items": { - "$ref": "#/definitions/酒店房型价格日历日VO", - "originalRef": "酒店房型价格日历日VO" - } - }, - "roomTypeId": { - "type": "string", - "description": "房型ID" - }, - "roomTypeName": { - "type": "string", - "description": "房型名称" - }, - "stockEnabled": { - "type": "boolean", - "description": "是否启用库存管理" - }, - "year": { - "type": "integer", - "format": "int32", - "description": "年份" - } - }, - "title": "酒店房型价格日历VO" - }, - "酒店房型价格日历日VO": { - "type": "object", - "properties": { - "costPrice": { - "type": "number", - "description": "成本价(元)" - }, - "date": { - "type": "string", - "format": "date", - "description": "日期" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=不可售 1=可售" - }, - "stock": { - "type": "integer", - "format": "int32", - "description": "库存数量" - }, - "stockUsed": { - "type": "integer", - "format": "int32", - "description": "已用库存" - } - }, - "title": "酒店房型价格日历日VO" - }, - "酒店房型价格日历状态变更请求": { - "type": "object", - "required": [ - "endDate", - "startDate", - "status" - ], - "properties": { - "endDate": { - "type": "string", - "example": "2026-03-31", - "description": "结束日期(yyyy-MM-dd)" - }, - "remark": { - "type": "string", - "example": "临时关闭预订", - "description": "备注" - }, - "startDate": { - "type": "string", - "example": "2026-03-01", - "description": "开始日期(yyyy-MM-dd)" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=不可售 1=可售" - } - }, - "title": "酒店房型价格日历状态变更请求" - }, - "酒店房型价格日历设置请求": { - "type": "object", - "required": [ - "costPrice", - "endDate", - "startDate" - ], - "properties": { - "costPrice": { - "type": "number", - "example": 580.0, - "description": "成本价(元)" - }, - "endDate": { - "type": "string", - "example": "2026-03-31", - "description": "结束日期(yyyy-MM-dd)" - }, - "excludeDates": { - "type": "array", - "example": [ - "2026-03-08", - "2026-03-15" - ], - "description": "排除日期列表", - "items": { - "type": "string" - } - }, - "remark": { - "type": "string", - "example": "旺季价格", - "description": "备注" - }, - "selectedWeekdays": { - "type": "array", - "example": [ - 1, - 2, - 3, - 4, - 5 - ], - "description": "指定星期几(1=周一 7=周日)", - "items": { - "type": "integer", - "format": "int32" - } - }, - "startDate": { - "type": "string", - "example": "2026-03-01", - "description": "开始日期(yyyy-MM-dd)" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=不可售 1=可售" - }, - "stock": { - "type": "integer", - "format": "int32", - "example": 10, - "description": "库存数量" - }, - "weekdayOnly": { - "type": "boolean", - "example": false, - "description": "是否仅工作日" - }, - "weekendOnly": { - "type": "boolean", - "example": false, - "description": "是否仅周末" - } - }, - "title": "酒店房型价格日历设置请求" - }, - "酒店批量删除请求": { - "type": "object", - "required": [ - "hotelIds" - ], - "properties": { - "hotelIds": { - "type": "array", - "example": [ - "1", - "2", - "3" - ], - "description": "酒店ID列表", - "items": { - "type": "string" - } - } - }, - "title": "酒店批量删除请求" - }, - "酒店批量标签操作请求": { - "type": "object", - "required": [ - "hotelIds" - ], - "properties": { - "addTagIds": { - "type": "array", - "example": [ - "10", - "11" - ], - "description": "要添加的标签ID列表", - "items": { - "type": "string" - } - }, - "hotelIds": { - "type": "array", - "example": [ - "1", - "2", - "3" - ], - "description": "酒店ID列表", - "items": { - "type": "string" - } - }, - "removeTagIds": { - "type": "array", - "example": [ - "12" - ], - "description": "要移除的标签ID列表", - "items": { - "type": "string" - } - } - }, - "title": "酒店批量标签操作请求" - }, - "酒店更新请求": { - "type": "object", - "properties": { - "address": { - "type": "string", - "example": "束河古镇悦榕路1号", - "description": "详细地址" - }, - "bannerMaterialIds": { - "type": "array", - "description": "横幅素材ID列表", - "items": { - "type": "string" - } - }, - "checkInNotes": { - "type": "string", - "description": "入住须知" - }, - "checkInTime": { - "type": "string", - "example": "14:00", - "description": "入住时间" - }, - "checkOutTime": { - "type": "string", - "example": "12:00", - "description": "退房时间" - }, - "city": { - "type": "string", - "example": "丽江市", - "description": "城市" - }, - "contactPerson": { - "type": "string", - "example": "张经理", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "example": 13800138000, - "description": "联系电话" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "description": { - "type": "string", - "description": "酒店描述" - }, - "diamondLevel": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "钻级:0-5" - }, - "district": { - "type": "string", - "example": "古城区", - "description": "区县" - }, - "facilities": { - "type": "string", - "description": "设施配置(JSON)" - }, - "highlights": { - "type": "string", - "description": "酒店亮点(JSON)" - }, - "hotelType": { - "type": "string", - "example": "HOTEL", - "description": "住宿类型" - }, - "latitude": { - "type": "number", - "example": 26.8721, - "description": "纬度" - }, - "longitude": { - "type": "number", - "example": 100.2134, - "description": "经度" - }, - "luggageInfo": { - "type": "string", - "description": "行李服务说明" - }, - "name": { - "type": "string", - "example": "丽江悦榕庄", - "description": "酒店名称" - }, - "parkingInfo": { - "type": "string", - "description": "停车信息" - }, - "province": { - "type": "string", - "example": "云南省", - "description": "省份" - }, - "shuttleInfo": { - "type": "string", - "description": "接驳服务说明" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重,值越大越靠前" - }, - "starLevel": { - "type": "integer", - "format": "int32", - "example": 5, - "description": "星级:1-5" - }, - "subtitle": { - "type": "string", - "example": "古城边的世外桃源", - "description": "副标题" - }, - "usageNotes": { - "type": "string", - "description": "使用须知" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - } - }, - "title": "酒店更新请求" - }, - "酒店标签VO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "tagColor": { - "type": "string", - "description": "标签颜色(十六进制)" - }, - "tagId": { - "type": "string", - "description": "标签ID" - }, - "tagName": { - "type": "string", - "description": "标签名称" - }, - "tagType": { - "type": "integer", - "format": "int32", - "description": "标签类型:0=自定义 1=系统" - }, - "useCount": { - "type": "integer", - "format": "int32", - "description": "使用次数" - } - }, - "title": "酒店标签VO" - }, - "酒店标签创建请求": { - "type": "object", - "required": [ - "tagName" - ], - "properties": { - "tagColor": { - "type": "string", - "example": "#FF6600", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "example": "温泉酒店", - "description": "标签名称" - } - }, - "title": "酒店标签创建请求" - }, - "酒店标签更新请求": { - "type": "object", - "properties": { - "tagColor": { - "type": "string", - "example": "#FF6600", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "example": "温泉酒店", - "description": "标签名称" - } - }, - "title": "酒店标签更新请求" - }, - "酒店标签更新请求_1": { - "type": "object", - "properties": { - "tagIds": { - "type": "array", - "description": "标签ID列表(全量替换)", - "items": { - "type": "string" - } - } - }, - "title": "酒店标签更新请求_1" - }, - "酒店状态变更请求": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "hotelIds": { - "type": "array", - "description": "酒店ID列表(批量操作时使用)", - "items": { - "type": "string" - } - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "目标状态:0=草稿 1=上架 2=下架" - } - }, - "title": "酒店状态变更请求" - }, - "酒店详情VO": { - "type": "object", - "properties": { - "address": { - "type": "string", - "description": "详细地址" - }, - "bannerMaterialIds": { - "type": "array", - "description": "横幅素材ID列表", - "items": { - "type": "string" - } - }, - "bannerUrls": { - "type": "array", - "description": "横幅图URL列表", - "items": { - "type": "string" - } - }, - "checkInNotes": { - "type": "string", - "description": "入住须知" - }, - "checkInTime": { - "type": "string", - "description": "入住时间" - }, - "checkOutTime": { - "type": "string", - "description": "退房时间" - }, - "city": { - "type": "string", - "description": "城市" - }, - "contactPerson": { - "type": "string", - "description": "联系人姓名" - }, - "contactPhone": { - "type": "string", - "description": "联系电话" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "string", - "description": "创建者ID" - }, - "description": { - "type": "string", - "description": "酒店描述" - }, - "diamondLevel": { - "type": "integer", - "format": "int32", - "description": "钻级:0-5" - }, - "district": { - "type": "string", - "description": "区县" - }, - "facilities": { - "type": "string", - "description": "设施配置(JSON)" - }, - "highlights": { - "type": "string", - "description": "酒店亮点(JSON)" - }, - "hotelId": { - "type": "string", - "description": "酒店ID" - }, - "hotelType": { - "type": "string", - "description": "住宿类型" - }, - "latitude": { - "type": "number", - "description": "纬度" - }, - "longitude": { - "type": "number", - "description": "经度" - }, - "luggageInfo": { - "type": "string", - "description": "行李服务说明" - }, - "name": { - "type": "string", - "description": "酒店名称" - }, - "parkingInfo": { - "type": "string", - "description": "停车信息" - }, - "province": { - "type": "string", - "description": "省份" - }, - "roomTypeCount": { - "type": "integer", - "format": "int32", - "description": "房型数量" - }, - "shuttleInfo": { - "type": "string", - "description": "接驳服务说明" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "starLevel": { - "type": "integer", - "format": "int32", - "description": "星级:1-5" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/酒店标签VO", - "originalRef": "酒店标签VO" - } - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "usageNotes": { - "type": "string", - "description": "使用须知" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - }, - "videoUrls": { - "type": "array", - "description": "视频URL列表", - "items": { - "type": "string" - } - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - } - }, - "title": "酒店详情VO" - }, - "分页结果«服务标签VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/服务标签VO", - "originalRef": "服务标签VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«服务标签VO»" - }, - "分页结果«服务项列表VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/服务项列表VO", - "originalRef": "服务项列表VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«服务项列表VO»" - }, - "服务标签VO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "tagColor": { - "type": "string", - "description": "标签颜色(十六进制)" - }, - "tagId": { - "type": "string", - "description": "标签ID" - }, - "tagName": { - "type": "string", - "description": "标签名称" - }, - "tagType": { - "type": "integer", - "format": "int32", - "description": "标签类型:0=自定义 1=系统" - }, - "useCount": { - "type": "integer", - "format": "int32", - "description": "使用次数" - } - }, - "title": "服务标签VO" - }, - "服务标签创建请求": { - "type": "object", - "required": [ - "tagName" - ], - "properties": { - "tagColor": { - "type": "string", - "example": "#FF6600", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "example": "精品服务", - "description": "标签名称" - } - }, - "title": "服务标签创建请求" - }, - "服务标签更新请求": { - "type": "object", - "properties": { - "tagColor": { - "type": "string", - "example": "#FF6600", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "example": "精品服务", - "description": "标签名称" - } - }, - "title": "服务标签更新请求" - }, - "服务项价格日历VO": { - "type": "object", - "properties": { - "month": { - "type": "integer", - "format": "int32", - "description": "月份" - }, - "prices": { - "type": "array", - "description": "价格日历明细列表", - "items": { - "$ref": "#/definitions/服务项价格日历日VO", - "originalRef": "服务项价格日历日VO" - } - }, - "serviceId": { - "type": "string", - "description": "服务项ID" - }, - "serviceName": { - "type": "string", - "description": "服务项名称" - }, - "stockEnabled": { - "type": "boolean", - "description": "是否启用库存管理" - }, - "year": { - "type": "integer", - "format": "int32", - "description": "年份" - } - }, - "title": "服务项价格日历VO" - }, - "服务项价格日历日VO": { - "type": "object", - "properties": { - "costPrice": { - "type": "number", - "description": "成本价(元)" - }, - "date": { - "type": "string", - "format": "date", - "description": "日期" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=不可售 1=可售" - }, - "stock": { - "type": "integer", - "format": "int32", - "description": "库存数量" - }, - "stockUsed": { - "type": "integer", - "format": "int32", - "description": "已用库存" - } - }, - "title": "服务项价格日历日VO" - }, - "服务项价格日历状态变更请求": { - "type": "object", - "required": [ - "endDate", - "startDate", - "status" - ], - "properties": { - "endDate": { - "type": "string", - "example": "2026-03-31", - "description": "结束日期(yyyy-MM-dd)" - }, - "remark": { - "type": "string", - "example": "临时关闭预订", - "description": "备注" - }, - "startDate": { - "type": "string", - "example": "2026-03-01", - "description": "开始日期(yyyy-MM-dd)" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=不可售 1=可售" - } - }, - "title": "服务项价格日历状态变更请求" - }, - "服务项价格日历设置请求": { - "type": "object", - "required": [ - "costPrice", - "endDate", - "startDate" - ], - "properties": { - "costPrice": { - "type": "number", - "example": 200.0, - "description": "成本价(元)" - }, - "endDate": { - "type": "string", - "example": "2026-03-31", - "description": "结束日期(yyyy-MM-dd)" - }, - "excludeDates": { - "type": "array", - "example": [ - "2026-03-08", - "2026-03-15" - ], - "description": "排除日期列表", - "items": { - "type": "string" - } - }, - "remark": { - "type": "string", - "example": "旺季价格", - "description": "备注" - }, - "selectedWeekdays": { - "type": "array", - "example": [ - 1, - 2, - 3, - 4, - 5 - ], - "description": "指定星期几(1=周一 7=周日)", - "items": { - "type": "integer", - "format": "int32" - } - }, - "startDate": { - "type": "string", - "example": "2026-03-01", - "description": "开始日期(yyyy-MM-dd)" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=不可售 1=可售" - }, - "stock": { - "type": "integer", - "format": "int32", - "example": 50, - "description": "库存数量" - }, - "weekdayOnly": { - "type": "boolean", - "example": false, - "description": "是否仅工作日" - }, - "weekendOnly": { - "type": "boolean", - "example": false, - "description": "是否仅周末" - } - }, - "title": "服务项价格日历设置请求" - }, - "服务项列表VO": { - "type": "object", - "properties": { - "approvalNo": { - "type": "string", - "description": "审批单号" - }, - "basePrice": { - "type": "number", - "description": "基础价格(元)" - }, - "billingType": { - "type": "string", - "description": "计费方式" - }, - "categoryCode": { - "type": "string", - "description": "分类编码" - }, - "city": { - "type": "string", - "description": "城市" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "durationHours": { - "type": "number", - "description": "服务时长(小时)" - }, - "highlights": { - "type": "string", - "description": "服务亮点" - }, - "instantConfirm": { - "type": "integer", - "format": "int32", - "description": "是否即时确认:0=否 1=是" - }, - "isPaid": { - "type": "integer", - "format": "int32", - "description": "是否收费:0=免费 1=收费" - }, - "latitude": { - "type": "number", - "description": "纬度" - }, - "longitude": { - "type": "number", - "description": "经度" - }, - "name": { - "type": "string", - "description": "服务名称" - }, - "pendingStatus": { - "type": "integer", - "format": "int32", - "description": "待审批目标状态" - }, - "serviceId": { - "type": "string", - "description": "服务项ID" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/服务标签VO", - "originalRef": "服务标签VO" - } - }, - "unit": { - "type": "string", - "description": "计价单位" - }, - "vehicleType": { - "type": "string", - "description": "配套车型" - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - } - }, - "title": "服务项列表VO" - }, - "服务项创建请求": { - "type": "object", - "required": [ - "categoryCode", - "isPaid", - "name" - ], - "properties": { - "address": { - "type": "string", - "example": "丽江古城区", - "description": "详细地址" - }, - "advanceBookingHours": { - "type": "integer", - "format": "int32", - "example": 24, - "description": "提前预订时间(小时)" - }, - "bannerMaterialIds": { - "type": "array", - "description": "横幅素材ID列表", - "items": { - "type": "string" - } - }, - "basePrice": { - "type": "number", - "example": 500.0, - "description": "基础价格(元)" - }, - "billingType": { - "type": "string", - "example": "PER_DAY", - "description": "计费方式" - }, - "cancellationPolicy": { - "type": "string", - "description": "取消政策说明" - }, - "capacityMax": { - "type": "integer", - "format": "int32", - "example": 10, - "description": "最多服务人数" - }, - "capacityMin": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "最少服务人数" - }, - "categoryCode": { - "type": "string", - "example": "GUIDE", - "description": "分类编码" - }, - "city": { - "type": "string", - "example": "丽江市", - "description": "城市" - }, - "contactPhone": { - "type": "string", - "example": 13800138000, - "description": "联系电话" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "description": { - "type": "string", - "description": "服务描述" - }, - "durationHours": { - "type": "number", - "example": 8.0, - "description": "服务时长(小时)" - }, - "equipmentList": { - "type": "string", - "description": "设备清单(JSON)" - }, - "freeCancelHours": { - "type": "integer", - "format": "int32", - "example": 48, - "description": "免费取消期限(小时)" - }, - "highlights": { - "type": "string", - "description": "服务亮点" - }, - "includedItems": { - "type": "string", - "description": "包含项目说明" - }, - "instantConfirm": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "是否即时确认:0=否 1=是" - }, - "isPaid": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "是否收费:0=免费 1=收费" - }, - "languageSupport": { - "type": "string", - "example": "中文,英文", - "description": "语言支持" - }, - "latitude": { - "type": "number", - "example": 26.8721, - "description": "纬度" - }, - "longitude": { - "type": "number", - "example": 100.2134, - "description": "经度" - }, - "name": { - "type": "string", - "example": "专属导游服务", - "description": "服务名称" - }, - "priceExcludes": { - "type": "string", - "description": "价格不包含内容" - }, - "priceIncludes": { - "type": "string", - "description": "价格包含内容" - }, - "province": { - "type": "string", - "example": "云南省", - "description": "省份" - }, - "serviceHours": { - "type": "string", - "example": "08:00-18:00", - "description": "服务时段" - }, - "serviceProcess": { - "type": "string", - "description": "服务流程说明" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重,值越大越靠前" - }, - "staffCount": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "服务人员数量" - }, - "subtitle": { - "type": "string", - "example": "资深导游全程陪同", - "description": "副标题" - }, - "unit": { - "type": "string", - "example": "天", - "description": "计价单位" - }, - "usageNotes": { - "type": "string", - "description": "使用须知" - }, - "vehicleType": { - "type": "string", - "example": "商务车", - "description": "配套车型" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - } - }, - "title": "服务项创建请求" - }, - "服务项审批提交请求": { - "type": "object", - "required": [ - "reason", - "targetStatus" - ], - "properties": { - "reason": { - "type": "string", - "example": "信息已核实,申请上架", - "description": "审批理由" - }, - "targetStatus": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "目标状态:1=上架 2=下架" - } - }, - "title": "服务项审批提交请求" - }, - "服务项批量删除请求": { - "type": "object", - "required": [ - "serviceIds" - ], - "properties": { - "serviceIds": { - "type": "array", - "example": [ - "1", - "2", - "3" - ], - "description": "服务ID列表", - "items": { - "type": "string" - } - } - }, - "title": "服务项批量删除请求" - }, - "服务项批量标签操作请求": { - "type": "object", - "required": [ - "serviceIds" - ], - "properties": { - "addTagIds": { - "type": "array", - "example": [ - "10", - "11" - ], - "description": "要添加的标签ID列表", - "items": { - "type": "string" - } - }, - "removeTagIds": { - "type": "array", - "example": [ - "12" - ], - "description": "要移除的标签ID列表", - "items": { - "type": "string" - } - }, - "serviceIds": { - "type": "array", - "example": [ - "1", - "2", - "3" - ], - "description": "服务ID列表", - "items": { - "type": "string" - } - } - }, - "title": "服务项批量标签操作请求" - }, - "服务项更新请求": { - "type": "object", - "properties": { - "address": { - "type": "string", - "example": "丽江古城区", - "description": "详细地址" - }, - "advanceBookingHours": { - "type": "integer", - "format": "int32", - "example": 24, - "description": "提前预订时间(小时)" - }, - "bannerMaterialIds": { - "type": "array", - "description": "横幅素材ID列表", - "items": { - "type": "string" - } - }, - "basePrice": { - "type": "number", - "example": 500.0, - "description": "基础价格(元)" - }, - "billingType": { - "type": "string", - "example": "PER_DAY", - "description": "计费方式" - }, - "cancellationPolicy": { - "type": "string", - "description": "取消政策说明" - }, - "capacityMax": { - "type": "integer", - "format": "int32", - "example": 10, - "description": "最多服务人数" - }, - "capacityMin": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "最少服务人数" - }, - "categoryCode": { - "type": "string", - "example": "GUIDE", - "description": "分类编码" - }, - "city": { - "type": "string", - "example": "丽江市", - "description": "城市" - }, - "contactPhone": { - "type": "string", - "example": 13800138000, - "description": "联系电话" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "description": { - "type": "string", - "description": "服务描述" - }, - "durationHours": { - "type": "number", - "example": 8.0, - "description": "服务时长(小时)" - }, - "equipmentList": { - "type": "string", - "description": "设备清单(JSON)" - }, - "freeCancelHours": { - "type": "integer", - "format": "int32", - "example": 48, - "description": "免费取消期限(小时)" - }, - "highlights": { - "type": "string", - "description": "服务亮点" - }, - "includedItems": { - "type": "string", - "description": "包含项目说明" - }, - "instantConfirm": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "是否即时确认:0=否 1=是" - }, - "isPaid": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "是否收费:0=免费 1=收费" - }, - "languageSupport": { - "type": "string", - "example": "中文,英文", - "description": "语言支持" - }, - "latitude": { - "type": "number", - "example": 26.8721, - "description": "纬度" - }, - "longitude": { - "type": "number", - "example": 100.2134, - "description": "经度" - }, - "name": { - "type": "string", - "example": "专属导游服务", - "description": "服务名称" - }, - "priceExcludes": { - "type": "string", - "description": "价格不包含内容" - }, - "priceIncludes": { - "type": "string", - "description": "价格包含内容" - }, - "province": { - "type": "string", - "example": "云南省", - "description": "省份" - }, - "serviceHours": { - "type": "string", - "example": "08:00-18:00", - "description": "服务时段" - }, - "serviceProcess": { - "type": "string", - "description": "服务流程说明" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重,值越大越靠前" - }, - "staffCount": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "服务人员数量" - }, - "subtitle": { - "type": "string", - "example": "资深导游全程陪同", - "description": "副标题" - }, - "unit": { - "type": "string", - "example": "天", - "description": "计价单位" - }, - "usageNotes": { - "type": "string", - "description": "使用须知" - }, - "vehicleType": { - "type": "string", - "example": "商务车", - "description": "配套车型" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - } - }, - "title": "服务项更新请求" - }, - "服务项标签更新请求": { - "type": "object", - "properties": { - "tagIds": { - "type": "array", - "description": "标签ID列表(全量替换)", - "items": { - "type": "string" - } - } - }, - "title": "服务项标签更新请求" - }, - "服务项状态变更请求": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "serviceIds": { - "type": "array", - "description": "服务ID列表(批量操作时使用)", - "items": { - "type": "string" - } - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "目标状态:0=草稿 1=上架 2=下架" - } - }, - "title": "服务项状态变更请求" - }, - "服务项详情VO": { - "type": "object", - "properties": { - "address": { - "type": "string", - "description": "详细地址" - }, - "advanceBookingHours": { - "type": "integer", - "format": "int32", - "description": "提前预订时间(小时)" - }, - "bannerMaterialIds": { - "type": "array", - "description": "横幅素材ID列表", - "items": { - "type": "string" - } - }, - "bannerUrls": { - "type": "array", - "description": "横幅图URL列表", - "items": { - "type": "string" - } - }, - "basePrice": { - "type": "number", - "description": "基础价格(元)" - }, - "billingType": { - "type": "string", - "description": "计费方式" - }, - "cancellationPolicy": { - "type": "string", - "description": "取消政策说明" - }, - "capacityMax": { - "type": "integer", - "format": "int32", - "description": "最多服务人数" - }, - "capacityMin": { - "type": "integer", - "format": "int32", - "description": "最少服务人数" - }, - "categoryCode": { - "type": "string", - "description": "分类编码" - }, - "city": { - "type": "string", - "description": "城市" - }, - "contactPhone": { - "type": "string", - "description": "联系电话" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "string", - "description": "创建者ID" - }, - "description": { - "type": "string", - "description": "服务描述" - }, - "durationHours": { - "type": "number", - "description": "服务时长(小时)" - }, - "equipmentList": { - "type": "string", - "description": "设备清单(JSON)" - }, - "freeCancelHours": { - "type": "integer", - "format": "int32", - "description": "免费取消期限(小时)" - }, - "highlights": { - "type": "string", - "description": "服务亮点" - }, - "includedItems": { - "type": "string", - "description": "包含项目说明" - }, - "instantConfirm": { - "type": "integer", - "format": "int32", - "description": "是否即时确认:0=否 1=是" - }, - "isPaid": { - "type": "integer", - "format": "int32", - "description": "是否收费:0=免费 1=收费" - }, - "languageSupport": { - "type": "string", - "description": "语言支持" - }, - "latitude": { - "type": "number", - "description": "纬度" - }, - "longitude": { - "type": "number", - "description": "经度" - }, - "name": { - "type": "string", - "description": "服务名称" - }, - "priceExcludes": { - "type": "string", - "description": "价格不包含内容" - }, - "priceIncludes": { - "type": "string", - "description": "价格包含内容" - }, - "province": { - "type": "string", - "description": "省份" - }, - "serviceHours": { - "type": "string", - "description": "服务时段" - }, - "serviceId": { - "type": "string", - "description": "服务项ID" - }, - "serviceProcess": { - "type": "string", - "description": "服务流程说明" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "staffCount": { - "type": "integer", - "format": "int32", - "description": "服务人员数量" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/服务标签VO", - "originalRef": "服务标签VO" - } - }, - "unit": { - "type": "string", - "description": "计价单位" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "usageNotes": { - "type": "string", - "description": "使用须知" - }, - "vehicleType": { - "type": "string", - "description": "配套车型" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - }, - "videoUrls": { - "type": "array", - "description": "视频URL列表", - "items": { - "type": "string" - } - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - } - }, - "title": "服务项详情VO" - }, - "统一响应结果«List«服务标签VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/服务标签VO", - "originalRef": "服务标签VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«服务标签VO»»" - }, - "统一响应结果«分页结果«服务标签VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«服务标签VO»", - "originalRef": "分页结果«服务标签VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«服务标签VO»»" - }, - "统一响应结果«分页结果«服务项列表VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«服务项列表VO»", - "originalRef": "分页结果«服务项列表VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«服务项列表VO»»" - }, - "统一响应结果«服务标签VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/服务标签VO", - "originalRef": "服务标签VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«服务标签VO»" - }, - "统一响应结果«服务项价格日历VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/服务项价格日历VO", - "originalRef": "服务项价格日历VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«服务项价格日历VO»" - }, - "统一响应结果«服务项详情VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/服务项详情VO", - "originalRef": "服务项详情VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«服务项详情VO»" - }, - "分页结果«车型列表VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/车型列表VO", - "originalRef": "车型列表VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«车型列表VO»" - }, - "分页结果«车辆标签VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/车辆标签VO", - "originalRef": "车辆标签VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«车辆标签VO»" - }, - "统一响应结果«List«车型列表VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/车型列表VO", - "originalRef": "车型列表VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«车型列表VO»»" - }, - "统一响应结果«List«车辆标签VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/车辆标签VO", - "originalRef": "车辆标签VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«车辆标签VO»»" - }, - "统一响应结果«分页结果«车型列表VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«车型列表VO»", - "originalRef": "分页结果«车型列表VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«车型列表VO»»" - }, - "统一响应结果«分页结果«车辆标签VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«车辆标签VO»", - "originalRef": "分页结果«车辆标签VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«车辆标签VO»»" - }, - "统一响应结果«车型价格日历VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/车型价格日历VO", - "originalRef": "车型价格日历VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«车型价格日历VO»" - }, - "统一响应结果«车型详情VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/车型详情VO", - "originalRef": "车型详情VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«车型详情VO»" - }, - "统一响应结果«车辆标签VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/车辆标签VO", - "originalRef": "车辆标签VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«车辆标签VO»" - }, - "设置车型标签请求": { - "type": "object", - "required": [ - "tagIds" - ], - "properties": { - "tagIds": { - "type": "array", - "description": "标签ID列表", - "items": { - "type": "integer", - "format": "int64" - } - } - }, - "title": "设置车型标签请求" - }, - "车型价格日历VO": { - "type": "object", - "properties": { - "month": { - "type": "integer", - "format": "int32", - "description": "月份" - }, - "prices": { - "type": "array", - "description": "价格日历明细列表", - "items": { - "$ref": "#/definitions/车型价格日历日VO", - "originalRef": "车型价格日历日VO" - } - }, - "stockEnabled": { - "type": "boolean", - "description": "是否启用库存管理" - }, - "vehicleId": { - "type": "string", - "description": "车型ID" - }, - "vehicleName": { - "type": "string", - "description": "车型名称" - }, - "year": { - "type": "integer", - "format": "int32", - "description": "年份" - } - }, - "title": "车型价格日历VO" - }, - "车型价格日历日VO": { - "type": "object", - "properties": { - "costPrice": { - "type": "number", - "description": "日租价(元)" - }, - "date": { - "type": "string", - "format": "date", - "description": "日期" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=不可租 1=可租" - }, - "stock": { - "type": "integer", - "format": "int32", - "description": "库存数量" - }, - "stockUsed": { - "type": "integer", - "format": "int32", - "description": "已用库存" - } - }, - "title": "车型价格日历日VO" - }, - "车型价格日历状态变更请求": { - "type": "object", - "required": [ - "endDate", - "startDate", - "status" - ], - "properties": { - "endDate": { - "type": "string", - "format": "date", - "example": "2026-03-31", - "description": "结束日期" - }, - "remark": { - "type": "string", - "example": "临时停租", - "description": "备注" - }, - "startDate": { - "type": "string", - "format": "date", - "example": "2026-03-01", - "description": "开始日期" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=不可租 1=可租" - } - }, - "title": "车型价格日历状态变更请求" - }, - "车型价格日历设置请求": { - "type": "object", - "required": [ - "costPrice", - "endDate", - "startDate" - ], - "properties": { - "costPrice": { - "type": "number", - "example": 800.0, - "description": "日租价(元)" - }, - "endDate": { - "type": "string", - "format": "date", - "example": "2026-03-31", - "description": "结束日期" - }, - "excludeDates": { - "type": "array", - "description": "排除日期列表", - "items": { - "$ref": "#/definitions/LocalDate", - "originalRef": "LocalDate" - } - }, - "remark": { - "type": "string", - "example": "旺季价格", - "description": "备注" - }, - "selectedWeekdays": { - "type": "array", - "example": [ - 1, - 2, - 3, - 4, - 5 - ], - "description": "指定星期几(1=周一 7=周日)", - "items": { - "type": "integer", - "format": "int32" - } - }, - "startDate": { - "type": "string", - "format": "date", - "example": "2026-03-01", - "description": "开始日期" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=不可租 1=可租" - }, - "stock": { - "type": "integer", - "format": "int32", - "example": 5, - "description": "库存数量" - }, - "weekdayOnly": { - "type": "boolean", - "example": false, - "description": "是否仅工作日" - }, - "weekendOnly": { - "type": "boolean", - "example": false, - "description": "是否仅周末" - } - }, - "title": "车型价格日历设置请求" - }, - "车型列表VO": { - "type": "object", - "properties": { - "approvalNo": { - "type": "string", - "description": "审批单号" - }, - "basePrice": { - "type": "number", - "description": "基础日租价(元)" - }, - "brand": { - "type": "string", - "description": "品牌" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "highlights": { - "type": "string", - "description": "车型亮点" - }, - "modelSeries": { - "type": "string", - "description": "车系" - }, - "name": { - "type": "string", - "description": "车型名称" - }, - "passengerCount": { - "type": "integer", - "format": "int32", - "description": "可乘坐人数" - }, - "pendingStatus": { - "type": "integer", - "format": "int32", - "description": "待审批目标状态" - }, - "seatCount": { - "type": "integer", - "format": "int32", - "description": "座位数" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/车辆标签VO", - "originalRef": "车辆标签VO" - } - }, - "vehicleId": { - "type": "string", - "description": "车型ID" - }, - "vehicleType": { - "type": "string", - "description": "车型分类" - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - } - }, - "title": "车型列表VO" - }, - "车型创建请求": { - "type": "object", - "required": [ - "brand", - "name", - "passengerCount", - "seatCount", - "vehicleType" - ], - "properties": { - "bannerMaterialIds": { - "type": "array", - "description": "横幅素材ID列表", - "items": { - "type": "string" - } - }, - "basePrice": { - "type": "number", - "example": 800.0, - "description": "基础日租价(元)" - }, - "brand": { - "type": "string", - "example": "别克", - "description": "品牌" - }, - "comfortFeatures": { - "type": "string", - "description": "舒适配置(JSON)" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "description": { - "type": "string", - "description": "车型描述" - }, - "driveType": { - "type": "string", - "example": "前驱", - "description": "驱动方式" - }, - "engineType": { - "type": "string", - "example": "汽油", - "description": "动力类型" - }, - "highlights": { - "type": "string", - "description": "车型亮点" - }, - "luggageCapacity": { - "type": "string", - "example": "可放3个28寸行李箱", - "description": "行李容量描述" - }, - "modelSeries": { - "type": "string", - "example": "GL8", - "description": "车系" - }, - "modelYear": { - "type": "integer", - "format": "int32", - "example": 2025, - "description": "年款" - }, - "name": { - "type": "string", - "example": "别克GL8 ES", - "description": "车型名称" - }, - "passengerCount": { - "type": "integer", - "format": "int32", - "example": 6, - "description": "可乘坐人数" - }, - "priceExcludes": { - "type": "string", - "description": "价格不包含内容" - }, - "priceIncludes": { - "type": "string", - "description": "价格包含内容" - }, - "seatCount": { - "type": "integer", - "format": "int32", - "example": 7, - "description": "座位数" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重,值越大越靠前" - }, - "subtitle": { - "type": "string", - "example": "商务出行首选", - "description": "副标题" - }, - "transmission": { - "type": "string", - "example": "自动", - "description": "变速箱类型" - }, - "usageNotes": { - "type": "string", - "description": "使用须知" - }, - "vehicleType": { - "type": "string", - "example": "MPV", - "description": "车型分类" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - } - }, - "title": "车型创建请求" - }, - "车型审批提交请求": { - "type": "object", - "required": [ - "targetStatus" - ], - "properties": { - "reason": { - "type": "string", - "description": "审批原因" - }, - "targetStatus": { - "type": "integer", - "format": "int32", - "description": "目标状态" - } - }, - "title": "车型审批提交请求" - }, - "车型批量删除请求": { - "type": "object", - "required": [ - "vehicleIds" - ], - "properties": { - "vehicleIds": { - "type": "array", - "description": "车型ID列表", - "items": { - "type": "integer", - "format": "int64" - } - } - }, - "title": "车型批量删除请求" - }, - "车型批量标签操作请求": { - "type": "object", - "required": [ - "vehicleIds" - ], - "properties": { - "addTagIds": { - "type": "array", - "description": "要添加的标签ID列表", - "items": { - "type": "integer", - "format": "int64" - } - }, - "removeTagIds": { - "type": "array", - "description": "要移除的标签ID列表", - "items": { - "type": "integer", - "format": "int64" - } - }, - "vehicleIds": { - "type": "array", - "description": "车型ID列表", - "items": { - "type": "integer", - "format": "int64" - } - } - }, - "title": "车型批量标签操作请求" - }, - "车型更新请求": { - "type": "object", - "properties": { - "bannerMaterialIds": { - "type": "array", - "description": "横幅素材ID列表", - "items": { - "type": "string" - } - }, - "basePrice": { - "type": "number", - "example": 800.0, - "description": "基础日租价(元)" - }, - "brand": { - "type": "string", - "example": "别克", - "description": "品牌" - }, - "comfortFeatures": { - "type": "string", - "description": "舒适配置(JSON)" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "description": { - "type": "string", - "description": "车型描述" - }, - "driveType": { - "type": "string", - "example": "前驱", - "description": "驱动方式" - }, - "engineType": { - "type": "string", - "example": "汽油", - "description": "动力类型" - }, - "highlights": { - "type": "string", - "description": "车型亮点" - }, - "luggageCapacity": { - "type": "string", - "example": "可放3个28寸行李箱", - "description": "行李容量描述" - }, - "modelSeries": { - "type": "string", - "example": "GL8", - "description": "车系" - }, - "modelYear": { - "type": "integer", - "format": "int32", - "example": 2025, - "description": "年款" - }, - "name": { - "type": "string", - "example": "别克GL8 ES", - "description": "车型名称" - }, - "passengerCount": { - "type": "integer", - "format": "int32", - "example": 6, - "description": "可乘坐人数" - }, - "priceExcludes": { - "type": "string", - "description": "价格不包含内容" - }, - "priceIncludes": { - "type": "string", - "description": "价格包含内容" - }, - "seatCount": { - "type": "integer", - "format": "int32", - "example": 7, - "description": "座位数" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重,值越大越靠前" - }, - "subtitle": { - "type": "string", - "example": "商务出行首选", - "description": "副标题" - }, - "transmission": { - "type": "string", - "example": "自动", - "description": "变速箱类型" - }, - "usageNotes": { - "type": "string", - "description": "使用须知" - }, - "vehicleType": { - "type": "string", - "example": "MPV", - "description": "车型分类" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - } - }, - "title": "车型更新请求" - }, - "车型状态请求": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "integer", - "format": "int32", - "description": "目标状态:0=草稿 1=上架 2=下架" - }, - "vehicleIds": { - "type": "array", - "description": "车型ID列表(批量操作时使用)", - "items": { - "type": "integer", - "format": "int64" - } - } - }, - "title": "车型状态请求" - }, - "车型详情VO": { - "type": "object", - "properties": { - "bannerMaterialIds": { - "type": "array", - "description": "横幅素材ID列表", - "items": { - "type": "string" - } - }, - "bannerUrls": { - "type": "array", - "description": "横幅图URL列表", - "items": { - "type": "string" - } - }, - "basePrice": { - "type": "number", - "description": "基础日租价(元)" - }, - "brand": { - "type": "string", - "description": "品牌" - }, - "comfortFeatures": { - "type": "string", - "description": "舒适配置(JSON)" - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "string", - "description": "创建者ID" - }, - "description": { - "type": "string", - "description": "车型描述" - }, - "driveType": { - "type": "string", - "description": "驱动方式" - }, - "engineType": { - "type": "string", - "description": "动力类型" - }, - "highlights": { - "type": "string", - "description": "车型亮点" - }, - "luggageCapacity": { - "type": "string", - "description": "行李容量描述" - }, - "modelSeries": { - "type": "string", - "description": "车系" - }, - "modelYear": { - "type": "integer", - "format": "int32", - "description": "年款" - }, - "name": { - "type": "string", - "description": "车型名称" - }, - "passengerCount": { - "type": "integer", - "format": "int32", - "description": "可乘坐人数" - }, - "priceExcludes": { - "type": "string", - "description": "价格不包含内容" - }, - "priceIncludes": { - "type": "string", - "description": "价格包含内容" - }, - "seatCount": { - "type": "integer", - "format": "int32", - "description": "座位数" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/车辆标签VO", - "originalRef": "车辆标签VO" - } - }, - "transmission": { - "type": "string", - "description": "变速箱类型" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "usageNotes": { - "type": "string", - "description": "使用须知" - }, - "vehicleId": { - "type": "string", - "description": "车型ID" - }, - "vehicleType": { - "type": "string", - "description": "车型分类" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - }, - "videoUrls": { - "type": "array", - "description": "视频URL列表", - "items": { - "type": "string" - } - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - } - }, - "title": "车型详情VO" - }, - "车辆标签VO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "tagColor": { - "type": "string", - "description": "标签颜色(十六进制)" - }, - "tagId": { - "type": "string", - "description": "标签ID" - }, - "tagName": { - "type": "string", - "description": "标签名称" - }, - "tagType": { - "type": "integer", - "format": "int32", - "description": "标签类型:0=自定义 1=系统" - }, - "useCount": { - "type": "integer", - "format": "int32", - "description": "使用次数" - } - }, - "title": "车辆标签VO" - }, - "车辆标签创建请求": { - "type": "object", - "required": [ - "tagName" - ], - "properties": { - "tagColor": { - "type": "string", - "example": "#3366FF", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "example": "商务车", - "description": "标签名称" - } - }, - "title": "车辆标签创建请求" - }, - "车辆标签更新请求": { - "type": "object", - "properties": { - "tagColor": { - "type": "string", - "example": "#3366FF", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "example": "商务车", - "description": "标签名称" - } - }, - "title": "车辆标签更新请求" - }, - "分页结果«费用项列表VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/费用项列表VO", - "originalRef": "费用项列表VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«费用项列表VO»" - }, - "统一响应结果«List«费用项价格变更日志VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/费用项价格变更日志VO", - "originalRef": "费用项价格变更日志VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«费用项价格变更日志VO»»" - }, - "统一响应结果«List«费用项详情VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/费用项详情VO", - "originalRef": "费用项详情VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«费用项详情VO»»" - }, - "统一响应结果«分页结果«费用项列表VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«费用项列表VO»", - "originalRef": "分页结果«费用项列表VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«费用项列表VO»»" - }, - "统一响应结果«费用项价格日历VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/费用项价格日历VO", - "originalRef": "费用项价格日历VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«费用项价格日历VO»" - }, - "统一响应结果«费用项详情VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/费用项详情VO", - "originalRef": "费用项详情VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«费用项详情VO»" - }, - "费用项价格变更日志VO": { - "type": "object", - "properties": { - "changeReason": { - "type": "string", - "description": "变更原因" - }, - "changedAt": { - "type": "string", - "format": "date-time", - "description": "变更时间" - }, - "changedBy": { - "type": "string", - "description": "变更人ID" - }, - "costId": { - "type": "string", - "description": "费用项ID" - }, - "id": { - "type": "integer", - "format": "int64", - "description": "日志ID" - }, - "newPrice": { - "type": "number", - "description": "变更后价格(元)" - }, - "oldPrice": { - "type": "number", - "description": "变更前价格(元)" - } - }, - "title": "费用项价格变更日志VO" - }, - "费用项价格日历VO": { - "type": "object", - "properties": { - "days": { - "type": "array", - "description": "价格日历明细列表", - "items": { - "$ref": "#/definitions/费用项价格日历日VO", - "originalRef": "费用项价格日历日VO" - } - }, - "yearMonth": { - "type": "string", - "description": "年月(yyyy-MM)" - } - }, - "title": "费用项价格日历VO" - }, - "费用项价格日历日VO": { - "type": "object", - "properties": { - "date": { - "type": "string", - "description": "日期(yyyy-MM-dd)" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=不可用 1=可用" - }, - "unitPrice": { - "type": "number", - "description": "单价(元)" - } - }, - "title": "费用项价格日历日VO" - }, - "费用项价格日历设置请求": { - "type": "object", - "required": [ - "endDate", - "startDate", - "unitPrice" - ], - "properties": { - "dayFilter": { - "type": "string", - "example": "weekday", - "description": "日期过滤:weekday=仅工作日 weekend=仅周末" - }, - "endDate": { - "type": "string", - "format": "date", - "example": "2026-03-31", - "description": "结束日期" - }, - "excludeDates": { - "type": "array", - "description": "排除日期列表", - "items": { - "$ref": "#/definitions/LocalDate", - "originalRef": "LocalDate" - } - }, - "remark": { - "type": "string", - "example": "旺季价格", - "description": "备注" - }, - "selectedWeekdays": { - "type": "array", - "example": [ - 1, - 2, - 3, - 4, - 5 - ], - "description": "指定星期几(1=周一 7=周日)", - "items": { - "type": "integer", - "format": "int32" - } - }, - "startDate": { - "type": "string", - "format": "date", - "example": "2026-03-01", - "description": "开始日期" - }, - "unitPrice": { - "type": "number", - "example": 200.0, - "description": "单价(元)" - } - }, - "title": "费用项价格日历设置请求" - }, - "费用项列表VO": { - "type": "object", - "properties": { - "applyRole": { - "type": "string", - "description": "适用角色" - }, - "approvalNo": { - "type": "string", - "description": "审批单号" - }, - "categoryCode": { - "type": "string", - "description": "费用分类编码" - }, - "costId": { - "type": "string", - "description": "费用项ID" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "name": { - "type": "string", - "description": "费用名称" - }, - "pendingStatus": { - "type": "integer", - "format": "int32", - "description": "待审批目标状态" - }, - "refCount": { - "type": "integer", - "format": "int32", - "description": "引用次数" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "unit": { - "type": "string", - "description": "计价单位" - }, - "unitPrice": { - "type": "number", - "description": "单价(元)" - } - }, - "title": "费用项列表VO" - }, - "费用项创建请求": { - "type": "object", - "required": [ - "applyRole", - "categoryCode", - "name", - "unitPrice" - ], - "properties": { - "applyRole": { - "type": "string", - "example": "ADULT", - "description": "适用角色" - }, - "calcHint": { - "type": "string", - "example": "按人头*天数计算", - "description": "计算提示" - }, - "categoryCode": { - "type": "string", - "example": "GUIDE", - "description": "费用分类编码" - }, - "defaultFormula": { - "type": "string", - "example": "人数*天数*单价", - "description": "默认计算公式" - }, - "description": { - "type": "string", - "description": "费用描述" - }, - "name": { - "type": "string", - "example": "导游服务费", - "description": "费用名称" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重,值越大越靠前" - }, - "unit": { - "type": "string", - "example": "人/天", - "description": "计价单位" - }, - "unitPrice": { - "type": "number", - "example": 200.0, - "description": "单价(元)" - } - }, - "title": "费用项创建请求" - }, - "费用项审批提交请求": { - "type": "object", - "required": [ - "targetStatus" - ], - "properties": { - "reason": { - "type": "string", - "description": "审批原因" - }, - "targetStatus": { - "type": "integer", - "format": "int32", - "description": "目标状态" - } - }, - "title": "费用项审批提交请求" - }, - "费用项更新请求": { - "type": "object", - "properties": { - "applyRole": { - "type": "string", - "example": "ADULT", - "description": "适用角色" - }, - "calcHint": { - "type": "string", - "example": "按人头*天数计算", - "description": "计算提示" - }, - "categoryCode": { - "type": "string", - "example": "GUIDE", - "description": "费用分类编码" - }, - "changeReason": { - "type": "string", - "example": "供应商调价", - "description": "价格变更原因(修改单价时必填)" - }, - "defaultFormula": { - "type": "string", - "example": "人数*天数*单价", - "description": "默认计算公式" - }, - "description": { - "type": "string", - "description": "费用描述" - }, - "name": { - "type": "string", - "example": "导游服务费", - "description": "费用名称" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重,值越大越靠前" - }, - "unit": { - "type": "string", - "example": "人/天", - "description": "计价单位" - }, - "unitPrice": { - "type": "number", - "example": 250.0, - "description": "单价(元)" - } - }, - "title": "费用项更新请求" - }, - "费用项详情VO": { - "type": "object", - "properties": { - "applyRole": { - "type": "string", - "description": "适用角色" - }, - "approvalNo": { - "type": "string", - "description": "审批单号" - }, - "calcHint": { - "type": "string", - "description": "计算提示" - }, - "categoryCode": { - "type": "string", - "description": "费用分类编码" - }, - "costId": { - "type": "string", - "description": "费用项ID" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "string", - "description": "创建者ID" - }, - "defaultFormula": { - "type": "string", - "description": "默认计算公式" - }, - "description": { - "type": "string", - "description": "费用描述" - }, - "name": { - "type": "string", - "description": "费用名称" - }, - "pendingStatus": { - "type": "integer", - "format": "int32", - "description": "待审批目标状态" - }, - "refCount": { - "type": "integer", - "format": "int32", - "description": "引用次数" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=草稿 1=上架 2=下架" - }, - "unit": { - "type": "string", - "description": "计价单位" - }, - "unitPrice": { - "type": "number", - "description": "单价(元)" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "费用项详情VO" - }, - "人员审批提交请求": { - "type": "object", - "required": [ - "targetStatus" - ], - "properties": { - "reason": { - "type": "string", - "description": "审批原因" - }, - "targetStatus": { - "type": "integer", - "format": "int32", - "description": "目标状态" - } - }, - "title": "人员审批提交请求" - }, - "人员批量删除请求": { - "type": "object", - "required": [ - "staffIds" - ], - "properties": { - "staffIds": { - "type": "array", - "description": "人员ID列表", - "items": { - "type": "integer", - "format": "int64" - } - } - }, - "title": "人员批量删除请求" - }, - "人员批量标签操作请求": { - "type": "object", - "required": [ - "staffIds" - ], - "properties": { - "addTagIds": { - "type": "array", - "description": "要添加的标签ID列表", - "items": { - "type": "integer", - "format": "int64" - } - }, - "removeTagIds": { - "type": "array", - "description": "要移除的标签ID列表", - "items": { - "type": "integer", - "format": "int64" - } - }, - "staffIds": { - "type": "array", - "description": "人员ID列表", - "items": { - "type": "integer", - "format": "int64" - } - } - }, - "title": "人员批量标签操作请求" - }, - "人员状态请求": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "staffIds": { - "type": "array", - "description": "人员ID列表(批量操作时使用)", - "items": { - "type": "integer", - "format": "int64" - } - }, - "status": { - "type": "integer", - "format": "int32", - "description": "目标状态:0=草稿 1=上架 2=下架" - } - }, - "title": "人员状态请求" - }, - "分页结果«服务人员列表VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/服务人员列表VO", - "originalRef": "服务人员列表VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«服务人员列表VO»" - }, - "分页结果«服务人员标签VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/服务人员标签VO", - "originalRef": "服务人员标签VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«服务人员标签VO»" - }, - "服务人员价格日历VO": { - "type": "object", - "properties": { - "month": { - "type": "integer", - "format": "int32", - "description": "月份" - }, - "prices": { - "type": "array", - "description": "价格日历明细列表", - "items": { - "$ref": "#/definitions/服务人员价格日历日VO", - "originalRef": "服务人员价格日历日VO" - } - }, - "staffType": { - "type": "string", - "description": "人员类型: GUIDE/GUIDE_ASSISTANT/PHOTOGRAPHER/LEADER/OTHER" - }, - "staffTypeName": { - "type": "string", - "description": "人员类型名称" - }, - "stockEnabled": { - "type": "boolean", - "description": "是否启用库存管理" - }, - "year": { - "type": "integer", - "format": "int32", - "description": "年份" - } - }, - "title": "服务人员价格日历VO" - }, - "服务人员价格日历日VO": { - "type": "object", - "properties": { - "costPrice": { - "type": "number", - "description": "日薪(元)" - }, - "date": { - "type": "string", - "format": "date", - "description": "日期" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=不可用 1=可用" - }, - "stock": { - "type": "integer", - "format": "int32", - "description": "库存数量" - }, - "stockUsed": { - "type": "integer", - "format": "int32", - "description": "已用库存" - } - }, - "title": "服务人员价格日历日VO" - }, - "服务人员价格日历状态变更请求": { - "type": "object", - "required": [ - "endDate", - "startDate", - "status" - ], - "properties": { - "endDate": { - "type": "string", - "format": "date", - "example": "2026-03-31", - "description": "结束日期" - }, - "remark": { - "type": "string", - "example": "临时停用", - "description": "备注" - }, - "startDate": { - "type": "string", - "format": "date", - "example": "2026-03-01", - "description": "开始日期" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=不可用 1=可用" - } - }, - "title": "服务人员价格日历状态变更请求" - }, - "服务人员价格日历设置请求": { - "type": "object", - "required": [ - "costPrice", - "endDate", - "startDate" - ], - "properties": { - "costPrice": { - "type": "number", - "example": 500.0, - "description": "日薪(元)" - }, - "endDate": { - "type": "string", - "format": "date", - "example": "2026-03-31", - "description": "结束日期" - }, - "excludeDates": { - "type": "array", - "description": "排除日期列表", - "items": { - "$ref": "#/definitions/LocalDate", - "originalRef": "LocalDate" - } - }, - "remark": { - "type": "string", - "example": "旺季价格", - "description": "备注" - }, - "selectedWeekdays": { - "type": "array", - "example": [ - 1, - 2, - 3, - 4, - 5 - ], - "description": "指定星期几(1=周一 7=周日)", - "items": { - "type": "integer", - "format": "int32" - } - }, - "startDate": { - "type": "string", - "format": "date", - "example": "2026-03-01", - "description": "开始日期" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=不可用 1=可用" - }, - "stock": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "库存数量" - }, - "weekdayOnly": { - "type": "boolean", - "example": false, - "description": "是否仅工作日" - }, - "weekendOnly": { - "type": "boolean", - "example": false, - "description": "是否仅周末" - } - }, - "title": "服务人员价格日历设置请求" - }, - "服务人员列表VO": { - "type": "object", - "properties": { - "approvalNo": { - "type": "string", - "description": "审批单号" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "highlights": { - "type": "string", - "description": "人员亮点" - }, - "name": { - "type": "string", - "description": "姓名" - }, - "pendingStatus": { - "type": "integer", - "format": "int32", - "description": "待审批目标状态" - }, - "phone": { - "type": "string", - "description": "手机号" - }, - "rating": { - "type": "number", - "description": "评分" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "staffId": { - "type": "string", - "description": "人员ID" - }, - "staffType": { - "type": "string", - "description": "人员类型" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=禁用 1=启用" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/服务人员标签VO", - "originalRef": "服务人员标签VO" - } - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - } - }, - "title": "服务人员列表VO" - }, - "服务人员创建请求": { - "type": "object", - "required": [ - "name", - "staffType" - ], - "properties": { - "bannerMaterialIds": { - "type": "array", - "description": "横幅素材ID列表", - "items": { - "type": "string" - } - }, - "birthDate": { - "type": "string", - "format": "date", - "example": "1990-01-15", - "description": "出生日期" - }, - "certificateUrls": { - "type": "array", - "description": "资质证书URL列表", - "items": { - "type": "string" - } - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "description": { - "type": "string", - "description": "人员描述" - }, - "emergencyContact": { - "type": "string", - "description": "紧急联系人" - }, - "emergencyPhone": { - "type": "string", - "description": "紧急联系电话" - }, - "ethnicity": { - "type": "string", - "example": "汉族", - "description": "民族" - }, - "gender": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "性别:0=女 1=男" - }, - "guideCardNo": { - "type": "string", - "example": "D-5101-000001", - "description": "导游证号" - }, - "guideLanguage": { - "type": "string", - "example": "中文", - "description": "导游语种" - }, - "guideLevel": { - "type": "string", - "example": "中级", - "description": "导游等级" - }, - "highlights": { - "type": "string", - "description": "人员亮点" - }, - "idCardUrls": { - "type": "array", - "description": "证件照URL列表", - "items": { - "type": "string" - } - }, - "languages": { - "type": "array", - "description": "掌握语言(JSON数组)", - "items": { - "type": "string" - } - }, - "licenseExpiry": { - "type": "string", - "format": "date", - "description": "执照到期日" - }, - "licenseNo": { - "type": "string", - "description": "执照编号" - }, - "licenseType": { - "type": "string", - "description": "执照类型" - }, - "name": { - "type": "string", - "example": "张导", - "description": "姓名" - }, - "nationality": { - "type": "string", - "example": "中国", - "description": "国籍" - }, - "nativePlace": { - "type": "string", - "example": "四川成都", - "description": "籍贯" - }, - "phone": { - "type": "string", - "example": 13800138000, - "description": "手机号" - }, - "photoUrls": { - "type": "array", - "description": "个人照片URL列表", - "items": { - "type": "string" - } - }, - "priceExcludes": { - "type": "string", - "description": "价格不包含内容" - }, - "priceIncludes": { - "type": "string", - "description": "价格包含内容" - }, - "serviceAreas": { - "type": "array", - "description": "服务区域(JSON数组)", - "items": { - "type": "string" - } - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重,值越大越靠前" - }, - "specialties": { - "type": "array", - "description": "擅长领域(JSON数组)", - "items": { - "type": "string" - } - }, - "staffType": { - "type": "string", - "example": "GUIDE", - "description": "人员类型" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - }, - "yearsOfExperience": { - "type": "integer", - "format": "int32", - "example": 5, - "description": "从业年限" - } - }, - "title": "服务人员创建请求" - }, - "服务人员更新请求": { - "type": "object", - "properties": { - "bannerMaterialIds": { - "type": "array", - "description": "横幅素材ID列表", - "items": { - "type": "string" - } - }, - "birthDate": { - "type": "string", - "format": "date", - "example": "1990-01-15", - "description": "出生日期" - }, - "certificateUrls": { - "type": "array", - "description": "资质证书URL列表", - "items": { - "type": "string" - } - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "description": { - "type": "string", - "description": "人员描述" - }, - "emergencyContact": { - "type": "string", - "description": "紧急联系人" - }, - "emergencyPhone": { - "type": "string", - "description": "紧急联系电话" - }, - "ethnicity": { - "type": "string", - "example": "汉族", - "description": "民族" - }, - "gender": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "性别:0=女 1=男" - }, - "guideCardNo": { - "type": "string", - "description": "导游证号" - }, - "guideLanguage": { - "type": "string", - "description": "导游语种" - }, - "guideLevel": { - "type": "string", - "description": "导游等级" - }, - "highlights": { - "type": "string", - "description": "人员亮点" - }, - "idCardUrls": { - "type": "array", - "description": "证件照URL列表", - "items": { - "type": "string" - } - }, - "languages": { - "type": "array", - "description": "掌握语言(JSON数组)", - "items": { - "type": "string" - } - }, - "licenseExpiry": { - "type": "string", - "format": "date", - "description": "执照到期日" - }, - "licenseNo": { - "type": "string", - "description": "执照编号" - }, - "licenseType": { - "type": "string", - "description": "执照类型" - }, - "name": { - "type": "string", - "example": "张导", - "description": "姓名" - }, - "nationality": { - "type": "string", - "example": "中国", - "description": "国籍" - }, - "nativePlace": { - "type": "string", - "example": "四川成都", - "description": "籍贯" - }, - "phone": { - "type": "string", - "example": 13800138000, - "description": "手机号" - }, - "photoUrls": { - "type": "array", - "description": "个人照片URL列表", - "items": { - "type": "string" - } - }, - "priceExcludes": { - "type": "string", - "description": "价格不包含内容" - }, - "priceIncludes": { - "type": "string", - "description": "价格包含内容" - }, - "serviceAreas": { - "type": "array", - "description": "服务区域(JSON数组)", - "items": { - "type": "string" - } - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序权重,值越大越靠前" - }, - "specialties": { - "type": "array", - "description": "擅长领域(JSON数组)", - "items": { - "type": "string" - } - }, - "staffType": { - "type": "string", - "example": "GUIDE", - "description": "人员类型" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - }, - "yearsOfExperience": { - "type": "integer", - "format": "int32", - "description": "从业年限" - } - }, - "title": "服务人员更新请求" - }, - "服务人员标签VO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "tagColor": { - "type": "string", - "description": "标签颜色(十六进制)" - }, - "tagId": { - "type": "string", - "description": "标签ID" - }, - "tagName": { - "type": "string", - "description": "标签名称" - }, - "tagType": { - "type": "integer", - "format": "int32", - "description": "标签类型:0=预设 1=自定义" - }, - "useCount": { - "type": "integer", - "format": "int32", - "description": "使用次数" - } - }, - "title": "服务人员标签VO" - }, - "服务人员标签创建请求": { - "type": "object", - "required": [ - "tagName" - ], - "properties": { - "tagColor": { - "type": "string", - "example": "#3366FF", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "example": "金牌导游", - "description": "标签名称" - } - }, - "title": "服务人员标签创建请求" - }, - "服务人员标签更新请求": { - "type": "object", - "properties": { - "tagColor": { - "type": "string", - "example": "#3366FF", - "description": "标签颜色(十六进制)" - }, - "tagName": { - "type": "string", - "example": "金牌导游", - "description": "标签名称" - } - }, - "title": "服务人员标签更新请求" - }, - "服务人员详情VO": { - "type": "object", - "properties": { - "bannerMaterialIds": { - "type": "array", - "description": "横幅素材ID列表", - "items": { - "type": "string" - } - }, - "bannerUrls": { - "type": "array", - "description": "横幅图URL列表", - "items": { - "type": "string" - } - }, - "birthDate": { - "type": "string", - "format": "date", - "description": "出生日期" - }, - "certificateUrls": { - "type": "array", - "description": "资质证书URL列表", - "items": { - "type": "string" - } - }, - "coverMaterialId": { - "type": "string", - "description": "封面素材ID" - }, - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "string", - "description": "创建者ID" - }, - "description": { - "type": "string", - "description": "人员描述" - }, - "emergencyContact": { - "type": "string", - "description": "紧急联系人" - }, - "emergencyPhone": { - "type": "string", - "description": "紧急联系电话" - }, - "ethnicity": { - "type": "string", - "description": "民族" - }, - "gender": { - "type": "integer", - "format": "int32", - "description": "性别:0=女 1=男" - }, - "guideCardNo": { - "type": "string", - "description": "导游证号" - }, - "guideLanguage": { - "type": "string", - "description": "导游语种" - }, - "guideLevel": { - "type": "string", - "description": "导游等级" - }, - "highlights": { - "type": "string", - "description": "人员亮点" - }, - "idCardUrls": { - "type": "array", - "description": "证件照URL列表", - "items": { - "type": "string" - } - }, - "languages": { - "type": "array", - "description": "掌握语言", - "items": { - "type": "string" - } - }, - "licenseExpiry": { - "type": "string", - "format": "date", - "description": "执照到期日" - }, - "licenseNo": { - "type": "string", - "description": "执照编号" - }, - "licenseType": { - "type": "string", - "description": "执照类型" - }, - "name": { - "type": "string", - "description": "姓名" - }, - "nationality": { - "type": "string", - "description": "国籍" - }, - "nativePlace": { - "type": "string", - "description": "籍贯" - }, - "phone": { - "type": "string", - "description": "手机号" - }, - "photoUrls": { - "type": "array", - "description": "个人照片URL列表", - "items": { - "type": "string" - } - }, - "priceExcludes": { - "type": "string", - "description": "价格不包含内容" - }, - "priceIncludes": { - "type": "string", - "description": "价格包含内容" - }, - "rating": { - "type": "number", - "description": "评分" - }, - "reviewCount": { - "type": "integer", - "format": "int32", - "description": "评价数" - }, - "serviceAreas": { - "type": "array", - "description": "服务区域", - "items": { - "type": "string" - } - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序权重" - }, - "specialties": { - "type": "array", - "description": "擅长领域", - "items": { - "type": "string" - } - }, - "staffId": { - "type": "string", - "description": "人员ID" - }, - "staffType": { - "type": "string", - "description": "人员类型" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=禁用 1=启用" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "$ref": "#/definitions/服务人员标签VO", - "originalRef": "服务人员标签VO" - } - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "videoMaterialIds": { - "type": "array", - "description": "视频素材ID列表", - "items": { - "type": "string" - } - }, - "videoUrls": { - "type": "array", - "description": "视频URL列表", - "items": { - "type": "string" - } - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - }, - "yearsOfExperience": { - "type": "integer", - "format": "int32", - "description": "从业年限" - } - }, - "title": "服务人员详情VO" - }, - "统一响应结果«List«服务人员标签VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/服务人员标签VO", - "originalRef": "服务人员标签VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«服务人员标签VO»»" - }, - "统一响应结果«分页结果«服务人员列表VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«服务人员列表VO»", - "originalRef": "分页结果«服务人员列表VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«服务人员列表VO»»" - }, - "统一响应结果«分页结果«服务人员标签VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«服务人员标签VO»", - "originalRef": "分页结果«服务人员标签VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«服务人员标签VO»»" - }, - "统一响应结果«服务人员价格日历VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/服务人员价格日历VO", - "originalRef": "服务人员价格日历VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«服务人员价格日历VO»" - }, - "统一响应结果«服务人员标签VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/服务人员标签VO", - "originalRef": "服务人员标签VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«服务人员标签VO»" - }, - "统一响应结果«服务人员详情VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/服务人员详情VO", - "originalRef": "服务人员详情VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«服务人员详情VO»" - }, - "设置人员标签请求": { - "type": "object", - "required": [ - "tagIds" - ], - "properties": { - "tagIds": { - "type": "array", - "description": "标签ID列表", - "items": { - "type": "integer", - "format": "int64" - } - } - }, - "title": "设置人员标签请求" - } - } -} \ No newline at end of file diff --git a/api-docs/hl-review-service.json b/api-docs/hl-review-service.json deleted file mode 100644 index 840382b..0000000 --- a/api-docs/hl-review-service.json +++ /dev/null @@ -1,1029 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "评价服务", - "version": "1.0.0" - }, - "basePath": "/", - "paths": { - "/admin/review/list": { - "get": { - "tags": [ - "管理端-评价审核" - ], - "summary": "评价列表(支持好中差评/有图/有视频筛选)", - "description": "分页查询全部评价(含待审核/已通过/已拒绝),支持按评价等级、是否有图/视频、目标类型筛选\n\n**关联字典**:\n- review_status:评价审核状态(列表筛选+显示)\n- rating_level:评价等级(列表筛选+显示)", - "operationId": "listReviewsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "hasImage", - "in": "query", - "description": "是否有图片: true/false", - "required": false, - "type": "boolean" - }, - { - "name": "hasVideo", - "in": "query", - "description": "是否有视频: true/false", - "required": false, - "type": "boolean" - }, - { - "name": "keyword", - "in": "query", - "description": "搜索关键词", - "required": false, - "type": "string", - "x-example": "风景" - }, - { - "name": "maxRating", - "in": "query", - "description": "最高评分(整体满意度)", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 5 - }, - { - "name": "minRating", - "in": "query", - "description": "最低评分(整体满意度)", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 3 - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 1 - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "format": "int32", - "x-example": 20 - }, - { - "name": "productType", - "in": "query", - "description": "产品类型(字典 review_product_type)", - "required": false, - "type": "string", - "x-example": "CORE" - }, - { - "name": "ratingLevel", - "in": "query", - "description": "评价等级: GOOD/MEDIUM/BAD", - "required": false, - "type": "string", - "x-example": "GOOD" - }, - { - "name": "reviewType", - "in": "query", - "description": "评论类型(字典 review_type)", - "required": false, - "type": "string", - "x-example": "PRODUCT" - }, - { - "name": "status", - "in": "query", - "description": "评价状态", - "required": false, - "type": "string", - "x-example": "APPROVED" - }, - { - "name": "targetId", - "in": "query", - "description": "评价目标ID", - "required": false, - "type": "integer", - "format": "int64", - "x-example": 2001 - }, - { - "name": "targetType", - "in": "query", - "description": "评价目标类型", - "required": false, - "type": "string", - "x-example": "PRODUCT" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«分页结果«评价列表项(管理端)»»", - "$ref": "#/definitions/统一响应结果«分页结果«评价列表项(管理端)»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«分页结果«评价列表项(管理端)»»", - "$ref": "#/definitions/统一响应结果«分页结果«评价列表项(管理端)»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/review/{reviewId}": { - "get": { - "tags": [ - "管理端-评价审核" - ], - "summary": "评价详情", - "description": "**关联字典**:\n- review_status:评价审核状态(显示)\n- rating_level:评价等级(显示)", - "operationId": "getReviewDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "reviewId", - "in": "path", - "description": "评价ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«评价详情»", - "$ref": "#/definitions/统一响应结果«评价详情»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«评价详情»", - "$ref": "#/definitions/统一响应结果«评价详情»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/review/{reviewId}/approve": { - "post": { - "tags": [ - "管理端-评价审核" - ], - "summary": "通过评价", - "description": "审核通过评价,通过后评价在小程序端公开展示。状态流转:PENDING_REVIEW → APPROVED", - "operationId": "approveUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "reviewId", - "in": "path", - "description": "评价ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/review/{reviewId}/override-approve": { - "post": { - "tags": [ - "管理端-评价审核" - ], - "summary": "覆盖通过(机器拒绝的)", - "description": "对阿里云内容审核自动拒绝的评价进行人工覆盖通过。状态流转:AUTO_REJECTED → APPROVED", - "operationId": "overrideApproveUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "reviewId", - "in": "path", - "description": "评价ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/review/{reviewId}/reject": { - "post": { - "tags": [ - "管理端-评价审核" - ], - "summary": "拒绝评价", - "description": "审核拒绝评价,需填写拒绝原因。拒绝后评价不公开展示。状态流转:PENDING_REVIEW → REJECTED", - "operationId": "rejectUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "拒绝请求", - "required": false, - "schema": { - "originalRef": "拒绝评价请求", - "$ref": "#/definitions/拒绝评价请求" - } - }, - { - "name": "reviewId", - "in": "path", - "description": "评价ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/review/{reviewId}/reply": { - "post": { - "tags": [ - "管理端-评价审核" - ], - "summary": "回复评价(每条评价仅可回复一次)", - "description": "管理员回复用户评价,回复内容在小程序端公开展示。每条评价仅允许回复一次,不可修改。\n\n**权限**:需管理员登录。", - "operationId": "adminReplyUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "回复内容", - "required": false, - "schema": { - "originalRef": "管理员回复请求", - "$ref": "#/definitions/管理员回复请求" - } - }, - { - "name": "reviewId", - "in": "path", - "description": "评价ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - } - }, - "definitions": { - "分页结果«评价列表项(管理端)»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "originalRef": "评价列表项(管理端)", - "$ref": "#/definitions/评价列表项(管理端)" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«评价列表项(管理端)»" - }, - "拒绝评价请求": { - "type": "object", - "required": [ - "rejectReason" - ], - "properties": { - "rejectReason": { - "type": "string", - "example": "评价内容包含不当言论", - "description": "拒绝原因" - } - }, - "title": "拒绝评价请求" - }, - "管理员回复请求": { - "type": "object", - "required": [ - "replyContent" - ], - "properties": { - "replyContent": { - "type": "string", - "example": "感谢您的评价,期待下次为您服务!", - "description": "回复内容" - } - }, - "title": "管理员回复请求" - }, - "统一响应结果«Void»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Void»" - }, - "统一响应结果«分页结果«评价列表项(管理端)»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "分页结果«评价列表项(管理端)»", - "$ref": "#/definitions/分页结果«评价列表项(管理端)»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«评价列表项(管理端)»»" - }, - "统一响应结果«评价详情»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "评价详情", - "$ref": "#/definitions/评价详情" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«评价详情»" - }, - "评价列表项(管理端)": { - "type": "object", - "properties": { - "auditedAt": { - "type": "string", - "format": "date-time", - "description": "审核时间" - }, - "auditorName": { - "type": "string", - "description": "审核人姓名" - }, - "content": { - "type": "string", - "description": "评价内容" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "hasReply": { - "type": "boolean", - "description": "是否已回复" - }, - "imageCount": { - "type": "integer", - "format": "int32", - "description": "图片数量" - }, - "orderId": { - "type": "string", - "description": "订单ID" - }, - "orderNo": { - "type": "string", - "description": "订单编号" - }, - "productType": { - "type": "string", - "description": "产品类型" - }, - "productTypeLabel": { - "type": "string", - "description": "产品类型标签" - }, - "ratingAccommodation": { - "type": "integer", - "format": "int32", - "description": "住宿安排评分(1-5)" - }, - "ratingDining": { - "type": "integer", - "format": "int32", - "description": "餐饮质量评分(1-5)" - }, - "ratingDriver": { - "type": "integer", - "format": "int32", - "description": "司机服务评分(1-5)" - }, - "ratingItinerary": { - "type": "integer", - "format": "int32", - "description": "行程安排评分(1-5)" - }, - "ratingLevel": { - "type": "string", - "description": "评价等级: GOOD/MEDIUM/BAD" - }, - "ratingLevelLabel": { - "type": "string", - "description": "评价等级标签" - }, - "ratingOverall": { - "type": "integer", - "format": "int32", - "description": "整体满意度评分(1-5)" - }, - "rejectReason": { - "type": "string", - "description": "拒绝原因" - }, - "reviewId": { - "type": "string", - "description": "评价ID" - }, - "reviewType": { - "type": "string", - "description": "评论类型" - }, - "reviewTypeLabel": { - "type": "string", - "description": "评论类型标签" - }, - "status": { - "type": "string", - "description": "评价状态" - }, - "statusLabel": { - "type": "string", - "description": "评价状态标签" - }, - "targetId": { - "type": "string", - "description": "评价目标ID" - }, - "targetName": { - "type": "string", - "description": "评价目标名称" - }, - "targetType": { - "type": "string", - "description": "评价目标类型" - }, - "targetTypeLabel": { - "type": "string", - "description": "评价目标类型标签" - }, - "userAvatar": { - "type": "string", - "description": "用户头像" - }, - "userNickname": { - "type": "string", - "description": "用户昵称" - }, - "videoCount": { - "type": "integer", - "format": "int32", - "description": "视频数量" - } - }, - "title": "评价列表项(管理端)" - }, - "评价图片信息": { - "type": "object", - "properties": { - "fileId": { - "type": "string", - "description": "文件ID" - }, - "imageId": { - "type": "string", - "description": "图片ID" - }, - "imageUrl": { - "type": "string", - "description": "图片URL" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - } - }, - "title": "评价图片信息" - }, - "评价视频信息": { - "type": "object", - "properties": { - "coverUrl": { - "type": "string", - "description": "视频封面URL" - }, - "duration": { - "type": "integer", - "format": "int32", - "description": "视频时长(秒)" - }, - "fileId": { - "type": "string", - "description": "文件ID" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "videoId": { - "type": "string", - "description": "视频ID" - }, - "videoUrl": { - "type": "string", - "description": "视频URL" - } - }, - "title": "评价视频信息" - }, - "评价详情": { - "type": "object", - "properties": { - "adminReply": { - "type": "string", - "description": "管理员回复内容" - }, - "adminReplyAt": { - "type": "string", - "format": "date-time", - "description": "回复时间" - }, - "adminReplyName": { - "type": "string", - "description": "回复管理员姓名" - }, - "auditedAt": { - "type": "string", - "format": "date-time", - "description": "审核时间" - }, - "auditorAdminId": { - "type": "string", - "description": "审核人ID" - }, - "auditorName": { - "type": "string", - "description": "审核人姓名" - }, - "content": { - "type": "string", - "description": "评价内容" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "departureDate": { - "type": "string", - "format": "date", - "description": "出发日期(冗余自订单)" - }, - "hasImage": { - "type": "boolean", - "description": "是否有图片" - }, - "hasVideo": { - "type": "boolean", - "description": "是否有视频" - }, - "imageCount": { - "type": "integer", - "format": "int32", - "description": "图片数量" - }, - "images": { - "type": "array", - "description": "评价图片列表", - "items": { - "originalRef": "评价图片信息", - "$ref": "#/definitions/评价图片信息" - } - }, - "machineResult": { - "type": "string", - "description": "机审结果" - }, - "orderId": { - "type": "string", - "description": "订单ID" - }, - "orderNo": { - "type": "string", - "description": "订单编号" - }, - "productType": { - "type": "string", - "description": "产品类型" - }, - "productTypeLabel": { - "type": "string", - "description": "产品类型标签" - }, - "ratingAccommodation": { - "type": "integer", - "format": "int32", - "description": "住宿安排评分(1-5)" - }, - "ratingDining": { - "type": "integer", - "format": "int32", - "description": "餐饮质量评分(1-5)" - }, - "ratingDriver": { - "type": "integer", - "format": "int32", - "description": "司机服务评分(1-5)" - }, - "ratingItinerary": { - "type": "integer", - "format": "int32", - "description": "行程安排评分(1-5)" - }, - "ratingLevel": { - "type": "string", - "description": "评价等级: GOOD/MEDIUM/BAD" - }, - "ratingLevelLabel": { - "type": "string", - "description": "评价等级标签: 好评/中评/差评" - }, - "ratingOverall": { - "type": "integer", - "format": "int32", - "description": "整体满意度评分(1-5)" - }, - "rejectReason": { - "type": "string", - "description": "拒绝原因" - }, - "reviewId": { - "type": "string", - "description": "评价ID" - }, - "reviewType": { - "type": "string", - "description": "评论类型" - }, - "reviewTypeLabel": { - "type": "string", - "description": "评论类型标签" - }, - "status": { - "type": "string", - "description": "评价状态" - }, - "statusLabel": { - "type": "string", - "description": "评价状态标签" - }, - "targetId": { - "type": "string", - "description": "评价目标ID" - }, - "targetName": { - "type": "string", - "description": "评价目标名称" - }, - "targetType": { - "type": "string", - "description": "评价目标类型" - }, - "targetTypeLabel": { - "type": "string", - "description": "评价目标类型标签" - }, - "userAvatar": { - "type": "string", - "description": "用户头像" - }, - "userId": { - "type": "string", - "description": "用户ID" - }, - "userNickname": { - "type": "string", - "description": "用户昵称" - }, - "videoCount": { - "type": "integer", - "format": "int32", - "description": "视频数量" - }, - "videos": { - "type": "array", - "description": "评价视频列表", - "items": { - "originalRef": "评价视频信息", - "$ref": "#/definitions/评价视频信息" - } - } - }, - "title": "评价详情" - } - } -} \ No newline at end of file diff --git a/api-docs/hl-task-service.json b/api-docs/hl-task-service.json deleted file mode 100644 index 84c6ba5..0000000 --- a/api-docs/hl-task-service.json +++ /dev/null @@ -1,2762 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "任务服务", - "version": "1.0.0" - }, - "basePath": "/", - "paths": { - "/admin/task/board": { - "post": { - "tags": [ - "任务看板管理" - ], - "summary": "创建自定义看板", - "description": "创建自定义看板,自动添加创建者为看板成员,并创建默认状态列(待办、进行中、已完成)。\n\n**权限**:需管理员登录。", - "operationId": "createBoardUsingPOST_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "req", - "description": "创建看板请求", - "required": false, - "schema": { - "originalRef": "创建看板请求", - "$ref": "#/definitions/创建看板请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«看板信息»", - "$ref": "#/definitions/统一响应结果«看板信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«看板信息»", - "$ref": "#/definitions/统一响应结果«看板信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/board/ws-doc/info": { - "get": { - "tags": [ - "WebSocket 实时推送" - ], - "summary": "WebSocket 连接说明", - "description": "## 连接信息\n\n| 项目 | 值 |\n|------|-------|\n| **连接地址** | `ws://{host}:8092/ws/task` |\n| **协议** | STOMP over WebSocket(SockJS 降级方案) |\n| **跨域** | 允许所有源 (`*`) |\n\n## 订阅频道\n\n| 订阅地址 | 说明 |\n|------------|-------------|\n| `/topic/board/{boardId}` | 订阅指定看板,接收该看板下的实时任务事件 |\n\n## 推送消息格式\n\n```json\n{\n \"event\": \"TASK_CREATED\",\n \"data\": { ... },\n \"timestamp\": 1709539200000\n}\n```\n\n## 事件类型\n\n| 事件 | 说明 | data 内容 |\n|-------|------------|------|\n| TASK_CREATED | 任务创建 | 任务对象 |\n| TASK_UPDATED | 任务更新 | 任务对象 |\n| TASK_DELETED | 任务删除 | 任务ID |\n| TASK_MOVED | 任务移动(状态变更) | 任务对象 |\n| COMMENT_ADDED | 新增评论 | 评论对象 |\n\n## 前端接入示例 (SockJS + STOMP)\n\n```javascript\nimport SockJS from 'sockjs-client'\nimport { Stomp } from '@stomp/stompjs'\n\nconst socket = new SockJS('http://localhost:8092/ws/task')\nconst stompClient = Stomp.over(socket)\n\nstompClient.connect({}, () => {\n stompClient.subscribe('/topic/board/123', (msg) => {\n const { event, data, timestamp } = JSON.parse(msg.body)\n console.log('Event:', event, 'Data:', data)\n })\n})\n```", - "operationId": "websocketInfoUsingGET_1", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/board/{boardId}": { - "get": { - "tags": [ - "任务看板管理" - ], - "summary": "看板详情", - "description": "返回看板基本信息(名称、描述、创建者),不含任务数据。查看任务请使用「获取看板任务」接口", - "operationId": "getBoardDetailUsingGET_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "boardId", - "in": "path", - "description": "看板ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«看板信息»", - "$ref": "#/definitions/统一响应结果«看板信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«看板信息»", - "$ref": "#/definitions/统一响应结果«看板信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "任务看板管理" - ], - "summary": "更新看板", - "description": "更新看板的名称和描述。仅看板创建者或超级管理员可操作。\n\n**权限**:需管理员登录,且为看板创建者或超级管理员。", - "operationId": "updateBoardUsingPUT_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "boardId", - "in": "path", - "description": "看板ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "req", - "description": "更新看板请求", - "required": false, - "schema": { - "originalRef": "更新看板请求", - "$ref": "#/definitions/更新看板请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«看板信息»", - "$ref": "#/definitions/统一响应结果«看板信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«看板信息»", - "$ref": "#/definitions/统一响应结果«看板信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "任务看板管理" - ], - "summary": "删除看板", - "description": "删除看板及其下所有状态列和任务(级联删除)。仅看板创建者或超级管理员可操作", - "operationId": "deleteBoardUsingDELETE_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "boardId", - "in": "path", - "description": "看板ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/board/{boardId}/member/{targetAdminId}": { - "delete": { - "tags": [ - "任务看板管理" - ], - "summary": "移除成员", - "description": "从看板中移除指定成员。仅看板创建者或超级管理员可操作,不能移除创建者自己", - "operationId": "removeMemberUsingDELETE_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "boardId", - "in": "path", - "description": "看板ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "targetAdminId", - "in": "path", - "description": "目标管理员ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/board/{boardId}/members": { - "get": { - "tags": [ - "任务看板管理" - ], - "summary": "获取看板成员", - "description": "返回看板的所有成员列表,包含成员的管理员ID和姓名", - "operationId": "getMembersUsingGET_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "boardId", - "in": "path", - "description": "看板ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«看板成员信息»»", - "$ref": "#/definitions/统一响应结果«List«看板成员信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«看板成员信息»»", - "$ref": "#/definitions/统一响应结果«List«看板成员信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "任务看板管理" - ], - "summary": "添加成员", - "description": "批量添加管理员为看板成员,成为成员后可以查看看板、创建和操作任务。\n\n**权限**:需管理员登录,且为看板创建者或超级管理员。", - "operationId": "addMembersUsingPOST_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "boardId", - "in": "path", - "description": "看板ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "req", - "description": "添加成员请求", - "required": false, - "schema": { - "originalRef": "添加成员请求", - "$ref": "#/definitions/添加成员请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/board/{boardId}/status": { - "post": { - "tags": [ - "任务看板管理" - ], - "summary": "创建状态列", - "description": "在看板中创建新的状态列(如测试中、待发布等),自动排到末尾。任务通过拖拽在不同状态列间流转。\n\n**权限**:需管理员登录且为看板成员。", - "operationId": "createStatusUsingPOST_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "boardId", - "in": "path", - "description": "看板ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "req", - "description": "创建状态列请求", - "required": false, - "schema": { - "originalRef": "创建状态请求", - "$ref": "#/definitions/创建状态请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«看板状态信息»", - "$ref": "#/definitions/统一响应结果«看板状态信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«看板状态信息»", - "$ref": "#/definitions/统一响应结果«看板状态信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/board/{boardId}/status/sort": { - "put": { - "tags": [ - "任务看板管理" - ], - "summary": "状态列排序", - "description": "批量更新状态列的排序顺序。传入状态列ID数组,数组下标即为新的排序值。操作完成后通过WebSocket推送STATUS_REORDERED事件", - "operationId": "sortStatusesUsingPUT_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "boardId", - "in": "path", - "description": "看板ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "req", - "description": "状态列排序请求", - "required": false, - "schema": { - "originalRef": "状态排序请求", - "$ref": "#/definitions/状态排序请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/board/{boardId}/statuses": { - "get": { - "tags": [ - "任务看板管理" - ], - "summary": "获取看板状态列", - "description": "返回看板的所有状态列(如待办、进行中、已完成),按排序字段升序排列。拖拽任务到不同状态列实现状态流转", - "operationId": "getStatusesUsingGET_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "boardId", - "in": "path", - "description": "看板ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«看板状态信息»»", - "$ref": "#/definitions/统一响应结果«List«看板状态信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«看板状态信息»»", - "$ref": "#/definitions/统一响应结果«List«看板状态信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/board/{boardId}/tasks": { - "get": { - "tags": [ - "任务管理" - ], - "summary": "获取看板任务(按状态分组)", - "description": "返回看板下所有任务,按状态列分组。支持按优先级(HIGH/MEDIUM/LOW)和负责人筛选,每组内按排序值升序排列\n\n**关联字典**:\n- task_priority:任务优先级(列表筛选+显示)", - "operationId": "getBoardTasksUsingGET_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "assigneeId", - "in": "query", - "description": "负责人ID", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "name": "boardId", - "in": "path", - "description": "看板ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "priority", - "in": "query", - "description": "优先级", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«看板任务分组信息»»", - "$ref": "#/definitions/统一响应结果«List«看板任务分组信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«看板任务分组信息»»", - "$ref": "#/definitions/统一响应结果«List«看板任务分组信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task": { - "post": { - "tags": [ - "任务管理" - ], - "summary": "创建任务", - "description": "在指定看板和状态列下创建任务。创建成功后通过WebSocket推送TASK_CREATED事件,并通知被分配的负责人\n\n**关联字典**:\n- task_priority:任务优先级(创建时选择)", - "operationId": "createTaskUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "req", - "description": "创建任务请求", - "required": false, - "schema": { - "originalRef": "创建任务请求", - "$ref": "#/definitions/创建任务请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«任务信息»", - "$ref": "#/definitions/统一响应结果«任务信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«任务信息»", - "$ref": "#/definitions/统一响应结果«任务信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/boards": { - "get": { - "tags": [ - "任务看板管理" - ], - "summary": "获取可见看板列表", - "description": "返回当前管理员可见的看板列表:超级管理员可见所有看板,普通管理员仅可见自己创建的或作为成员的看板", - "operationId": "getBoardsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«看板信息»»", - "$ref": "#/definitions/统一响应结果«List«看板信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«看板信息»»", - "$ref": "#/definitions/统一响应结果«List«看板信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/comment/{commentId}": { - "delete": { - "tags": [ - "任务管理" - ], - "summary": "删除评论", - "description": "仅评论作者本人可删除自己的评论,系统自动生成的活动记录不可删除", - "operationId": "deleteCommentUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "commentId", - "in": "path", - "description": "评论ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/status/{statusId}": { - "put": { - "tags": [ - "任务看板管理" - ], - "summary": "更新状态列", - "description": "更新状态列的名称和颜色。\n\n**权限**:需管理员登录且为看板成员。", - "operationId": "updateStatusUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "req", - "description": "更新状态列请求", - "required": false, - "schema": { - "originalRef": "更新状态请求", - "$ref": "#/definitions/更新状态请求" - } - }, - { - "name": "statusId", - "in": "path", - "description": "状态列ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«看板状态信息»", - "$ref": "#/definitions/统一响应结果«看板状态信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«看板状态信息»", - "$ref": "#/definitions/统一响应结果«看板状态信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "任务看板管理" - ], - "summary": "删除状态列", - "description": "删除看板的状态列。如果状态列下有任务则不允许删除,需先移动或删除任务", - "operationId": "deleteStatusUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "statusId", - "in": "path", - "description": "状态列ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/subtask/{subtaskId}": { - "delete": { - "tags": [ - "任务管理" - ], - "summary": "删除子任务", - "description": "删除指定子任务。\n\n**权限**:需管理员登录且为看板成员。", - "operationId": "deleteSubtaskUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "subtaskId", - "in": "path", - "description": "子任务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/subtask/{subtaskId}/toggle": { - "put": { - "tags": [ - "任务管理" - ], - "summary": "切换子任务完成状态", - "description": "切换子任务的完成/未完成状态(toggle),完成状态切换会自动记录到任务时间线", - "operationId": "toggleSubtaskUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "subtaskId", - "in": "path", - "description": "子任务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/{taskId}": { - "get": { - "tags": [ - "任务管理" - ], - "summary": "任务详情", - "description": "返回任务完整信息,包含子任务列表、负责人信息、附件列表等\n\n**关联字典**:\n- task_priority:任务优先级(显示)", - "operationId": "getTaskDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "taskId", - "in": "path", - "description": "任务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«任务信息»", - "$ref": "#/definitions/统一响应结果«任务信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«任务信息»", - "$ref": "#/definitions/统一响应结果«任务信息»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "任务管理" - ], - "summary": "更新任务", - "description": "更新任务的标题、描述、优先级、截止日期、负责人等信息。更新后通过WebSocket推送TASK_UPDATED事件,如果修改了负责人则额外通知新负责人。\n\n**权限**:需管理员登录且为看板成员。\n\n**关联字典**:\n- task_priority:任务优先级(编辑时选择)", - "operationId": "updateTaskUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "req", - "description": "更新任务请求", - "required": false, - "schema": { - "originalRef": "更新任务请求", - "$ref": "#/definitions/更新任务请求" - } - }, - { - "name": "taskId", - "in": "path", - "description": "任务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«任务信息»", - "$ref": "#/definitions/统一响应结果«任务信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«任务信息»", - "$ref": "#/definitions/统一响应结果«任务信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "任务管理" - ], - "summary": "删除任务", - "description": "删除任务及其所有子任务、评论和时间线记录(级联删除)。删除后通过WebSocket推送TASK_DELETED事件。\n\n**权限**:需管理员登录且为看板成员。", - "operationId": "deleteTaskUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "taskId", - "in": "path", - "description": "任务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/{taskId}/comment": { - "post": { - "tags": [ - "任务管理" - ], - "summary": "添加评论", - "description": "在任务时间线中添加评论,添加后自动通知任务负责人", - "operationId": "addCommentUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "req", - "description": "创建评论请求", - "required": false, - "schema": { - "originalRef": "创建评论请求", - "$ref": "#/definitions/创建评论请求" - } - }, - { - "name": "taskId", - "in": "path", - "description": "任务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«时间线条目»", - "$ref": "#/definitions/统一响应结果«时间线条目»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«时间线条目»", - "$ref": "#/definitions/统一响应结果«时间线条目»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/{taskId}/sort": { - "put": { - "tags": [ - "任务管理" - ], - "summary": "任务排序", - "description": "更新任务在同一状态列内的排序位置,用于拖拽排序", - "operationId": "sortTasksUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "req", - "description": "任务排序请求", - "required": false, - "schema": { - "originalRef": "任务排序请求", - "$ref": "#/definitions/任务排序请求" - } - }, - { - "name": "taskId", - "in": "path", - "description": "任务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/{taskId}/status": { - "put": { - "tags": [ - "任务管理" - ], - "summary": "变更任务状态", - "description": "将任务移动到指定状态列(拖拽操作),自动记录状态变更到时间线,并通过WebSocket推送TASK_STATUS_CHANGED事件", - "operationId": "changeStatusUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "req", - "description": "变更状态请求", - "required": false, - "schema": { - "originalRef": "变更任务状态请求", - "$ref": "#/definitions/变更任务状态请求" - } - }, - { - "name": "taskId", - "in": "path", - "description": "任务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«Void»", - "$ref": "#/definitions/统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/{taskId}/subtask": { - "post": { - "tags": [ - "任务管理" - ], - "summary": "创建子任务", - "description": "在指定任务下创建子任务(待办项),用于拆分任务的执行步骤。子任务默认为未完成状态。\n\n**权限**:需管理员登录且为看板成员。", - "operationId": "createSubtaskUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "req", - "description": "创建子任务请求", - "required": false, - "schema": { - "originalRef": "创建子任务请求", - "$ref": "#/definitions/创建子任务请求" - } - }, - { - "name": "taskId", - "in": "path", - "description": "任务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«子任务信息»", - "$ref": "#/definitions/统一响应结果«子任务信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«子任务信息»", - "$ref": "#/definitions/统一响应结果«子任务信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/task/{taskId}/timeline": { - "get": { - "tags": [ - "任务管理" - ], - "summary": "获取任务时间线", - "description": "返回任务的完整操作记录,包含评论和系统自动记录的状态变更、人员分配等活动,按时间正序排列", - "operationId": "getTimelineUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "taskId", - "in": "path", - "description": "任务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«时间线条目»»", - "$ref": "#/definitions/统一响应结果«List«时间线条目»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "originalRef": "统一响应结果«List«时间线条目»»", - "$ref": "#/definitions/统一响应结果«List«时间线条目»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "deprecated": false, - "x-order": "2147483647" - } - } - }, - "definitions": { - "任务信息": { - "type": "object", - "properties": { - "assignees": { - "type": "array", - "description": "负责人列表", - "items": { - "originalRef": "负责人信息", - "$ref": "#/definitions/负责人信息" - } - }, - "boardId": { - "type": "integer", - "format": "int64", - "description": "看板ID" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "integer", - "format": "int64", - "description": "创建人ID" - }, - "creatorName": { - "type": "string", - "description": "创建人姓名" - }, - "description": { - "type": "string", - "description": "任务描述" - }, - "dueDate": { - "type": "string", - "format": "date", - "description": "截止日期" - }, - "overdue": { - "type": "boolean", - "description": "是否逾期" - }, - "parentId": { - "type": "integer", - "format": "int64", - "description": "父任务ID" - }, - "priority": { - "type": "string", - "description": "优先级: LOW/MEDIUM/HIGH/URGENT" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "statusColor": { - "type": "string", - "description": "状态颜色" - }, - "statusId": { - "type": "integer", - "format": "int64", - "description": "状态ID" - }, - "statusName": { - "type": "string", - "description": "状态名称" - }, - "subtaskCompleted": { - "type": "integer", - "format": "int32", - "description": "已完成子任务数" - }, - "subtaskTotal": { - "type": "integer", - "format": "int32", - "description": "子任务总数" - }, - "subtasks": { - "type": "array", - "description": "子任务列表", - "items": { - "originalRef": "子任务信息", - "$ref": "#/definitions/子任务信息" - } - }, - "taskId": { - "type": "integer", - "format": "int64", - "description": "任务ID" - }, - "title": { - "type": "string", - "description": "任务标题" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "任务信息" - }, - "创建状态请求": { - "type": "object", - "required": [ - "statusName" - ], - "properties": { - "statusColor": { - "type": "string", - "example": "#409EFF", - "description": "状态颜色" - }, - "statusName": { - "type": "string", - "example": "进行中", - "description": "状态名称" - } - }, - "title": "创建状态请求" - }, - "创建看板请求": { - "type": "object", - "required": [ - "boardName" - ], - "properties": { - "boardName": { - "type": "string", - "example": "产品迭代看板", - "description": "看板名称" - }, - "deptId": { - "type": "integer", - "format": "int64", - "example": 1001, - "description": "部门ID" - }, - "description": { - "type": "string", - "example": "用于跟踪产品迭代任务", - "description": "看板描述" - }, - "memberIds": { - "type": "array", - "description": "成员ID列表", - "items": { - "type": "integer", - "format": "int64" - } - } - }, - "title": "创建看板请求" - }, - "子任务信息": { - "type": "object", - "properties": { - "completed": { - "type": "boolean", - "description": "是否已完成" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "integer", - "format": "int64", - "description": "创建人ID" - }, - "creatorName": { - "type": "string", - "description": "创建人姓名" - }, - "taskId": { - "type": "integer", - "format": "int64", - "description": "子任务ID" - }, - "title": { - "type": "string", - "description": "子任务标题" - } - }, - "title": "子任务信息" - }, - "更新看板请求": { - "type": "object", - "properties": { - "boardName": { - "type": "string", - "example": "产品迭代看板", - "description": "看板名称" - }, - "description": { - "type": "string", - "example": "用于跟踪产品迭代任务", - "description": "看板描述" - } - }, - "title": "更新看板请求" - }, - "添加成员请求": { - "type": "object", - "required": [ - "adminIds" - ], - "properties": { - "adminIds": { - "type": "array", - "description": "管理员ID列表", - "items": { - "type": "integer", - "format": "int64" - } - } - }, - "title": "添加成员请求" - }, - "状态排序请求": { - "type": "object", - "required": [ - "statusIds" - ], - "properties": { - "statusIds": { - "type": "array", - "description": "状态ID列表(按排序顺序)", - "items": { - "type": "integer", - "format": "int64" - } - } - }, - "title": "状态排序请求" - }, - "看板任务分组信息": { - "type": "object", - "properties": { - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "statusColor": { - "type": "string", - "description": "状态颜色" - }, - "statusId": { - "type": "integer", - "format": "int64", - "description": "状态ID" - }, - "statusName": { - "type": "string", - "description": "状态名称" - }, - "tasks": { - "type": "array", - "description": "该状态下的任务列表", - "items": { - "originalRef": "任务信息", - "$ref": "#/definitions/任务信息" - } - } - }, - "title": "看板任务分组信息" - }, - "看板信息": { - "type": "object", - "properties": { - "boardId": { - "type": "integer", - "format": "int64", - "description": "看板ID" - }, - "boardName": { - "type": "string", - "description": "看板名称" - }, - "boardType": { - "type": "string", - "description": "看板类型" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "createdBy": { - "type": "integer", - "format": "int64", - "description": "创建人ID" - }, - "creatorName": { - "type": "string", - "description": "创建人姓名" - }, - "deptId": { - "type": "integer", - "format": "int64", - "description": "部门ID" - }, - "deptName": { - "type": "string", - "description": "部门名称" - }, - "description": { - "type": "string", - "description": "看板描述" - }, - "statuses": { - "type": "array", - "description": "状态列表", - "items": { - "originalRef": "看板状态信息", - "$ref": "#/definitions/看板状态信息" - } - }, - "taskCount": { - "type": "integer", - "format": "int32", - "description": "任务总数" - } - }, - "title": "看板信息" - }, - "看板成员信息": { - "type": "object", - "properties": { - "adminId": { - "type": "integer", - "format": "int64", - "description": "管理员ID" - }, - "avatarUrl": { - "type": "string", - "description": "头像地址" - }, - "joinedAt": { - "type": "string", - "format": "date-time", - "description": "加入时间" - }, - "role": { - "type": "string", - "description": "角色: OWNER/MEMBER" - }, - "username": { - "type": "string", - "description": "用户名" - } - }, - "title": "看板成员信息" - }, - "看板状态信息": { - "type": "object", - "properties": { - "isPreset": { - "type": "boolean", - "description": "是否预设状态" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序序号" - }, - "statusColor": { - "type": "string", - "description": "状态颜色" - }, - "statusId": { - "type": "integer", - "format": "int64", - "description": "状态ID" - }, - "statusName": { - "type": "string", - "description": "状态名称" - }, - "taskCount": { - "type": "integer", - "format": "int32", - "description": "该状态下的任务数量" - } - }, - "title": "看板状态信息" - }, - "统一响应结果«List«看板任务分组信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "看板任务分组信息", - "$ref": "#/definitions/看板任务分组信息" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«看板任务分组信息»»" - }, - "统一响应结果«List«看板成员信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "看板成员信息", - "$ref": "#/definitions/看板成员信息" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«看板成员信息»»" - }, - "统一响应结果«List«看板状态信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "看板状态信息", - "$ref": "#/definitions/看板状态信息" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«看板状态信息»»" - }, - "统一响应结果«Void»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Void»" - }, - "统一响应结果«看板信息»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "看板信息", - "$ref": "#/definitions/看板信息" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«看板信息»" - }, - "统一响应结果«看板状态信息»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "看板状态信息", - "$ref": "#/definitions/看板状态信息" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«看板状态信息»" - }, - "负责人信息": { - "type": "object", - "properties": { - "adminId": { - "type": "integer", - "format": "int64", - "description": "管理员ID" - }, - "avatarUrl": { - "type": "string", - "description": "头像地址" - }, - "username": { - "type": "string", - "description": "用户名" - }, - "wechatName": { - "type": "string", - "description": "企微昵称" - } - }, - "title": "负责人信息" - }, - "任务排序请求": { - "type": "object", - "required": [ - "statusId", - "taskIds" - ], - "properties": { - "statusId": { - "type": "integer", - "format": "int64", - "example": 1001, - "description": "状态ID" - }, - "taskIds": { - "type": "array", - "description": "任务ID列表(按排序顺序)", - "items": { - "type": "integer", - "format": "int64" - } - } - }, - "title": "任务排序请求" - }, - "创建任务请求": { - "type": "object", - "required": [ - "boardId", - "title" - ], - "properties": { - "assigneeIds": { - "type": "array", - "description": "负责人ID列表", - "items": { - "type": "integer", - "format": "int64" - } - }, - "boardId": { - "type": "integer", - "format": "int64", - "example": 1001, - "description": "看板ID" - }, - "description": { - "type": "string", - "example": "根据产品原型完成首页所有组件的UI设计", - "description": "任务描述" - }, - "dueDate": { - "type": "string", - "format": "date", - "example": "2026-03-15", - "description": "截止日期" - }, - "priority": { - "type": "string", - "example": "HIGH", - "description": "优先级: LOW/MEDIUM/HIGH/URGENT" - }, - "statusId": { - "type": "integer", - "format": "int64", - "example": 1001, - "description": "状态ID" - }, - "title": { - "type": "string", - "example": "完成首页UI设计", - "description": "任务标题" - } - }, - "title": "创建任务请求" - }, - "创建子任务请求": { - "type": "object", - "required": [ - "title" - ], - "properties": { - "title": { - "type": "string", - "example": "完成导航栏组件", - "description": "子任务标题" - } - }, - "title": "创建子任务请求" - }, - "创建评论请求": { - "type": "object", - "required": [ - "content" - ], - "properties": { - "content": { - "type": "string", - "example": "这个任务需要优先处理", - "description": "评论内容" - } - }, - "title": "创建评论请求" - }, - "变更任务状态请求": { - "type": "object", - "required": [ - "statusId" - ], - "properties": { - "statusId": { - "type": "integer", - "format": "int64", - "example": 1002, - "description": "目标状态ID" - } - }, - "title": "变更任务状态请求" - }, - "时间线条目": { - "type": "object", - "properties": { - "action": { - "type": "string", - "description": "操作类型" - }, - "adminAvatar": { - "type": "string", - "description": "管理员头像" - }, - "adminId": { - "type": "integer", - "format": "int64", - "description": "管理员ID" - }, - "adminName": { - "type": "string", - "description": "管理员姓名" - }, - "content": { - "type": "string", - "description": "内容" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "id": { - "type": "integer", - "format": "int64", - "description": "条目ID" - }, - "newValue": { - "type": "string", - "description": "新值" - }, - "oldValue": { - "type": "string", - "description": "旧值" - }, - "type": { - "type": "string", - "description": "类型: COMMENT/ACTIVITY" - } - }, - "title": "时间线条目" - }, - "更新任务请求": { - "type": "object", - "properties": { - "assigneeIds": { - "type": "array", - "description": "负责人ID列表", - "items": { - "type": "integer", - "format": "int64" - } - }, - "description": { - "type": "string", - "example": "根据产品原型完成首页所有组件的UI设计", - "description": "任务描述" - }, - "dueDate": { - "type": "string", - "format": "date", - "example": "2026-03-15", - "description": "截止日期" - }, - "priority": { - "type": "string", - "example": "MEDIUM", - "description": "优先级: LOW/MEDIUM/HIGH/URGENT" - }, - "title": { - "type": "string", - "example": "完成首页UI设计", - "description": "任务标题" - } - }, - "title": "更新任务请求" - }, - "更新状态请求": { - "type": "object", - "properties": { - "statusColor": { - "type": "string", - "example": "#67C23A", - "description": "状态颜色" - }, - "statusName": { - "type": "string", - "example": "已完成", - "description": "状态名称" - } - }, - "title": "更新状态请求" - }, - "统一响应结果«List«时间线条目»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "时间线条目", - "$ref": "#/definitions/时间线条目" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«时间线条目»»" - }, - "统一响应结果«List«看板信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "originalRef": "看板信息", - "$ref": "#/definitions/看板信息" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«看板信息»»" - }, - "统一响应结果«任务信息»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "任务信息", - "$ref": "#/definitions/任务信息" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«任务信息»" - }, - "统一响应结果«子任务信息»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "子任务信息", - "$ref": "#/definitions/子任务信息" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«子任务信息»" - }, - "统一响应结果«时间线条目»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "originalRef": "时间线条目", - "$ref": "#/definitions/时间线条目" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«时间线条目»" - } - } -} \ No newline at end of file diff --git a/api-docs/hl-user-service.json b/api-docs/hl-user-service.json deleted file mode 100644 index a120e5a..0000000 --- a/api-docs/hl-user-service.json +++ /dev/null @@ -1,14726 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "用户服务", - "version": "1.0.0" - }, - "basePath": "/", - "paths": { - "/dict/all": { - "get": { - "tags": [ - "小程序接口" - ], - "summary": "获取所有字典数据(公开接口)", - "description": "获取系统全部字典类型及其字典数据,供小程序C端使用。无需认证即可调用。返回格式与管理端 /admin/dict/all 一致。\n\n**字典层级说明**:\n- 每个元素包含 dictType(编码)、dictName(名称)、dataList(字典数据列表)\n- 前端通过 dictType 匹配业务字段,用 dataList 中的 dictValue/dictLabel 做翻译展示\n- 常用字典:order_status、product_status、id_card_type、gender、traveler_type、favorite_resource_type、footprint_resource_type\n", - "operationId": "getAllDictUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«字典VO»»", - "originalRef": "统一响应结果«List«字典VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«字典VO»»", - "originalRef": "统一响应结果«List«字典VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/user/account": { - "delete": { - "tags": [ - "小程序接口" - ], - "summary": "注销账号", - "description": "永久注销当前用户账号(软删除)。注销后该账号的openid和手机号将被释放,可用于重新注册。注销操作不可撤销,请谨慎调用。需要小程序用户认证。", - "operationId": "deleteAccountUsingDELETE", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/user/favorite": { - "get": { - "tags": [ - "小程序接口" - ], - "summary": "收藏列表", - "description": "分页查询当前用户的所有收藏记录,按收藏时间倒序排列。返回收藏记录的基础信息(不包含资源详情),需前端根据targetType和targetId再查详情。需要小程序用户认证。\n\n**关联字典**:\n- favorite_resource_type(收藏资源类型):返回字段targetType,前端据此判断跳转到哪种资源详情页\n", - "operationId": "listFavoritesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Favorite»»", - "originalRef": "统一响应结果«分页结果«Favorite»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Favorite»»", - "originalRef": "统一响应结果«分页结果«Favorite»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "小程序接口" - ], - "summary": "添加收藏", - "description": "将指定资源添加到当前用户的收藏列表。同一用户对同一资源不可重复收藏,重复收藏会报错。targetType取值:SCENIC_SPOT/ACTIVITY/HOTEL/PRODUCT/EXPLORE等。需要小程序用户认证。\n\n**关联字典**:\n- favorite_resource_type(收藏资源类型):SCENIC_SPOT=景区, ACTIVITY=活动, HOTEL=酒店, PRODUCT=产品, EXPLORE=探索(请求参数targetType)\n", - "operationId": "addFavoriteUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "favoriteRequest", - "description": "收藏请求", - "required": false, - "schema": { - "$ref": "#/definitions/收藏请求", - "originalRef": "收藏请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Favorite»", - "originalRef": "统一响应结果«Favorite»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Favorite»", - "originalRef": "统一响应结果«Favorite»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/user/favorite/check": { - "get": { - "tags": [ - "小程序接口" - ], - "summary": "检查是否已收藏", - "description": "检查当前用户是否已收藏指定类型的资源。返回true=已收藏,false=未收藏。targetType取值:SCENIC_SPOT/ACTIVITY/HOTEL/PRODUCT/EXPLORE等。需要小程序用户认证。\n\n**关联字典**:\n- favorite_resource_type(收藏资源类型):SCENIC_SPOT=景区, ACTIVITY=活动, HOTEL=酒店, PRODUCT=产品, EXPLORE=探索(请求参数targetType)\n", - "operationId": "checkFavoriteUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "targetId", - "in": "query", - "description": "目标资源ID", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "name": "targetType", - "in": "query", - "description": "目标类型", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«boolean»", - "originalRef": "统一响应结果«boolean»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/user/favorite/{favoriteId}": { - "delete": { - "tags": [ - "小程序接口" - ], - "summary": "删除收藏", - "description": "根据收藏记录ID取消收藏。只能删除自己的收藏记录,删除他人的收藏会报权限错误。需要小程序用户认证。", - "operationId": "deleteFavoriteUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "favoriteId", - "in": "path", - "description": "收藏ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/user/footprint": { - "get": { - "tags": [ - "小程序接口" - ], - "summary": "足迹列表", - "description": "分页查询当前用户的浏览足迹,按浏览时间倒序排列。需要小程序用户认证。\n\n**关联字典**:\n- footprint_resource_type(足迹资源类型):返回字段resourceType,前端据此判断跳转到哪种资源详情页\n", - "operationId": "listFootprintsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Footprint»»", - "originalRef": "统一响应结果«分页结果«Footprint»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Footprint»»", - "originalRef": "统一响应结果«分页结果«Footprint»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "小程序接口" - ], - "summary": "添加足迹", - "description": "记录用户浏览资源的足迹。同一用户对同一资源多次浏览只保留最新一条记录(更新时间)。resourceType取值:SCENIC_SPOT/ACTIVITY/HOTEL/PRODUCT等。通常由前端在进入资源详情页时自动调用。需要小程序用户认证。\n\n**关联字典**:\n- footprint_resource_type(足迹资源类型):SCENIC_SPOT=景区, ACTIVITY=活动, HOTEL=酒店, PRODUCT=产品(请求参数resourceType)\n", - "operationId": "addFootprintUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "footprintRequest", - "description": "足迹请求", - "required": false, - "schema": { - "$ref": "#/definitions/足迹请求", - "originalRef": "足迹请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Footprint»", - "originalRef": "统一响应结果«Footprint»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Footprint»", - "originalRef": "统一响应结果«Footprint»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/user/footprint/{footprintId}": { - "delete": { - "tags": [ - "小程序接口" - ], - "summary": "删除足迹", - "description": "根据足迹记录ID删除单条浏览足迹。只能删除自己的足迹记录。需要小程序用户认证。", - "operationId": "deleteFootprintUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "footprintId", - "in": "path", - "description": "足迹ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/user/login": { - "post": { - "tags": [ - "小程序接口" - ], - "summary": "微信登录", - "description": "小程序用户通过微信授权码(wx.login获取的code)登录。可选传入phoneCode用于获取手机号绑定,avatar和nickname用于设置头像昵称。首次登录自动注册,返回JWT Token。needProfile=true表示需补充实名信息。无需认证即可调用。", - "operationId": "loginUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "微信登录请求", - "required": false, - "schema": { - "$ref": "#/definitions/微信小程序登录请求", - "originalRef": "微信小程序登录请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«用户登录响应»", - "originalRef": "统一响应结果«用户登录响应»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«用户登录响应»", - "originalRef": "统一响应结果«用户登录响应»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/user/login/sms": { - "post": { - "tags": [ - "小程序接口" - ], - "summary": "手机号验证码登录", - "description": "小程序用户通过手机号+短信验证码登录。首次登录自动注册账号,返回JWT Token。登录成功后若needProfile=true,表示需要补充个人信息(实名认证),前端应跳转到信息补充页。无需认证即可调用。", - "operationId": "loginBySmsUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "短信验证码登录请求", - "required": false, - "schema": { - "$ref": "#/definitions/短信验证码登录请求", - "originalRef": "短信验证码登录请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«用户登录响应»", - "originalRef": "统一响应结果«用户登录响应»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«用户登录响应»", - "originalRef": "统一响应结果«用户登录响应»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/user/logout": { - "post": { - "tags": [ - "小程序接口" - ], - "summary": "用户登出", - "description": "清除当前用户的登录状态并使Token失效。需要小程序用户认证。", - "operationId": "logoutUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/user/profile": { - "get": { - "tags": [ - "小程序接口" - ], - "summary": "获取用户信息", - "description": "获取当前登录用户的个人资料,包括昵称、头像、手机号(脱敏)、实名信息等。手机号返回脱敏格式(如138****0000),证件号同样脱敏处理。需要小程序用户认证(Token中的userId)。\n\n**关联字典**:\n- id_card_type(证件类型):ID_CARD=身份证, PASSPORT=护照\n- gender(性别):0=女, 1=男\n", - "operationId": "getProfileUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«用户信息VO»", - "originalRef": "统一响应结果«用户信息VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«用户信息VO»", - "originalRef": "统一响应结果«用户信息VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "小程序接口" - ], - "summary": "更新用户信息", - "description": "更新当前用户的个人资料。首次登录补充信息时realName/idCardType/idCardNo为必填(使用ProfileCompletion验证组)。如果传入身份证号,后端自动解析性别和出生日期。更新手机号后会自动绑定匹配的待绑定订单。需要小程序用户认证。\n\n**关联字典**:\n- id_card_type(证件类型):ID_CARD=身份证, PASSPORT=护照(请求参数idCardType)\n- gender(性别):0=女, 1=男\n", - "operationId": "updateProfileUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "updateRequest", - "description": "更新用户信息请求", - "required": false, - "schema": { - "$ref": "#/definitions/更新用户资料请求", - "originalRef": "更新用户资料请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«用户信息VO»", - "originalRef": "统一响应结果«用户信息VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«用户信息VO»", - "originalRef": "统一响应结果«用户信息VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/user/sms/send": { - "post": { - "tags": [ - "小程序接口" - ], - "summary": "发送短信验证码", - "description": "向指定手机号发送6位数字短信验证码,用于小程序手机号登录。同一手机号60秒内不可重复发送,每日最多发送10次。验证码有效期5分钟。无需认证即可调用。", - "operationId": "sendSmsCodeUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "发送短信验证码请求", - "required": false, - "schema": { - "$ref": "#/definitions/发送短信验证码请求", - "originalRef": "发送短信验证码请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/user/traveler": { - "get": { - "tags": [ - "小程序接口" - ], - "summary": "出行人列表", - "description": "获取当前用户的所有出行人列表。如果用户已完成实名认证(realName不为空),列表首项会自动注入一个'本人'虚拟出行人(travelerId=0)。默认出行人排在前面,其余按创建时间排序。需要小程序用户认证。\n\n**关联字典**:\n- gender(性别):返回字段gender\n- id_card_type(证件类型):返回字段idCardType\n- traveler_type(出行人类型):返回字段travelerType", - "operationId": "listTravelersUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Traveler»»", - "originalRef": "统一响应结果«List«Traveler»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Traveler»»", - "originalRef": "统一响应结果«List«Traveler»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "小程序接口" - ], - "summary": "新增出行人", - "description": "为当前用户添加一位出行人信息,用于下单时选择。出行人类型(成人/儿童/婴儿)根据出生日期自动判断,无需手动传入。如果传入身份证号,后端自动校验格式并解析性别。每个用户最多可添加20位出行人。需要小程序用户认证。\n\n**关联字典**:\n- gender(性别):请求/返回字段gender(0=女, 1=男)\n- id_card_type(证件类型):请求/返回字段idCardType(ID_CARD=身份证, PASSPORT=护照等)\n- traveler_type(出行人类型):返回字段travelerType(ADULT=成人, CHILD=儿童, INFANT=婴儿,自动计算)", - "operationId": "addTravelerUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "travelerRequest", - "description": "出行人信息", - "required": false, - "schema": { - "$ref": "#/definitions/出行人请求", - "originalRef": "出行人请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Traveler»", - "originalRef": "统一响应结果«Traveler»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Traveler»", - "originalRef": "统一响应结果«Traveler»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/user/traveler/{travelerId}": { - "get": { - "tags": [ - "小程序接口" - ], - "summary": "出行人详情", - "description": "获取指定出行人的详细信息。\n\n**关联字典**:\n- gender(性别):返回字段gender\n- id_card_type(证件类型):返回字段idCardType\n- traveler_type(出行人类型):返回字段travelerType", - "operationId": "getTravelerUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "travelerId", - "in": "path", - "description": "出行人ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Traveler»", - "originalRef": "统一响应结果«Traveler»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Traveler»", - "originalRef": "统一响应结果«Traveler»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "小程序接口" - ], - "summary": "更新出行人", - "description": "更新指定出行人的信息。\n\n**关联字典**:\n- gender(性别):请求/返回字段gender\n- id_card_type(证件类型):请求/返回字段idCardType\n- traveler_type(出行人类型):返回字段travelerType(自动计算)", - "operationId": "updateTravelerUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "travelerId", - "in": "path", - "description": "出行人ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "travelerRequest", - "description": "出行人信息", - "required": false, - "schema": { - "$ref": "#/definitions/出行人请求", - "originalRef": "出行人请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Traveler»", - "originalRef": "统一响应结果«Traveler»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Traveler»", - "originalRef": "统一响应结果«Traveler»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "小程序接口" - ], - "summary": "删除出行人", - "description": "删除指定的出行人记录(软删除)。\n\n**权限**:需要小程序用户认证。\n**注意**:如果该出行人已关联到未完成的订单,删除不影响订单中的出行人快照数据。", - "operationId": "deleteTravelerUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "travelerId", - "in": "path", - "description": "出行人ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/user/traveler/{travelerId}/default": { - "put": { - "tags": [ - "小程序接口" - ], - "summary": "设为默认出行人", - "description": "将指定出行人设为默认。每个用户只能有一个默认出行人,设置新的默认会自动取消原来的默认。默认出行人在下单时会被自动选中。需要小程序用户认证。", - "operationId": "setDefaultUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "travelerId", - "in": "path", - "description": "出行人ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/user": { - "get": { - "tags": [ - "管理员管理接口" - ], - "summary": "管理员列表", - "description": "分页查询管理员列表,支持按角色、状态、企微绑定状态筛选。status取值:ACTIVE=正常 LOCKED=已锁定 DISABLED=已禁用。wechatBound:true=已绑定企业微信 false=未绑定。需要管理员认证。\n\n**关联字典**:\n- admin_status(管理员状态):ACTIVE=启用, LOCKED=锁定, DISABLED=禁用(筛选条件+列表展示)\n", - "operationId": "listAdminsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "roleId", - "in": "query", - "description": "角色ID", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "状态", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "wechatBound", - "in": "query", - "description": "是否绑定企业微信: true=已绑定, false=未绑定", - "required": false, - "type": "boolean", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«AdminUser»»", - "originalRef": "统一响应结果«分页结果«AdminUser»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«AdminUser»»", - "originalRef": "统一响应结果«分页结果«AdminUser»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "管理员管理接口" - ], - "summary": "创建管理员", - "description": "创建新的后台管理员账号。默认密码为Admin@123456,管理员首次登录后建议修改密码。可通过roleIds分配多个角色,也兼容旧的单角色roleId参数。需要SUPER_ADMIN或ADMIN角色。\n\n**关联字典**:\n- admin_status(管理员状态):ACTIVE=启用, LOCKED=锁定, DISABLED=禁用\n", - "operationId": "createAdminUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "创建管理员请求", - "required": false, - "schema": { - "$ref": "#/definitions/创建管理员请求", - "originalRef": "创建管理员请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«AdminUser»", - "originalRef": "统一响应结果«AdminUser»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«AdminUser»", - "originalRef": "统一响应结果«AdminUser»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/user/{adminId}": { - "get": { - "tags": [ - "管理员管理接口" - ], - "summary": "获取管理员详情", - "description": "获取指定管理员的完整信息。\n\n**关联字典**:\n- admin_status(管理员状态):ACTIVE=启用, LOCKED=锁定, DISABLED=禁用\n", - "operationId": "getAdminUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "adminId", - "in": "path", - "description": "管理员ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«AdminUser»", - "originalRef": "统一响应结果«AdminUser»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«AdminUser»", - "originalRef": "统一响应结果«AdminUser»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "管理员管理接口" - ], - "summary": "更新管理员", - "description": "更新管理员信息,包括用户名、状态、角色分配等。\n\n**关联字典**:\n- admin_status(管理员状态):ACTIVE=启用, LOCKED=锁定, DISABLED=禁用\n", - "operationId": "updateAdminUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "adminId", - "in": "path", - "description": "管理员ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "更新管理员请求", - "required": false, - "schema": { - "$ref": "#/definitions/更新管理员请求", - "originalRef": "更新管理员请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«AdminUser»", - "originalRef": "统一响应结果«AdminUser»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«AdminUser»", - "originalRef": "统一响应结果«AdminUser»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "管理员管理接口" - ], - "summary": "删除管理员", - "description": "删除指定管理员账号(软删除)。不能删除自己的账号,不能删除SUPER_ADMIN角色的账号(除非操作者也是SUPER_ADMIN)。删除后该管理员的登录状态自动失效。需要SUPER_ADMIN或ADMIN角色。", - "operationId": "deleteAdminUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "adminId", - "in": "path", - "description": "管理员ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/user/{adminId}/reset-password": { - "post": { - "tags": [ - "管理员管理接口" - ], - "summary": "重置密码", - "description": "将指定管理员的密码重置为默认密码(Admin@123456)。用于管理员忘记密码时由上级管理员操作重置。重置后管理员可用默认密码登录,建议立即修改。需要SUPER_ADMIN或ADMIN角色。", - "operationId": "resetPasswordUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "adminId", - "in": "path", - "description": "管理员ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/user/{adminId}/unlock": { - "post": { - "tags": [ - "管理员管理接口" - ], - "summary": "解锁管理员", - "description": "解锁因登录失败次数过多而被锁定的管理员账号。管理员连续5次登录失败后账号自动锁定30分钟,此接口可立即解锁。需要SUPER_ADMIN或ADMIN角色。", - "operationId": "unlockAdminUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "adminId", - "in": "path", - "description": "管理员ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/user/{adminId}/wechat-binding": { - "put": { - "tags": [ - "管理员管理接口" - ], - "summary": "修改企业微信绑定(支持换绑)", - "description": "为管理员绑定或更换企业微信账号。绑定后管理员可通过企业微信扫码登录,并可接收审批通知。如果目标企微ID已被其他管理员绑定,需设置forceRebind=true强制换绑。需要管理员认证。", - "operationId": "updateWechatBindingUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "adminId", - "in": "path", - "description": "管理员ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "body", - "description": "企业微信绑定信息", - "required": false, - "schema": { - "$ref": "#/definitions/企业微信绑定请求", - "originalRef": "企业微信绑定请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/banner": { - "get": { - "tags": [ - "Banner管理接口" - ], - "summary": "Banner列表", - "description": "分页查询Banner列表,支持按关键词和状态筛选。\n\n**关联字典**:\n- common_status(通用状态):请求参数status和返回字段status(0=禁用, 1=启用)", - "operationId": "listBannersUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "搜索关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "状态", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Banner VO»»", - "originalRef": "统一响应结果«分页结果«Banner VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Banner VO»»", - "originalRef": "统一响应结果«分页结果«Banner VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "Banner管理接口" - ], - "summary": "创建Banner", - "description": "创建新的首页轮播图,包括标题、封面图、跳转链接、排序等。\n\n**权限**:需要管理员登录。\n**注意**:创建后默认为启用状态,小程序端将按排序展示。", - "operationId": "createBannerUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "轮播图创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/Banner请求", - "originalRef": "Banner请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Banner VO»", - "originalRef": "统一响应结果«Banner VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Banner VO»", - "originalRef": "统一响应结果«Banner VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/banner/{id}": { - "get": { - "tags": [ - "Banner管理接口" - ], - "summary": "Banner详情", - "description": "获取指定Banner的详细信息,包括标题、图片、跳转链接、排序等。\n\n**权限**:需要管理员登录。\n\n**关联字典**:\n- common_status(通用状态):返回字段status(0=禁用, 1=启用)", - "operationId": "getBannerUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "轮播图ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Banner VO»", - "originalRef": "统一响应结果«Banner VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Banner VO»", - "originalRef": "统一响应结果«Banner VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "Banner管理接口" - ], - "summary": "更新Banner", - "description": "更新指定Banner的标题、封面图、跳转链接、排序、状态等信息。\n\n**权限**:需要管理员登录。", - "operationId": "updateBannerUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "轮播图ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "轮播图更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/Banner请求", - "originalRef": "Banner请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Banner VO»", - "originalRef": "统一响应结果«Banner VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Banner VO»", - "originalRef": "统一响应结果«Banner VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "Banner管理接口" - ], - "summary": "删除Banner", - "description": "删除指定的Banner记录(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除后小程序首页将不再展示该Banner。", - "operationId": "deleteBannerUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "轮播图ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contact": { - "get": { - "tags": [ - "联系我们管理接口" - ], - "summary": "联系方式列表", - "description": "分页查询联系方式列表,支持按关键词和状态筛选。\n\n**关联字典**:\n- contact_channel_type(联系渠道类型):返回字段channelType(PHONE=电话, WECHAT=微信, EMAIL=邮箱等)\n- common_status(通用状态):请求参数status和返回字段status", - "operationId": "listContactsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "搜索关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "状态", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«联系我们 VO»»", - "originalRef": "统一响应结果«分页结果«联系我们 VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«联系我们 VO»»", - "originalRef": "统一响应结果«分页结果«联系我们 VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "联系我们管理接口" - ], - "summary": "创建联系方式", - "description": "新增一条联系方式记录。\n\n**关联字典**:\n- contact_channel_type(联系渠道类型):请求字段channelType", - "operationId": "createContactUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "联系方式创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/联系我们请求", - "originalRef": "联系我们请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«联系我们 VO»", - "originalRef": "统一响应结果«联系我们 VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«联系我们 VO»", - "originalRef": "统一响应结果«联系我们 VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/contact/{id}": { - "get": { - "tags": [ - "联系我们管理接口" - ], - "summary": "联系方式详情", - "description": "获取指定联系方式的详细信息。\n\n**关联字典**:\n- contact_channel_type(联系渠道类型):返回字段channelType\n- common_status(通用状态):返回字段status", - "operationId": "getContactUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "联系方式ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«联系我们 VO»", - "originalRef": "统一响应结果«联系我们 VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«联系我们 VO»", - "originalRef": "统一响应结果«联系我们 VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "联系我们管理接口" - ], - "summary": "更新联系方式", - "description": "更新指定联系方式记录。\n\n**关联字典**:\n- contact_channel_type(联系渠道类型):请求字段channelType", - "operationId": "updateContactUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "联系方式ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "联系方式更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/联系我们请求", - "originalRef": "联系我们请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«联系我们 VO»", - "originalRef": "统一响应结果«联系我们 VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«联系我们 VO»", - "originalRef": "统一响应结果«联系我们 VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "联系我们管理接口" - ], - "summary": "删除联系方式", - "description": "删除指定的联系方式记录(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除后小程序端将不再展示该联系方式。", - "operationId": "deleteContactUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "联系方式ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/explore/category": { - "get": { - "tags": [ - "探索分类管理接口" - ], - "summary": "探索分类列表", - "description": "分页查询探索分类列表,支持按关键词和状态筛选。\n\n**关联字典**:\n- common_status(通用状态):请求参数status和返回字段status(0=禁用, 1=启用)", - "operationId": "listCategoriesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "搜索关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "状态", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«探索分类 VO»»", - "originalRef": "统一响应结果«分页结果«探索分类 VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«探索分类 VO»»", - "originalRef": "统一响应结果«分页结果«探索分类 VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "探索分类管理接口" - ], - "summary": "创建探索分类", - "description": "创建新的探索分类,用于小程序探索页面的分类展示。\n可关联多个景区资源,设置封面图和描述文字。\n\n**权限**:需要管理员登录。", - "operationId": "createCategoryUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "分类创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/探索分类请求", - "originalRef": "探索分类请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/explore/category/{id}": { - "get": { - "tags": [ - "探索分类管理接口" - ], - "summary": "探索分类详情", - "description": "获取指定探索分类的详细信息,包括标题、封面图、描述、关联的景区资源列表等。\n\n**权限**:需要管理员登录。\n\n**关联字典**:\n- common_status(通用状态):返回字段status(0=禁用, 1=启用)", - "operationId": "getCategoryUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "分类ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«探索分类详情 VO»", - "originalRef": "统一响应结果«探索分类详情 VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«探索分类详情 VO»", - "originalRef": "统一响应结果«探索分类详情 VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "探索分类管理接口" - ], - "summary": "更新探索分类", - "description": "更新指定探索分类的标题、封面图、描述、关联资源、状态等信息。\n\n**权限**:需要管理员登录。", - "operationId": "updateCategoryUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "分类ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "分类更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/探索分类请求", - "originalRef": "探索分类请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "探索分类管理接口" - ], - "summary": "删除探索分类", - "description": "删除指定的探索分类(软删除),同时清除关联的资源绑定关系。\n\n**权限**:需要管理员登录。\n**注意**:删除后小程序探索页面将不再展示该分类。", - "operationId": "deleteCategoryUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "分类ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/frontend-config": { - "get": { - "tags": [ - "前端配置管理接口" - ], - "summary": "配置列表", - "description": "分页查询前端配置列表,支持按关键词、分组和状态筛选。\n\n**关联字典**:\n- common_status(通用状态):请求参数status和返回字段status(0=禁用, 1=启用)", - "operationId": "listConfigsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "configGroup", - "in": "query", - "description": "配置分组", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "keyword", - "in": "query", - "description": "搜索关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "状态", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«前端配置 VO»»", - "originalRef": "统一响应结果«分页结果«前端配置 VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«前端配置 VO»»", - "originalRef": "统一响应结果«分页结果«前端配置 VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "前端配置管理接口" - ], - "summary": "创建配置", - "description": "创建新的前端配置项,用于控制前端页面的展示和行为。\n\n**权限**:需要管理员登录。\n**注意**:configKey 必须全局唯一,不能与已有配置重复。可通过 sensitive 字段标记是否为敏感配置(敏感配置不会通过公开接口暴露给小程序)。", - "operationId": "createConfigUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "配置创建请求", - "required": false, - "schema": { - "$ref": "#/definitions/前端配置请求", - "originalRef": "前端配置请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«前端配置 VO»", - "originalRef": "统一响应结果«前端配置 VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«前端配置 VO»", - "originalRef": "统一响应结果«前端配置 VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/frontend-config/all": { - "get": { - "tags": [ - "前端配置管理接口" - ], - "summary": "配置列表(不分页)", - "description": "获取所有前端配置项的完整列表(不分页),支持按分组和状态筛选。\n适用于需要一次性加载全部配置的场景。\n\n**权限**:需要管理员登录。", - "operationId": "listAllConfigsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "configGroup", - "in": "query", - "description": "配置分组", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "状态", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«前端配置 VO»»", - "originalRef": "统一响应结果«List«前端配置 VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«前端配置 VO»»", - "originalRef": "统一响应结果«List«前端配置 VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/frontend-config/by-key/{key}": { - "get": { - "tags": [ - "前端配置管理接口" - ], - "summary": "按key查询配置", - "description": "根据配置键(configKey)获取指定的前端配置项。\nconfigKey为全局唯一标识,如 app_name、primary_color 等。\n\n**权限**:需要管理员登录。", - "operationId": "getConfigByKeyUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "key", - "in": "path", - "description": "配置键", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«前端配置 VO»", - "originalRef": "统一响应结果«前端配置 VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«前端配置 VO»", - "originalRef": "统一响应结果«前端配置 VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/frontend-config/groups": { - "get": { - "tags": [ - "前端配置管理接口" - ], - "summary": "获取所有分组", - "description": "获取前端配置中所有已使用的分组名称列表。\n用于配置管理页面的分组筛选下拉框。\n\n**权限**:需要管理员登录。", - "operationId": "listGroupsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«string»»", - "originalRef": "统一响应结果«List«string»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«string»»", - "originalRef": "统一响应结果«List«string»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/frontend-config/{id}": { - "get": { - "tags": [ - "前端配置管理接口" - ], - "summary": "配置详情", - "description": "根据配置ID获取指定前端配置项的详细信息,包括key、value、分组、描述等。\n\n**权限**:需要管理员登录。", - "operationId": "getConfigUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "配置ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«前端配置 VO»", - "originalRef": "统一响应结果«前端配置 VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«前端配置 VO»", - "originalRef": "统一响应结果«前端配置 VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "前端配置管理接口" - ], - "summary": "更新配置", - "description": "更新指定前端配置项的值、分组、描述、状态等信息。\n\n**权限**:需要管理员登录。\n**注意**:修改后前端会实时使用新值(如有缓存需等待刷新)。", - "operationId": "updateConfigUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "配置ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "配置更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/前端配置请求", - "originalRef": "前端配置请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«前端配置 VO»", - "originalRef": "统一响应结果«前端配置 VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«前端配置 VO»", - "originalRef": "统一响应结果«前端配置 VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "前端配置管理接口" - ], - "summary": "删除配置", - "description": "删除指定的前端配置项(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除后前端将无法获取该配置,可能影响页面展示,请确认无引用后再删除。", - "operationId": "deleteConfigUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "配置ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/faq/categories": { - "get": { - "tags": [ - "常见问题管理接口" - ], - "summary": "分类列表", - "description": "获取所有FAQ分类的完整列表(不分页)。\n每个分类包含名称、排序号、状态等信息。\n\n**权限**:需要管理员登录。", - "operationId": "listCategoriesUsingGET_1", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«常见问题分类VO»»", - "originalRef": "统一响应结果«List«常见问题分类VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«常见问题分类VO»»", - "originalRef": "统一响应结果«List«常见问题分类VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "常见问题管理接口" - ], - "summary": "创建分类", - "description": "创建新的FAQ分类,用于对常见问题进行归类。\n\n**权限**:需要管理员登录。\n**注意**:分类名称不能重复。", - "operationId": "createCategoryUsingPOST_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/常见问题分类请求", - "originalRef": "常见问题分类请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«常见问题分类VO»", - "originalRef": "统一响应结果«常见问题分类VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«常见问题分类VO»", - "originalRef": "统一响应结果«常见问题分类VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/faq/categories/{id}": { - "put": { - "tags": [ - "常见问题管理接口" - ], - "summary": "更新分类", - "description": "更新指定FAQ分类的名称、排序号、状态等信息。\n\n**权限**:需要管理员登录。", - "operationId": "updateCategoryUsingPUT_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "分类ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/常见问题分类请求", - "originalRef": "常见问题分类请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«常见问题分类VO»", - "originalRef": "统一响应结果«常见问题分类VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«常见问题分类VO»", - "originalRef": "统一响应结果«常见问题分类VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "常见问题管理接口" - ], - "summary": "删除分类", - "description": "删除指定的FAQ分类(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除分类不会删除其下的条目,但条目将变为无分类状态。", - "operationId": "deleteCategoryUsingDELETE_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "分类ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/faq/items": { - "get": { - "tags": [ - "常见问题管理接口" - ], - "summary": "条目列表", - "description": "查询FAQ条目列表,支持按分类ID筛选。\n返回问题标题、回答内容(富文本)、排序号等。\n\n**权限**:需要管理员登录。", - "operationId": "listItemsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "categoryId", - "in": "query", - "description": "分类ID(可选)", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«常见问题条目VO»»", - "originalRef": "统一响应结果«List«常见问题条目VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«常见问题条目VO»»", - "originalRef": "统一响应结果«List«常见问题条目VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "常见问题管理接口" - ], - "summary": "创建条目", - "description": "创建一条常见问题,包含问题标题和回答(支持富文本)。\n\n**权限**:需要管理员登录。\n**注意**:需指定所属分类ID,排序号越小越靠前。", - "operationId": "createItemUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/常见问题条目请求", - "originalRef": "常见问题条目请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«常见问题条目VO»", - "originalRef": "统一响应结果«常见问题条目VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«常见问题条目VO»", - "originalRef": "统一响应结果«常见问题条目VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/faq/items/{id}": { - "put": { - "tags": [ - "常见问题管理接口" - ], - "summary": "更新条目", - "description": "更新指定FAQ条目的问题标题、回答内容、排序号等信息。\n\n**权限**:需要管理员登录。", - "operationId": "updateItemUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "条目ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/常见问题条目请求", - "originalRef": "常见问题条目请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«常见问题条目VO»", - "originalRef": "统一响应结果«常见问题条目VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«常见问题条目VO»", - "originalRef": "统一响应结果«常见问题条目VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "常见问题管理接口" - ], - "summary": "删除条目", - "description": "删除指定的FAQ条目(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除后小程序FAQ页面将不再展示该条目。", - "operationId": "deleteItemUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "条目ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/agreement": { - "get": { - "tags": [ - "用户协议管理接口" - ], - "summary": "协议列表", - "description": "分页查询用户协议列表,支持按关键词和状态筛选。\n\n**关联字典**:\n- common_status(通用状态):请求参数status和返回字段status(0=禁用, 1=启用)", - "operationId": "listAgreementsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "搜索关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "状态", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«协议 VO»»", - "originalRef": "统一响应结果«分页结果«协议 VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«协议 VO»»", - "originalRef": "统一响应结果«分页结果«协议 VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "用户协议管理接口" - ], - "summary": "新增协议", - "description": "创建新的用户协议,如用户服务协议、隐私政策等。\n\n**权限**:需要管理员登录。\n**注意**:协议类型(type)需唯一,同一类型不能重复创建。内容支持富文本。", - "operationId": "createAgreementUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/协议请求", - "originalRef": "协议请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«协议 VO»", - "originalRef": "统一响应结果«协议 VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«协议 VO»", - "originalRef": "统一响应结果«协议 VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/agreement/{id}": { - "get": { - "tags": [ - "用户协议管理接口" - ], - "summary": "协议详情", - "description": "获取指定用户协议的详细信息,包括标题、内容(富文本)、版本号等。\n\n**权限**:需要管理员登录。\n\n**关联字典**:\n- common_status(通用状态):返回字段status(0=禁用, 1=启用)", - "operationId": "getAgreementUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "协议ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«协议 VO»", - "originalRef": "统一响应结果«协议 VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«协议 VO»", - "originalRef": "统一响应结果«协议 VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "用户协议管理接口" - ], - "summary": "编辑协议", - "description": "更新指定用户协议的标题、内容、状态等信息。\n\n**权限**:需要管理员登录。\n**注意**:修改后小程序端会实时展示新内容。", - "operationId": "updateAgreementUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "协议ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "request", - "required": true, - "schema": { - "$ref": "#/definitions/协议请求", - "originalRef": "协议请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«协议 VO»", - "originalRef": "统一响应结果«协议 VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«协议 VO»", - "originalRef": "统一响应结果«协议 VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "用户协议管理接口" - ], - "summary": "删除协议", - "description": "删除指定的用户协议记录(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除后小程序端将无法查看该协议。", - "operationId": "deleteAgreementUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "协议ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/auth/2fa/callback": { - "get": { - "tags": [ - "管理员认证接口" - ], - "summary": "2FA企微扫码回调", - "description": "企业微信OAuth回调地址,用户扫码授权后微信服务器回调此接口。此接口由微信服务器调用,非前端直接调用。回调成功后将state对应的会话标记为已扫码,前端轮询 /2fa/check 即可获取结果。返回HTML页面(成功/失败提示),不返回JSON。", - "operationId": "handle2FaCallbackUsingGET", - "produces": [ - "text/html" - ], - "parameters": [ - { - "name": "code", - "in": "query", - "description": "授权码", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "state", - "in": "query", - "description": "会话状态", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/auth/2fa/check": { - "get": { - "tags": [ - "管理员认证接口" - ], - "summary": "查询2FA扫码状态", - "description": "前端轮询此接口检查2FA扫码验证是否完成。返回status字段:PENDING=等待扫码,SCANNED=已完成验证(附带token和用户信息)。建议轮询间隔2秒,超过5分钟未扫码会话自动失效。无需认证即可调用(登录流程中使用)。", - "operationId": "check2FaStatusUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "state", - "in": "query", - "description": "会话状态", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/auth/2fa/confirm": { - "post": { - "tags": [ - "管理员认证接口" - ], - "summary": "手动确认扫码(内网穿透环境workaround,默认关闭)", - "description": "在内网穿透环境下,企微回调可能无法正常到达,此接口作为手动替代方案。\n需在Nacos配置中开启 auth.2fa-confirm-enabled=true 才可使用。\n\n**权限**:无需认证(登录流程中使用)。\n**注意**:生产环境应保持关闭,仅限开发/测试时使用。", - "operationId": "confirm2FaScanUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "adminId", - "in": "query", - "description": "管理员ID", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "state", - "in": "query", - "description": "会话状态", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/auth/2fa/qrcode": { - "get": { - "tags": [ - "管理员认证接口" - ], - "summary": "生成2FA扫码会话", - "description": "生成企业微信扫码二维码的会话信息,用于新设备二次验证。返回包含qrcodeUrl(二维码链接)和state(会话标识)。前端展示二维码后通过轮询 /2fa/check 接口检查扫码状态。无需认证即可调用(登录流程中使用)。", - "operationId": "generate2FaQrcodeUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "adminId", - "in": "query", - "description": "管理员ID", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/auth/avatar": { - "put": { - "tags": [ - "管理员认证接口" - ], - "summary": "更新头像", - "description": "管理员更新自己的头像。需先通过文件服务上传图片获取OSS URL和fileId,再调用此接口绑定。旧头像的文件引用会自动解绑。需要管理员认证。", - "operationId": "updateAvatarUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "头像更新请求", - "required": false, - "schema": { - "$ref": "#/definitions/头像更新请求", - "originalRef": "头像更新请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/auth/info": { - "get": { - "tags": [ - "管理员认证接口" - ], - "summary": "获取当前管理员信息", - "description": "获取当前登录管理员的完整信息,包括用户名、头像、角色列表、当前角色、菜单权限等。前端页面初始化时调用此接口获取用户信息和权限数据。需要管理员认证。", - "operationId": "getAdminInfoUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«管理员登录响应»", - "originalRef": "统一响应结果«管理员登录响应»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«管理员登录响应»", - "originalRef": "统一响应结果«管理员登录响应»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/auth/login": { - "post": { - "tags": [ - "管理员认证接口" - ], - "summary": "管理员登录", - "description": "管理员通过用户名+密码登录后台管理系统。首次在新设备登录时需要进行企业微信扫码二次验证(2FA),返回needTwoFa=true。登录失败5次后账号将被锁定30分钟。无需认证即可调用。", - "operationId": "loginUsingPOST_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "管理员登录请求", - "required": false, - "schema": { - "$ref": "#/definitions/管理员登录请求", - "originalRef": "管理员登录请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«管理员登录响应»", - "originalRef": "统一响应结果«管理员登录响应»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«管理员登录响应»", - "originalRef": "统一响应结果«管理员登录响应»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/auth/logout": { - "post": { - "tags": [ - "管理员认证接口" - ], - "summary": "管理员登出", - "description": "清除管理员的登录状态并使当前Token失效。前端应在登出后清除本地存储的Token和用户信息。需要管理员认证。", - "operationId": "logoutUsingPOST_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/auth/password": { - "put": { - "tags": [ - "管理员认证接口" - ], - "summary": "修改密码", - "description": "管理员修改自己的登录密码。需验证旧密码正确后才能设置新密码,新密码须满足复杂度要求(8-128位,含大小写字母和数字)。修改成功后当前Token仍然有效,无需重新登录。需要管理员认证(Token中的adminId)。", - "operationId": "changePasswordUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "changeRequest", - "description": "修改密码请求", - "required": false, - "schema": { - "$ref": "#/definitions/修改密码请求", - "originalRef": "修改密码请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/auth/switch-role": { - "post": { - "tags": [ - "管理员认证接口" - ], - "summary": "切换当前角色", - "description": "多角色管理员切换当前活跃角色。切换后返回新的Token和角色对应的菜单权限,前端需更新本地Token并刷新菜单。只能切换到该管理员已分配的角色,否则报错。需要管理员认证。", - "operationId": "switchRoleUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "角色切换请求", - "required": false, - "schema": { - "$ref": "#/definitions/角色切换请求", - "originalRef": "角色切换请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«管理员登录响应»", - "originalRef": "统一响应结果«管理员登录响应»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«管理员登录响应»", - "originalRef": "统一响应结果«管理员登录响应»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/auth/wechat-qr": { - "get": { - "tags": [ - "管理员认证接口" - ], - "summary": "生成企业微信扫码登录会话", - "description": "生成企业微信扫码直接登录的会话信息(非2FA验证,而是扫码替代密码登录)。返回包含qrcodeUrl和state。前端展示二维码后通过轮询 /wechat-qr/status 检查登录状态。无需认证即可调用。", - "operationId": "generateWechatLoginQrUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/auth/wechat-qr/callback": { - "get": { - "tags": [ - "管理员认证接口" - ], - "summary": "企业微信扫码登录回调", - "description": "企业微信OAuth回调地址,扫码登录授权后微信服务器回调此接口。此接口由微信服务器调用,非前端直接调用。回调后标记会话为已扫码,前端通过轮询 /wechat-qr/status 获取登录结果。返回HTML页面,不返回JSON。", - "operationId": "handleWechatLoginCallbackUsingGET", - "produces": [ - "text/html" - ], - "parameters": [ - { - "name": "code", - "in": "query", - "description": "授权码", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "state", - "in": "query", - "description": "会话状态", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/auth/wechat-qr/status": { - "get": { - "tags": [ - "管理员认证接口" - ], - "summary": "查询企业微信扫码登录状态", - "description": "前端轮询此接口检查扫码登录是否完成。返回status字段:PENDING=等待扫码,SCANNED=已扫码登录成功(附带token和用户信息)。建议轮询间隔2秒,超过5分钟未扫码会话自动失效。无需认证即可调用。", - "operationId": "checkWechatLoginStatusUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "state", - "in": "query", - "description": "会话状态", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/auth/wechat/verify-2fa": { - "post": { - "tags": [ - "管理员认证接口" - ], - "summary": "2FA验证", - "description": "新设备登录时的企业微信二次验证。管理员登录返回needTwoFa=true后,前端调用此接口提交验证码完成登录。验证通过后设备将被标记为可信设备,后续登录不再需要2FA。无需认证即可调用。", - "operationId": "verifyTwoFaUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "adminId", - "in": "query", - "description": "管理员ID", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "in": "body", - "name": "request", - "description": "2FA验证请求", - "required": false, - "schema": { - "$ref": "#/definitions/二次验证请求", - "originalRef": "二次验证请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«管理员登录响应»", - "originalRef": "统一响应结果«管理员登录响应»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«管理员登录响应»", - "originalRef": "统一响应结果«管理员登录响应»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/role": { - "get": { - "tags": [ - "角色管理接口" - ], - "summary": "分页查询角色", - "description": "分页查询系统角色列表,支持按状态筛选。\n\n**关联字典**:\n- common_status(通用状态):ACTIVE=启用, DISABLED=禁用(筛选条件+列表展示)\n", - "operationId": "listRolesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "状态", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«SysRole»»", - "originalRef": "统一响应结果«分页结果«SysRole»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«SysRole»»", - "originalRef": "统一响应结果«分页结果«SysRole»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "角色管理接口" - ], - "summary": "创建角色", - "description": "创建新的系统角色。角色标识(roleKey)全局唯一,创建后不可修改,用于代码中的权限判断。创建后需通过[分配菜单权限]接口为角色授权菜单。需要SUPER_ADMIN角色。", - "operationId": "createRoleUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "创建角色请求", - "required": false, - "schema": { - "$ref": "#/definitions/创建角色请求", - "originalRef": "创建角色请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysRole»", - "originalRef": "统一响应结果«SysRole»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysRole»", - "originalRef": "统一响应结果«SysRole»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/role/all": { - "get": { - "tags": [ - "角色管理接口" - ], - "summary": "获取所有角色(下拉)", - "description": "获取所有状态正常的角色列表,用于下拉选择框。不分页,返回全部角色。创建管理员、筛选管理员列表时使用。需要管理员认证。", - "operationId": "getAllRolesUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«SysRole»»", - "originalRef": "统一响应结果«List«SysRole»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«SysRole»»", - "originalRef": "统一响应结果«List«SysRole»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/role/{roleId}": { - "get": { - "tags": [ - "角色管理接口" - ], - "summary": "获取角色详情(含菜单ID)", - "description": "获取角色基本信息及其已分配的菜单ID列表。返回role对象和menuIds数组,用于角色编辑页面回显已勾选的菜单。需要管理员认证。", - "operationId": "getRoleDetailUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "roleId", - "in": "path", - "description": "角色ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "角色管理接口" - ], - "summary": "更新角色", - "description": "更新角色名称、状态等信息。角色标识(roleKey)不可修改。\n\n**关联字典**:\n- common_status(通用状态):ACTIVE=启用, DISABLED=禁用\n", - "operationId": "updateRoleUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "更新角色请求", - "required": false, - "schema": { - "$ref": "#/definitions/更新角色请求", - "originalRef": "更新角色请求" - } - }, - { - "name": "roleId", - "in": "path", - "description": "角色ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysRole»", - "originalRef": "统一响应结果«SysRole»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysRole»", - "originalRef": "统一响应结果«SysRole»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "角色管理接口" - ], - "summary": "删除角色", - "description": "删除指定角色(软删除)。如果该角色下还有关联的管理员,将无法删除,需先解除绑定关系。内置角色(SUPER_ADMIN等)不可删除。需要SUPER_ADMIN角色。", - "operationId": "deleteRoleUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "roleId", - "in": "path", - "description": "角色ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/role/{roleId}/menus": { - "put": { - "tags": [ - "角色管理接口" - ], - "summary": "分配菜单权限", - "description": "为指定角色分配菜单权限(全量覆盖模式)。传入的menuIds将完全替换该角色原有的菜单权限。分配后该角色的所有在线管理员下次请求 /admin/menu/my 时会获取到新的菜单树。注意:需同步清除Redis中的菜单缓存,否则前端拿到的是旧菜单。需要SUPER_ADMIN角色。", - "operationId": "assignMenusUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "分配菜单请求", - "required": false, - "schema": { - "$ref": "#/definitions/分配菜单权限请求", - "originalRef": "分配菜单权限请求" - } - }, - { - "name": "roleId", - "in": "path", - "description": "角色ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/menu": { - "post": { - "tags": [ - "菜单管理接口" - ], - "summary": "创建菜单", - "description": "创建新的菜单/目录/按钮。menuType取值:DIRECTORY=目录(含子菜单) MENU=页面菜单 BUTTON=操作按钮。目录和菜单需设置path路由路径,菜单还需设置component组件路径。按钮类型需设置permissionCode权限标识(如system:user:add)。需要SUPER_ADMIN角色。\n\n**关联字典**:\n- menu_type(菜单类型):请求/返回字段menuType(DIRECTORY=目录, MENU=菜单, BUTTON=按钮)\n- common_status(通用状态):返回字段status", - "operationId": "createMenuUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "创建菜单请求", - "required": false, - "schema": { - "$ref": "#/definitions/创建菜单请求", - "originalRef": "创建菜单请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysMenu»", - "originalRef": "统一响应结果«SysMenu»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysMenu»", - "originalRef": "统一响应结果«SysMenu»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/menu/my": { - "get": { - "tags": [ - "菜单管理接口" - ], - "summary": "获取当前管理员菜单", - "description": "获取当前登录管理员的菜单树(基于其当前角色的权限)。SUPER_ADMIN角色返回完整菜单树,其他角色返回已授权的菜单子集。前端登录后调用此接口动态生成路由和侧边栏菜单。需要管理员认证。", - "operationId": "getMyMenusUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«SysMenu»»", - "originalRef": "统一响应结果«List«SysMenu»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«SysMenu»»", - "originalRef": "统一响应结果«List«SysMenu»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/menu/tree": { - "get": { - "tags": [ - "菜单管理接口" - ], - "summary": "获取完整菜单树", - "description": "获取系统所有菜单的完整树形结构。用于角色权限配置页面展示完整的菜单树供勾选。仅SUPER_ADMIN可查看完整菜单树。需要管理员认证。\n\n**关联字典**:\n- menu_type(菜单类型):返回字段menuType\n- common_status(通用状态):返回字段status", - "operationId": "getMenuTreeUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«SysMenu»»", - "originalRef": "统一响应结果«List«SysMenu»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«SysMenu»»", - "originalRef": "统一响应结果«List«SysMenu»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/menu/tree/role/{roleId}": { - "get": { - "tags": [ - "菜单管理接口" - ], - "summary": "获取角色菜单树", - "description": "获取指定角色已分配的菜单树形结构。\n用于角色权限配置页面,展示该角色已拥有的菜单权限。\n\n**权限**:需要管理员登录。", - "operationId": "getMenuTreeByRoleIdUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "roleId", - "in": "path", - "description": "角色ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«SysMenu»»", - "originalRef": "统一响应结果«List«SysMenu»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«SysMenu»»", - "originalRef": "统一响应结果«List«SysMenu»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/menu/{menuId}": { - "get": { - "tags": [ - "菜单管理接口" - ], - "summary": "获取菜单详情", - "description": "获取指定菜单的详细信息,包括名称、路径、组件、图标、排序、权限标识等。\n\n**权限**:需要管理员登录。\n\n**关联字典**:\n- menu_type(菜单类型):返回字段menuType(DIRECTORY=目录, MENU=菜单, BUTTON=按钮)\n- common_status(通用状态):返回字段status", - "operationId": "getMenuUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "menuId", - "in": "path", - "description": "菜单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysMenu»", - "originalRef": "统一响应结果«SysMenu»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysMenu»", - "originalRef": "统一响应结果«SysMenu»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "菜单管理接口" - ], - "summary": "更新菜单", - "description": "更新指定菜单的名称、路径、组件、图标、排序、状态等信息。\n\n**权限**:需要SUPER_ADMIN角色。\n**注意**:修改后需清除 Redis 菜单缓存才能生效。\n\n**关联字典**:\n- menu_type(菜单类型):请求字段menuType(DIRECTORY=目录, MENU=菜单, BUTTON=按钮)\n- common_status(通用状态):请求字段status", - "operationId": "updateMenuUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "menuId", - "in": "path", - "description": "菜单ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "更新菜单请求", - "required": false, - "schema": { - "$ref": "#/definitions/更新菜单请求", - "originalRef": "更新菜单请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysMenu»", - "originalRef": "统一响应结果«SysMenu»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysMenu»", - "originalRef": "统一响应结果«SysMenu»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "菜单管理接口" - ], - "summary": "删除菜单", - "description": "删除指定的菜单/目录/按钮(软删除)。\n\n**权限**:需要SUPER_ADMIN角色。\n**注意**:如果该菜单有子菜单,需先删除子菜单才能删除父菜单。删除后需清除 Redis 菜单缓存才能生效。", - "operationId": "deleteMenuUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "menuId", - "in": "path", - "description": "菜单ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/dict/all": { - "get": { - "tags": [ - "字典管理接口" - ], - "summary": "获取所有字典数据", - "description": "获取系统全部字典类型及其字典数据,按字典类型分组返回。用于后台管理系统初始化时一次性加载所有下拉选项。返回结果包含dictType编码、dictName名称、dataList数据列表。需要管理员认证。\n\n**字典层级说明**:\n- 字典类型(SysDictType):一级分类,如 admin_status、order_status、id_card_type 等\n- 字典数据(SysDictData):二级选项,归属于某个字典类型,如 admin_status 下的 ACTIVE/LOCKED/DISABLED\n- 前端通过 dictType 编码查找对应的 dataList,用 dictValue 匹配实际数据进行翻译展示\n", - "operationId": "getAllDictUsingGET_1", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«字典VO»»", - "originalRef": "统一响应结果«List«字典VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«字典VO»»", - "originalRef": "统一响应结果«List«字典VO»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/dict/data": { - "post": { - "tags": [ - "字典管理接口" - ], - "summary": "创建字典数据", - "description": "在指定字典类型下新增一条字典数据项。dictValue为前端匹配的值(如ACTIVE),dictLabel为前端展示的标签(如'启用')。支持树形字典数据(通过parentId设置父级)。", - "operationId": "createDictDataUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "创建字典数据请求", - "required": false, - "schema": { - "$ref": "#/definitions/创建字典数据请求", - "originalRef": "创建字典数据请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysDictData»", - "originalRef": "统一响应结果«SysDictData»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysDictData»", - "originalRef": "统一响应结果«SysDictData»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/dict/data/detail/{dictDataId}": { - "get": { - "tags": [ - "字典管理接口" - ], - "summary": "根据ID获取字典数据详情", - "description": "获取单个字典数据项的详细信息,包括dictValue、dictLabel、cssClass等。", - "operationId": "getDictDataByIdUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "dictDataId", - "in": "path", - "description": "字典数据ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysDictData»", - "originalRef": "统一响应结果«SysDictData»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysDictData»", - "originalRef": "统一响应结果«SysDictData»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/dict/data/tree/{dictTypeId}": { - "get": { - "tags": [ - "字典管理接口" - ], - "summary": "按类型查询字典数据(树形结构)", - "description": "根据字典类型ID查询其下所有字典数据,以树形结构返回(支持父子级字典数据)。用于多级联动下拉框场景(如省市区)。需要管理员认证。", - "operationId": "getDictDataTreeUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "dictTypeId", - "in": "path", - "description": "字典类型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«SysDictData»»", - "originalRef": "统一响应结果«List«SysDictData»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«SysDictData»»", - "originalRef": "统一响应结果«List«SysDictData»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/dict/data/{dictType}": { - "get": { - "tags": [ - "字典管理接口" - ], - "summary": "按类型查询字典数据", - "description": "根据字典类型编码(如order_status)查询其下所有字典数据(平铺列表)。用于单层下拉框场景。需要管理员认证。", - "operationId": "getDictDataByTypeUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "dictType", - "in": "path", - "description": "字典类型编码", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«SysDictData»»", - "originalRef": "统一响应结果«List«SysDictData»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«SysDictData»»", - "originalRef": "统一响应结果«List«SysDictData»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/dict/data/{id}": { - "put": { - "tags": [ - "字典管理接口" - ], - "summary": "更新字典数据", - "description": "更新字典数据项的标签、样式类型、排序号等。dictValue建议不修改以免影响已有业务数据。", - "operationId": "updateDictDataUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "字典数据ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "更新字典数据请求", - "required": false, - "schema": { - "$ref": "#/definitions/更新字典数据请求", - "originalRef": "更新字典数据请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysDictData»", - "originalRef": "统一响应结果«SysDictData»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysDictData»", - "originalRef": "统一响应结果«SysDictData»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "字典管理接口" - ], - "summary": "删除字典数据", - "description": "删除指定字典数据项(软删除)。删除后不影响已引用该字典值的业务数据。", - "operationId": "deleteDictDataUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "字典数据ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/dict/type": { - "get": { - "tags": [ - "字典管理接口" - ], - "summary": "分页查询字典类型", - "description": "分页查询字典类型列表,支持按分类(category)筛选。字典类型是字典数据的上级分组,管理字典类型即管理有哪些可供前端使用的下拉选项组。", - "operationId": "listDictTypesUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "category", - "in": "query", - "description": "字典分类", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«SysDictType»»", - "originalRef": "统一响应结果«分页结果«SysDictType»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«SysDictType»»", - "originalRef": "统一响应结果«分页结果«SysDictType»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "字典管理接口" - ], - "summary": "创建字典类型", - "description": "新建一个字典类型(如:订单状态、证件类型等)。字典类型编码(dictType)全局唯一,创建后不可修改。需要管理员认证,建议仅SUPER_ADMIN/ADMIN角色操作。\n\n**已有字典类型示例**:\n- admin_status(管理员状态)、common_status(通用状态)、login_status(登录状态)\n- order_status(订单状态)、product_status(产品状态)、rating_level(评价等级)\n- id_card_type(证件类型)、gender(性别)、traveler_type(出行人类型)\n- contact_channel_type(联系方式渠道类型)、favorite_resource_type(收藏资源类型)、footprint_resource_type(足迹资源类型)\n", - "operationId": "createDictTypeUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "创建字典类型请求", - "required": false, - "schema": { - "$ref": "#/definitions/创建字典类型请求", - "originalRef": "创建字典类型请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysDictType»", - "originalRef": "统一响应结果«SysDictType»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysDictType»", - "originalRef": "统一响应结果«SysDictType»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/dict/type/{dictTypeId}": { - "get": { - "tags": [ - "字典管理接口" - ], - "summary": "根据ID获取字典类型详情", - "description": "获取单个字典类型的详细信息,包括编码、名称、分类、状态等。", - "operationId": "getDictTypeByIdUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "dictTypeId", - "in": "path", - "description": "字典类型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysDictType»", - "originalRef": "统一响应结果«SysDictType»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysDictType»", - "originalRef": "统一响应结果«SysDictType»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/dict/type/{id}": { - "put": { - "tags": [ - "字典管理接口" - ], - "summary": "更新字典类型", - "description": "更新字典类型的名称、分类、备注等信息。字典类型编码(dictType)不可修改。", - "operationId": "updateDictTypeUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "字典类型ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "更新字典类型请求", - "required": false, - "schema": { - "$ref": "#/definitions/更新字典类型请求", - "originalRef": "更新字典类型请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysDictType»", - "originalRef": "统一响应结果«SysDictType»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«SysDictType»", - "originalRef": "统一响应结果«SysDictType»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "字典管理接口" - ], - "summary": "删除字典类型", - "description": "删除字典类型及其下所有字典数据(软删除)。如果该字典类型已被业务引用,删除后不影响已有数据,但新的表单将无法选择该字典值。需要管理员认证。", - "operationId": "deleteDictTypeUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "description": "字典类型ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/job": { - "get": { - "tags": [ - "定时任务接口" - ], - "summary": "分页查询定时任务", - "description": "分页查询定时任务列表。\n\n**关联字典**:\n- job_group(任务分组):DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步\n- job_misfire_policy(执行策略):DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发\n- job_status(任务状态):ACTIVE=启用, PAUSED=已暂停", - "operationId": "listJobsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«定时任务信息»»", - "originalRef": "统一响应结果«分页结果«定时任务信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«定时任务信息»»", - "originalRef": "统一响应结果«分页结果«定时任务信息»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "post": { - "tags": [ - "定时任务接口" - ], - "summary": "创建定时任务", - "description": "创建新的定时任务。invokeTarget格式为'Bean名称.方法名'(如wechatSyncService.syncAll),方法必须是无参公开方法。cronExpression为标准6位Cron表达式(秒 分 时 日 月 周)。创建后任务默认为暂停状态(PAUSED),需手动调用[恢复任务]接口启用。\n\n**关联字典**:\n- job_group(任务分组):DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步\n- job_misfire_policy(执行策略):DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发\n- job_status(任务状态):ACTIVE=启用, PAUSED=已暂停\n\n需要SUPER_ADMIN角色。", - "operationId": "createJobUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "request", - "description": "创建定时任务请求", - "required": false, - "schema": { - "$ref": "#/definitions/创建定时任务请求", - "originalRef": "创建定时任务请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«定时任务信息»", - "originalRef": "统一响应结果«定时任务信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«定时任务信息»", - "originalRef": "统一响应结果«定时任务信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/job/{jobId}": { - "put": { - "tags": [ - "定时任务接口" - ], - "summary": "更新定时任务", - "description": "更新指定定时任务的名称、Cron表达式、调用目标等信息。\n修改Cron表达式后任务将按新的计划执行。\n\n**关联字典**:\n- job_group(任务分组):DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步\n- job_misfire_policy(执行策略):DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发\n\n**权限**:需要SUPER_ADMIN角色。", - "operationId": "updateJobUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "jobId", - "in": "path", - "description": "定时任务ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "request", - "description": "更新定时任务请求", - "required": false, - "schema": { - "$ref": "#/definitions/更新定时任务请求", - "originalRef": "更新定时任务请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«定时任务信息»", - "originalRef": "统一响应结果«定时任务信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«定时任务信息»", - "originalRef": "统一响应结果«定时任务信息»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "delete": { - "tags": [ - "定时任务接口" - ], - "summary": "删除定时任务", - "description": "删除指定的定时任务(软删除),同时从调度器中移除该任务。\n\n**权限**:需要SUPER_ADMIN角色。\n**注意**:删除后任务将不再执行,但历史执行日志仍可查看。", - "operationId": "deleteJobUsingDELETE", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "jobId", - "in": "path", - "description": "定时任务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/job/{jobId}/logs": { - "get": { - "tags": [ - "定时任务接口" - ], - "summary": "查询任务日志", - "description": "分页查询指定定时任务的执行日志,按执行时间倒序排列。日志包含执行状态(成功/失败)、执行耗时、异常信息等。\n\n**关联字典**:job_log_status(日志状态):SUCCESS=成功, FAIL=失败\n\n需要管理员认证。", - "operationId": "listJobLogsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "jobId", - "in": "path", - "description": "定时任务ID", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«定时任务执行日志»»", - "originalRef": "统一响应结果«分页结果«定时任务执行日志»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«定时任务执行日志»»", - "originalRef": "统一响应结果«分页结果«定时任务执行日志»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/job/{jobId}/pause": { - "post": { - "tags": [ - "定时任务接口" - ], - "summary": "暂停任务", - "description": "暂停指定的定时任务,任务状态变为PAUSED。暂停后任务不再按Cron计划执行,但可通过[恢复任务]接口重新启用。\n\n**关联字典**:job_status(任务状态):ACTIVE=启用, PAUSED=已暂停\n\n需要SUPER_ADMIN角色。", - "operationId": "pauseJobUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "jobId", - "in": "path", - "description": "定时任务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/job/{jobId}/resume": { - "post": { - "tags": [ - "定时任务接口" - ], - "summary": "恢复任务", - "description": "恢复已暂停的定时任务,任务状态变为ACTIVE。恢复后任务按Cron计划继续执行。\n\n**关联字典**:job_status(任务状态):ACTIVE=启用, PAUSED=已暂停\n\n需要SUPER_ADMIN角色。", - "operationId": "resumeJobUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "jobId", - "in": "path", - "description": "定时任务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/job/{jobId}/trigger": { - "post": { - "tags": [ - "定时任务接口" - ], - "summary": "立即执行一次", - "description": "立即触发一次定时任务的执行,不影响原有的Cron计划。无论任务当前状态是ACTIVE还是PAUSED,都可以手动触发。执行结果可在任务日志中查看。需要SUPER_ADMIN角色。", - "operationId": "triggerJobUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "jobId", - "in": "path", - "description": "定时任务ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/wechat/departments": { - "get": { - "tags": [ - "企业微信同步接口" - ], - "summary": "部门列表(部门管理页面)", - "description": "获取已同步的所有企业微信部门列表(平铺结构),用于部门管理页面展示。\n包含部门ID、名称、上级部门ID、排序等信息。\n\n**权限**:需要管理员登录。", - "operationId": "listAllDepartmentsUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«WechatDepartment»»", - "originalRef": "统一响应结果«List«WechatDepartment»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«WechatDepartment»»", - "originalRef": "统一响应结果«List«WechatDepartment»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/wechat/departments/tree": { - "get": { - "tags": [ - "企业微信同步接口" - ], - "summary": "部门树(下拉筛选)", - "description": "以树形结构返回企业微信部门数据。用于部门筛选下拉框,每个节点包含id/label/children。需要管理员认证。", - "operationId": "listDepartmentsTreeUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»", - "originalRef": "统一响应结果«List«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/wechat/sync/all": { - "post": { - "tags": [ - "企业微信同步接口" - ], - "summary": "手动同步全部(部门+用户)", - "description": "一键同步企业微信的部门和用户数据,先同步部门再同步用户。推荐使用此接口而非单独同步,确保部门和用户数据一致性。同步过程为异步执行,接口立即返回成功。需要SUPER_ADMIN角色。", - "operationId": "syncAllUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/wechat/sync/departments": { - "post": { - "tags": [ - "企业微信同步接口" - ], - "summary": "手动同步部门", - "description": "从企业微信拉取最新的部门列表并同步到本地数据库。通常在企业微信后台调整组织架构后手动触发。也可通过定时任务自动执行。需要SUPER_ADMIN角色。", - "operationId": "syncDepartmentsUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/wechat/sync/status": { - "get": { - "tags": [ - "企业微信同步接口" - ], - "summary": "同步状态(最后同步时间)", - "description": "获取企业微信数据的最后同步时间和状态。\n返回部门和用户各自的最后同步时间,用于管理页面展示同步状态。\n\n**权限**:需要管理员登录。", - "operationId": "getSyncStatusUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Map«string,object»»", - "originalRef": "统一响应结果«Map«string,object»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/wechat/sync/users": { - "post": { - "tags": [ - "企业微信同步接口" - ], - "summary": "手动同步用户", - "description": "从企业微信拉取所有部门的成员列表并同步到本地数据库。包括姓名、手机号、职位、部门归属等信息。需先同步部门再同步用户,或直接使用[同步全部]接口。需要SUPER_ADMIN角色。", - "operationId": "syncUsersUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/wechat/users": { - "get": { - "tags": [ - "企业微信同步接口" - ], - "summary": "查询企业微信用户(分页+搜索)", - "description": "分页查询已同步的企业微信用户列表。支持按姓名/手机号/职位关键词搜索,按部门ID和状态筛选。status取值:1=已激活 2=已禁用 4=未关注。用于管理员绑定企微账号时选择企微用户。需要管理员认证。\n\n**关联字典**:\n- wechat_user_status(企微用户状态):请求参数status和返回字段status(1=已激活, 2=已禁用, 4=未关注)", - "operationId": "listWechatUsersUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "deptId", - "in": "query", - "description": "部门ID筛选", - "required": false, - "type": "integer", - "format": "int64", - "allowEmptyValue": false - }, - { - "name": "keyword", - "in": "query", - "description": "关键词搜索(姓名/手机/职位)", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "状态筛选(1=已激活,2=已禁用,4=未关注)", - "required": false, - "type": "integer", - "format": "int32", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«WechatUser»»", - "originalRef": "统一响应结果«分页结果«WechatUser»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«WechatUser»»", - "originalRef": "统一响应结果«分页结果«WechatUser»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/designer/dashboard": { - "get": { - "tags": [ - "个人中心(旧路径,已废弃)" - ], - "summary": "工作台概览(已废弃,请使用 /admin/profile/dashboard)", - "description": "已废弃接口,请迁移至 GET /admin/profile/dashboard。\n\n**权限**:需要管理员登录。", - "operationId": "getDashboardUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«定制师工作台VO(重构版)»", - "originalRef": "统一响应结果«定制师工作台VO(重构版)»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«定制师工作台VO(重构版)»", - "originalRef": "统一响应结果«定制师工作台VO(重构版)»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": true, - "x-order": "2147483647" - } - }, - "/admin/designer/orders": { - "get": { - "tags": [ - "个人中心(旧路径,已废弃)" - ], - "summary": "我的订单列表(已废弃,请使用 /admin/profile/orders)", - "description": "已废弃接口。\n\n**关联字典**:\n- order_status(订单状态):请求参数status和返回字段status", - "operationId": "getMyOrdersUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "keyword", - "required": false, - "type": "string" - }, - { - "name": "page", - "in": "query", - "description": "page", - "required": false, - "type": "integer", - "default": 1, - "format": "int32" - }, - { - "name": "pageSize", - "in": "query", - "description": "pageSize", - "required": false, - "type": "integer", - "default": 20, - "format": "int32" - }, - { - "name": "status", - "in": "query", - "description": "status", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": true, - "x-order": "2147483647" - } - }, - "/admin/designer/products": { - "get": { - "tags": [ - "个人中心(旧路径,已废弃)" - ], - "summary": "我的产品列表(已废弃,请使用 /admin/profile/products)", - "description": "已废弃接口。\n\n**关联字典**:\n- product_status(产品状态):请求参数status和返回字段status", - "operationId": "getMyProductsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "keyword", - "required": false, - "type": "string" - }, - { - "name": "page", - "in": "query", - "description": "page", - "required": false, - "type": "integer", - "default": 1, - "format": "int32" - }, - { - "name": "pageSize", - "in": "query", - "description": "pageSize", - "required": false, - "type": "integer", - "default": 20, - "format": "int32" - }, - { - "name": "status", - "in": "query", - "description": "status", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": true, - "x-order": "2147483647" - } - }, - "/admin/designer/profile": { - "get": { - "tags": [ - "个人中心(旧路径,已废弃)" - ], - "summary": "获取我的个人资料(已废弃,请使用 /admin/profile/me)", - "description": "已废弃接口。\n\n**关联字典**:\n- designer_cert_level(认证等级):返回字段certLevel(none/bronze/silver/gold/diamond)", - "operationId": "getMyProfileUsingGET", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«定制师个人资料VO»", - "originalRef": "统一响应结果«定制师个人资料VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«定制师个人资料VO»", - "originalRef": "统一响应结果«定制师个人资料VO»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": true, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "个人中心(旧路径,已废弃)" - ], - "summary": "更新我的个人资料(已废弃,请使用 PUT /admin/profile/me)", - "description": "已废弃接口,请迁移至 PUT /admin/profile/me。\n\n**权限**:需要管理员登录。", - "operationId": "updateMyProfileUsingPUT", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "body", - "required": true, - "schema": { - "$ref": "#/definitions/更新定制师个人资料请求", - "originalRef": "更新定制师个人资料请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«定制师个人资料VO»", - "originalRef": "统一响应结果«定制师个人资料VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«定制师个人资料VO»", - "originalRef": "统一响应结果«定制师个人资料VO»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": true, - "x-order": "2147483647" - } - }, - "/admin/profile/dashboard": { - "get": { - "tags": [ - "个人中心" - ], - "summary": "工作台仪表盘(角色分发,支持时间范围)", - "description": "根据当前管理员角色返回不同的仪表盘数据。CUSTOMIZER(定制师):待处理订单数、产品数、评价统计等。SUPER_ADMIN/ADMIN:全局概览(订单、收入、用户增长等)。ROOM_MANAGER(客房管理):房间分配概览。VEHICLE_MANAGER(车辆管理):车辆调度概览。FINANCE(财务):收支统计。MATERIAL_ADMIN(素材管理):素材库概览。period取值:today=今日 week=本周 month=本月。需要管理员认证。\n\n**关联字典**:\n- order_status(订单状态):仪表盘中订单统计按状态分组展示", - "operationId": "getDashboardUsingGET_1", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "period", - "in": "query", - "description": "时间范围: today/week/month", - "required": false, - "type": "string", - "default": "today", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«object»", - "originalRef": "统一响应结果«object»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«object»", - "originalRef": "统一响应结果«object»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/profile/me": { - "get": { - "tags": [ - "个人中心" - ], - "summary": "获取我的个人资料", - "description": "获取当前登录管理员的个人资料,根据角色返回不同的资料内容。\n定制师角色会返回认证等级、个人简介、擅长领域等附加信息。\n\n**权限**:需要管理员登录。\n\n**关联字典**:\n- designer_cert_level(认证等级):返回字段certLevel(none/bronze/silver/gold/diamond)", - "operationId": "getMyProfileUsingGET_1", - "produces": [ - "*/*" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«个人资料VO(角色感知)»", - "originalRef": "统一响应结果«个人资料VO(角色感知)»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«个人资料VO(角色感知)»", - "originalRef": "统一响应结果«个人资料VO(角色感知)»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - }, - "put": { - "tags": [ - "个人中心" - ], - "summary": "更新我的个人资料", - "description": "更新当前登录管理员的个人资料,支持修改昵称、头像、个人简介等。\n定制师角色可额外更新擅长领域、服务区域等信息。\n\n**权限**:需要管理员登录。", - "operationId": "updateMyProfileUsingPUT_1", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "in": "body", - "name": "body", - "description": "body", - "required": true, - "schema": { - "$ref": "#/definitions/更新定制师个人资料请求", - "originalRef": "更新定制师个人资料请求" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«个人资料VO(角色感知)»", - "originalRef": "统一响应结果«个人资料VO(角色感知)»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«个人资料VO(角色感知)»", - "originalRef": "统一响应结果«个人资料VO(角色感知)»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/profile/orders": { - "get": { - "tags": [ - "个人中心" - ], - "summary": "订单列表", - "description": "查询当前定制师的订单列表,支持按状态筛选。\n\n**关联字典**:\n- order_status(订单状态):请求参数status和返回字段status", - "operationId": "getOrdersUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "搜索关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "订单状态", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/profile/products": { - "get": { - "tags": [ - "个人中心" - ], - "summary": "产品列表", - "description": "查询当前定制师的产品列表,支持按状态筛选。\n\n**关联字典**:\n- product_status(产品状态):请求参数status和返回字段status", - "operationId": "getProductsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "搜索关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "产品状态", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/profile/reviews": { - "get": { - "tags": [ - "个人中心" - ], - "summary": "我的评价列表", - "description": "查询当前定制师收到的评价列表,支持按评价等级筛选。\n\n**关联字典**:\n- rating_level(评价等级):GOOD=好评, MEDIUM=中评, BAD=差评(筛选条件+列表展示)\n", - "operationId": "getReviewsUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "ratingLevel", - "in": "query", - "description": "评价等级: GOOD/MEDIUM/BAD", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»", - "originalRef": "统一响应结果«分页结果«Map«string,object»»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/customer": { - "get": { - "tags": [ - "客户管理接口" - ], - "summary": "客户列表", - "description": "分页查询小程序注册的C端用户(客户)列表。支持按昵称/手机号/真实姓名关键词搜索,按状态筛选。status取值:ACTIVE=正常 BANNED=已封禁。需要管理员认证。\n\n**关联字典**:\n- user_status(用户状态):请求参数status和返回字段status(ACTIVE=正常, BANNED=已封禁)\n- gender(性别):返回字段gender(0=女, 1=男)\n- id_card_type(证件类型):返回字段idCardType", - "operationId": "listCustomersUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "keyword", - "in": "query", - "description": "搜索关键词", - "required": false, - "type": "string", - "allowEmptyValue": false - }, - { - "name": "page", - "in": "query", - "description": "页码", - "required": false, - "type": "integer", - "default": 1, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "pageSize", - "in": "query", - "description": "每页条数", - "required": false, - "type": "integer", - "default": 20, - "format": "int32", - "allowEmptyValue": false - }, - { - "name": "status", - "in": "query", - "description": "状态", - "required": false, - "type": "string", - "allowEmptyValue": false - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«客户信息VO(管理端)»»", - "originalRef": "统一响应结果«分页结果«客户信息VO(管理端)»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«分页结果«客户信息VO(管理端)»»", - "originalRef": "统一响应结果«分页结果«客户信息VO(管理端)»»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/customer/{userId}": { - "get": { - "tags": [ - "客户管理接口" - ], - "summary": "客户详情", - "description": "获取指定客户的详细信息。\n\n**关联字典**:\n- user_status(用户状态):返回字段status\n- gender(性别):返回字段gender\n- id_card_type(证件类型):返回字段idCardType", - "operationId": "getCustomerUsingGET", - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "userId", - "in": "path", - "description": "用户ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«客户信息VO(管理端)»", - "originalRef": "统一响应结果«客户信息VO(管理端)»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«客户信息VO(管理端)»", - "originalRef": "统一响应结果«客户信息VO(管理端)»" - } - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/customer/{userId}/ban": { - "post": { - "tags": [ - "客户管理接口" - ], - "summary": "封禁客户", - "description": "封禁指定的C端用户,状态变为BANNED。封禁后该用户无法登录小程序,已有的Token将失效。封禁操作不会删除用户数据,可通过[解封客户]接口恢复。需要管理员认证。", - "operationId": "banCustomerUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "userId", - "in": "path", - "description": "用户ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - }, - "/admin/customer/{userId}/unban": { - "post": { - "tags": [ - "客户管理接口" - ], - "summary": "解封客户", - "description": "解封已封禁的C端用户,状态恢复为ACTIVE。解封后用户可正常登录小程序。需要管理员认证。", - "operationId": "unbanCustomerUsingPOST", - "consumes": [ - "application/json" - ], - "produces": [ - "*/*" - ], - "parameters": [ - { - "name": "userId", - "in": "path", - "description": "用户ID", - "required": false, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "responsesObject": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/统一响应结果«Void»", - "originalRef": "统一响应结果«Void»" - } - }, - "201": { - "description": "Created" - }, - "401": { - "description": "Unauthorized" - }, - "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not Found" - } - }, - "security": [ - { - "Authorization": [ - "global" - ] - } - ], - "deprecated": false, - "x-order": "2147483647" - } - } - }, - "definitions": { - "Favorite": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time" - }, - "deletedAt": { - "type": "string", - "format": "date-time" - }, - "favoriteId": { - "type": "integer", - "format": "int64" - }, - "targetId": { - "type": "integer", - "format": "int64" - }, - "targetType": { - "type": "string" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "userId": { - "type": "integer", - "format": "int64" - } - }, - "title": "Favorite" - }, - "Footprint": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time" - }, - "deletedAt": { - "type": "string", - "format": "date-time" - }, - "footprintId": { - "type": "integer", - "format": "int64" - }, - "resourceId": { - "type": "integer", - "format": "int64" - }, - "resourceType": { - "type": "string" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "userId": { - "type": "integer", - "format": "int64" - }, - "visitTime": { - "type": "string", - "format": "date-time" - } - }, - "title": "Footprint" - }, - "Traveler": { - "type": "object", - "properties": { - "birthday": { - "type": "string", - "format": "date" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "deletedAt": { - "type": "string", - "format": "date-time" - }, - "email": { - "type": "string" - }, - "emergencyContact": { - "type": "string" - }, - "emergencyPhone": { - "type": "string" - }, - "gender": { - "type": "integer", - "format": "int32" - }, - "idCardNo": { - "type": "string" - }, - "idCardType": { - "type": "string" - }, - "isDefault": { - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nationality": { - "type": "string" - }, - "phone": { - "type": "string" - }, - "travelerId": { - "type": "integer", - "format": "int64" - }, - "travelerType": { - "type": "string" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "userId": { - "type": "integer", - "format": "int64" - } - }, - "title": "Traveler" - }, - "出行人请求": { - "type": "object", - "required": [ - "birthday", - "name" - ], - "properties": { - "birthday": { - "type": "string", - "format": "date", - "example": "1990-01-01", - "description": "出生日期(必填,后端根据此字段自动判断人员类型)" - }, - "email": { - "type": "string", - "example": "zhangsan@example.com", - "description": "邮箱" - }, - "emergencyContact": { - "type": "string", - "example": "李四", - "description": "紧急联系人姓名" - }, - "emergencyPhone": { - "type": "string", - "example": 13900139000, - "description": "紧急联系人电话" - }, - "gender": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "性别,关联字典gender:0=女, 1=男" - }, - "idCardNo": { - "type": "string", - "example": 110101199001011234, - "description": "证件号码" - }, - "idCardType": { - "type": "string", - "example": "ID_CARD", - "description": "证件类型,关联字典id_card_type:ID_CARD=身份证, PASSPORT=护照" - }, - "isDefault": { - "type": "boolean", - "example": false, - "description": "是否设为默认出行人" - }, - "name": { - "type": "string", - "example": "张三", - "description": "出行人姓名" - }, - "nationality": { - "type": "string", - "example": "中国", - "description": "国籍" - }, - "phone": { - "type": "string", - "example": 13800138000, - "description": "手机号" - } - }, - "title": "出行人请求" - }, - "分页结果«Favorite»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/Favorite", - "originalRef": "Favorite" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«Favorite»" - }, - "分页结果«Footprint»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/Footprint", - "originalRef": "Footprint" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«Footprint»" - }, - "发送短信验证码请求": { - "type": "object", - "required": [ - "phone" - ], - "properties": { - "phone": { - "type": "string", - "example": 13800138000, - "description": "手机号" - } - }, - "title": "发送短信验证码请求" - }, - "字典VO": { - "type": "object", - "properties": { - "dataList": { - "type": "array", - "description": "字典数据列表", - "items": { - "$ref": "#/definitions/字典数据项VO", - "originalRef": "字典数据项VO" - } - }, - "dictName": { - "type": "string", - "description": "字典名称" - }, - "dictType": { - "type": "string", - "description": "字典类型标识" - } - }, - "title": "字典VO" - }, - "字典数据项VO": { - "type": "object", - "properties": { - "dictLabel": { - "type": "string", - "description": "字典标签" - }, - "dictValue": { - "type": "string", - "description": "字典值" - }, - "sort": { - "type": "integer", - "format": "int32", - "description": "排序号" - } - }, - "title": "字典数据项VO" - }, - "微信小程序登录请求": { - "type": "object", - "required": [ - "code" - ], - "properties": { - "avatar": { - "type": "string", - "example": "https://thirdwx.qlogo.cn/xxx", - "description": "用户头像URL" - }, - "code": { - "type": "string", - "example": "0c3NKj000...", - "description": "微信登录授权码" - }, - "nickname": { - "type": "string", - "example": "微信用户", - "description": "用户昵称" - }, - "phoneCode": { - "type": "string", - "example": "0c3NKj000...", - "description": "手机号授权码(用于获取手机号)" - } - }, - "title": "微信小程序登录请求", - "description": "通过wx.login获取code进行登录,首次登录自动注册" - }, - "收藏请求": { - "type": "object", - "required": [ - "targetId", - "targetType" - ], - "properties": { - "targetId": { - "type": "integer", - "format": "int64", - "example": 1, - "description": "收藏目标ID" - }, - "targetType": { - "type": "string", - "example": "SCENIC_SPOT", - "description": "收藏类型,关联字典favorite_resource_type" - } - }, - "title": "收藏请求", - "description": "添加收藏时的请求体,指定收藏的资源类型和ID" - }, - "更新用户资料请求": { - "type": "object", - "properties": { - "avatar": { - "type": "string", - "example": "https://oss.example.com/avatar/1.jpg", - "description": "头像URL" - }, - "birthday": { - "type": "string", - "format": "date", - "example": "1990-01-01", - "description": "出生日期(从身份证号自动解析)" - }, - "email": { - "type": "string", - "example": "zhangsan@example.com", - "description": "邮箱" - }, - "gender": { - "type": "string", - "example": "MALE", - "description": "性别:MALE=男 FEMALE=女(从身份证号自动解析)" - }, - "idCardNo": { - "type": "string", - "example": 110101199001011234, - "description": "证件号码(首次登录必填)" - }, - "idCardType": { - "type": "string", - "example": "ID_CARD", - "description": "证件类型:ID_CARD=身份证 PASSPORT=护照(首次登录必填)" - }, - "nationality": { - "type": "string", - "example": "中国", - "description": "国籍(默认中国)" - }, - "nickname": { - "type": "string", - "example": "旅行达人", - "description": "昵称" - }, - "phone": { - "type": "string", - "example": 13800138000, - "description": "手机号" - }, - "realName": { - "type": "string", - "example": "张三", - "description": "真实姓名(首次登录必填)" - } - }, - "title": "更新用户资料请求" - }, - "用户信息VO": { - "type": "object", - "properties": { - "avatar": { - "type": "string", - "description": "头像URL" - }, - "birthday": { - "type": "string", - "format": "date", - "description": "出生日期" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "email": { - "type": "string", - "description": "邮箱" - }, - "gender": { - "type": "integer", - "format": "int32", - "description": "性别,关联字典gender:0=女, 1=男" - }, - "idCardNo": { - "type": "string", - "description": "证件号码" - }, - "idCardType": { - "type": "string", - "description": "证件类型,关联字典id_card_type:ID_CARD=身份证, PASSPORT=护照" - }, - "nationality": { - "type": "string", - "description": "国籍" - }, - "needProfile": { - "type": "boolean", - "description": "是否需要完善资料(realName为空时为true)" - }, - "nickname": { - "type": "string", - "description": "昵称" - }, - "phone": { - "type": "string", - "description": "手机号(脱敏)" - }, - "realName": { - "type": "string", - "description": "真实姓名" - }, - "status": { - "type": "string", - "description": "状态,关联字典user_status:ACTIVE=正常, BANNED=已封禁" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "userId": { - "type": "integer", - "format": "int64", - "description": "用户ID" - } - }, - "title": "用户信息VO" - }, - "用户登录响应": { - "type": "object", - "properties": { - "avatar": { - "type": "string", - "description": "头像URL" - }, - "isNewUser": { - "type": "boolean", - "description": "是否新用户" - }, - "needProfile": { - "type": "boolean", - "description": "是否需要完善资料(realName为空时为true)" - }, - "nickname": { - "type": "string", - "description": "昵称" - }, - "phone": { - "type": "string", - "description": "手机号" - }, - "token": { - "type": "string", - "description": "登录令牌" - }, - "userId": { - "type": "integer", - "format": "int64", - "description": "用户ID" - } - }, - "title": "用户登录响应" - }, - "短信验证码登录请求": { - "type": "object", - "required": [ - "code", - "phone" - ], - "properties": { - "code": { - "type": "string", - "example": 123456, - "description": "短信验证码(6位数字)" - }, - "phone": { - "type": "string", - "example": 13800138000, - "description": "手机号" - } - }, - "title": "短信验证码登录请求" - }, - "统一响应结果«Favorite»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/Favorite", - "originalRef": "Favorite" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Favorite»" - }, - "统一响应结果«Footprint»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/Footprint", - "originalRef": "Footprint" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Footprint»" - }, - "统一响应结果«List«Traveler»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/Traveler", - "originalRef": "Traveler" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«Traveler»»" - }, - "统一响应结果«List«字典VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/字典VO", - "originalRef": "字典VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«字典VO»»" - }, - "统一响应结果«Traveler»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/Traveler", - "originalRef": "Traveler" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Traveler»" - }, - "统一响应结果«Void»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Void»" - }, - "统一响应结果«boolean»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "boolean", - "description": "响应数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«boolean»" - }, - "统一响应结果«分页结果«Favorite»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«Favorite»", - "originalRef": "分页结果«Favorite»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«Favorite»»" - }, - "统一响应结果«分页结果«Footprint»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«Footprint»", - "originalRef": "分页结果«Footprint»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«Footprint»»" - }, - "统一响应结果«用户信息VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/用户信息VO", - "originalRef": "用户信息VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«用户信息VO»" - }, - "统一响应结果«用户登录响应»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/用户登录响应", - "originalRef": "用户登录响应" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«用户登录响应»" - }, - "足迹请求": { - "type": "object", - "required": [ - "resourceId", - "resourceType" - ], - "properties": { - "resourceId": { - "type": "integer", - "format": "int64", - "example": 1, - "description": "资源ID" - }, - "resourceType": { - "type": "string", - "example": "SCENIC_SPOT", - "description": "资源类型,关联字典footprint_resource_type" - } - }, - "title": "足迹请求", - "description": "记录用户浏览足迹时的请求体" - }, - "AdminUser": { - "type": "object", - "properties": { - "adminId": { - "type": "integer", - "format": "int64" - }, - "avatar": { - "type": "string" - }, - "contactQrUrl": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "currentRoleId": { - "type": "integer", - "format": "int64" - }, - "effectiveAvatar": { - "type": "string" - }, - "enterpriseWechatDeptNames": { - "type": "string" - }, - "enterpriseWechatId": { - "type": "string" - }, - "enterpriseWechatName": { - "type": "string" - }, - "failedLoginCount": { - "type": "integer", - "format": "int32" - }, - "lockedUntil": { - "type": "string", - "format": "date-time" - }, - "passwordChangedAt": { - "type": "string", - "format": "date-time" - }, - "roleKey": { - "type": "string" - }, - "roleName": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/SysRole", - "originalRef": "SysRole" - } - }, - "status": { - "type": "string" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "username": { - "type": "string" - } - }, - "title": "AdminUser" - }, - "SysRole": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time" - }, - "remark": { - "type": "string" - }, - "roleId": { - "type": "integer", - "format": "int64" - }, - "roleKey": { - "type": "string" - }, - "roleName": { - "type": "string" - }, - "sortOrder": { - "type": "integer", - "format": "int32" - }, - "status": { - "type": "string" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - } - }, - "title": "SysRole" - }, - "企业微信绑定请求": { - "type": "object", - "properties": { - "enterpriseWechatId": { - "type": "string", - "description": "企业微信ID(为空则解绑)" - }, - "forceRebind": { - "type": "boolean", - "description": "是否强制换绑(当ID已被其他管理员占用时)" - } - }, - "title": "企业微信绑定请求" - }, - "分页结果«AdminUser»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/AdminUser", - "originalRef": "AdminUser" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«AdminUser»" - }, - "创建管理员请求": { - "type": "object", - "required": [ - "username" - ], - "properties": { - "roleId": { - "type": "integer", - "format": "int64", - "example": 1, - "description": "角色ID(已废弃,请使用roleIds)" - }, - "roleIds": { - "type": "array", - "example": [ - 1, - 2 - ], - "description": "角色ID列表(多角色)", - "items": { - "type": "integer", - "format": "int64" - } - }, - "username": { - "type": "string", - "example": "zhangsan", - "description": "用户名" - } - }, - "title": "创建管理员请求", - "description": "创建后台管理员账号,默认密码Admin@123456" - }, - "更新管理员请求": { - "type": "object", - "properties": { - "enterpriseWechatId": { - "type": "string", - "example": 842, - "description": "企业微信用户ID" - }, - "roleId": { - "type": "integer", - "format": "int64", - "example": 1, - "description": "角色ID(已废弃,请使用roleIds)" - }, - "roleIds": { - "type": "array", - "example": [ - 1, - 2 - ], - "description": "角色ID列表(多角色)", - "items": { - "type": "integer", - "format": "int64" - } - } - }, - "title": "更新管理员请求" - }, - "统一响应结果«AdminUser»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/AdminUser", - "originalRef": "AdminUser" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«AdminUser»" - }, - "统一响应结果«Map«string,object»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "object", - "description": "响应数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Map«string,object»»" - }, - "统一响应结果«分页结果«AdminUser»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«AdminUser»", - "originalRef": "分页结果«AdminUser»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«AdminUser»»" - }, - "Banner VO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "endTime": { - "type": "string", - "format": "date-time", - "description": "展示结束时间" - }, - "id": { - "type": "string", - "description": "Banner ID" - }, - "imageUrl": { - "type": "string", - "description": "图片URL(图片类型为图片,视频类型为封面图)" - }, - "linkId": { - "type": "string", - "description": "链接目标ID(PRODUCT/SCENIC/ACTIVITY/HOTEL时有值)" - }, - "linkTargetName": { - "type": "string", - "description": "链接目标名称(用于后台展示)" - }, - "linkType": { - "type": "string", - "description": "链接类型:NONE=无链接 PRODUCT=产品 SCENIC=景区 ACTIVITY=活动 HOTEL=酒店 PAGE=小程序页面 WEBVIEW=网页" - }, - "linkUrl": { - "type": "string", - "description": "链接URL(PAGE时为路由名,WEBVIEW时为完整URL)" - }, - "materialId": { - "type": "integer", - "format": "int64", - "description": "素材库关联ID" - }, - "mediaType": { - "type": "string", - "description": "媒体类型: IMAGE/VIDEO" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序号" - }, - "startTime": { - "type": "string", - "format": "date-time", - "description": "展示开始时间" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=下线 1=上线" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "tags": { - "type": "array", - "description": "标签列表", - "items": { - "type": "string" - } - }, - "title": { - "type": "string", - "description": "标题" - }, - "videoUrl": { - "type": "string", - "description": "视频URL(媒体类型为VIDEO时有值)" - } - }, - "title": "Banner VO" - }, - "Banner请求": { - "type": "object", - "required": [ - "imageUrl", - "title" - ], - "properties": { - "endTime": { - "type": "string", - "format": "date-time", - "example": "2026-03-31T23:59:59", - "description": "展示结束时间" - }, - "imageUrl": { - "type": "string", - "example": "https://oss.example.com/banner/1.jpg", - "description": "Banner图片URL(图片类型时为图片,视频类型时为封面图)" - }, - "linkId": { - "type": "string", - "example": 1, - "description": "链接目标ID(linkType=PRODUCT时为产品ID)" - }, - "linkTargetName": { - "type": "string", - "example": "甘南秘境之旅", - "description": "链接目标名称(用于后台展示)" - }, - "linkType": { - "type": "string", - "example": "PRODUCT", - "description": "链接类型:NONE=无链接 PRODUCT=产品 SCENIC=景区 ACTIVITY=活动 HOTEL=酒店 PAGE=小程序页面 WEBVIEW=网页" - }, - "linkUrl": { - "type": "string", - "example": "https://example.com", - "description": "链接URL(linkType=WEBVIEW/PAGE时生效)" - }, - "materialId": { - "type": "integer", - "format": "int64", - "description": "素材库关联ID(从素材库选择时传入)" - }, - "mediaType": { - "type": "string", - "example": "IMAGE", - "description": "媒体类型: IMAGE/VIDEO" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序号(越小越靠前)" - }, - "startTime": { - "type": "string", - "format": "date-time", - "example": "2026-03-01T00:00:00", - "description": "展示开始时间" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=下线 1=上线" - }, - "subtitle": { - "type": "string", - "example": "限时优惠,不容错过", - "description": "副标题" - }, - "tags": { - "type": "string", - "example": "热门,推荐", - "description": "标签(逗号分隔)" - }, - "title": { - "type": "string", - "example": "春季特惠", - "description": "Banner标题" - }, - "videoUrl": { - "type": "string", - "example": "https://oss.example.com/banner/1.mp4", - "description": "视频URL(媒体类型为VIDEO时必填)" - } - }, - "title": "Banner请求" - }, - "分页结果«Banner VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/Banner VO", - "originalRef": "Banner VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«Banner VO»" - }, - "统一响应结果«Banner VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/Banner VO", - "originalRef": "Banner VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«Banner VO»" - }, - "统一响应结果«分页结果«Banner VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«Banner VO»", - "originalRef": "分页结果«Banner VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«Banner VO»»" - }, - "分页结果«联系我们 VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/联系我们 VO", - "originalRef": "联系我们 VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«联系我们 VO»" - }, - "统一响应结果«分页结果«联系我们 VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«联系我们 VO»", - "originalRef": "分页结果«联系我们 VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«联系我们 VO»»" - }, - "统一响应结果«联系我们 VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/联系我们 VO", - "originalRef": "联系我们 VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«联系我们 VO»" - }, - "联系我们 VO": { - "type": "object", - "properties": { - "channelType": { - "type": "string", - "description": "渠道类型,关联字典contact_channel_type:ABOUT=关于我们, ONLINE_CS=在线客服, PHONE=电话咨询" - }, - "content": { - "type": "string", - "description": "富文本内容(关于我们类型使用)" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "icon": { - "type": "string", - "description": "图标URL" - }, - "id": { - "type": "string", - "description": "联系方式ID" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序号" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态,关联字典common_status:0=下线, 1=上线" - }, - "subtitle": { - "type": "string", - "description": "副标题/描述" - }, - "title": { - "type": "string", - "description": "标题" - }, - "value": { - "type": "string", - "description": "渠道值" - } - }, - "title": "联系我们 VO" - }, - "联系我们请求": { - "type": "object", - "required": [ - "channelType", - "title" - ], - "properties": { - "channelType": { - "type": "string", - "example": "PHONE", - "description": "渠道类型,关联字典contact_channel_type:ABOUT=关于我们, ONLINE_CS=在线客服, PHONE=电话咨询" - }, - "content": { - "type": "string", - "description": "富文本内容(关于我们类型使用)" - }, - "icon": { - "type": "string", - "example": "https://oss.example.com/icon/phone.png", - "description": "图标URL" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序号(越小越靠前)" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态,关联字典common_status:0=下线, 1=上线" - }, - "subtitle": { - "type": "string", - "example": "客服热线", - "description": "副标题/描述" - }, - "title": { - "type": "string", - "example": "电话咨询", - "description": "标题" - }, - "value": { - "type": "string", - "example": "400-000-0000", - "description": "渠道值(电话号码/客服链接等)" - } - }, - "title": "联系我们请求" - }, - "分页结果«探索分类 VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/探索分类 VO", - "originalRef": "探索分类 VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«探索分类 VO»" - }, - "探索分类 VO": { - "type": "object", - "properties": { - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "favoriteCount": { - "type": "integer", - "format": "int32", - "description": "收藏数" - }, - "iconUrl": { - "type": "string", - "description": "图标URL" - }, - "id": { - "type": "string", - "description": "分类ID" - }, - "likeCount": { - "type": "integer", - "format": "int32", - "description": "点赞数" - }, - "resourceCount": { - "type": "integer", - "format": "int32", - "description": "关联资源数量" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序号" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=下线 1=上线" - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "title": { - "type": "string", - "description": "分类标题" - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - } - }, - "title": "探索分类 VO" - }, - "探索分类关联资源项": { - "type": "object", - "properties": { - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "description": { - "type": "string", - "description": "资源简介(支持HTML)" - }, - "resourceId": { - "type": "string", - "description": "资源ID" - }, - "resourceName": { - "type": "string", - "description": "资源名称" - }, - "resourceType": { - "type": "string", - "description": "资源类型" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序号" - } - }, - "title": "探索分类关联资源项" - }, - "探索分类详情 VO": { - "type": "object", - "properties": { - "coverUrl": { - "type": "string", - "description": "封面图URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "description": { - "type": "string", - "description": "分类描述" - }, - "favoriteCount": { - "type": "integer", - "format": "int32", - "description": "收藏数" - }, - "iconUrl": { - "type": "string", - "description": "图标URL" - }, - "id": { - "type": "string", - "description": "分类ID" - }, - "isFavorited": { - "type": "boolean", - "description": "当前用户是否已收藏" - }, - "isLiked": { - "type": "boolean", - "description": "当前用户是否已点赞" - }, - "likeCount": { - "type": "integer", - "format": "int32", - "description": "点赞数" - }, - "resources": { - "type": "array", - "description": "关联资源列表", - "items": { - "$ref": "#/definitions/探索分类关联资源项", - "originalRef": "探索分类关联资源项" - } - }, - "subtitle": { - "type": "string", - "description": "副标题" - }, - "title": { - "type": "string", - "description": "分类标题" - }, - "viewCount": { - "type": "integer", - "format": "int32", - "description": "浏览量" - } - }, - "title": "探索分类详情 VO" - }, - "探索分类请求": { - "type": "object", - "required": [ - "coverUrl", - "title" - ], - "properties": { - "coverUrl": { - "type": "string", - "example": "https://oss.example.com/explore/cover.jpg", - "description": "封面图URL" - }, - "description": { - "type": "string", - "example": "阳光沙滩,碧海蓝天", - "description": "分类描述" - }, - "iconUrl": { - "type": "string", - "example": "https://oss.example.com/explore/icon.png", - "description": "图标URL" - }, - "resources": { - "type": "array", - "description": "关联资源列表", - "items": { - "$ref": "#/definitions/探索分类资源请求", - "originalRef": "探索分类资源请求" - } - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序号(越小越靠前)" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=下线 1=上线" - }, - "subtitle": { - "type": "string", - "example": "精选海岛度假目的地", - "description": "副标题" - }, - "title": { - "type": "string", - "example": "海岛度假", - "description": "分类标题" - } - }, - "title": "探索分类请求" - }, - "探索分类资源请求": { - "type": "object", - "properties": { - "coverUrl": { - "type": "string", - "example": "https://oss.example.com/scenic/1.jpg", - "description": "封面图URL" - }, - "description": { - "type": "string", - "description": "资源简介(支持HTML)" - }, - "resourceId": { - "type": "integer", - "format": "int64", - "example": 100, - "description": "资源ID" - }, - "resourceName": { - "type": "string", - "example": "西湖风景区", - "description": "资源名称" - }, - "resourceType": { - "type": "string", - "example": "SCENIC_SPOT", - "description": "资源类型" - } - }, - "title": "探索分类资源请求" - }, - "统一响应结果«分页结果«探索分类 VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«探索分类 VO»", - "originalRef": "分页结果«探索分类 VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«探索分类 VO»»" - }, - "统一响应结果«探索分类详情 VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/探索分类详情 VO", - "originalRef": "探索分类详情 VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«探索分类详情 VO»" - }, - "分页结果«前端配置 VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/前端配置 VO", - "originalRef": "前端配置 VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«前端配置 VO»" - }, - "前端配置 VO": { - "type": "object", - "properties": { - "configGroup": { - "type": "string", - "description": "配置分组: COLOR/PAGE/SECRET/GENERAL" - }, - "configKey": { - "type": "string", - "description": "配置键" - }, - "configType": { - "type": "string", - "description": "值类型" - }, - "configValue": { - "type": "string", - "description": "配置值(SECRET类型脱敏)" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "description": { - "type": "string", - "description": "配置项描述" - }, - "id": { - "type": "string", - "description": "配置ID" - }, - "label": { - "type": "string", - "description": "配置项中文名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序号" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态: 0=禁用 1=启用" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "前端配置 VO" - }, - "前端配置请求": { - "type": "object", - "required": [ - "configGroup", - "configKey", - "configType", - "label" - ], - "properties": { - "configGroup": { - "type": "string", - "example": "COLOR", - "description": "配置分组" - }, - "configKey": { - "type": "string", - "example": "primaryColor", - "description": "配置键" - }, - "configType": { - "type": "string", - "example": "COLOR", - "description": "值类型" - }, - "configValue": { - "type": "string", - "example": "#1890FF", - "description": "配置值" - }, - "description": { - "type": "string", - "example": "系统主色调", - "description": "配置项描述" - }, - "label": { - "type": "string", - "example": "主题色", - "description": "配置项中文名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "排序号" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态: 0=禁用 1=启用" - } - }, - "title": "前端配置请求" - }, - "统一响应结果«List«string»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "type": "string" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«string»»" - }, - "统一响应结果«List«前端配置 VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/前端配置 VO", - "originalRef": "前端配置 VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«前端配置 VO»»" - }, - "统一响应结果«分页结果«前端配置 VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«前端配置 VO»", - "originalRef": "分页结果«前端配置 VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«前端配置 VO»»" - }, - "统一响应结果«前端配置 VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/前端配置 VO", - "originalRef": "前端配置 VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«前端配置 VO»" - }, - "常见问题分类VO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "id": { - "type": "integer", - "format": "int64", - "description": "分类ID" - }, - "items": { - "type": "array", - "description": "条目列表(仅内部接口返回)", - "items": { - "$ref": "#/definitions/常见问题条目VO", - "originalRef": "常见问题条目VO" - } - }, - "name": { - "type": "string", - "description": "分类名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序号" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=禁用 1=启用" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "常见问题分类VO" - }, - "常见问题分类请求": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string", - "example": "常见问题", - "description": "分类名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序号" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=禁用 1=启用" - } - }, - "title": "常见问题分类请求" - }, - "常见问题条目VO": { - "type": "object", - "properties": { - "answer": { - "type": "string", - "description": "回答" - }, - "categoryId": { - "type": "integer", - "format": "int64", - "description": "所属分类ID" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "id": { - "type": "integer", - "format": "int64", - "description": "条目ID" - }, - "question": { - "type": "string", - "description": "问题" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序号" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=禁用 1=启用" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "常见问题条目VO" - }, - "常见问题条目请求": { - "type": "object", - "required": [ - "categoryId", - "question" - ], - "properties": { - "answer": { - "type": "string", - "example": "您可以在首页浏览路线产品...", - "description": "回答(支持富文本)" - }, - "categoryId": { - "type": "integer", - "format": "int64", - "description": "所属分类ID" - }, - "question": { - "type": "string", - "example": "如何预订行程?", - "description": "问题" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序号" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=禁用 1=启用" - } - }, - "title": "常见问题条目请求" - }, - "统一响应结果«List«常见问题分类VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/常见问题分类VO", - "originalRef": "常见问题分类VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«常见问题分类VO»»" - }, - "统一响应结果«List«常见问题条目VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/常见问题条目VO", - "originalRef": "常见问题条目VO" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«常见问题条目VO»»" - }, - "统一响应结果«常见问题分类VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/常见问题分类VO", - "originalRef": "常见问题分类VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«常见问题分类VO»" - }, - "统一响应结果«常见问题条目VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/常见问题条目VO", - "originalRef": "常见问题条目VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«常见问题条目VO»" - }, - "分页结果«协议 VO»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/协议 VO", - "originalRef": "协议 VO" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«协议 VO»" - }, - "协议 VO": { - "type": "object", - "properties": { - "content": { - "type": "string", - "description": "协议内容(HTML富文本)" - }, - "createTime": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "id": { - "type": "string", - "description": "协议ID" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "排序号" - }, - "status": { - "type": "integer", - "format": "int32", - "description": "状态:0=下线 1=上线" - }, - "title": { - "type": "string", - "description": "协议标题" - }, - "type": { - "type": "string", - "description": "协议类型标识" - }, - "updateTime": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "version": { - "type": "string", - "description": "版本号" - } - }, - "title": "协议 VO" - }, - "协议请求": { - "type": "object", - "required": [ - "content", - "title", - "type" - ], - "properties": { - "content": { - "type": "string", - "description": "协议内容(HTML富文本)" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序号(越小越靠前)" - }, - "status": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "状态:0=下线 1=上线" - }, - "title": { - "type": "string", - "example": "隐私政策", - "description": "协议标题" - }, - "type": { - "type": "string", - "example": "privacy", - "description": "协议类型标识(唯一)" - }, - "version": { - "type": "string", - "example": 1.0, - "description": "版本号" - } - }, - "title": "协议请求" - }, - "统一响应结果«分页结果«协议 VO»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«协议 VO»", - "originalRef": "分页结果«协议 VO»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«协议 VO»»" - }, - "统一响应结果«协议 VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/协议 VO", - "originalRef": "协议 VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«协议 VO»" - }, - "二次验证请求": { - "type": "object", - "required": [ - "code" - ], - "properties": { - "code": { - "type": "string", - "example": 123456, - "description": "验证码" - } - }, - "title": "二次验证请求" - }, - "修改密码请求": { - "type": "object", - "required": [ - "newPassword", - "oldPassword" - ], - "properties": { - "newPassword": { - "type": "string", - "example": "NewPass@456", - "description": "新密码(8-128位,须含大小写字母和数字)" - }, - "oldPassword": { - "type": "string", - "example": "OldPass@123", - "description": "旧密码" - } - }, - "title": "修改密码请求" - }, - "头像更新请求": { - "type": "object", - "required": [ - "avatar" - ], - "properties": { - "avatar": { - "type": "string", - "description": "头像URL" - }, - "fileId": { - "type": "integer", - "format": "int64", - "description": "文件ID" - } - }, - "title": "头像更新请求", - "description": "更新管理员头像,需先通过文件服务上传图片" - }, - "管理员登录响应": { - "type": "object", - "properties": { - "adminId": { - "type": "integer", - "format": "int64", - "description": "管理员ID" - }, - "avatar": { - "type": "string", - "description": "头像URL" - }, - "requireTwoFa": { - "type": "boolean", - "description": "是否需要二次验证" - }, - "requireWechatBind": { - "type": "boolean", - "description": "是否需要绑定企业微信" - }, - "role": { - "type": "string", - "description": "角色标识(主角色)" - }, - "roleName": { - "type": "string", - "description": "角色名称(主角色)" - }, - "roles": { - "type": "array", - "description": "角色列表(多角色)", - "items": { - "$ref": "#/definitions/角色信息", - "originalRef": "角色信息" - } - }, - "token": { - "type": "string", - "description": "登录令牌" - }, - "username": { - "type": "string", - "description": "用户名" - } - }, - "title": "管理员登录响应" - }, - "管理员登录请求": { - "type": "object", - "required": [ - "password", - "username" - ], - "properties": { - "password": { - "type": "string", - "example": "Admin@2026", - "description": "密码" - }, - "username": { - "type": "string", - "example": "admin", - "description": "用户名" - } - }, - "title": "管理员登录请求", - "description": "后台管理员通过用户名+密码登录,新设备首次登录需2FA验证" - }, - "统一响应结果«管理员登录响应»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/管理员登录响应", - "originalRef": "管理员登录响应" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«管理员登录响应»" - }, - "角色信息": { - "type": "object", - "properties": { - "roleId": { - "type": "integer", - "format": "int64", - "description": "角色ID" - }, - "roleKey": { - "type": "string", - "description": "角色标识" - }, - "roleName": { - "type": "string", - "description": "角色名称" - } - }, - "title": "角色信息" - }, - "角色切换请求": { - "type": "object", - "required": [ - "roleId" - ], - "properties": { - "roleId": { - "type": "integer", - "format": "int64", - "description": "目标角色ID" - } - }, - "title": "角色切换请求", - "description": "多角色管理员切换当前活跃角色" - }, - "分配菜单权限请求": { - "type": "object", - "required": [ - "menuIds" - ], - "properties": { - "menuIds": { - "type": "array", - "example": [ - 1, - 2, - 3 - ], - "description": "菜单ID列表", - "items": { - "type": "integer", - "format": "int64" - } - } - }, - "title": "分配菜单权限请求" - }, - "分页结果«SysRole»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/SysRole", - "originalRef": "SysRole" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«SysRole»" - }, - "创建角色请求": { - "type": "object", - "required": [ - "roleKey", - "roleName" - ], - "properties": { - "remark": { - "type": "string", - "example": "负责日常运营管理", - "description": "备注" - }, - "roleKey": { - "type": "string", - "example": "OPERATOR", - "description": "角色标识" - }, - "roleName": { - "type": "string", - "example": "运营专员", - "description": "角色名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序号" - } - }, - "title": "创建角色请求" - }, - "更新角色请求": { - "type": "object", - "properties": { - "remark": { - "type": "string", - "example": "负责日常运营管理", - "description": "备注" - }, - "roleName": { - "type": "string", - "example": "运营专员", - "description": "角色名称" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序号" - }, - "status": { - "type": "string", - "example": "ACTIVE", - "description": "状态:ACTIVE=启用 DISABLED=禁用" - } - }, - "title": "更新角色请求" - }, - "统一响应结果«List«SysRole»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/SysRole", - "originalRef": "SysRole" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«SysRole»»" - }, - "统一响应结果«SysRole»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/SysRole", - "originalRef": "SysRole" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«SysRole»" - }, - "统一响应结果«分页结果«SysRole»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«SysRole»", - "originalRef": "分页结果«SysRole»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«SysRole»»" - }, - "SysMenu": { - "type": "object", - "properties": { - "children": { - "type": "array", - "items": { - "$ref": "#/definitions/SysMenu", - "originalRef": "SysMenu" - } - }, - "component": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "icon": { - "type": "string" - }, - "isCache": { - "type": "boolean" - }, - "menuId": { - "type": "integer", - "format": "int64" - }, - "menuName": { - "type": "string" - }, - "menuType": { - "type": "string" - }, - "parentId": { - "type": "integer", - "format": "int64" - }, - "path": { - "type": "string" - }, - "permissionCode": { - "type": "string" - }, - "sortOrder": { - "type": "integer", - "format": "int32" - }, - "status": { - "type": "string" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "visible": { - "type": "boolean" - } - }, - "title": "SysMenu" - }, - "创建菜单请求": { - "type": "object", - "required": [ - "menuName", - "menuType" - ], - "properties": { - "component": { - "type": "string", - "example": "system/user/index", - "description": "组件路径" - }, - "icon": { - "type": "string", - "example": "user", - "description": "菜单图标" - }, - "isCache": { - "type": "boolean", - "example": true, - "description": "是否缓存(true=缓存 false=不缓存)" - }, - "menuName": { - "type": "string", - "example": "用户管理", - "description": "菜单名称" - }, - "menuType": { - "type": "string", - "example": "MENU", - "description": "菜单类型:DIRECTORY=目录 MENU=菜单 BUTTON=按钮" - }, - "parentId": { - "type": "integer", - "format": "int64", - "example": 0, - "description": "父菜单ID(顶级菜单为空)" - }, - "path": { - "type": "string", - "example": "/system/user", - "description": "路由路径" - }, - "permissionCode": { - "type": "string", - "example": "system:user:list", - "description": "权限标识" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序号" - }, - "visible": { - "type": "boolean", - "example": true, - "description": "是否可见" - } - }, - "title": "创建菜单请求" - }, - "更新菜单请求": { - "type": "object", - "properties": { - "component": { - "type": "string", - "example": "system/user/index", - "description": "组件路径" - }, - "icon": { - "type": "string", - "example": "user", - "description": "菜单图标" - }, - "isCache": { - "type": "boolean", - "example": true, - "description": "是否缓存(true=缓存 false=不缓存)" - }, - "menuName": { - "type": "string", - "example": "用户管理", - "description": "菜单名称" - }, - "menuType": { - "type": "string", - "example": "MENU", - "description": "菜单类型:DIRECTORY=目录 MENU=菜单 BUTTON=按钮" - }, - "parentId": { - "type": "integer", - "format": "int64", - "example": 0, - "description": "父菜单ID" - }, - "path": { - "type": "string", - "example": "/system/user", - "description": "路由路径" - }, - "permissionCode": { - "type": "string", - "example": "system:user:list", - "description": "权限标识" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序号" - }, - "status": { - "type": "string", - "example": "ACTIVE", - "description": "状态:ACTIVE=启用 DISABLED=禁用" - }, - "visible": { - "type": "boolean", - "example": true, - "description": "是否可见" - } - }, - "title": "更新菜单请求" - }, - "统一响应结果«List«SysMenu»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/SysMenu", - "originalRef": "SysMenu" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«SysMenu»»" - }, - "统一响应结果«SysMenu»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/SysMenu", - "originalRef": "SysMenu" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«SysMenu»" - }, - "SysDictData": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time" - }, - "dictDataId": { - "type": "integer", - "format": "int64" - }, - "dictLabel": { - "type": "string" - }, - "dictType": { - "type": "string" - }, - "dictValue": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "sortOrder": { - "type": "integer", - "format": "int32" - }, - "status": { - "type": "string" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - } - }, - "title": "SysDictData" - }, - "SysDictType": { - "type": "object", - "properties": { - "category": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "dictName": { - "type": "string" - }, - "dictType": { - "type": "string" - }, - "dictTypeId": { - "type": "integer", - "format": "int64" - }, - "remark": { - "type": "string" - }, - "status": { - "type": "string" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - } - }, - "title": "SysDictType" - }, - "分页结果«SysDictType»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/SysDictType", - "originalRef": "SysDictType" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«SysDictType»" - }, - "创建字典数据请求": { - "type": "object", - "required": [ - "dictLabel", - "dictType", - "dictValue" - ], - "properties": { - "dictLabel": { - "type": "string", - "example": "男", - "description": "字典标签" - }, - "dictType": { - "type": "string", - "example": "sys_gender", - "description": "字典类型" - }, - "dictValue": { - "type": "string", - "example": 1, - "description": "字典值" - }, - "remark": { - "type": "string", - "example": "男性", - "description": "备注" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序号" - } - }, - "title": "创建字典数据请求" - }, - "创建字典类型请求": { - "type": "object", - "required": [ - "dictName", - "dictType" - ], - "properties": { - "category": { - "type": "string", - "example": "system", - "description": "字典分类" - }, - "dictName": { - "type": "string", - "example": "性别", - "description": "字典名称" - }, - "dictType": { - "type": "string", - "example": "sys_gender", - "description": "字典类型标识" - }, - "remark": { - "type": "string", - "example": "用户性别字典", - "description": "备注" - } - }, - "title": "创建字典类型请求" - }, - "更新字典数据请求": { - "type": "object", - "properties": { - "dictLabel": { - "type": "string", - "example": "男", - "description": "字典标签" - }, - "dictValue": { - "type": "string", - "example": 1, - "description": "字典值" - }, - "remark": { - "type": "string", - "example": "男性", - "description": "备注" - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "排序号" - }, - "status": { - "type": "string", - "example": "ACTIVE", - "description": "状态:ACTIVE=启用 DISABLED=禁用" - } - }, - "title": "更新字典数据请求" - }, - "更新字典类型请求": { - "type": "object", - "properties": { - "dictName": { - "type": "string", - "example": "性别", - "description": "字典名称" - }, - "remark": { - "type": "string", - "example": "用户性别字典", - "description": "备注" - }, - "status": { - "type": "string", - "example": "ACTIVE", - "description": "状态:ACTIVE=启用 DISABLED=禁用" - } - }, - "title": "更新字典类型请求" - }, - "统一响应结果«List«SysDictData»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/SysDictData", - "originalRef": "SysDictData" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«SysDictData»»" - }, - "统一响应结果«SysDictData»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/SysDictData", - "originalRef": "SysDictData" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«SysDictData»" - }, - "统一响应结果«SysDictType»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/SysDictType", - "originalRef": "SysDictType" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«SysDictType»" - }, - "统一响应结果«分页结果«SysDictType»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«SysDictType»", - "originalRef": "分页结果«SysDictType»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«SysDictType»»" - }, - "分页结果«定时任务信息»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/定时任务信息", - "originalRef": "定时任务信息" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«定时任务信息»" - }, - "分页结果«定时任务执行日志»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/定时任务执行日志", - "originalRef": "定时任务执行日志" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«定时任务执行日志»" - }, - "创建定时任务请求": { - "type": "object", - "required": [ - "cronExpression", - "invokeTarget", - "jobName" - ], - "properties": { - "concurrent": { - "type": "boolean", - "example": false, - "description": "是否允许并发执行" - }, - "cronExpression": { - "type": "string", - "example": "0 0 2 * * ?", - "description": "Cron表达式,标准6位(秒 分 时 日 月 周)" - }, - "invokeTarget": { - "type": "string", - "example": "wechatSyncService.syncDepartments", - "description": "调用目标(Bean名称.方法名),方法必须是无参公开方法" - }, - "jobGroup": { - "type": "string", - "example": "SYSTEM", - "description": "任务分组,字典类型:job_group(DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步)" - }, - "jobName": { - "type": "string", - "example": "同步企微通讯录", - "description": "任务名称" - }, - "misfirePolicy": { - "type": "string", - "example": "DEFAULT", - "description": "计划执行策略,字典类型:job_misfire_policy(DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发)" - }, - "remark": { - "type": "string", - "example": "每天凌晨2点同步企微通讯录", - "description": "备注" - } - }, - "title": "创建定时任务请求" - }, - "定时任务信息": { - "type": "object", - "properties": { - "concurrent": { - "type": "boolean", - "description": "是否允许并发执行" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "cronExpression": { - "type": "string", - "description": "Cron表达式" - }, - "invokeTarget": { - "type": "string", - "description": "调用目标(Bean名称.方法名)" - }, - "jobGroup": { - "type": "string", - "description": "任务分组" - }, - "jobId": { - "type": "integer", - "format": "int64", - "description": "任务ID" - }, - "jobName": { - "type": "string", - "description": "任务名称" - }, - "misfirePolicy": { - "type": "string", - "description": "计划执行策略" - }, - "remark": { - "type": "string", - "description": "备注" - }, - "status": { - "type": "string", - "description": "任务状态" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "定时任务信息" - }, - "定时任务执行日志": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "endTime": { - "type": "string", - "format": "date-time", - "description": "结束时间" - }, - "invokeTarget": { - "type": "string", - "description": "调用目标" - }, - "jobId": { - "type": "integer", - "format": "int64", - "description": "任务ID" - }, - "jobLogId": { - "type": "integer", - "format": "int64", - "description": "日志ID" - }, - "jobName": { - "type": "string", - "description": "任务名称" - }, - "message": { - "type": "string", - "description": "执行结果/异常信息" - }, - "startTime": { - "type": "string", - "format": "date-time", - "description": "开始时间" - }, - "status": { - "type": "string", - "description": "执行状态" - } - }, - "title": "定时任务执行日志" - }, - "更新定时任务请求": { - "type": "object", - "properties": { - "concurrent": { - "type": "boolean", - "example": false, - "description": "是否允许并发执行" - }, - "cronExpression": { - "type": "string", - "example": "0 0 2 * * ?", - "description": "Cron表达式,标准6位(秒 分 时 日 月 周)" - }, - "invokeTarget": { - "type": "string", - "example": "wechatSyncService.syncDepartments", - "description": "调用目标(Bean名称.方法名),方法必须是无参公开方法" - }, - "jobGroup": { - "type": "string", - "example": "SYSTEM", - "description": "任务分组,字典类型:job_group(DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步)" - }, - "jobName": { - "type": "string", - "example": "同步企微通讯录", - "description": "任务名称" - }, - "misfirePolicy": { - "type": "string", - "example": "DEFAULT", - "description": "计划执行策略,字典类型:job_misfire_policy(DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发)" - }, - "remark": { - "type": "string", - "example": "每天凌晨2点同步企微通讯录", - "description": "备注" - } - }, - "title": "更新定时任务请求" - }, - "统一响应结果«分页结果«定时任务信息»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«定时任务信息»", - "originalRef": "分页结果«定时任务信息»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«定时任务信息»»" - }, - "统一响应结果«分页结果«定时任务执行日志»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«定时任务执行日志»", - "originalRef": "分页结果«定时任务执行日志»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«定时任务执行日志»»" - }, - "统一响应结果«定时任务信息»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/定时任务信息", - "originalRef": "定时任务信息" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«定时任务信息»" - }, - "Map«string,object»": { - "type": "object", - "title": "Map«string,object»", - "additionalProperties": { - "type": "object" - } - }, - "WechatDepartment": { - "type": "object", - "properties": { - "createdAt": { - "type": "string", - "format": "date-time" - }, - "deptId": { - "type": "integer", - "format": "int64" - }, - "deptName": { - "type": "string" - }, - "orderIndex": { - "type": "integer", - "format": "int32" - }, - "parentId": { - "type": "integer", - "format": "int64" - }, - "status": { - "type": "string" - }, - "syncedAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - } - }, - "title": "WechatDepartment" - }, - "WechatUser": { - "type": "object", - "properties": { - "avatar": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "deptIds": { - "type": "string" - }, - "deptNames": { - "type": "string" - }, - "email": { - "type": "string" - }, - "gender": { - "type": "integer", - "format": "int32" - }, - "mobile": { - "type": "string" - }, - "name": { - "type": "string" - }, - "position": { - "type": "string" - }, - "status": { - "type": "integer", - "format": "int32" - }, - "syncedAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "userid": { - "type": "string" - } - }, - "title": "WechatUser" - }, - "分页结果«WechatUser»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/WechatUser", - "originalRef": "WechatUser" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«WechatUser»" - }, - "统一响应结果«List«Map«string,object»»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«Map«string,object»»»" - }, - "统一响应结果«List«WechatDepartment»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "array", - "description": "响应数据", - "items": { - "$ref": "#/definitions/WechatDepartment", - "originalRef": "WechatDepartment" - } - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«List«WechatDepartment»»" - }, - "统一响应结果«分页结果«WechatUser»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«WechatUser»", - "originalRef": "分页结果«WechatUser»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«WechatUser»»" - }, - "Map«string,object»_1": { - "type": "object", - "title": "Map«string,object»_1", - "additionalProperties": { - "type": "object" - } - }, - "Map«string,object»_2": { - "type": "object", - "title": "Map«string,object»_2", - "additionalProperties": { - "type": "object" - } - }, - "Map«string,object»_3": { - "type": "object", - "title": "Map«string,object»_3", - "additionalProperties": { - "type": "object" - } - }, - "Map«string,object»_4": { - "type": "object", - "title": "Map«string,object»_4", - "additionalProperties": { - "type": "object" - } - }, - "Map«string,object»_5": { - "type": "object", - "title": "Map«string,object»_5", - "additionalProperties": { - "type": "object" - } - }, - "个人资料VO(角色感知)": { - "type": "object", - "properties": { - "adminId": { - "type": "string", - "description": "管理员用户ID" - }, - "avatar": { - "type": "string", - "description": "头像URL" - }, - "certLevel": { - "type": "string", - "description": "认证等级(定制师专属)" - }, - "certified": { - "type": "boolean", - "description": "是否已认证(定制师专属)" - }, - "contactQrUrl": { - "type": "string", - "description": "企业微信联系二维码URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "description": { - "type": "string", - "description": "个人简介(定制师专属)" - }, - "experience": { - "type": "integer", - "format": "int32", - "description": "从业年限(定制师专属)" - }, - "isFeatured": { - "type": "boolean", - "description": "是否推荐(定制师专属)" - }, - "motto": { - "type": "string", - "description": "座右铭(定制师专属)" - }, - "name": { - "type": "string", - "description": "姓名" - }, - "phone": { - "type": "string", - "description": "手机号" - }, - "role": { - "type": "string", - "description": "当前角色key" - }, - "roleName": { - "type": "string", - "description": "角色中文名" - }, - "serviceAreas": { - "type": "array", - "description": "服务区域(定制师专属)", - "items": { - "type": "string" - } - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "展示排序(定制师专属)" - }, - "specialties": { - "type": "array", - "description": "擅长领域(定制师专属)", - "items": { - "type": "string" - } - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "个人资料VO(角色感知)" - }, - "产品统计": { - "type": "object", - "properties": { - "publishedProducts": { - "type": "integer", - "format": "int32", - "description": "已上架产品数" - }, - "totalProducts": { - "type": "integer", - "format": "int32", - "description": "产品总数" - } - }, - "title": "产品统计" - }, - "分页结果«Map«string,object»»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«Map«string,object»»" - }, - "定制师个人资料VO": { - "type": "object", - "properties": { - "adminId": { - "type": "string", - "description": "管理员用户ID" - }, - "avatar": { - "type": "string", - "description": "头像URL" - }, - "certLevel": { - "type": "string", - "description": "认证等级:none/bronze/silver/gold/diamond" - }, - "certified": { - "type": "boolean", - "description": "是否已认证" - }, - "contactQrUrl": { - "type": "string", - "description": "企业微信联系二维码URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "description": { - "type": "string", - "description": "个人简介" - }, - "experience": { - "type": "integer", - "format": "int32", - "description": "从业年限" - }, - "isFeatured": { - "type": "boolean", - "description": "是否推荐" - }, - "motto": { - "type": "string", - "description": "座右铭" - }, - "name": { - "type": "string", - "description": "姓名(优先取企微名称,否则管理员用户名)" - }, - "phone": { - "type": "string", - "description": "手机号" - }, - "serviceAreas": { - "type": "array", - "description": "服务区域列表", - "items": { - "type": "string" - } - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "description": "展示排序" - }, - "specialties": { - "type": "array", - "description": "擅长领域列表", - "items": { - "type": "string" - } - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - } - }, - "title": "定制师个人资料VO" - }, - "定制师工作台VO(重构版)": { - "type": "object", - "properties": { - "calendarEvents": { - "type": "array", - "description": "日历事件", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "customerStats": { - "description": "客户统计", - "$ref": "#/definitions/客户统计", - "originalRef": "客户统计" - }, - "funnel": { - "type": "object", - "description": "转化漏斗" - }, - "overview": { - "description": "数据概览", - "$ref": "#/definitions/数据概览", - "originalRef": "数据概览" - }, - "productStats": { - "description": "产品统计", - "$ref": "#/definitions/产品统计", - "originalRef": "产品统计" - }, - "ranking": { - "type": "array", - "description": "本月业绩排行", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "reviewStats": { - "description": "评价统计", - "$ref": "#/definitions/评价统计", - "originalRef": "评价统计" - }, - "shortcuts": { - "type": "array", - "description": "快捷入口列表", - "items": { - "$ref": "#/definitions/快捷入口", - "originalRef": "快捷入口" - } - }, - "todos": { - "type": "object", - "description": "待办汇总" - }, - "trend": { - "type": "array", - "description": "数据趋势(按天)", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - }, - "upcomingTrips": { - "type": "array", - "description": "即将出行列表", - "items": { - "$ref": "#/definitions/Map«string,object»", - "originalRef": "Map«string,object»" - } - } - }, - "title": "定制师工作台VO(重构版)" - }, - "客户统计": { - "type": "object", - "properties": { - "customerAddCount": { - "type": "integer", - "format": "int32", - "description": "新增客户数" - }, - "customerLossCount": { - "type": "integer", - "format": "int32", - "description": "客户流失数" - } - }, - "title": "客户统计" - }, - "快捷入口": { - "type": "object", - "properties": { - "icon": { - "type": "string", - "description": "图标" - }, - "name": { - "type": "string", - "description": "名称" - }, - "path": { - "type": "string", - "description": "路径" - } - }, - "title": "快捷入口" - }, - "数据概览": { - "type": "object", - "properties": { - "gmv": { - "type": "number", - "description": "当期GMV" - }, - "gmvDiffRate": { - "type": "number", - "description": "与前一期GMV增长率" - }, - "orderCount": { - "type": "integer", - "format": "int64", - "description": "当期订单数" - }, - "orderCountDiff": { - "type": "integer", - "format": "int64", - "description": "与前一期订单数差值" - }, - "period": { - "type": "string", - "description": "当期时间范围" - } - }, - "title": "数据概览" - }, - "更新定制师个人资料请求": { - "type": "object", - "properties": { - "certLevel": { - "type": "string", - "example": "gold", - "description": "认证等级:none/bronze/silver/gold/diamond" - }, - "certified": { - "type": "boolean", - "example": true, - "description": "是否已认证" - }, - "description": { - "type": "string", - "example": "10年+旅行定制师", - "description": "个人简介" - }, - "experience": { - "type": "integer", - "format": "int32", - "example": 5, - "description": "从业年限" - }, - "isFeatured": { - "type": "boolean", - "example": false, - "description": "是否推荐" - }, - "motto": { - "type": "string", - "example": "让每一次旅行都值得回忆", - "description": "座右铭" - }, - "serviceAreas": { - "type": "array", - "example": [ - "西南地区", - "华中地区" - ], - "description": "服务区域列表", - "items": { - "type": "string" - } - }, - "sortOrder": { - "type": "integer", - "format": "int32", - "example": 0, - "description": "展示排序" - }, - "specialties": { - "type": "array", - "example": [ - "云南", - "西藏" - ], - "description": "擅长领域列表", - "items": { - "type": "string" - } - } - }, - "title": "更新定制师个人资料请求" - }, - "统一响应结果«object»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "type": "object", - "description": "响应数据" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«object»" - }, - "统一响应结果«个人资料VO(角色感知)»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/个人资料VO(角色感知)", - "originalRef": "个人资料VO(角色感知)" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«个人资料VO(角色感知)»" - }, - "统一响应结果«分页结果«Map«string,object»»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«Map«string,object»»", - "originalRef": "分页结果«Map«string,object»»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«Map«string,object»»»" - }, - "统一响应结果«定制师个人资料VO»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/定制师个人资料VO", - "originalRef": "定制师个人资料VO" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«定制师个人资料VO»" - }, - "统一响应结果«定制师工作台VO(重构版)»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/定制师工作台VO(重构版)", - "originalRef": "定制师工作台VO(重构版)" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«定制师工作台VO(重构版)»" - }, - "评价统计": { - "type": "object", - "properties": { - "averageRating": { - "type": "number", - "description": "平均评分(1-5)" - }, - "goodRate": { - "type": "number", - "description": "好评率(%)" - }, - "totalReviews": { - "type": "integer", - "format": "int32", - "description": "评价总数" - } - }, - "title": "评价统计" - }, - "分页结果«客户信息VO(管理端)»": { - "type": "object", - "properties": { - "page": { - "type": "integer", - "format": "int32", - "example": 1, - "description": "当前页码" - }, - "pageSize": { - "type": "integer", - "format": "int32", - "example": 20, - "description": "每页条数" - }, - "records": { - "type": "array", - "description": "数据列表", - "items": { - "$ref": "#/definitions/客户信息VO(管理端)", - "originalRef": "客户信息VO(管理端)" - } - }, - "total": { - "type": "integer", - "format": "int32", - "example": 100, - "description": "总记录数" - } - }, - "title": "分页结果«客户信息VO(管理端)»" - }, - "客户信息VO(管理端)": { - "type": "object", - "properties": { - "avatar": { - "type": "string", - "description": "头像URL" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "创建时间" - }, - "nickname": { - "type": "string", - "description": "昵称" - }, - "phone": { - "type": "string", - "description": "手机号(不脱敏)" - }, - "status": { - "type": "string", - "description": "状态,关联字典user_status:ACTIVE=正常, BANNED=已封禁" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "更新时间" - }, - "userId": { - "type": "integer", - "format": "int64", - "description": "用户ID" - } - }, - "title": "客户信息VO(管理端)" - }, - "统一响应结果«分页结果«客户信息VO(管理端)»»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/分页结果«客户信息VO(管理端)»", - "originalRef": "分页结果«客户信息VO(管理端)»" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«分页结果«客户信息VO(管理端)»»" - }, - "统一响应结果«客户信息VO(管理端)»": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "example": 200, - "description": "状态码" - }, - "data": { - "description": "响应数据", - "$ref": "#/definitions/客户信息VO(管理端)", - "originalRef": "客户信息VO(管理端)" - }, - "message": { - "type": "string", - "example": "成功", - "description": "响应消息" - } - }, - "title": "统一响应结果«客户信息VO(管理端)»" - } - } -} \ No newline at end of file diff --git a/changelogs/2026-03/2026-03-16_1480f74_chore_hulai-m.md b/changelogs/2026-03/2026-03-16_1480f74_chore_hulai-m.md deleted file mode 100644 index 6e16c0c..0000000 --- a/changelogs/2026-03/2026-03-16_1480f74_chore_hulai-m.md +++ /dev/null @@ -1,480 +0,0 @@ -# 接口变更记录 - -## 提交信息 - -| 项目 | 内容 | -|------|------| -| **Hash** | `1480f74087c7ca1524b6c475bfb50b35a6be0505` | -| **作者** | wx | -| **时间** | 2026-03-16 10:37:58 +0800 | -| **说明** | chore: 删除hulai-mini小程序代码(已迁移至独立仓库) | - -## 变更文件总览 - -``` -D hulai-mini/.cursor/rules/hulai-miniprogram.mdc -D hulai-mini/.cursor/rules/wxml-wxss.mdc -D hulai-mini/.eslintrc.js -D hulai-mini/.gitignore -D hulai-mini/.kiro/settings/mcp.json -D hulai-mini/.kiro/steering/coding-standards.md -D hulai-mini/.kiro/steering/feature-roadmap.md -D hulai-mini/.kiro/steering/page-patterns.md -D hulai-mini/.kiro/steering/project-overview.md -D hulai-mini/.kiro/steering/responsive-design.md -D hulai-mini/.kiro/steering/ui-components.md -D hulai-mini/.prettierignore -D hulai-mini/.prettierrc -D hulai-mini/AGENTS.md -D hulai-mini/CLAUDE.md -D hulai-mini/README.md -D "hulai-mini/_\345\221\274\347\261\201\346\227\205\350\241\214\347\254\254\344\270\200\346\234\237.mm" -D hulai-mini/api/index.js -D hulai-mini/app.js -D hulai-mini/app.json -D hulai-mini/app.wxss -D hulai-mini/assets/icons/README-review-stars.md -D hulai-mini/assets/icons/arrow-right-primary.svg -D hulai-mini/assets/icons/check-circle.png -D hulai-mini/assets/icons/child.png -D hulai-mini/assets/icons/close-circle.png -D hulai-mini/assets/icons/evaluate/icon-star1.svg -D hulai-mini/assets/icons/evaluate/icon-star2.svg -D hulai-mini/assets/icons/evaluate/icon-star3.svg -D hulai-mini/assets/icons/evaluate/icon-star4.svg -D hulai-mini/assets/icons/evaluate/icon-star5.svg -D hulai-mini/assets/icons/home/about-logo.png -D hulai-mini/assets/icons/home/icon-experience.png -D hulai-mini/assets/icons/home/icon-food.png -D hulai-mini/assets/icons/home/icon-landmark.png -D hulai-mini/assets/icons/home/icon-parent-child.png -D hulai-mini/assets/icons/home/icon-premium.png -D hulai-mini/assets/icons/home/icon-scenic.png -D hulai-mini/assets/icons/icon-add-img.svg -D hulai-mini/assets/icons/icon-badge-check.svg -D hulai-mini/assets/icons/icon-calendar.svg -D hulai-mini/assets/icons/icon-camera.png -D hulai-mini/assets/icons/icon-evaluate.png -D hulai-mini/assets/icons/icon-guide-arrow.png -D hulai-mini/assets/icons/icon-like.png -D hulai-mini/assets/icons/icon-right-arrow.png -D hulai-mini/assets/icons/message/icon-order.png -D hulai-mini/assets/icons/message/icon-promotion.png -D hulai-mini/assets/icons/message/icon-system.png -D hulai-mini/assets/icons/mine/icon-about.png -D hulai-mini/assets/icons/mine/icon-collect.png -D hulai-mini/assets/icons/mine/icon-delete-account.png -D hulai-mini/assets/icons/mine/icon-edit.svg -D hulai-mini/assets/icons/mine/icon-faq.png -D hulai-mini/assets/icons/mine/icon-history.png -D hulai-mini/assets/icons/mine/icon-logout.png -D hulai-mini/assets/icons/mine/icon-notification.png -D hulai-mini/assets/icons/mine/icon-order-all.png -D hulai-mini/assets/icons/mine/icon-order-pay.png -D hulai-mini/assets/icons/mine/icon-order-review.png -D hulai-mini/assets/icons/mine/icon-order-trip.png -D hulai-mini/assets/icons/mine/icon-phone.png -D hulai-mini/assets/icons/mine/icon-security.png -D hulai-mini/assets/icons/mine/icon-service.png -D hulai-mini/assets/icons/mine/icon-settings.png -D hulai-mini/assets/icons/mine/icon-traveler.png -D hulai-mini/assets/icons/mine/icon-type.png -D hulai-mini/assets/icons/season/icon-fall.png -D hulai-mini/assets/icons/season/icon-spring.png -D hulai-mini/assets/icons/season/icon-summer.png -D hulai-mini/assets/icons/season/icon-winter.png -D hulai-mini/assets/icons/service-online.png -D hulai-mini/assets/icons/service-phone.png -D hulai-mini/assets/images/default-avatar.svg -D hulai-mini/assets/images/details/icon-connect.png -D hulai-mini/assets/images/details/icon-hotel.png -D hulai-mini/assets/images/details/icon-location-connect.png -D hulai-mini/assets/images/details/icon-restaurant.png -D hulai-mini/assets/images/details/icon-scenic.png -D hulai-mini/assets/images/details/icon-service.png -D "hulai-mini/assets/images/details/\347\274\226\347\273\204 (4).png" -D "hulai-mini/assets/images/details/\347\274\226\347\273\204.svg" -D hulai-mini/assets/images/empty-collect.png -D hulai-mini/assets/images/empty-default.png -D hulai-mini/assets/images/empty-message.png -D hulai-mini/assets/images/empty-network.png -D hulai-mini/assets/images/empty-order.png -D hulai-mini/assets/images/empty-search.png -D hulai-mini/assets/images/empty-trip.png -D hulai-mini/assets/images/logo.png -D hulai-mini/assets/images/placeholder.png -D hulai-mini/assets/tabbar/home-active.png -D hulai-mini/assets/tabbar/home.png -D hulai-mini/assets/tabbar/message-active.png -D hulai-mini/assets/tabbar/message.png -D hulai-mini/assets/tabbar/mine-active.png -D hulai-mini/assets/tabbar/mine.png -D hulai-mini/assets/tabbar/trip-active.png -D hulai-mini/assets/tabbar/trip.png -D hulai-mini/audits.json -D hulai-mini/behaviors/basePage.js -D hulai-mini/behaviors/formPage.js -D hulai-mini/behaviors/listPage.js -D hulai-mini/components/calendar-popup/calendar-popup.js -D hulai-mini/components/calendar-popup/calendar-popup.json -D hulai-mini/components/calendar-popup/calendar-popup.wxml -D hulai-mini/components/calendar-popup/calendar-popup.wxss -D hulai-mini/components/empty-state/empty-state.js -D hulai-mini/components/empty-state/empty-state.json -D hulai-mini/components/empty-state/empty-state.wxml -D hulai-mini/components/empty-state/empty-state.wxss -D hulai-mini/components/itinerary-card/itinerary-card.js -D hulai-mini/components/itinerary-card/itinerary-card.json -D hulai-mini/components/itinerary-card/itinerary-card.wxml -D hulai-mini/components/itinerary-card/itinerary-card.wxss -D hulai-mini/components/nav-header/nav-header.js -D hulai-mini/components/nav-header/nav-header.json -D hulai-mini/components/nav-header/nav-header.wxml -D hulai-mini/components/nav-header/nav-header.wxss -D hulai-mini/components/page-container/page-container.js -D hulai-mini/components/page-container/page-container.json -D hulai-mini/components/page-container/page-container.wxml -D hulai-mini/components/page-container/page-container.wxss -D hulai-mini/components/price/price.js -D hulai-mini/components/price/price.json -D hulai-mini/components/price/price.wxml -D hulai-mini/components/price/price.wxss -D hulai-mini/components/section-header/section-header.js -D hulai-mini/components/section-header/section-header.json -D hulai-mini/components/section-header/section-header.wxml -D hulai-mini/components/section-header/section-header.wxss -D hulai-mini/components/skeleton/skeleton.js -D hulai-mini/components/skeleton/skeleton.json -D hulai-mini/components/skeleton/skeleton.wxml -D hulai-mini/components/skeleton/skeleton.wxss -D hulai-mini/components/timeline-node/timeline-node.js -D hulai-mini/components/timeline-node/timeline-node.json -D hulai-mini/components/timeline-node/timeline-node.wxml -D hulai-mini/components/timeline-node/timeline-node.wxss -D hulai-mini/config/app-config.js -D hulai-mini/config/constants.js -D hulai-mini/docs/API-MIGRATION.md -D hulai-mini/docs/ARCHITECTURE.md -D hulai-mini/docs/CHANGELOG.md -D hulai-mini/docs/COMPONENTS.md -D hulai-mini/docs/PAGE-CHANGES.md -D hulai-mini/docs/recycle-view-usage.md -D hulai-mini/libs/amap-wx.130.js -D hulai-mini/package.json -D hulai-mini/packages/activity/detail/detail.js -D hulai-mini/packages/activity/detail/detail.json -D hulai-mini/packages/activity/detail/detail.wxml -D hulai-mini/packages/activity/detail/detail.wxss -D hulai-mini/packages/contract/detail/detail.js -D hulai-mini/packages/contract/detail/detail.json -D hulai-mini/packages/contract/detail/detail.wxml -D hulai-mini/packages/contract/detail/detail.wxss -D hulai-mini/packages/contract/list/list.js -D hulai-mini/packages/contract/list/list.json -D hulai-mini/packages/contract/list/list.wxml -D hulai-mini/packages/contract/list/list.wxss -D hulai-mini/packages/contract/sign/sign.js -D hulai-mini/packages/contract/sign/sign.json -D hulai-mini/packages/contract/sign/sign.wxml -D hulai-mini/packages/contract/sign/sign.wxss -D hulai-mini/packages/custom/custom/custom.js -D hulai-mini/packages/custom/custom/custom.json -D hulai-mini/packages/custom/custom/custom.wxml -D hulai-mini/packages/custom/custom/custom.wxss -D hulai-mini/packages/custom/detail/detail.js -D hulai-mini/packages/custom/detail/detail.json -D hulai-mini/packages/custom/detail/detail.wxml -D hulai-mini/packages/custom/detail/detail.wxss -D hulai-mini/packages/hotel/detail/detail.js -D hulai-mini/packages/hotel/detail/detail.json -D hulai-mini/packages/hotel/detail/detail.wxml -D hulai-mini/packages/hotel/detail/detail.wxss -D hulai-mini/packages/hotel/list/list.js -D hulai-mini/packages/hotel/list/list.json -D hulai-mini/packages/hotel/list/list.wxml -D hulai-mini/packages/hotel/list/list.wxss -D hulai-mini/packages/invoice/apply/apply.js -D hulai-mini/packages/invoice/apply/apply.json -D hulai-mini/packages/invoice/apply/apply.wxml -D hulai-mini/packages/invoice/apply/apply.wxss -D hulai-mini/packages/invoice/detail/detail.js -D hulai-mini/packages/invoice/detail/detail.json -D hulai-mini/packages/invoice/detail/detail.wxml -D hulai-mini/packages/invoice/detail/detail.wxss -D hulai-mini/packages/message/detail/detail.js -D hulai-mini/packages/message/detail/detail.json -D hulai-mini/packages/message/detail/detail.wxml -D hulai-mini/packages/message/detail/detail.wxss -D hulai-mini/packages/order/confirm/confirm.js -D hulai-mini/packages/order/confirm/confirm.json -D hulai-mini/packages/order/confirm/confirm.wxml -D hulai-mini/packages/order/confirm/confirm.wxss -D hulai-mini/packages/order/detail/detail.js -D hulai-mini/packages/order/detail/detail.json -D hulai-mini/packages/order/detail/detail.wxml -D hulai-mini/packages/order/detail/detail.wxss -D hulai-mini/packages/order/edit-travelers/edit-travelers.js -D hulai-mini/packages/order/edit-travelers/edit-travelers.json -D hulai-mini/packages/order/edit-travelers/edit-travelers.wxml -D hulai-mini/packages/order/edit-travelers/edit-travelers.wxss -D hulai-mini/packages/order/list/list.js -D hulai-mini/packages/order/list/list.json -D hulai-mini/packages/order/list/list.wxml -D hulai-mini/packages/order/list/list.wxss -D hulai-mini/packages/order/refund-detail/refund-detail.js -D hulai-mini/packages/order/refund-detail/refund-detail.json -D hulai-mini/packages/order/refund-detail/refund-detail.wxml -D hulai-mini/packages/order/refund-detail/refund-detail.wxss -D hulai-mini/packages/order/refund/refund.js -D hulai-mini/packages/order/refund/refund.json -D hulai-mini/packages/order/refund/refund.wxml -D hulai-mini/packages/order/refund/refund.wxss -D hulai-mini/packages/order/result/result.js -D hulai-mini/packages/order/result/result.json -D hulai-mini/packages/order/result/result.wxml -D hulai-mini/packages/order/result/result.wxss -D hulai-mini/packages/order/supplement/supplement.js -D hulai-mini/packages/order/supplement/supplement.json -D hulai-mini/packages/order/supplement/supplement.wxml -D hulai-mini/packages/order/supplement/supplement.wxss -D hulai-mini/packages/order/trip/trip.js -D hulai-mini/packages/order/trip/trip.json -D hulai-mini/packages/order/trip/trip.wxml -D hulai-mini/packages/order/trip/trip.wxss -D hulai-mini/packages/product/_shared/components/banner-swiper/banner-swiper.js -D hulai-mini/packages/product/_shared/components/banner-swiper/banner-swiper.json -D hulai-mini/packages/product/_shared/components/banner-swiper/banner-swiper.wxml -D hulai-mini/packages/product/_shared/components/banner-swiper/banner-swiper.wxss -D hulai-mini/packages/product/_shared/components/booking-popup/booking-popup.js -D hulai-mini/packages/product/_shared/components/booking-popup/booking-popup.json -D hulai-mini/packages/product/_shared/components/booking-popup/booking-popup.wxml -D hulai-mini/packages/product/_shared/components/booking-popup/booking-popup.wxss -D hulai-mini/packages/product/_shared/components/creator-message/creator-message.js -D hulai-mini/packages/product/_shared/components/creator-message/creator-message.json -D hulai-mini/packages/product/_shared/components/creator-message/creator-message.wxml -D hulai-mini/packages/product/_shared/components/creator-message/creator-message.wxss -D hulai-mini/packages/product/_shared/components/product-banner/product-banner.js -D hulai-mini/packages/product/_shared/components/product-banner/product-banner.json -D hulai-mini/packages/product/_shared/components/product-banner/product-banner.wxml -D hulai-mini/packages/product/_shared/components/product-banner/product-banner.wxss -D hulai-mini/packages/product/_shared/config/extractor-config.js -D hulai-mini/packages/product/_shared/config/product-detail-config.js -D hulai-mini/packages/product/_shared/services/extractors/meal-extractor.js -D hulai-mini/packages/product/_shared/services/extractors/photo-extractor.js -D hulai-mini/packages/product/_shared/services/extractors/scenic-extractor.js -D hulai-mini/packages/product/_shared/services/extractors/timeline-extractor.js -D hulai-mini/packages/product/_shared/services/itinerary-parser.js -D hulai-mini/packages/product/_shared/services/product-parser.js -D hulai-mini/packages/product/_shared/services/product-service.js -D hulai-mini/packages/product/_shared/services/route-drawer.js -D hulai-mini/packages/product/_shared/utils/image-color-extractor.js -D hulai-mini/packages/product/core/detail/detail.js -D hulai-mini/packages/product/core/detail/detail.json -D hulai-mini/packages/product/core/detail/detail.wxml -D hulai-mini/packages/product/core/detail/detail.wxss -D hulai-mini/packages/product/core/list/list.js -D hulai-mini/packages/product/core/list/list.json -D hulai-mini/packages/product/core/list/list.wxml -D hulai-mini/packages/product/core/list/list.wxss -D hulai-mini/packages/product/mengma/detail/detail.js -D hulai-mini/packages/product/mengma/detail/detail.json -D hulai-mini/packages/product/mengma/detail/detail.wxml -D hulai-mini/packages/product/mengma/detail/detail.wxss -D hulai-mini/packages/product/mengma/list/list.js -D hulai-mini/packages/product/mengma/list/list.json -D hulai-mini/packages/product/mengma/list/list.wxml -D hulai-mini/packages/product/mengma/list/list.wxss -D hulai-mini/packages/restaurant/detail/detail.js -D hulai-mini/packages/restaurant/detail/detail.json -D hulai-mini/packages/restaurant/detail/detail.wxml -D hulai-mini/packages/restaurant/detail/detail.wxss -D hulai-mini/packages/restaurant/list/list.js -D hulai-mini/packages/restaurant/list/list.json -D hulai-mini/packages/restaurant/list/list.wxml -D hulai-mini/packages/restaurant/list/list.wxss -D hulai-mini/packages/review/list/list.js -D hulai-mini/packages/review/list/list.json -D hulai-mini/packages/review/list/list.wxml -D hulai-mini/packages/review/list/list.wxss -D hulai-mini/packages/scenic/detail/detail.js -D hulai-mini/packages/scenic/detail/detail.json -D hulai-mini/packages/scenic/detail/detail.wxml -D hulai-mini/packages/scenic/detail/detail.wxss -D hulai-mini/packages/scenic/list/list.js -D hulai-mini/packages/scenic/list/list.json -D hulai-mini/packages/scenic/list/list.wxml -D hulai-mini/packages/scenic/list/list.wxss -D hulai-mini/packages/user/about/about.js -D hulai-mini/packages/user/about/about.json -D hulai-mini/packages/user/about/about.wxml -D hulai-mini/packages/user/about/about.wxss -D hulai-mini/packages/user/badge/badge.js -D hulai-mini/packages/user/badge/badge.json -D hulai-mini/packages/user/badge/badge.wxml -D hulai-mini/packages/user/badge/badge.wxss -D hulai-mini/packages/user/favorite/favorite.js -D hulai-mini/packages/user/favorite/favorite.json -D hulai-mini/packages/user/favorite/favorite.wxml -D hulai-mini/packages/user/favorite/favorite.wxss -D hulai-mini/packages/user/history/history.js -D hulai-mini/packages/user/history/history.json -D hulai-mini/packages/user/history/history.wxml -D hulai-mini/packages/user/history/history.wxss -D hulai-mini/packages/user/nickname/nickname.js -D hulai-mini/packages/user/nickname/nickname.json -D hulai-mini/packages/user/nickname/nickname.wxml -D hulai-mini/packages/user/nickname/nickname.wxss -D hulai-mini/packages/user/notification/notification.js -D hulai-mini/packages/user/notification/notification.json -D hulai-mini/packages/user/notification/notification.wxml -D hulai-mini/packages/user/notification/notification.wxss -D hulai-mini/packages/user/phone/phone.js -D hulai-mini/packages/user/phone/phone.json -D hulai-mini/packages/user/phone/phone.wxml -D hulai-mini/packages/user/phone/phone.wxss -D hulai-mini/packages/user/profile/complete/complete.js -D hulai-mini/packages/user/profile/complete/complete.json -D hulai-mini/packages/user/profile/complete/complete.wxml -D hulai-mini/packages/user/profile/complete/complete.wxss -D hulai-mini/packages/user/profile/profile.js -D hulai-mini/packages/user/profile/profile.json -D hulai-mini/packages/user/profile/profile.wxml -D hulai-mini/packages/user/profile/profile.wxss -D hulai-mini/packages/user/review/review.js -D hulai-mini/packages/user/review/review.json -D hulai-mini/packages/user/review/review.wxml -D hulai-mini/packages/user/review/review.wxss -D hulai-mini/packages/user/security/security.js -D hulai-mini/packages/user/security/security.json -D hulai-mini/packages/user/security/security.wxml -D hulai-mini/packages/user/security/security.wxss -D hulai-mini/packages/user/settings/settings.js -D hulai-mini/packages/user/settings/settings.json -D hulai-mini/packages/user/settings/settings.wxml -D hulai-mini/packages/user/settings/settings.wxss -D hulai-mini/packages/user/traveler/edit/edit.js -D hulai-mini/packages/user/traveler/edit/edit.json -D hulai-mini/packages/user/traveler/edit/edit.wxml -D hulai-mini/packages/user/traveler/edit/edit.wxss -D hulai-mini/packages/user/traveler/list/list.js -D hulai-mini/packages/user/traveler/list/list.json -D hulai-mini/packages/user/traveler/list/list.wxml -D hulai-mini/packages/user/traveler/list/list.wxss -D hulai-mini/packages/user/wish/wish.js -D hulai-mini/packages/user/wish/wish.json -D hulai-mini/packages/user/wish/wish.wxml -D hulai-mini/packages/user/wish/wish.wxss -D hulai-mini/packages/wiki/category/category.js -D hulai-mini/packages/wiki/category/category.json -D hulai-mini/packages/wiki/category/category.wxml -D hulai-mini/packages/wiki/category/category.wxss -D hulai-mini/packages/wiki/detail/detail.js -D hulai-mini/packages/wiki/detail/detail.json -D hulai-mini/packages/wiki/detail/detail.wxml -D hulai-mini/packages/wiki/detail/detail.wxss -D hulai-mini/pages/agreement/agreement.js -D hulai-mini/pages/agreement/agreement.json -D hulai-mini/pages/agreement/agreement.wxml -D hulai-mini/pages/agreement/agreement.wxss -D hulai-mini/pages/faq/faq.js -D hulai-mini/pages/faq/faq.json -D hulai-mini/pages/faq/faq.wxml -D hulai-mini/pages/faq/faq.wxss -D hulai-mini/pages/index/index.js -D hulai-mini/pages/index/index.json -D hulai-mini/pages/index/index.wxml -D hulai-mini/pages/index/index.wxss -D hulai-mini/pages/login/login.js -D hulai-mini/pages/login/login.json -D hulai-mini/pages/login/login.wxml -D hulai-mini/pages/login/login.wxss -D hulai-mini/pages/message/message.js -D hulai-mini/pages/message/message.json -D hulai-mini/pages/message/message.wxml -D hulai-mini/pages/message/message.wxss -D hulai-mini/pages/mine/mine.js -D hulai-mini/pages/mine/mine.json -D hulai-mini/pages/mine/mine.wxml -D hulai-mini/pages/mine/mine.wxss -D hulai-mini/pages/splash/splash.js -D hulai-mini/pages/splash/splash.json -D hulai-mini/pages/splash/splash.wxml -D hulai-mini/pages/splash/splash.wxss -D hulai-mini/pages/trip/trip.js -D hulai-mini/pages/trip/trip.json -D hulai-mini/pages/trip/trip.wxml -D hulai-mini/pages/trip/trip.wxss -D hulai-mini/pages/webview/webview.js -D hulai-mini/pages/webview/webview.json -D hulai-mini/pages/webview/webview.wxml -D hulai-mini/pages/webview/webview.wxss -D hulai-mini/pnpm-lock.yaml -D hulai-mini/project.config.json -D hulai-mini/project.private.config.json -D hulai-mini/scripts/sync-theme.js -D hulai-mini/services/order-service.js -D hulai-mini/sitemap.json -D hulai-mini/test-auto.js -D hulai-mini/test-booking-review.js -D hulai-mini/test-booking2.js -D hulai-mini/test-comprehensive.js -D hulai-mini/test-create-order.js -D hulai-mini/test-create-order2.js -D hulai-mini/test-create-order3.js -D hulai-mini/test-favorite.js -D hulai-mini/test-full.js -D hulai-mini/test-full2.js -D hulai-mini/test-full3.js -D hulai-mini/test-full4.js -D hulai-mini/test-order-detail.js -D hulai-mini/test-order-flow.js -D hulai-mini/test-order-list.js -D hulai-mini/test-order-pay.js -D hulai-mini/test-verify-fixes.js -D hulai-mini/test/auto-test.js -D hulai-mini/test/check-all-pages.js -D hulai-mini/test/check-detail-pages.js -D hulai-mini/test/check-elements.js -D hulai-mini/test/check-fixed-detail.js -D hulai-mini/test/check-logged-in-pages.js -D hulai-mini/test/check-login.js -D hulai-mini/test/check-more-pages.js -D hulai-mini/test/check-order-detail-trip.js -D hulai-mini/test/check-orders-trip.js -D hulai-mini/test/check-remaining.js -D hulai-mini/test/check-resource-detail.js -D hulai-mini/test/check-tabs.js -D hulai-mini/test/inspect-pages.js -D hulai-mini/test/quick-check.js -D hulai-mini/test/run-all.js -D hulai-mini/test/scroll-home.js -D hulai-mini/test/verify-all-lists.js -D hulai-mini/test/verify-detail.js -D hulai-mini/test/verify-fixes.js -D hulai-mini/test/verify-scenic.js -D hulai-mini/utils/base-service.js -D hulai-mini/utils/color.js -D hulai-mini/utils/data-helper.js -D hulai-mini/utils/dict-static.js -D hulai-mini/utils/dict.js -D hulai-mini/utils/errorHandler.js -D hulai-mini/utils/fallback.js -D hulai-mini/utils/image.js -D hulai-mini/utils/logger.js -D hulai-mini/utils/networkStatus.js -D hulai-mini/utils/payment.js -D hulai-mini/utils/performance.js -D hulai-mini/utils/request.js -D hulai-mini/utils/router.js -D hulai-mini/utils/security.js -D hulai-mini/utils/storage.js -D hulai-mini/utils/store.js -D hulai-mini/utils/subscribe.js -D hulai-mini/utils/theme.js -D hulai-mini/utils/theme.wxss -D hulai-mini/utils/ui-helper.js -D hulai-mini/utils/util.js -D hulai-mini/utils/validator.js -D "hulai-mini/\346\216\245\345\217\243\346\226\207\346\241\243.md" -``` - diff --git a/changelogs/2026-03/2026-03-16_1650_522a737_feat_Knife4j.md b/changelogs/2026-03/2026-03-16_1650_522a737_feat_Knife4j.md deleted file mode 100644 index 80944f8..0000000 --- a/changelogs/2026-03/2026-03-16_1650_522a737_feat_Knife4j.md +++ /dev/null @@ -1,1508 +0,0 @@ -# 接口变更记录 — 2026-03-16 16:50 - -> **提交** `522a737` · **作者** wx · **时间** 2026-03-16 16:50:04 +0800 -> -> feat: Knife4j网关文档修复 + AI Bridge增强 + bootstrap默认Nacos改本地 - -## 变更总览 - -- **产品服务** - - InternalProduct (改1, 名13) - - MpProduct (名3) - - Product (名1) - - Quote (名1) -- **企微回调服务** - - WxCallback (名4) -- **小程序聚合服务** - - MpExplore (改5) - - MpOrder (改1) - - MpPayment (改1) -- **支付服务** - - InternalPayment (名3) -- **用户服务** - - AdminProfile (改1) - - InternalApproval (名3) - - InternalLoginLog (名1) - - InternalUser (名8) - - InternalWechat (改5) - - PublicDict (名1) - - SysJob (改4) -- **监控服务** - - InternalLog (改4, 名1) -- **订单服务** - - AdminAlbum (名1) - - AdminWorkOrder (名3) - - InternalDashboard (名3) - - InternalMpOrder (名3) - - InternalOrderTraveler (名1) - - InternalRefund (改2, 名3) -- **资源服务** - - InternalActivity (改1) - - InternalResource (改1) - - InternalCost (改1) - - InternalHotel (改1) - - InternalRestaurant (改1) - - InternalScenic (改1) - - InternalService (改1) - - ServiceItem (名5) - - InternalStaff (改1) - - InternalSupplies (改1) - - InternalVehicle (改1) - ---- - -## 产品服务 - -### InternalProduct - -#### ✏️ `POST` /internal/product/approval-result — 处理产品审批结果 - -- 接口名称: ~~~~ → **处理产品审批结果** -- 返回类型: `` → `Result` - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/product/{productId}/detail` | (无) → **获取产品详情(内部)** | -| `POST` | `/internal/product/{productId}/quote` | (无) → **报价计算(内部)** | -| `GET` | `/internal/product/{productId}/simple-quote` | (无) → **简单报价(内部)** | -| `POST` | `/internal/product/{productId}/deduct-stock` | (无) → **扣减库存(内部)** | -| `POST` | `/internal/product/{productId}/restore-stock` | (无) → **恢复库存(内部)** | -| `GET` | `/internal/product/{productId}/itinerary-resources` | (无) → **获取行程关联资源(内部)** | -| `PUT` | `/internal/product/{productId}/custom-status` | (无) → **变更定制产品状态(内部)** | -| `POST` | `/internal/product/batch/{batchId}/enroll` | (无) → **报名入团(内部)** | -| `POST` | `/internal/product/batch/{batchId}/unenroll` | (无) → **退出报名(内部)** | -| `GET` | `/internal/product/batch/{batchId}/info` | (无) → **批次信息(内部)** | -| `GET` | `/internal/product/{productId}/group-quote` | (无) → **GROUP产品报价(内部)** | -| `GET` | `/internal/product/{productId}/batches/calendar` | (无) → **团期日历数据(内部)** | -| `GET` | `/internal/product/batch/{batchId}/combos` | (无) → **批次套餐列表(内部)** | - -### MpProduct - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/mp/product/list` | 产品列表 → **产品列表(C端)** | -| `GET` | `/mp/product/{productId}` | 产品详情 → **产品详情(C端)** | -| `POST` | `/mp/product/{productId}/quote` | 报价计算 → **报价计算(C端)** | - -### Product - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `PUT` | `/admin/product/item/{productId}/status` | 产品状态变更(上架/下架等) → **产品状态变更(上架/下架/完成)** | - -### Quote - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/admin/product/item/{productId}/group-quote` | GROUP产品报价(按组合) → **GROUP产品报价(按套餐组合)** | - ---- - -## 企微回调服务 - -### WxCallback - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/wx/callback/app` | Callback URL verification → **回调URL验证** | -| `POST` | `/wx/callback/app` | Receive callback events → **接收回调事件** | -| `GET` | `/wx/callback/contacts` | Contact sync URL verification → **联系人同步URL验证** | -| `POST` | `/wx/callback/contacts` | Receive contact sync events → **接收联系人同步事件** | - ---- - -## 小程序聚合服务 - -### MpExplore - -#### ✏️ `GET` /mp/explore/list — 探索列表 - -- 返回类型: `` → `Result>` - -#### ✏️ `GET` /mp/explore/{id} — 探索详情 - -- 返回类型: `` → `Result>` - -#### ✏️ `POST` /mp/explore/{id}/view — 浏览+1 - -- 返回类型: `` → `Result` - -#### ✏️ `POST` /mp/explore/{id}/like — 切换点赞 - -- 返回类型: `` → `Result` - -#### ✏️ `POST` /mp/explore/{id}/favorite — 切换收藏 - -- 返回类型: `` → `Result` - -### MpOrder - -#### ✏️ `GET` /mp/order/lookup — 通过联系人手机号+姓名查找订单(无需登录) - -- 返回类型: `` → `Result>>` - -### MpPayment - -#### ✏️ `GET` /mp/payment/transactions/{orderId} — 查询支付状态 - -- 返回类型: `Result` → `` - ---- - -## 支付服务 - -### InternalPayment - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/payment/status/{orderId}` | Create prepay order (called by BFF) → **创建预支付订单** | -| `GET` | `/internal/payment/transactions/{orderId}` | Query payment status (called by BFF) → **查询支付状态** | -| `POST` | `/internal/payment/refund` | List all transactions for an order (called by BFF) → **订单交易记录列表** | - ---- - -## 用户服务 - -### AdminProfile - -#### ✏️ `GET` /admin/profile/dashboard — 工作台仪表盘(角色分发,支持时间范围) - -- 返回类型: `` → `Result` - -### InternalApproval - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `POST` | `/internal/wechat/submit-approval` | Submit approval to enterprise WeChat OA → **提交企业微信OA审批** | -| `POST` | `/internal/wechat/revoke-approval/{spNo}` | Revoke a pending approval in enterprise WeChat OA → **撤销企业微信OA审批** | -| `GET` | `/internal/wechat/approval-status/{spNo}` | Get approval status from enterprise WeChat OA → **查询企业微信OA审批状态** | - -### InternalLoginLog - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/login-logs` | Query login logs → **查询登录日志** | - -### InternalUser - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/user/admin/info/{adminId}` | Get admin basic info by ID → **根据ID获取管理员基本信息** | -| `POST` | `/internal/user/admin/batch-info` | Batch get admin basic info → **批量获取管理员基本信息** | -| `GET` | `/internal/user/departments` | Get all departments → **获取所有部门列表** | -| `GET` | `/internal/user/admin/dept-members/{deptId}` | Get admin IDs belonging to a department → **获取部门下的管理员ID列表** | -| `GET` | `/internal/user/admin/by-role-key` | Get admins by role key → **根据角色标识获取管理员列表** | -| `GET` | `/internal/user/find-by-phone` | Find C-end user ID by phone number → **根据手机号查找C端用户ID** | -| `POST` | `/internal/user/wechat/miniapp/generate-url-link` | Generate mini program URL Link for sharing → **生成小程序URL Link** | -| `POST` | `/internal/user/wechat/send-message` | Send WeChat message to users → **发送企业微信消息** | - -### InternalWechat - -#### ✏️ `POST` /internal/wechat/user/sync — 同步单个企微用户(回调触发) - -- 接口名称: ~~Sync single user from callback~~ → **同步单个企微用户(回调触发)** -- 返回类型: `` → `Result` - -**请求体变更** `WechatUserSyncDTO`: - - - ✏️ `userid`: 说明 "" → "企微用户ID" - - ✏️ `name`: 说明 "" → "用户名称" - - ✏️ `department`: 说明 "" → "所属部门ID(逗号分隔)" - - ✏️ `position`: 说明 "" → "职位" - - ✏️ `mobile`: 说明 "" → "手机号" - - ✏️ `gender`: 说明 "" → "性别: 1=男, 2=女, 0=未定义" - - ✏️ `email`: 说明 "" → "邮箱" - - ✏️ `avatar`: 说明 "" → "头像URL" - - ✏️ `status`: 说明 "" → "状态: 1=已激活, 2=已禁用, 4=未激活, 5=退出企业" - -#### ✏️ `DELETE` /internal/wechat/user/{userid} — 删除单个企微用户(回调触发) - -- 接口名称: ~~Delete single user from callback~~ → **删除单个企微用户(回调触发)** -- 返回类型: `` → `Result` - -#### ✏️ `POST` /internal/wechat/department/sync — 同步单个企微部门(回调触发) - -- 接口名称: ~~Sync single department from callback~~ → **同步单个企微部门(回调触发)** -- 返回类型: `` → `Result` - -**请求体变更** `WechatDeptSyncDTO`: - - - ✏️ `id`: 说明 "" → "部门ID" - - ✏️ `name`: 说明 "" → "部门名称" - - ✏️ `parentId`: 说明 "" → "上级部门ID" - - ✏️ `order`: 说明 "" → "排序值" - -#### ✏️ `POST` /internal/wechat/external-contact/event — 接收外部联系人变更事件 - -- 接口名称: ~~Receive external contact change event~~ → **接收外部联系人变更事件** -- 返回类型: `` → `Result` - -**请求体变更** `ExternalContactEventDTO`: - - - ✏️ `changeType`: 说明 "" → "变更类型: add_external_contact/del_follow_user/del_external_contact/edit_external_contact" - - ✏️ `userId`: 说明 "" → "员工企微用户ID" - - ✏️ `externalUserId`: 说明 "" → "外部联系人ID" - -#### ✏️ `DELETE` /internal/wechat/department/{deptId} — 删除单个企微部门(回调触发) - -- 接口名称: ~~Delete single department from callback~~ → **删除单个企微部门(回调触发)** -- 返回类型: `` → `Result` - -### PublicDict - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/dict/all` | 获取所有字典数据 → **获取所有字典数据(公开接口)** | - -### SysJob - -#### ✏️ `POST` /admin/job — 创建定时任务 - -- 返回类型: `Result` → `Result` - -**请求体变更** `CreateJobRequest`: - - - ✏️ `jobGroup`: 说明 "任务分组" → "任务分组,字典类型:job_group(DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步)" - - ✏️ `invokeTarget`: 说明 "调用目标(Bean名称.方法名)" → "调用目标(Bean名称.方法名),方法必须是无参公开方法" - - ✏️ `cronExpression`: 说明 "Cron表达式" → "Cron表达式,标准6位(秒 分 时 日 月 周)" - - ✏️ `misfirePolicy`: 说明 "计划执行策略:0=默认 1=立即触发 2=触发一次 3=不触发" → "计划执行策略,字典类型:job_misfire_policy(DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发)" -- 响应类型: `SysJob` → `SysJobVO` - -**响应变更** `SysJobVO`: - - - 🆕 `jobId` (`Long`) — 任务ID - - 🆕 `jobName` (`String`) — 任务名称 - - 🆕 `jobGroup` (`String`) — 任务分组 - - 🆕 `invokeTarget` (`String`) — 调用目标(Bean名称.方法名) - - 🆕 `cronExpression` (`String`) — Cron表达式 - - 🆕 `misfirePolicy` (`String`) — 计划执行策略 - - 🆕 `concurrent` (`Boolean`) — 是否允许并发执行 - - 🆕 `status` (`String`) — 任务状态 - - 🆕 `remark` (`String`) — 备注 - - 🆕 `createdAt` (`LocalDateTime`) — 创建时间 - - 🆕 `updatedAt` (`LocalDateTime`) — 更新时间 - -#### ✏️ `PUT` /admin/job/{jobId} — 更新定时任务 - -- 返回类型: `Result` → `Result` - -**请求体变更** `UpdateJobRequest`: - - - ✏️ `jobGroup`: 说明 "任务分组" → "任务分组,字典类型:job_group(DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步)" - - ✏️ `invokeTarget`: 说明 "调用目标(Bean名称.方法名)" → "调用目标(Bean名称.方法名),方法必须是无参公开方法" - - ✏️ `cronExpression`: 说明 "Cron表达式" → "Cron表达式,标准6位(秒 分 时 日 月 周)" - - ✏️ `misfirePolicy`: 说明 "计划执行策略:0=默认 1=立即触发 2=触发一次 3=不触发" → "计划执行策略,字典类型:job_misfire_policy(DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发)" -- 响应类型: `SysJob` → `SysJobVO` - -**响应变更** `SysJobVO`: - - - 🆕 `jobId` (`Long`) — 任务ID - - 🆕 `jobName` (`String`) — 任务名称 - - 🆕 `jobGroup` (`String`) — 任务分组 - - 🆕 `invokeTarget` (`String`) — 调用目标(Bean名称.方法名) - - 🆕 `cronExpression` (`String`) — Cron表达式 - - 🆕 `misfirePolicy` (`String`) — 计划执行策略 - - 🆕 `concurrent` (`Boolean`) — 是否允许并发执行 - - 🆕 `status` (`String`) — 任务状态 - - 🆕 `remark` (`String`) — 备注 - - 🆕 `createdAt` (`LocalDateTime`) — 创建时间 - - 🆕 `updatedAt` (`LocalDateTime`) — 更新时间 - -#### ✏️ `GET` /admin/job — 分页查询定时任务 - -- 返回类型: `Result>` → `Result>` -- 响应类型: `SysJob` → `SysJobVO` - -**响应变更** `SysJobVO`: - - - 🆕 `jobId` (`Long`) — 任务ID - - 🆕 `jobName` (`String`) — 任务名称 - - 🆕 `jobGroup` (`String`) — 任务分组 - - 🆕 `invokeTarget` (`String`) — 调用目标(Bean名称.方法名) - - 🆕 `cronExpression` (`String`) — Cron表达式 - - 🆕 `misfirePolicy` (`String`) — 计划执行策略 - - 🆕 `concurrent` (`Boolean`) — 是否允许并发执行 - - 🆕 `status` (`String`) — 任务状态 - - 🆕 `remark` (`String`) — 备注 - - 🆕 `createdAt` (`LocalDateTime`) — 创建时间 - - 🆕 `updatedAt` (`LocalDateTime`) — 更新时间 - -#### ✏️ `GET` /admin/job/{jobId}/logs — 查询任务日志 - -- 返回类型: `Result>` → `Result>` -- 响应类型: `SysJobLog` → `SysJobLogVO` - -**响应变更** `SysJobLogVO`: - - - 🆕 `jobLogId` (`Long`) — 日志ID - - 🆕 `jobId` (`Long`) — 任务ID - - 🆕 `jobName` (`String`) — 任务名称 - - 🆕 `invokeTarget` (`String`) — 调用目标 - - 🆕 `status` (`String`) — 执行状态 - - 🆕 `message` (`String`) — 执行结果/异常信息 - - 🆕 `startTime` (`LocalDateTime`) — 开始时间 - - 🆕 `endTime` (`LocalDateTime`) — 结束时间 - - 🆕 `createdAt` (`LocalDateTime`) — 创建时间 - ---- - -## 监控服务 - -### InternalLog - -#### ✏️ `POST` /internal/monitor/operation-log — 接收操作日志 - -- 接口名称: ~~Receive operation log~~ → **接收操作日志** -- 返回类型: `` → `Result` - -#### ✏️ `POST` /internal/monitor/error-log — 接收错误日志 - -- 接口名称: ~~Receive error log~~ → **接收错误日志** -- 返回类型: `` → `Result` - -#### ✏️ `POST` /internal/monitor/notification-log — 接收通知日志 - -- 接口名称: ~~Receive notification log~~ → **接收通知日志** -- 返回类型: `` → `Result` - -#### ✏️ `POST` /internal/monitor/approval-log — 接收审批日志 - -- 接口名称: ~~Receive approval log~~ → **接收审批日志** -- 返回类型: `` → `Result` - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/monitor/notification-log/customer-stats` | Get customer stats for a user (add/loss counts) → **获取用户客户统计** | - ---- - -## 订单服务 - -### AdminAlbum - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/admin/order/album/my-uploads` | 我的上传(当前管理员上传的所有相册文件) → **我的上传** | - -### AdminWorkOrder - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/admin/order/work-order/stats` | 工单统计(待处理数等) → **工单统计** | -| `PUT` | `/admin/order/work-order/{workOrderId}/process` | 处理工单(解决/驳回) → **处理工单(解决/驳回)** | -| `POST` | `/admin/order/work-order/{workOrderId}/comment` | 添加备注 → **添加工单备注** | - -### InternalDashboard - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/order/dashboard/overview-stats` | 概览统计(支持定制师/全局,支持今日/本周/本月) → **概览统计** | -| `GET` | `/internal/order/dashboard/trend` | 数据趋势(按天聚合) → **数据趋势** | -| `GET` | `/internal/order/dashboard/ranking` | 业绩排行(本月定制师排名) → **业绩排行** | - -### InternalMpOrder - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/mp/order/lookup` | 通过联系人手机号+姓名查找订单(无需登录) → **通过联系人手机号+姓名查找订单** | -| `POST` | `/internal/mp/order/bind-by-contact` | 绑定未绑定的订单(通过联系人手机号+姓名) → **绑定未绑定的订单** | -| `PUT` | `/internal/mp/order/{orderId}/mark-reviewed` | 标记订单已评价(评价服务回调) → **标记订单已评价** | - -### InternalOrderTraveler - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/order/traveler/validate/{orderId}` | 验证订单出行人信息(供支付服务调用) → **验证订单出行人信息** | - -### InternalRefund - -#### ✏️ `POST` /internal/order/refund-appeal-result — 企微退款申诉审批结果回调 - -- 返回类型: `` → `Result` - -#### ✏️ `POST` /internal/order/refund-application-result — 企微退款申请审批结果回调 - -- 返回类型: `` → `Result` - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `GET` | `/internal/mp/order/refund-reasons` | 退款原因列表 → **退款原因列表(C端)** | -| `GET` | `/internal/mp/order/refund/{applicationId}` | 退款申请详情 → **退款申请详情(C端)** | -| `GET` | `/internal/mp/order/{orderId}/refund-detail` | 根据订单ID获取最新退款申请详情 → **根据订单ID获取最新退款申请** | - ---- - -## 资源服务 - -### InternalActivity - -#### ✏️ `POST` /internal/activity/approval-result — 处理审批回调结果 - -- 返回类型: `` → `Result` - -### InternalResource - -#### ✏️ `POST` /internal/resource/approval-result — 处理审批回调 - 分发到9个资源领域服务 - -- 返回类型: `` → `Result` - -### InternalCost - -#### ✏️ `POST` /internal/cost/approval-result — 处理审批回调结果 - -- 返回类型: `` → `Result` - -### InternalHotel - -#### ✏️ `POST` /internal/hotel/approval-result — 处理审批回调结果 - -- 返回类型: `` → `Result` - -### InternalRestaurant - -#### ✏️ `POST` /internal/restaurant/approval-result — \u5904\u7406\u5ba1\u6279\u56de\u8c03\u7ed3\u679c - -- 返回类型: `` → `Result` - -### InternalScenic - -#### ✏️ `POST` /internal/scenic/approval-result — 处理审批回调结果 - -- 返回类型: `` → `Result` - -### InternalService - -#### ✏️ `POST` /internal/service/approval-result — 处理审批回调结果 - -- 返回类型: `` → `Result` - -### ServiceItem - -#### 接口名称更新 - -| 方法 | 路径 | 原名称 → 新名称 | -| --- | --- | --- | -| `POST` | `/admin/service/item` | 创建服务 → **创建增值服务** | -| `GET` | `/admin/service/items` | 服务列表 → **增值服务列表** | -| `GET` | `/admin/service/item/{serviceId}` | 服务详情 → **增值服务详情** | -| `PUT` | `/admin/service/item/{serviceId}` | 更新服务 → **更新增值服务** | -| `DELETE` | `/admin/service/item/{serviceId}` | 删除服务 → **删除增值服务** | - -### InternalStaff - -#### ✏️ `POST` /internal/staff/approval-result — 处理审批回调结果 - -- 返回类型: `` → `Result` - -### InternalSupplies - -#### ✏️ `POST` /internal/supplies/approval-result — 处理审批回调结果 - -- 返回类型: `` → `Result` - -### InternalVehicle - -#### ✏️ `POST` /internal/vehicle/approval-result — 处理审批回调结果 - -- 返回类型: `` → `Result` - ---- - -## 📦 其他数据对象变更 - -> 以下变更未直接关联到本次接口变更,但可能影响现有接口的请求/响应 - -### 产品服务 - -#### ✏️ BatchMaterialIdsRequest - - - ✏️ `materialIds`: 说明 "" → "素材ID列表" - -#### ✏️ FormulaStepRequest - - - ✏️ `expression`: 说明 "表达式" → "Aviator表达式(支持数学运算、条件判断、内置函数;可引用前置步骤的输出变量和公式变量表中的变量)" - -#### ✏️ GroupBatchCreateRequest - - - ✏️ `batchName`: 说明 "batch name" → "批次名称" - - ✏️ `departureDate`: 说明 "departure date" → "出发日期" - - ✏️ `enrollmentDeadline`: 说明 "enrollment deadline" → "报名截止日期,必须早于出发日期" - - ✏️ `maxParticipants`: 说明 "max participants" → "最大参团人数(报名人数达到上限后自动关闭报名)" - - ✏️ `remark`: 说明 "remark" → "备注说明" - -#### ✏️ GroupBatchDisbandRequest - - - ✏️ `reason`: 说明 "disband reason" → "解散原因(如:报名人数不足、行程调整等)" - -#### ✏️ GroupBatchStaffRequest - - - ✏️ `staffId`: 说明 "staff ID (from resource-service)" → "人员ID(来自资源服务的人员库)" - - ✏️ `staffRole`: 说明 "role in this batch: LEADER/PHOTOGRAPHER/DRIVER/OTHER" → "在该批次中的角色:LEADER(领队)/PHOTOGRAPHER(摄影师)/DRIVER(司机)/OTHER(其他)" - - ✏️ `remark`: 说明 "remark" → "备注(如:主导游、备用摄影师等)" - -#### ✏️ GroupBatchUpdateRequest - - - ✏️ `batchName`: 说明 "batch name" → "批次名称" - - ✏️ `departureDate`: 说明 "departure date" → "出发日期" - - ✏️ `enrollmentDeadline`: 说明 "enrollment deadline" → "报名截止日期" - - ✏️ `minParticipants`: 说明 "min participants" → "最低成团人数(0=不限制)" - - ✏️ `maxParticipants`: 说明 "max participants" → "最大参团人数(不能低于已报名人数)" - - ✏️ `remark`: 说明 "remark" → "备注说明" - - ✏️ `sortOrder`: 说明 "sort order" → "排序序号" - -#### ✏️ MaterialVO - - - ✏️ `materialId`: 说明 "" → "素材ID" - - ✏️ `ossUrl`: 说明 "" → "OSS访问URL" - - ✏️ `thumbnailUrl`: 说明 "" → "缩略图URL" - - ✏️ `materialName`: 说明 "" → "素材名称" - - ✏️ `fileType`: 说明 "" → "文件类型" - -#### ✏️ NodeCreateRequest - - - ✏️ `resourceType`: 说明 "关联资源类型:SCENIC_SPOT/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE" → "关联资源类型(关联后可从资源服务获取价格参与成本计算):SCENIC/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE" - - ✏️ `resourceId`: 说明 "关联资源ID" → "关联资源ID(来自资源服务,关联后节点名称和图片可自动同步)" - - ✏️ `familyIds`: 说明 "所属家庭ID列表(定制产品按家庭分配)" → "所属家庭ID列表(仅CUSTOM定制产品使用,实现按家庭分配行程节点)" - -#### ✏️ PriceCalendarRequest - - - ✏️ `costAutoCalc`: 说明 "是否自动计算成本" → "是否自动计算成本(true时重新测算会自动更新此日期的价格)" - - ✏️ `stock`: 说明 "库存数量" → "库存数量(CORE/GROUP按人头扣减,CUSTOM/ROUTE按单扣减)" - - ✏️ `status`: 说明 "状态:OPEN=开放 CLOSED=关闭" → "状态:OPEN=开放预订 CLOSED=关闭(不可预订)" - -#### ✏️ PricingRequest - - - ✏️ `pricingMode`: 说明 "定价模式:AUTO=自动计算 MANUAL=手动定价 CUSTOM=定制定价" → "定价模式:AUTO=根据行程资源价格自动计算 MANUAL=手动在价格日历设置每日价格 CUSTOM=定制产品整单定价" - - ✏️ `profitMode`: 说明 "利润模式:FIXED=固定金额 PERCENT=百分比" → "利润模式(AUTO模式下生效):FIXED=在成本基础上加固定金额 PERCENT=在成本基础上按百分比加价" - - ✏️ `childWithBed`: 说明 "儿童占床价" → "儿童加床费(childNeedBed=true时额外加收的费用)" - - ✏️ `childNoBed`: 说明 "儿童不占床价" → "儿童不占床价(暂未使用,预留字段)" - - ✏️ `babyPrice`: 说明 "婴儿价" → "婴儿固定价格(不随日期变化)" - - ✏️ `childDiscountPercent`: 说明 "儿童折扣百分比" → "小童折扣百分比(小童价=儿童价×此百分比/100,如70表示打7折)" - - ✏️ `customTotalPrice`: 说明 "定制产品总价(CUSTOM模式下使用)" → "定制产品总价(CUSTOM定价模式下使用,代表整单总价)" - - ✏️ `minGroupSize`: 说明 "最小成团人数" → "最小成团人数(CORE/GROUP产品用,影响均摊成本计算)" - - ✏️ `maxGroupSize`: 说明 "最大成团人数" → "最大成团人数(CORE/GROUP产品用)" - - ✏️ `paymentType`: 说明 "支付方式:FULL=全款 DEPOSIT=定金+尾款" → "支付方式:FULL=全款支付 DEPOSIT=定金+尾款分期支付" - - ✏️ `depositRatio`: 说明 "定金比例(百分比)" → "定金比例(百分比,如30代表30%。与depositAmount二选一,优先使用比例)" - - ✏️ `depositAmount`: 说明 "定金金额" → "定金金额(固定金额,与depositRatio二选一)" - - ✏️ `balanceDueDays`: 说明 "尾款支付截止天数(出发前N天)" → "尾款支付截止天数(出发前N天必须支付尾款,超时可能取消订单)" - -#### ✏️ ProductStatusRequest - - - ✏️ `status`: 说明 "目标状态:DRAFT/PENDING_REVIEW/REVIEWED/REJECTED/PUBLISHED/UNPUBLISHED/COMPLETED" → "目标状态。核心/小蒙马:DRAFT/PENDING_REVIEW/REVIEWED/REJECTED/PUBLISHED/UNPUBLISHED;定制产品:COMPLETED" - - ✏️ `reason`: 说明 "状态变更原因(驳回时必填)" → "状态变更原因(驳回时必填;上架/下架审批时可填)" - -#### ✏️ RefBatchBindRequest - - - ✏️ `refs`: 说明 "" → "引用绑定列表" - -#### ✏️ RefBatchUnbindRequest - - - ✏️ `refs`: 说明 "" → "引用解绑列表" - -#### ✏️ RefBindRequest - - - ✏️ `materialId`: 说明 "" → "素材ID" - - ✏️ `bizType`: 说明 "" → "业务类型" - - ✏️ `bizId`: 说明 "" → "业务ID" - - ✏️ `bizName`: 说明 "" → "业务名称" - - ✏️ `usageType`: 说明 "" → "用途类型" - -#### ✏️ RefUnbindRequest - - - ✏️ `materialId`: 说明 "" → "素材ID" - - ✏️ `bizType`: 说明 "" → "业务类型" - - ✏️ `bizId`: 说明 "" → "业务ID" - - ✏️ `usageType`: 说明 "" → "用途类型" - -#### ✏️ ResourceCoverQuery - - - ✏️ `resourceType`: 说明 "" → "资源类型" - - ✏️ `resourceId`: 说明 "" → "资源ID" - -#### ✏️ ResourcePriceQuery - - - ✏️ `resourceIds`: 说明 "" → "资源ID列表" - - ✏️ `staffTypes`: 说明 "" → "人员类型列表" - - ✏️ `startDate`: 说明 "" → "开始日期" - - ✏️ `endDate`: 说明 "" → "结束日期" - - ✏️ `subType`: 说明 "" → "资源子类型(如酒店房型ID、车辆类别)" - -#### ✏️ ResourcePriceVO - - - ✏️ `resourceId`: 说明 "" → "资源ID" - - ✏️ `staffType`: 说明 "" → "人员类型" - - ✏️ `date`: 说明 "" → "日期" - - ✏️ `price`: 说明 "" → "价格" - - ✏️ `resourceName`: 说明 "" → "资源名称" - -### 企微回调服务 - -#### ✏️ ChatMessageVO - - - ✏️ `msgId`: 说明 "" → "消息ID" - - ✏️ `fromUser`: 说明 "" → "发送人ID" - - ✏️ `fromUserName`: 说明 "" → "发送人姓名" - - ✏️ `fromUserAvatar`: 说明 "" → "发送人头像" - - ✏️ `roomId`: 说明 "" → "群聊ID" - - ✏️ `msgTime`: 说明 "" → "消息时间戳" - - ✏️ `msgType`: 说明 "" → "消息类型" - - ✏️ `content`: 说明 "" → "消息内容" - -### 公共模块 - -#### ✏️ AdminBasicDTO - - - ✏️ `adminId`: 说明 "" → "管理员ID" - - ✏️ `username`: 说明 "" → "用户名" - - ✏️ `avatarUrl`: 说明 "" → "头像URL" - - ✏️ `wechatUserid`: 说明 "" → "企微用户ID" - - ✏️ `wechatName`: 说明 "" → "企微用户名称" - -#### ✏️ DepartmentDTO - - - ✏️ `deptId`: 说明 "" → "部门ID" - - ✏️ `deptName`: 说明 "" → "部门名称" - - ✏️ `parentId`: 说明 "" → "上级部门ID" - -#### ✏️ FileBindRefsDTO - - - ✏️ `bizType`: 说明 "" → "业务类型" - - ✏️ `bizId`: 说明 "" → "业务ID" - - ✏️ `fileIds`: 说明 "" → "文件ID列表" - -#### ✏️ FileUnbindRefsDTO - - - ✏️ `bizType`: 说明 "" → "业务类型" - - ✏️ `bizId`: 说明 "" → "业务ID" - -#### ✏️ OrderPayInfoDTO - - - ✏️ `orderId`: 说明 "" → "订单ID" - - ✏️ `orderNo`: 说明 "" → "订单编号" - - ✏️ `userId`: 说明 "" → "用户ID" - - ✏️ `mchId`: 说明 "" → "商户号" - - ✏️ `totalPrice`: 说明 "" → "总价" - - ✏️ `discountAmount`: 说明 "" → "优惠金额" - - ✏️ `depositAmount`: 说明 "" → "定金金额" - - ✏️ `paidAmount`: 说明 "" → "已支付金额" - - ✏️ `paymentMode`: 说明 "" → "支付模式: FULL=全款, DEPOSIT=定金+尾款" - - ✏️ `status`: 说明 "" → "订单状态" - - ✏️ `productName`: 说明 "" → "产品名称" - - ✏️ `isBooking`: 说明 "" → "是否预定产品: true=预定(定金可不填出行人), false=非预定(支付前必须填出行人)" - -#### ✏️ PaymentResultDTO - - - ✏️ `orderId`: 说明 "" → "订单ID" - - ✏️ `payType`: 说明 "" → "支付类型: FULL=全款, DEPOSIT=定金, BALANCE=尾款" - - ✏️ `paidAmount`: 说明 "" → "支付金额" - - ✏️ `transactionIdWx`: 说明 "" → "微信支付交易号" - -#### ✏️ RefundResultDTO - - - ✏️ `orderId`: 说明 "" → "订单ID" - - ✏️ `refundAmount`: 说明 "" → "退款金额" - - ✏️ `refundIdWx`: 说明 "" → "微信退款单号" - -#### ✏️ ResourceDetailDTO - - - ✏️ `resourceId`: 说明 "" → "资源ID" - - ✏️ `resourceType`: 说明 "" → "资源类型: SCENIC_SPOT/HOTEL/RESTAURANT/ACTIVITY" - - ✏️ `name`: 说明 "" → "资源名称" - - ✏️ `subtitle`: 说明 "" → "副标题" - - ✏️ `description`: 说明 "" → "简介/描述" - - ✏️ `cover`: 说明 "" → "封面图URL" - - ✏️ `images`: 说明 "" → "图片URL列表(轮播图)" - - ✏️ `address`: 说明 "" → "地址" - - ✏️ `longitude`: 说明 "" → "经度" - - ✏️ `latitude`: 说明 "" → "纬度" - - ✏️ `tags`: 说明 "" → "标签列表" - - ✏️ `featureIntro`: 说明 "" → "图文详情(featureIntro JSON)" - - ✏️ `rating`: 说明 "" → "评分" - - ✏️ `city`: 说明 "" → "所在城市" - -#### ✏️ TravelerValidationDTO - - - ✏️ `orderId`: 说明 "" → "订单ID" - - ✏️ `requiredCount`: 说明 "" → "需要的出行人数量" - - ✏️ `actualCount`: 说明 "" → "实际填写的出行人数量" - - ✏️ `isComplete`: 说明 "" → "是否完整(数量足够且信息完整)" - - ✏️ `incompleteTravelerIds`: 说明 "" → "信息不完整的出行人ID列表" - - ✏️ `message`: 说明 "" → "验证消息" - -#### ✏️ WechatMessageDTO - - - ✏️ `toUserIds`: 说明 "" → "接收用户ID列表" - - ✏️ `content`: 说明 "" → "消息内容" - -### 用户服务 - -#### ✏️ ContactRequest - - - ✏️ `channelType`: 说明 "渠道类型:ABOUT=关于我们 ONLINE_CS=在线客服 PHONE=电话咨询" → "渠道类型,关联字典contact_channel_type:ABOUT=关于我们, ONLINE_CS=在线客服, PHONE=电话咨询" - - ✏️ `status`: 说明 "状态:0=下线 1=上线" → "状态,关联字典common_status:0=下线, 1=上线" - -#### ✏️ ContactVO - - - ✏️ `channelType`: 说明 "渠道类型:ABOUT=关于我们 ONLINE_CS=在线客服 PHONE=电话咨询" → "渠道类型,关联字典contact_channel_type:ABOUT=关于我们, ONLINE_CS=在线客服, PHONE=电话咨询" - - ✏️ `status`: 说明 "状态:0=下线 1=上线" → "状态,关联字典common_status:0=下线, 1=上线" - -#### ✏️ CustomPushRequest - - - ✏️ `title`: 说明 "" → "推送标题" - - ✏️ `content`: 说明 "" → "推送内容" - - ✏️ `channel`: 说明 "" → "推送通道: INAPP/SMS/WECHAT_WORK" - - ✏️ `targetType`: 说明 "" → "目标类型: ALL_USERS/SPECIFIC_USERS" - - ✏️ `userIds`: 说明 "" → "目标用户ID列表(目标类型为SPECIFIC_USERS时必填)" - - ✏️ `categoryCode`: 说明 "" → "消息分类编码,默认SYSTEM" - - ✏️ `link`: 说明 "" → "跳转链接(站内信时使用)" - -#### ✏️ CustomPushResultVO - - - ✏️ `totalCount`: 说明 "" → "推送总数" - - ✏️ `successCount`: 说明 "" → "成功数" - - ✏️ `failCount`: 说明 "" → "失败数" - -#### ✏️ CustomerVO - - - ✏️ `status`: 说明 "状态:ACTIVE=正常 DISABLED=禁用" → "状态,关联字典user_status:ACTIVE=正常, BANNED=已封禁" - -#### ✏️ EventConfigVO - - - ✏️ `inappEnabled`: 说明 "站内信开关" → "站内信开关(0=关闭, 1=开启)" - - ✏️ `smsEnabled`: 说明 "短信开关" → "短信开关(0=关闭, 1=开启)" - - ✏️ `miniappEnabled`: 说明 "小程序订阅消息开关" → "小程序订阅消息开关(0=关闭, 1=开启)" - - ✏️ `oaEnabled`: 说明 "公众号模板消息开关" → "公众号模板消息开关(0=关闭, 1=开启)" - - ✏️ `weworkEnabled`: 说明 "企微通知开关" → "企微通知开关(0=关闭, 1=开启)" - - ✏️ `weworkReceiverType`: 说明 "企微接收人类型" → "企微接收人类型(ROLE=按角色, DEPT=按部门, SPECIFIC=指定人员)" - -#### ✏️ FavoriteRequest - - - ✏️ `targetType`: 说明 "收藏类型" → "收藏类型,关联字典favorite_resource_type" - -#### ✏️ FootprintRequest - - - ✏️ `resourceType`: 说明 "资源类型" → "资源类型,关联字典footprint_resource_type" - -#### ✏️ LoginLogVO - - - ✏️ `loginMethod`: 说明 "登录方式:PASSWORD=密码 WECHAT=企微扫码 TWO_FA=二次验证" → "登录方式,关联字典login_method:PASSWORD=密码登录, WECHAT_QR=企微扫码登录, TWO_FA=二次验证登录" - - ✏️ `status`: 说明 "登录状态:SUCCESS=成功 FAILED=失败" → "登录状态,关联字典login_status:SUCCESS=成功, FAILED=失败" - -#### ✏️ SendLogVO - - - ✏️ `channel`: 说明 "通道: INAPP/SMS/MINIAPP/OA/WEWORK" → "通道,关联字典notification_channel:INAPP=站内信, SMS=短信, MINIAPP=小程序订阅, OA=公众号模板, WEWORK=企业微信" - - ✏️ `status`: 说明 "发送状态: 0成功 1失败 2跳过" → "发送状态,关联字典notification_send_status:0=成功, 1=失败, 2=跳过" - -#### ✏️ TravelerRequest - - - ✏️ `travelerType`: 说明 "出行人类型(无需传入,后端根据出生日期自动判断)" → "出行人类型,关联字典traveler_type:ADULT=成人, CHILD=儿童, INFANT=婴儿(无需传入,后端根据birthday自动判断)" - - ✏️ `idCardType`: 说明 "证件类型:ID_CARD=身份证 PASSPORT=护照" → "证件类型,关联字典id_card_type:ID_CARD=身份证, PASSPORT=护照" - - ✏️ `gender`: 说明 "性别:0=女 1=男" → "性别,关联字典gender:0=女, 1=男" - -#### ✏️ UserSimpleVO - - - ✏️ `id`: 说明 "" → "用户ID" - - ✏️ `realName`: 说明 "" → "真实姓名" - - ✏️ `phone`: 说明 "" → "手机号" - - ✏️ `avatarUrl`: 说明 "" → "头像URL" - -#### ✏️ UserVO - - - ✏️ `status`: 说明 "状态:ACTIVE=正常 DISABLED=禁用" → "状态,关联字典user_status:ACTIVE=正常, BANNED=已封禁" - - ✏️ `idCardType`: 说明 "证件类型:ID_CARD=身份证 PASSPORT=护照" → "证件类型,关联字典id_card_type:ID_CARD=身份证, PASSPORT=护照" - - ✏️ `gender`: 说明 "性别:0=女 1=男" → "性别,关联字典gender:0=女, 1=男" - -### 素材服务 - -#### ✏️ ChunkUploadCancelRequest - - - ✏️ `uploadId`: 说明 "" → "上传ID" - -#### ✏️ ChunkUploadCompleteRequest - - - ✏️ `uploadId`: 说明 "" → "上传ID" - -#### ✏️ ChunkUploadInitRequest - - - ✏️ `filename`: 说明 "" → "文件名" - - ✏️ `fileSize`: 说明 "" → "文件大小(字节)" - - ✏️ `contentType`: 说明 "" → "文件MIME类型" - - ✏️ `groupKey`: 说明 "" → "分组标识" - - ✏️ `fileHash`: 说明 "" → "文件哈希值" - -#### ✏️ ChunkUploadInitVO - - - ✏️ `uploadId`: 说明 "" → "上传ID" - - ✏️ `chunkSize`: 说明 "" → "分片大小(字节)" - - ✏️ `fileId`: 说明 "" → "文件ID" - - ✏️ `ossKey`: 说明 "" → "OSS对象Key" - -#### ✏️ ChunkUploadPartVO - - - ✏️ `etag`: 说明 "" → "分片ETag标识" - -#### ✏️ FileBatchIdsRequest - - - ✏️ `fileIds`: 说明 "" → "文件ID列表" - -#### ✏️ FileUploadConfirmRequest - - - ✏️ `fileId`: 说明 "" → "文件ID" - -#### ✏️ FileUploadTokenRequest - - - ✏️ `fileName`: 说明 "" → "文件名" - - ✏️ `fileSize`: 说明 "" → "文件大小(字节)" - - ✏️ `fileHash`: 说明 "" → "文件哈希值" - - ✏️ `groupKey`: 说明 "" → "分组标识" - - ✏️ `forcePresigned`: 说明 "" → "是否强制使用预签名URL" - -#### ✏️ FileUploadTokenVO - - - ✏️ `fileId`: 说明 "" → "文件ID" - - ✏️ `contentType`: 说明 "" → "文件MIME类型" - - ✏️ `uploadMode`: 说明 "" → "上传模式" - - ✏️ `presignedUrl`: 说明 "" → "预签名上传URL" - - ✏️ `ossKey`: 说明 "" → "OSS对象Key" - - ✏️ `expireAt`: 说明 "" → "过期时间" - - ✏️ `stsToken`: 说明 "" → "STS临时凭证" - - ✏️ `bucket`: 说明 "" → "OSS存储桶名称" - - ✏️ `region`: 说明 "" → "OSS区域" - - ✏️ `file`: 说明 "" → "文件信息(秒传时返回)" - - ✏️ `accessKeyId`: 说明 "" → "访问密钥ID" - - ✏️ `accessKeySecret`: 说明 "" → "访问密钥Secret" - - ✏️ `securityToken`: 说明 "" → "安全令牌" - - ✏️ `expiration`: 说明 "" → "过期时间" - -#### ✏️ FileVO - - - ✏️ `fileId`: 说明 "" → "文件ID" - - ✏️ `fileName`: 说明 "" → "文件名" - - ✏️ `fileType`: 说明 "" → "文件类型" - - ✏️ `mimeType`: 说明 "" → "MIME类型" - - ✏️ `fileSize`: 说明 "" → "文件大小(字节)" - - ✏️ `fileHash`: 说明 "" → "文件哈希值" - - ✏️ `ossUrl`: 说明 "" → "OSS访问URL" - - ✏️ `thumbnailUrl`: 说明 "" → "缩略图URL" - - ✏️ `previewUrl`: 说明 "" → "预览URL" - - ✏️ `groupKey`: 说明 "" → "分组标识" - - ✏️ `status`: 说明 "" → "文件状态" - - ✏️ `refCount`: 说明 "" → "引用次数" - - ✏️ `createdAt`: 说明 "" → "创建时间" - -### 订单服务 - -#### ✏️ AdminCreateOrderRequest - - - ✏️ `userPhone`: 说明 "用户手机号(可选,用于关联C端用户)" → "用户手机号(可选,用于关联C端用户)。如匹配到已注册用户则自动绑定订单" - - ✏️ `expiryMinutes`: 说明 "支付时限(分钟),不传则使用全局默认值" → "支付时限(分钟),不传则使用全局默认值。超时未支付订单自动取消" - -#### ✏️ AdminRefundReviewRequest - - - ✏️ `action`: 说明 "审批结果(APPROVE/REJECT)" → "审批结果:APPROVE=通过(自动调起微信退款)、REJECT=拒绝(用户可发起申诉)" - - ✏️ `actualAmount`: 说明 "实际退款金额(审批通过时可调整)" → "实际退款金额(审批通过时可调整,不传则使用申请金额)。不能超过订单已付金额" - -#### ✏️ AdminUpdateOrderRequest - - - ✏️ `mchId`: 说明 "商户号" → "商户号(微信支付商户号,多商户场景使用)" - -#### ✏️ CreateWorkOrderRequest - - - ✏️ `type`: 说明 "工单类型: ROOM_CHANGE/ROOM_ADD/CHECKOUT_CHANGE/HOTEL_ISSUE/VEHICLE_CHANGE/SCENIC_ADD/SCENIC_REMOVE/OTHER" → "工单类型: ROOM_CHANGE(换房)/ROOM_ADD(加房)/CHECKOUT_CHANGE(改退房日期)/" - - ✏️ `priority`: 说明 "优先级: URGENT/NORMAL" → "优先级: URGENT(紧急,如当天出发需处理)/NORMAL(普通)" - - ✏️ `costDifference`: 说明 "差价(正数=加价, 负数=退费)" → "差价(正数=客户需补差价, 负数=需退费给客户)" - -#### ✏️ EarlyBirdPlanRequest - - - ✏️ `minPeople`: 说明 "最低人数" → "最低出行人数(含成人+儿童),订单人数>=此值才能享受优惠" - - ✏️ `discountAmount`: 说明 "优惠金额" → "优惠金额(从订单总价中扣减的固定金额)" - -#### ✏️ MpOrderQueryRequest - - - ✏️ `status`: 说明 "订单状态" → "订单状态(不传则查全部)。可选值:PENDING_PAY/DEPOSIT_PAID/PAID/CONFIRMED/PENDING_BALANCE/PENDING_DEPARTURE/TRAVELLING/COMPLETED/AFTER_SALE/REFUNDING/REFUNDED/CANCELLED" - -#### ✏️ MpUpdateOrderRequest - - - ✏️ `departureDate`: 说明 "出发日期" → "出发日期(修改出发日期会触发价格重算)" - -#### ✏️ RefundApplyRequest - - - ✏️ `refundType`: 说明 "退款类型(字典:refund_type)" → "退款类型:FULL=全额退款、PARTIAL=部分退款" - - ✏️ `reasonId`: 说明 "退款原因ID" → "退款原因ID(从退款原因列表接口获取)" - -#### ✏️ RefundPolicyRequest - - - ✏️ `minDays`: 说明 "距出发最少天数" → "距出发最少天数(含当天)。例如:minDays=7表示出发前7天及以上适用此规则" - - ✏️ `refundRatio`: 说明 "退款比例(百分比)" → "退款比例(百分比,0-100)。例如:80表示退已付金额的80%" - -#### ✏️ UpdateOrderStatusRequest - - - ✏️ `status`: 说明 "目标状态(字典:order_status)" → "目标状态。可选值:PENDING_PAY(待支付)/DEPOSIT_PAID(已付定金)/PAID(已全额支付)/" - -#### ✏️ WorkOrderVO - - - ✏️ `logId`: 说明 "" → "日志ID" - - ✏️ `action`: 说明 "" → "操作动作" - - ✏️ `actionLabel`: 说明 "" → "操作动作标签" - - ✏️ `content`: 说明 "" → "操作内容" - - ✏️ `operatorName`: 说明 "" → "操作人姓名" - - ✏️ `createdAt`: 说明 "" → "操作时间" - -### 资源服务 - -#### ✏️ RestaurantCreateRequest - - - ✏️ `cityName`: 说明 "城市标签" → "城市名称(纯文本输入)" - -#### ✏️ RestaurantListVO - - - ✏️ `cityName`: 说明 "城市标签" → "城市名称(纯文本)" - -#### ✏️ RestaurantQueryRequest - - - ✏️ `cityName`: 说明 "城市标签" → "城市名称筛选(纯文本)" - -#### ✏️ RestaurantUpdateRequest - - - ✏️ `cityName`: 说明 "城市标签" → "城市名称(纯文本输入)" - -#### ✏️ RestaurantVO - - - ✏️ `cityName`: 说明 "城市标签" → "城市名称(纯文本)" - -## 🗄️ 数据库变更 - -### `add_customer_service_role.sql` (新增) - -```sql --- 新增客服角色 --- 权限:查看全部订单、全部产品(含定制产品)、配置保险、配置合同、查看素材 - --- 1. 创建角色 -INSERT INTO sys_role (role_id, role_name, role_key, sort_order, status) -VALUES (8, '客服', 'CUSTOMER_SERVICE', 8, 'ACTIVE'); - --- 2. 分配菜单权限 -INSERT INTO sys_role_menu (role_id, menu_id) VALUES --- 订单管理(查看,不含创建) -(8, 700), -- 订单管理(目录) -(8, 710), -- 订单列表 -(8, 730), -- 订单详情 -(8, 740), -- 早鸟优惠 -(8, 750), -- 工单管理 --- 退款管理(查看) -(8, 6001), -- 退款管理(目录) -(8, 6010), -- 退款申请 -(8, 6020), -- 退款政策 -(8, 6030), -- 退款原因 --- 产品管理(查看全部,含定制产品,不含增删改按钮) -(8, 500), -- 产品管理(目录) -(8, 510), -- 产品列表 -(8, 520), -- 产品线管理 -(8, 530), -- 团期管理 --- 保险管理(配置) -(8, 800), -- 保险管理(目录) -(8, 810), -- 保险产品 -(8, 820), -- 保险订单 -(8, 830), -- 保险方案 --- 合同管理(配置) -(8, 850), -- 合同管理(目录) -(8, 851), -- 合同列表 -(8, 852), -- 补充约定模板 --- 素材库(查看) -(8, 1890000000000000100); -- 素材库 -``` - -### `dict_data_seed.sql` (修改) - -```sql --- Dict Types (9 types) - (7, '任务日志状态', 'job_log_status', 'BASE', 'ACTIVE', NULL, NOW(), NOW()), - (8, '任务状态', 'job_status', 'BASE', 'ACTIVE', NULL, NOW(), NOW()), - (9, '任务分组', 'job_group', 'BASE', 'ACTIVE', NULL, NOW(), NOW()); --- job_status -INSERT IGNORE INTO sys_dict_data (dict_data_id, dict_type, dict_label, dict_value, sort_order, status, remark, created_at, updated_at) -VALUES - (801, 'job_status', '启用', 'ACTIVE', 1, 'ACTIVE', 'success', NOW(), NOW()), - (802, 'job_status', '已暂停', 'PAUSED', 2, 'ACTIVE', 'info', NOW(), NOW()); - --- job_group -INSERT IGNORE INTO sys_dict_data (dict_data_id, dict_type, dict_label, dict_value, sort_order, status, remark, created_at, updated_at) -VALUES - (901, 'job_group', '默认分组', 'DEFAULT', 1, 'ACTIVE', '', NOW(), NOW()), - (902, 'job_group', '系统任务', 'SYSTEM', 2, 'ACTIVE', 'primary', NOW(), NOW()), - (903, 'job_group', '企微同步', 'WECHAT', 3, 'ACTIVE', 'success', NOW(), NOW()), - (904, 'job_group', '保险同步', 'INSURANCE', 4, 'ACTIVE', 'warning', NOW(), NOW()); - -``` - -### `dict_fix_frontend.sql` (新增) - -```sql --- ============================================================ --- 前端缺失的字典类型和字典数据补齐 --- 对比前端 hl-ui 代码 vs 后端 sys_dict_type 表 --- ============================================================ - --- 1. cities - 城市(树形字典,MobilePreview/useLocation用) -INSERT IGNORE INTO sys_dict_type (dict_type_id, dict_name, dict_type, category, status) -VALUES (1900000001, '城市', 'cities', 'BASE', 'ACTIVE'); - -INSERT IGNORE INTO sys_dict_data (dict_data_id, dict_type, dict_label, dict_value, sort_order, status) -VALUES -(1900100001, 'cities', '海拉尔', 'hailar', 1, 'ACTIVE'), -(1900100002, 'cities', '满洲里', 'manzhouli', 2, 'ACTIVE'), -(1900100003, 'cities', '额尔古纳', 'eergu', 3, 'ACTIVE'), -(1900100004, 'cities', '根河', 'genhe', 4, 'ACTIVE'), -(1900100005, 'cities', '牙克石', 'yakeshi', 5, 'ACTIVE'), -(1900100006, 'cities', '扎兰屯', 'zhalantun', 6, 'ACTIVE'), -(1900100007, 'cities', '阿尔山', 'aershan', 7, 'ACTIVE'), -(1900100008, 'cities', '室韦', 'shiwei', 8, 'ACTIVE'), -(1900100009, 'cities', '恩和', 'enhe', 9, 'ACTIVE'), -(1900100010, 'cities', '黑山头', 'heishantou', 10, 'ACTIVE'), -(1900100011, 'cities', '陈巴尔虎旗', 'chenbaerhu', 11, 'ACTIVE'), -(1900100012, 'cities', '新巴尔虎左旗', 'xinbaerhuzuo', 12, 'ACTIVE'), -(1900100013, 'cities', '新巴尔虎右旗', 'xinbaerhuyou', 13, 'ACTIVE'), -(1900100014, 'cities', '鄂温克旗', 'ewenke', 14, 'ACTIVE'), -(1900100015, 'cities', '莫尔道嘎', 'moerdaoga', 15, 'ACTIVE'); - --- 2. city - 城市筛选(产品行程资源面板用) -INSERT IGNORE INTO sys_dict_type (dict_type_id, dict_name, dict_type, category, status) -VALUES (1900000002, '城市筛选', 'city', 'BASE', 'ACTIVE'); - -INSERT IGNORE INTO sys_dict_data (dict_data_id, dict_type, dict_label, dict_value, sort_order, status) -VALUES -(1900200001, 'city', '海拉尔', 'hailar', 1, 'ACTIVE'), -(1900200002, 'city', '满洲里', 'manzhouli', 2, 'ACTIVE'), -(1900200003, 'city', '额尔古纳', 'eergu', 3, 'ACTIVE'), -(1900200004, 'city', '根河', 'genhe', 4, 'ACTIVE'), -(1900200005, 'city', '阿尔山', 'aershan', 5, 'ACTIVE'), -(1900200006, 'city', '室韦', 'shiwei', 6, 'ACTIVE'), -(1900200007, 'city', '恩和', 'enhe', 7, 'ACTIVE'), -(1900200008, 'city', '黑山头', 'heishantou', 8, 'ACTIVE'); - --- 3. city_label - 城市标签(餐厅列表筛选用) -INSERT IGNORE INTO sys_dict_type (dict_type_id, dict_name, dict_type, category, status) -VALUES (1900000003, '城市标签', 'city_label', 'BASE', 'ACTIVE'); - -INSERT IGNORE INTO sys_dict_data (dict_data_id, dict_type, dict_label, dict_value, sort_order, status) -VALUES -(1900300001, 'city_label', '海拉尔', 'hailar', 1, 'ACTIVE'), -(1900300002, 'city_label', '满洲里', 'manzhouli', 2, 'ACTIVE'), -(1900300003, 'city_label', '额尔古纳', 'eergu', 3, 'ACTIVE'), -(1900300004, 'city_label', '根河', 'genhe', 4, 'ACTIVE'), -(1900300005, 'city_label', '阿尔山', 'aershan', 5, 'ACTIVE'), -(1900300006, 'city_label', '室韦', 'shiwei', 6, 'ACTIVE'), -(1900300007, 'city_label', '恩和', 'enhe', 7, 'ACTIVE'), -(1900300008, 'city_label', '黑山头', 'heishantou', 8, 'ACTIVE'); - --- 4. environment_type - 环境类型(餐厅编辑用,前端key是environment_type) -INSERT IGNORE INTO sys_dict_type (dict_type_id, dict_name, dict_type, category, status) -VALUES (1900000004, '环境类型', 'environment_type -``` - -## ⚙️ 配置变更 - -- `hl-callback-service/src/main/resources/bootstrap.yml` (修改) -- `hl-contract-service/src/main/resources/bootstrap.yml` (修改) -- `hl-file-service/src/main/resources/bootstrap.yml` (修改) -- `hl-gateway/src/main/resources/bootstrap.yml` (修改) -- `hl-guide-service/src/main/resources/bootstrap.yml` (修改) -- `hl-insurance-service/src/main/resources/bootstrap.yml` (修改) -- `hl-material-service/src/main/resources/bootstrap.yml` (修改) -- `hl-monitor-service/src/main/resources/bootstrap.yml` (修改) -- `hl-mp-service/src/main/resources/bootstrap.yml` (修改) -- `hl-order-service/src/main/resources/bootstrap.yml` (修改) -- `hl-payment-service/src/main/resources/bootstrap.yml` (修改) -- `hl-product-service/src/main/resources/bootstrap.yml` (修改) -- `hl-resource-service/src/main/resources/bootstrap.yml` (修改) -- `hl-review-service/src/main/resources/bootstrap.yml` (修改) -- `hl-task-service/src/main/resources/bootstrap.yml` (修改) -- `hl-user-service/src/main/resources/bootstrap.yml` (修改) - -
-📁 全部变更文件 (点击展开) - -``` -A design-01-mengma-detail.jpg -A design-mengma-100pct.jpg -A design-mengma-detail.jpg -M docs/CLAUDE_WORKFLOW/CODE_STANDARDS.md -M docs/CLAUDE_WORKFLOW/architect/GUIDE.md -M docs/CLAUDE_WORKFLOW/qa/GUIDE.md -M docs/CLAUDE_WORKFLOW/reviewer/GUIDE.md -M docs/CLAUDE_WORKFLOW/senior-dev/GUIDE.md -M hl-callback-service/src/main/java/com/hulalv/callback/config/Knife4jConfig.java -M hl-callback-service/src/main/java/com/hulalv/callback/controller/MsgAuditCallbackController.java -M hl-callback-service/src/main/java/com/hulalv/callback/controller/WxCallbackController.java -M hl-callback-service/src/main/java/com/hulalv/callback/feign/UserServiceClient.java -M hl-callback-service/src/main/java/com/hulalv/callback/feign/UserServiceClientFallback.java -M hl-callback-service/src/main/java/com/hulalv/callback/handler/ApprovalEventHandler.java -M hl-callback-service/src/main/java/com/hulalv/callback/handler/ContactChangeHandler.java -M hl-callback-service/src/main/java/com/hulalv/callback/handler/ExternalContactHandler.java -M hl-callback-service/src/main/java/com/hulalv/callback/msgaudit/InternalChatMessageController.java -M hl-callback-service/src/main/java/com/hulalv/callback/msgaudit/MsgAuditController.java -M hl-callback-service/src/main/java/com/hulalv/callback/msgaudit/vo/ChatMessageVO.java -M hl-callback-service/src/main/resources/bootstrap.yml -M hl-common/src/main/java/com/hulalv/common/dto/AdminBasicDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/DepartmentDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/ExternalContactEventDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/FileBindRefsDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/FileUnbindRefsDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/OrderPayInfoDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/PaymentResultDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/RefundResultDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/ResourceDetailDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/TravelerValidationDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/WechatDeptSyncDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/WechatMessageDTO.java -M hl-common/src/main/java/com/hulalv/common/dto/WechatUserSyncDTO.java -M hl-common/src/main/java/com/hulalv/common/feign/MonitorFeignClient.java -M hl-common/src/main/java/com/hulalv/common/feign/MonitorFeignFallbackFactory.java -M hl-common/src/main/java/com/hulalv/common/feign/OrderRefundFeignClient.java -M hl-common/src/main/java/com/hulalv/common/feign/OrderRefundFeignFallbackFactory.java -M hl-common/src/main/java/com/hulalv/common/feign/ProductApprovalFeignClient.java -M hl-common/src/main/java/com/hulalv/common/feign/ProductApprovalFeignFallbackFactory.java -M hl-common/src/main/java/com/hulalv/common/feign/ResourceApprovalFeignClient.java -M hl-common/src/main/java/com/hulalv/common/feign/ResourceApprovalFeignFallbackFactory.java -M hl-common/src/main/java/com/hulalv/common/weather/AmapWeatherClient.java -M hl-contract-service/src/main/java/com/hulalv/contract/config/Knife4jConfig.java -M hl-contract-service/src/main/java/com/hulalv/contract/controller/AdminClauseTemplateController.java -M hl-contract-service/src/main/java/com/hulalv/contract/controller/AdminContractController.java -M hl-contract-service/src/main/java/com/hulalv/contract/controller/ContractCallbackController.java -M hl-contract-service/src/main/java/com/hulalv/contract/controller/InternalContractController.java -M hl-contract-service/src/main/java/com/hulalv/contract/controller/InternalMpContractController.java -M hl-contract-service/src/main/resources/bootstrap.yml -M hl-file-service/src/main/java/com/hulalv/file/config/Knife4jConfig.java -M hl-file-service/src/main/java/com/hulalv/file/controller/FileController.java -M hl-file-service/src/main/java/com/hulalv/file/controller/InternalFileController.java -M hl-file-service/src/main/java/com/hulalv/file/controller/MpFileController.java -M hl-file-service/src/main/resources/bootstrap.yml -A hl-gateway/src/main/java/com/hulalv/gateway/config/WebResourceConfig.java -M hl-gateway/src/main/resources/bootstrap.yml -M hl-guide-service/src/main/java/com/hulalv/guide/controller/AdminGuideArticleController.java -M hl-guide-service/src/main/java/com/hulalv/guide/controller/AdminGuideCategoryController.java -M hl-guide-service/src/main/java/com/hulalv/guide/controller/AdminGuideTagController.java -M hl-guide-service/src/main/java/com/hulalv/guide/controller/InternalWikiController.java -M hl-guide-service/src/main/resources/bootstrap.yml -M hl-insurance-service/src/main/java/com/hulalv/insurance/config/Knife4jConfig.java -M hl-insurance-service/src/main/java/com/hulalv/insurance/controller/AdminInsuranceController.java -M hl-insurance-service/src/main/java/com/hulalv/insurance/controller/AdminInsuranceSchemeController.java -M hl-insurance-service/src/main/java/com/hulalv/insurance/controller/InternalInsuranceController.java -M hl-insurance-service/src/main/resources/bootstrap.yml -M hl-material-service/src/main/java/com/hulalv/material/config/Knife4jConfig.java -M hl-material-service/src/main/java/com/hulalv/material/controller/InternalMaterialController.java -M hl-material-service/src/main/java/com/hulalv/material/controller/MaterialCategoryPermissionController.java -M hl-material-service/src/main/java/com/hulalv/material/controller/MaterialController.java -M hl-material-service/src/main/java/com/hulalv/material/controller/MaterialTagController.java -M hl-material-service/src/main/java/com/hulalv/material/controller/MpMaterialController.java -M hl-material-service/src/main/java/com/hulalv/material/feign/dto/ChunkUploadCancelRequest.java -M hl-material-service/src/main/java/com/hulalv/material/feign/dto/ChunkUploadCompleteRequest.java -M hl-material-service/src/main/java/com/hulalv/material/feign/dto/ChunkUploadInitRequest.java -M hl-material-service/src/main/java/com/hulalv/material/feign/dto/FileBatchIdsRequest.java -M hl-material-service/src/main/java/com/hulalv/material/feign/dto/FileUploadConfirmRequest.java -M hl-material-service/src/main/java/com/hulalv/material/feign/dto/FileUploadTokenRequest.java -M hl-material-service/src/main/java/com/hulalv/material/feign/vo/ChunkUploadInitVO.java -M hl-material-service/src/main/java/com/hulalv/material/feign/vo/ChunkUploadPartVO.java -M hl-material-service/src/main/java/com/hulalv/material/feign/vo/FileUploadTokenVO.java -M hl-material-service/src/main/java/com/hulalv/material/feign/vo/FileVO.java -M hl-material-service/src/main/resources/bootstrap.yml -M hl-monitor-service/src/main/java/com/hulalv/monitor/config/Knife4jConfig.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/ApprovalLogController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/DataRetentionController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/ErrorLogController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/InternalLogController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/LoginLogController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/MysqlMonitorController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/NotificationLogController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/OperationLogController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/RedisMonitorController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/RocketMqMonitorController.java -M hl-monitor-service/src/main/java/com/hulalv/monitor/controller/ServiceMonitorController.java -M hl-monitor-service/src/main/resources/bootstrap.yml -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpActivityController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpBadgeController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpBannerController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpConfigController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpContractController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpDesignerController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpDictController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpExploreController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpFavoriteController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpFootprintController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpHomeController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpHotelController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpInsuranceController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpInvoiceController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpLikeController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpOrderController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpPaymentController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpProductController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpRefundController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpRestaurantController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpReviewController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpScenicController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpSearchController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpTravelerController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpTripController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpUserController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpWeatherController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpWikiController.java -M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpWishController.java -M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpPaymentFeignClient.java -M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpPaymentFeignFallbackFactory.java -M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpUserFeignClient.java -M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpUserFeignFallbackFactory.java -M hl-mp-service/src/main/resources/bootstrap.yml -M hl-order-service/src/main/java/com/hulalv/order/config/Knife4jConfig.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminAlbumController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminEarlyBirdController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminOrderConfigController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminOrderController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminOrderItineraryController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminOrderTodoController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminRefundController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminRefundPolicyController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/AdminWorkOrderController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalAlbumController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalDashboardController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalDesignerOrderController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalEarlyBirdController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalInvoiceController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalMpOrderController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalMpTripController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalOrderStatsController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalOrderTravelerController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalPaymentOrderController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/InternalRefundController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/MpOrderController.java -M hl-order-service/src/main/java/com/hulalv/order/controller/MpWeatherController.java -M hl-order-service/src/main/java/com/hulalv/order/dto/AdminCreateOrderRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/AdminRefundReviewRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/AdminUpdateOrderRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/CreateWorkOrderRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/EarlyBirdPlanRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/InvoiceApplyRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/MpOrderQueryRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/MpUpdateOrderRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/RefundApplyRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/RefundPolicyRequest.java -M hl-order-service/src/main/java/com/hulalv/order/dto/UpdateOrderStatusRequest.java -M hl-order-service/src/main/java/com/hulalv/order/service/WeatherService.java -M hl-order-service/src/main/java/com/hulalv/order/vo/WorkOrderVO.java -M hl-order-service/src/main/resources/bootstrap.yml -M hl-payment-service/src/main/java/com/hulalv/payment/config/Knife4jConfig.java -M hl-payment-service/src/main/java/com/hulalv/payment/controller/AdminPaymentController.java -M hl-payment-service/src/main/java/com/hulalv/payment/controller/InternalPaymentController.java -M hl-payment-service/src/main/java/com/hulalv/payment/controller/PaymentCallbackController.java -M hl-payment-service/src/main/resources/bootstrap.yml -M hl-product-service/src/main/java/com/hulalv/product/config/Knife4jConfig.java -M hl-product-service/src/main/java/com/hulalv/product/controller/DistrictController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/FamilyController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/FormulaController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/GroupBatchController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/InternalMpProductController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/InternalProductController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/ItineraryController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/MpProductController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/PricingController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/ProductController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/ProductFolderController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/ProductLineController.java -M hl-product-service/src/main/java/com/hulalv/product/controller/QuoteController.java -M hl-product-service/src/main/java/com/hulalv/product/dto/FamilySaveRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/FormulaStepRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/GroupBatchCreateRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/GroupBatchDisbandRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/GroupBatchStaffRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/GroupBatchUpdateRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/NodeCreateRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/PriceCalendarRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/PricingRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/ProductStatusRequest.java -M hl-product-service/src/main/java/com/hulalv/product/dto/QuoteRequest.java -M hl-product-service/src/main/java/com/hulalv/product/feign/dto/BatchMaterialIdsRequest.java -M hl-product-service/src/main/java/com/hulalv/product/feign/dto/RefBatchBindRequest.java -M hl-product-service/src/main/java/com/hulalv/product/feign/dto/RefBatchUnbindRequest.java -M hl-product-service/src/main/java/com/hulalv/product/feign/dto/RefBindRequest.java -M hl-product-service/src/main/java/com/hulalv/product/feign/dto/RefUnbindRequest.java -M hl-product-service/src/main/java/com/hulalv/product/feign/dto/ResourceCoverQuery.java -M hl-product-service/src/main/java/com/hulalv/product/feign/dto/ResourcePriceQuery.java -M hl-product-service/src/main/java/com/hulalv/product/feign/vo/MaterialVO.java -M hl-product-service/src/main/java/com/hulalv/product/feign/vo/ResourcePriceVO.java -M hl-product-service/src/main/resources/bootstrap.yml -M hl-resource-service/src/main/java/com/hulalv/resource/activity/controller/ActivityController.java -M hl-resource-service/src/main/java/com/hulalv/resource/activity/controller/ActivityPriceCalendarController.java -M hl-resource-service/src/main/java/com/hulalv/resource/activity/controller/ActivityTagController.java -M hl-resource-service/src/main/java/com/hulalv/resource/activity/controller/InternalActivityController.java -M hl-resource-service/src/main/java/com/hulalv/resource/activity/controller/InternalMpActivityController.java -M hl-resource-service/src/main/java/com/hulalv/resource/config/Knife4jConfig.java -M hl-resource-service/src/main/java/com/hulalv/resource/controller/InternalMpResourceBriefController.java -M hl-resource-service/src/main/java/com/hulalv/resource/controller/InternalResourceController.java -M hl-resource-service/src/main/java/com/hulalv/resource/controller/InternalResourceDetailController.java -M hl-resource-service/src/main/java/com/hulalv/resource/controller/InternalResourcePriceController.java -M hl-resource-service/src/main/java/com/hulalv/resource/controller/InternalResourceStatsController.java -M hl-resource-service/src/main/java/com/hulalv/resource/cost/controller/CostItemController.java -M hl-resource-service/src/main/java/com/hulalv/resource/cost/controller/CostPriceCalendarController.java -M hl-resource-service/src/main/java/com/hulalv/resource/cost/controller/InternalCostController.java -M hl-resource-service/src/main/java/com/hulalv/resource/hotel/controller/HotelController.java -M hl-resource-service/src/main/java/com/hulalv/resource/hotel/controller/HotelTagController.java -M hl-resource-service/src/main/java/com/hulalv/resource/hotel/controller/InternalHotelController.java -M hl-resource-service/src/main/java/com/hulalv/resource/hotel/controller/InternalMpHotelController.java -M hl-resource-service/src/main/java/com/hulalv/resource/hotel/controller/RoomPriceCalendarController.java -M hl-resource-service/src/main/java/com/hulalv/resource/hotel/controller/RoomTypeController.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/controller/InternalMpRestaurantController.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/controller/InternalRestaurantController.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/controller/RestaurantController.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/controller/RestaurantTagController.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/dto/RestaurantCreateRequest.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/dto/RestaurantQueryRequest.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/dto/RestaurantUpdateRequest.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/vo/RestaurantListVO.java -M hl-resource-service/src/main/java/com/hulalv/resource/restaurant/vo/RestaurantVO.java -M hl-resource-service/src/main/java/com/hulalv/resource/scenic/controller/InternalMpScenicController.java -M hl-resource-service/src/main/java/com/hulalv/resource/scenic/controller/InternalScenicController.java -M hl-resource-service/src/main/java/com/hulalv/resource/scenic/controller/ScenicPriceCalendarController.java -M hl-resource-service/src/main/java/com/hulalv/resource/scenic/controller/ScenicSeasonController.java -M hl-resource-service/src/main/java/com/hulalv/resource/scenic/controller/ScenicSpotController.java -M hl-resource-service/src/main/java/com/hulalv/resource/scenic/controller/ScenicTagController.java -M hl-resource-service/src/main/java/com/hulalv/resource/service/controller/InternalServiceController.java -M hl-resource-service/src/main/java/com/hulalv/resource/service/controller/ServiceItemController.java -M hl-resource-service/src/main/java/com/hulalv/resource/service/controller/ServicePriceCalendarController.java -M hl-resource-service/src/main/java/com/hulalv/resource/service/controller/ServiceTagController.java -M hl-resource-service/src/main/java/com/hulalv/resource/staff/controller/InternalStaffController.java -M hl-resource-service/src/main/java/com/hulalv/resource/staff/controller/StaffController.java -M hl-resource-service/src/main/java/com/hulalv/resource/staff/controller/StaffPriceCalendarController.java -M hl-resource-service/src/main/java/com/hulalv/resource/staff/controller/StaffTagController.java -M hl-resource-service/src/main/java/com/hulalv/resource/supplies/controller/InternalSuppliesController.java -M hl-resource-service/src/main/java/com/hulalv/resource/supplies/controller/SuppliesController.java -M hl-resource-service/src/main/java/com/hulalv/resource/supplies/controller/SuppliesTagController.java -M hl-resource-service/src/main/java/com/hulalv/resource/vehicle/controller/InternalVehicleController.java -M hl-resource-service/src/main/java/com/hulalv/resource/vehicle/controller/VehicleModelController.java -M hl-resource-service/src/main/java/com/hulalv/resource/vehicle/controller/VehiclePriceCalendarController.java -M hl-resource-service/src/main/java/com/hulalv/resource/vehicle/controller/VehicleTagController.java -M hl-resource-service/src/main/resources/bootstrap.yml -M hl-review-service/src/main/java/com/hulalv/review/config/Knife4jConfig.java -M hl-review-service/src/main/java/com/hulalv/review/controller/AdminReviewController.java -M hl-review-service/src/main/java/com/hulalv/review/controller/InternalMpReviewController.java -M hl-review-service/src/main/java/com/hulalv/review/controller/InternalReviewController.java -M hl-review-service/src/main/resources/bootstrap.yml -M hl-task-service/src/main/java/com/hulalv/task/controller/BoardController.java -M hl-task-service/src/main/java/com/hulalv/task/controller/TaskController.java -M hl-task-service/src/main/resources/bootstrap.yml -M hl-user-service/src/main/java/com/hulalv/user/config/Knife4jConfig.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminAgreementController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminBannerController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminContactController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminCustomerController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminDesignerController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminExploreCategoryController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminFaqController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminFrontendConfigController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminProfileController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminTopicController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AdminUserController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/AuthController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/FavoriteController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/FootprintController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalApprovalController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalBadgeController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalBannerController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalContactController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalDesignerController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalExploreCategoryController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalFaqController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalFrontendConfigController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalLikeController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalLoginLogController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalMpCommonController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalMpDictController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalMpMessageController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalMpUserController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalOrderUserController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalTopicController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalUserController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalWechatController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/InternalWishController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/OfficialAccountCallbackController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/PublicDictController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/SysDictController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/SysJobController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/SysMenuController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/SysRoleController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/TravelerController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/UserController.java -M hl-user-service/src/main/java/com/hulalv/user/controller/WechatSyncController.java -M hl-user-service/src/main/java/com/hulalv/user/dto/AdminLoginRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/ContactRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/CreateAdminRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/CreateJobRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/FavoriteRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/FootprintRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/LoginRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/SwitchRoleRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/TravelerRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/UpdateAvatarRequest.java -M hl-user-service/src/main/java/com/hulalv/user/dto/UpdateJobRequest.java -M hl-user-service/src/main/java/com/hulalv/user/notification/controller/AdminNotificationController.java -M hl-user-service/src/main/java/com/hulalv/user/notification/dto/CustomPushRequest.java -M hl-user-service/src/main/java/com/hulalv/user/notification/vo/CustomPushResultVO.java -M hl-user-service/src/main/java/com/hulalv/user/notification/vo/EventConfigVO.java -M hl-user-service/src/main/java/com/hulalv/user/notification/vo/SendLogVO.java -M hl-user-service/src/main/java/com/hulalv/user/notification/vo/UserSimpleVO.java -M hl-user-service/src/main/java/com/hulalv/user/service/SysJobService.java -M hl-user-service/src/main/java/com/hulalv/user/vo/ContactVO.java -M hl-user-service/src/main/java/com/hulalv/user/vo/CustomerVO.java -M hl-user-service/src/main/java/com/hulalv/user/vo/LoginLogVO.java -A hl-user-service/src/main/java/com/hulalv/user/vo/SysJobLogVO.java -A hl-user-service/src/main/java/com/hulalv/user/vo/SysJobVO.java -M hl-user-service/src/main/java/com/hulalv/user/vo/UserVO.java -M hl-user-service/src/main/resources/bootstrap.yml -M hl-user-service/src/test/java/com/hulalv/user/service/SysJobServiceTest.java -A mastergo-overview.jpg -A scripts/ai-bridge/ai_bridge.py -A scripts/ai-bridge/ai_bridge.service -A scripts/ai-bridge/mg-mengma-detail.jpg -A scripts/ai-bridge/mg-preview.jpg -A scripts/ai-bridge/setup.sh -A scripts/ai-bridge/state.json -A scripts/api-changelog-sync.sh -A sql/add_customer_service_role.sql -M sql/dict_data_seed.sql -A sql/dict_fix_frontend.sql -``` -
\ No newline at end of file