{ "swagger": "2.0", "info": { "title": "支付服务", "version": "1.0.0" }, "basePath": "/", "paths": { "/admin/product/item": { "post": { "tags": [ "管理端 - 产品管理" ], "summary": "创建产品", "description": "创建产品草稿,自动生成产品编号(C/G/D+日期+序号),返回产品ID。\n\n**涉及字典:**\n- product_type: CORE=核心产品, GROUP=小蒙马跟团游, CUSTOM=私人定制", "operationId": "createProductUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "req", "description": "req", "required": true, "schema": { "$ref": "#/definitions/管理端 - 创建产品请求", "originalRef": "管理端 - 创建产品请求" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«long»", "originalRef": "统一响应结果«long»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«long»", "originalRef": "统一响应结果«long»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/list": { "get": { "tags": [ "管理端 - 产品管理" ], "summary": "产品分页列表", "description": "支持按名称关键词/产品类型/产品线/状态筛选。\n\n**涉及字典:**\n- product_type: CORE/GROUP/CUSTOM\n- product_status: DRAFT/PENDING_REVIEW/PUBLISHED/UNPUBLISHED/REJECTED/COMPLETED/ORDERED", "operationId": "listProductsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "keyword", "in": "query", "description": "关键词(名称/编号)", "required": false, "type": "string" }, { "name": "lineId", "in": "query", "description": "产品线ID", "required": false, "type": "integer", "format": "int64" }, { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "format": "int32" }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "format": "int32" }, { "name": "productType", "in": "query", "description": "产品类型(CORE/GROUP/CUSTOM)", "required": false, "type": "string" }, { "name": "status", "in": "query", "description": "产品状态", "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}": { "get": { "tags": [ "管理端 - 产品管理" ], "summary": "产品详情", "description": "聚合全部5步数据(主表+基础+行程+路线+价格+补充),用于编辑页回显。", "operationId": "getDetailUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "管理端 - 产品管理" ], "summary": "删除产品", "description": "级联删除产品+全部子表。仅草稿/已驳回/已下架/已完成状态可删,已上架/待审核需先下架。", "operationId": "deleteProductUsingDELETE", "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/action": { "post": { "tags": [ "管理端 - 产品管理" ], "summary": "产品状态变更", "description": "通过COLA状态机驱动状态流转。\n\n**涉及字典:**\n- product_action: SUBMIT_PUBLISH=提交上架, WITHDRAW=撤回, DIRECT_PUBLISH=直接上架, UNPUBLISH=申请下架, FORCE_UNPUBLISH=强制下架, COMPLETE=完成设计\n- product_status: DRAFT→PENDING_REVIEW→PUBLISHED→UNPUBLISHED(详见状态流转图)", "operationId": "changeStatusUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "req", "description": "req", "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/basic": { "put": { "tags": [ "管理端 - 产品管理" ], "summary": "Step1 基础信息保存", "description": "保存产品基础信息。需传version做乐观锁校验,版本不一致返回错误提示刷新。\n\n**涉及字典:**\n- product_season: spring=春, summer=夏, autumn=秋, winter=冬\n- product_tag: 亲子/研学/自驾/摄影/草原/高原 等\n- payment_type: FULL=全款支付, DEPOSIT=订金+尾款", "operationId": "updateBasicUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "req", "description": "req", "required": true, "schema": { "$ref": "#/definitions/管理端 - Step1 基础信息保存", "originalRef": "管理端 - Step1 基础信息保存" } } ], "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/product/item/{id}/copy": { "post": { "tags": [ "管理端 - 产品管理" ], "summary": "复制产品", "description": "深拷贝产品+全部子表(主表+6张1:1/1:N子表+行程数据),新产品为草稿状态。返回新产品ID。", "operationId": "copyProductUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«long»", "originalRef": "统一响应结果«long»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«long»", "originalRef": "统一响应结果«long»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/fee-deduction-preview": { "get": { "tags": [ "管理端 - 产品管理" ], "summary": "费用推导预览", "description": "根据行程节点类型自动推导费用包含项(景区→门票,酒店→住宿等),排除已忽略类型。", "operationId": "feeDeductionPreviewUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/itinerary": { "put": { "tags": [ "管理端 - 产品管理" ], "summary": "Step2 行程整体保存", "description": "整体保存行程天+节点+住宿+路线点。支持新增/更新/删除(EntityDiffUtil对比)。\n\n**涉及字典:**\n- product_node_type: SCENIC=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, TRANSPORT=交通, SERVICE=服务, FREE=自由活动, CUSTOM=自定义, NOTE=备注\n- meal_option: HOTEL=酒店餐, CAMP=营地餐, SPECIAL=特色餐, SELF=自理", "operationId": "saveItineraryUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "req", "description": "req", "required": true, "schema": { "$ref": "#/definitions/管理端 - Step2 行程保存", "originalRef": "管理端 - Step2 行程保存" } } ], "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/product/item/{id}/itinerary/day": { "post": { "tags": [ "管理端 - 产品管理" ], "summary": "Step2 增加一天", "description": "在行程末尾追加一天,自动编号。返回新天的dayId。", "operationId": "addDayUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«long»", "originalRef": "统一响应结果«long»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«long»", "originalRef": "统一响应结果«long»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/itinerary/day/{dayNumber}": { "delete": { "tags": [ "管理端 - 产品管理" ], "summary": "Step2 删除一天", "description": "删除指定天序号的行程天,级联删除节点+住宿+路线点,后续天序号自动-1。", "operationId": "deleteDayUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "dayNumber", "in": "path", "description": "dayNumber", "required": true, "type": "integer", "format": "int32" }, { "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/operation-logs": { "get": { "tags": [ "管理端 - 产品管理" ], "summary": "产品操作记录", "description": "查询产品的全部操作记录(按时间倒序),审计保留不随产品删除。", "operationId": "getOperationLogsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/price-calendar": { "get": { "tags": [ "管理端 - 产品管理" ], "summary": "Step4 查询价格日历", "description": "按月份查询价格日历。\n\n**涉及字典:**\n- price_type: NORMAL=平日, PEAK=旺季, HOLIDAY=节假日, SPECIAL=特价\n- accommodation_spec: 档位序号(1=标准,2=舒适,3=豪华)", "operationId": "getPriceCalendarUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "month", "in": "query", "description": "月份(yyyy-MM)", "required": true, "type": "string" }, { "name": "tierSeq", "in": "query", "description": "档位序号(默认1)", "required": false, "type": "integer", "format": "int32" }, { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«List«ProductPriceCalendarDO»»", "originalRef": "统一响应结果«List«ProductPriceCalendarDO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«List«ProductPriceCalendarDO»»", "originalRef": "统一响应结果«List«ProductPriceCalendarDO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "管理端 - 产品管理" ], "summary": "Step4 价格日历删除", "description": "按日期范围+档位删除价格日历(物理删除)。", "operationId": "deletePriceCalendarUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "req", "description": "req", "required": true, "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/price-calendar/batch": { "post": { "tags": [ "管理端 - 产品管理" ], "summary": "Step4 价格日历批量设置", "description": "按日期范围+档位批量设置价格(UPSERT)。已上架产品用priceVersion,草稿用version。\n\n**涉及字典:**\n- price_type: NORMAL=平日, PEAK=旺季, HOLIDAY=节假日, SPECIAL=特价", "operationId": "batchSetPriceCalendarUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "req", "description": "req", "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/quote": { "post": { "tags": [ "管理端 - 产品管理" ], "summary": "报价计算", "description": "根据出发日期+人数+档位计算总价,返回每日明细。", "operationId": "calculateQuoteUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "req", "description": "req", "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/route": { "put": { "tags": [ "管理端 - 产品管理" ], "summary": "Step3 路线与备品保存", "description": "保存路线总览(1:1)+备品清单(1:N)+额外成本项(1:N)。备品和成本项支持增删改。\n\n**涉及字典:**\n- supply_billing: PER_PERSON=按人头, PER_QUANTITY=按数量", "operationId": "saveRouteUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "req", "description": "req", "required": true, "schema": { "$ref": "#/definitions/管理端 - Step3 路线与备品保存", "originalRef": "管理端 - Step3 路线与备品保存" } } ], "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/product/item/{id}/schedule": { "post": { "tags": [ "管理端 - 产品管理" ], "summary": "Step4 创建班期", "description": "创建新班期,batchId不传。自动生成班期编号、计算结束日期和报名截止日。", "operationId": "saveScheduleUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "req", "description": "req", "required": true, "schema": { "$ref": "#/definitions/管理端 - 班期保存", "originalRef": "管理端 - 班期保存" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«long»", "originalRef": "统一响应结果«long»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«long»", "originalRef": "统一响应结果«long»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "put": { "tags": [ "管理端 - 产品管理" ], "summary": "Step4 修改班期", "description": "修改已有班期,batchId在body中传。", "operationId": "updateScheduleUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "req", "description": "req", "required": true, "schema": { "$ref": "#/definitions/管理端 - 班期保存", "originalRef": "管理端 - 班期保存" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«long»", "originalRef": "统一响应结果«long»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«long»", "originalRef": "统一响应结果«long»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/schedule/batch-create": { "post": { "tags": [ "管理端 - 产品管理" ], "summary": "Step4 班期批量创建", "description": "按重复模式批量创建班期(最多52个,跨度≤12个月)。\n\n**涉及字典:**\n- repeat_mode: WEEKLY=每周, BIWEEKLY=隔周, MONTHLY=每月", "operationId": "batchCreateScheduleUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "req", "description": "req", "required": true, "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/schedule/list": { "get": { "tags": [ "管理端 - 产品管理" ], "summary": "Step4 班期列表", "description": "查询产品下所有班期。\n\n**涉及字典:**\n- schedule_status: ENROLLING=报名中, NEARLY_FULL=即将满员, FULL=已满, FINISHED=已结束, CANCELLING=取消中, CANCELLED=已取消", "operationId": "getScheduleListUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«List«GroupTourBatchDO»»", "originalRef": "统一响应结果«List«GroupTourBatchDO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«List«GroupTourBatchDO»»", "originalRef": "统一响应结果«List«GroupTourBatchDO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/schedule/team": { "get": { "tags": [ "管理端 - 产品管理" ], "summary": "班期团队查询", "description": "查询指定班期的团队成员列表。\n\n**涉及字典:**\n- staff_role: LEADER=领队, PHOTOGRAPHER=摄影师, DRIVER=司机, OTHER=其他", "operationId": "getScheduleTeamUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«List«GroupBatchStaffDO»»", "originalRef": "统一响应结果«List«GroupBatchStaffDO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«List«GroupBatchStaffDO»»", "originalRef": "统一响应结果«List«GroupBatchStaffDO»»" } }, "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- staff_role: LEADER=领队, PHOTOGRAPHER=摄影师, DRIVER=司机, OTHER=其他", "operationId": "saveScheduleTeamUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "req", "description": "req", "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/schedule/{scheduleId}": { "delete": { "tags": [ "管理端 - 产品管理" ], "summary": "Step4 删除班期", "description": "删除班期(已有报名订单不允许删除)。", "operationId": "deleteScheduleUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" }, { "name": "scheduleId", "in": "path", "description": "scheduleId", "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/schedule/{scheduleId}/cancel": { "post": { "tags": [ "管理端 - 产品管理" ], "summary": "Step4 取消班期", "description": "取消班期(有报名订单则标记为CANCELLING触发退款,无订单直接CANCELLED)。", "operationId": "cancelScheduleUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" }, { "name": "scheduleId", "in": "path", "description": "scheduleId", "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/supplement": { "put": { "tags": [ "管理端 - 产品管理" ], "summary": "Step5 补充信息保存", "description": "保存费用包含/不含/自定义项+人群优惠+补充配置(退改/车辆/保险/卖点等)。\n\n**涉及字典:**\n- fee_include_type: TICKET=门票, HOTEL=住宿, TRANSPORT=交通, MEAL=餐饮, INSURANCE=保险\n- fee_source: AUTO=自动推导, MANUAL=手动添加", "operationId": "saveSupplementUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "req", "description": "req", "required": true, "schema": { "$ref": "#/definitions/管理端 - Step5 补充信息保存", "originalRef": "管理端 - Step5 补充信息保存" } } ], "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/product/item/{id}/transfer": { "put": { "tags": [ "管理端 - 产品管理" ], "summary": "转让产品", "description": "更换产品创建人(仅超管可操作)。", "operationId": "transferProductUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "req", "description": "req", "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/item/{id}/validate-publish": { "get": { "tags": [ "管理端 - 产品管理" ], "summary": "上架预检", "description": "5级校验:L1基础字段→L2内容完整→L3定价→L4条款→L5资源。返回问题列表,空=全部通过。", "operationId": "validatePublishUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" } ], "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/product/line": { "post": { "tags": [ "管理端 - 产品线管理" ], "summary": "创建/修改产品线", "operationId": "saveLineUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "req", "description": "req", "required": true, "schema": { "$ref": "#/definitions/管理端 - 产品线保存", "originalRef": "管理端 - 产品线保存" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«long»", "originalRef": "统一响应结果«long»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«long»", "originalRef": "统一响应结果«long»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/line/list": { "get": { "tags": [ "管理端 - 产品线管理" ], "summary": "产品线分页列表", "operationId": "listLinesUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "keyword", "in": "query", "description": "关键词", "required": false, "type": "string" }, { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "format": "int32" }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "format": "int32" }, { "name": "status", "in": "query", "description": "状态(ACTIVE/INACTIVE)", "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/line/simple-list": { "get": { "tags": [ "管理端 - 产品线管理" ], "summary": "产品线下拉选项", "operationId": "simpleListUsingGET", "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/line/{id}": { "get": { "tags": [ "管理端 - 产品线管理" ], "summary": "产品线详情", "operationId": "getDetailUsingGET_1", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" }, "delete": { "tags": [ "管理端 - 产品线管理" ], "summary": "删除产品线", "operationId": "deleteLineUsingDELETE", "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/booking-terms/enabled": { "get": { "tags": [ "管理端 - 模板管理" ], "summary": "预订条款下拉", "operationId": "bookingTermsEnabledUsingGET", "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/safety-template/enabled": { "get": { "tags": [ "管理端 - 模板管理" ], "summary": "安全保障模板下拉", "operationId": "safetyTemplateEnabledUsingGET", "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/admin/product/warm-tips/enabled": { "get": { "tags": [ "管理端 - 模板管理" ], "summary": "温馨提示下拉", "operationId": "warmTipsEnabledUsingGET", "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/mp/product/compare": { "get": { "tags": [ "小程序端 - 产品查询" ], "summary": "产品对比", "operationId": "compareUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "ids", "in": "query", "description": "ids", "required": true, "type": "string" } ], "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/mp/product/{id}": { "get": { "tags": [ "小程序端 - 产品查询" ], "summary": "产品详情", "operationId": "getDetailUsingGET_2", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/mp/product/{id}/price-calendar": { "get": { "tags": [ "小程序端 - 产品查询" ], "summary": "价格日历", "operationId": "getPriceCalendarUsingGET_1", "produces": [ "*/*" ], "parameters": [ { "name": "month", "in": "query", "description": "月份(yyyy-MM)", "required": true, "type": "string" }, { "name": "id", "in": "path", "description": "id", "required": true, "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/mp/product/{id}/quote": { "post": { "tags": [ "小程序端 - 产品查询" ], "summary": "C端报价", "operationId": "quoteUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "req", "description": "req", "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/mp/product/{id}/schedules": { "get": { "tags": [ "小程序端 - 产品查询" ], "summary": "班期列表", "operationId": "getSchedulesUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«List«GroupTourBatchDO»»", "originalRef": "统一响应结果«List«GroupTourBatchDO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«List«GroupTourBatchDO»»", "originalRef": "统一响应结果«List«GroupTourBatchDO»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/mp/product/{id}/tier-compare": { "get": { "tags": [ "小程序端 - 产品查询" ], "summary": "档位对比", "operationId": "tierCompareUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "id", "in": "path", "description": "id", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«Map«int,List«ProductDayHotelDO»»»", "originalRef": "统一响应结果«Map«int,List«ProductDayHotelDO»»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«Map«int,List«ProductDayHotelDO»»»", "originalRef": "统一响应结果«Map«int,List«ProductDayHotelDO»»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/mp/product-line/list": { "get": { "tags": [ "小程序端 - 产品线查询" ], "summary": "产品线列表", "operationId": "listLinesUsingGET_1", "produces": [ "*/*" ], "parameters": [ { "name": "season", "in": "query", "description": "season", "required": false, "type": "string" } ], "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } }, "/mp/product-line/{lineId}/products": { "get": { "tags": [ "小程序端 - 产品线查询" ], "summary": "产品线下产品列表", "operationId": "listProductsUsingGET_1", "produces": [ "*/*" ], "parameters": [ { "name": "lineId", "in": "query", "description": "产品线ID", "required": false, "type": "integer", "format": "int64" }, { "name": "tag", "in": "query", "description": "标签筛选(可选)", "required": false, "type": "string" }, { "name": "lineId", "in": "path", "description": "lineId", "required": true, "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" } }, "security": [ { "Authorization": [ "global" ] } ], "deprecated": false, "x-order": "2147483647" } } }, "definitions": { "DailyDetail": { "type": "object", "properties": { "adultPrice": { "type": "number", "description": "成人价" }, "childPrice": { "type": "number", "description": "儿童价" }, "date": { "type": "string", "description": "日期" } }, "title": "DailyDetail" }, "GroupBatchStaffDO": { "type": "object", "properties": { "batchId": { "type": "integer", "format": "int64" }, "createTime": { "type": "string", "format": "date-time" }, "deletedAt": { "type": "string", "format": "date-time" }, "id": { "type": "integer", "format": "int64" }, "productId": { "type": "integer", "format": "int64" }, "remark": { "type": "string" }, "sortOrder": { "type": "integer", "format": "int32" }, "staffId": { "type": "integer", "format": "int64" }, "staffName": { "type": "string" }, "staffPhone": { "type": "string" }, "staffRole": { "type": "string" }, "updateTime": { "type": "string", "format": "date-time" } }, "title": "GroupBatchStaffDO" }, "GroupTourBatchDO": { "type": "object", "properties": { "adultPrice": { "type": "number" }, "batchId": { "type": "integer", "format": "int64" }, "batchLabel": { "type": "string" }, "batchName": { "type": "string" }, "batchNo": { "type": "string" }, "batchStatus": { "type": "string" }, "bookedRooms": { "type": "integer", "format": "int32" }, "childPrice": { "type": "number" }, "createBy": { "type": "integer", "format": "int64" }, "createTime": { "type": "string", "format": "date-time" }, "deletedAt": { "type": "string", "format": "date-time" }, "departureDate": { "type": "string", "format": "date" }, "endDate": { "type": "string", "format": "date" }, "enrolledCount": { "type": "integer", "format": "int32" }, "enrollmentDeadline": { "type": "string", "format": "date" }, "infantPrice": { "type": "number" }, "maxParticipants": { "type": "integer", "format": "int32" }, "maxRooms": { "type": "integer", "format": "int32" }, "productId": { "type": "integer", "format": "int64" }, "productStockLimit": { "type": "integer", "format": "int32" }, "remark": { "type": "string" }, "sortOrder": { "type": "integer", "format": "int32" }, "toddlerDiscount": { "type": "number" }, "updateTime": { "type": "string", "format": "date-time" }, "version": { "type": "integer", "format": "int32" } }, "title": "GroupTourBatchDO" }, "ProductCrowdBenefitDO": { "type": "object", "properties": { "childAccommodation": { "type": "string" }, "childMeal": { "type": "string" }, "childTicket": { "type": "string" }, "createTime": { "type": "string", "format": "date-time" }, "deletedAt": { "type": "string", "format": "date-time" }, "elderAccommodation": { "type": "string" }, "elderTicket": { "type": "string" }, "productId": { "type": "integer", "format": "int64" }, "tips": { "type": "string" }, "updateTime": { "type": "string", "format": "date-time" } }, "title": "ProductCrowdBenefitDO" }, "ProductFeeItemDO": { "type": "object", "properties": { "costItemId": { "type": "integer", "format": "int64" }, "createTime": { "type": "string", "format": "date-time" }, "daily": { "type": "boolean" }, "deletedAt": { "type": "string", "format": "date-time" }, "description": { "type": "string" }, "feeCategory": { "type": "string" }, "feeType": { "type": "string" }, "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "productId": { "type": "integer", "format": "int64" }, "quantity": { "type": "integer", "format": "int32" }, "resourceId": { "type": "integer", "format": "int64" }, "resourceType": { "type": "string" }, "sortOrder": { "type": "integer", "format": "int32" }, "source": { "type": "string" }, "unit": { "type": "string" }, "unitPrice": { "type": "number" }, "updateTime": { "type": "string", "format": "date-time" } }, "title": "ProductFeeItemDO" }, "ProductPriceCalendarDO": { "type": "object", "properties": { "adultSellPrice": { "type": "number" }, "childSellPrice": { "type": "number" }, "createTime": { "type": "string", "format": "date-time" }, "dailyStock": { "type": "integer", "format": "int32" }, "date": { "type": "string", "format": "date" }, "deletedAt": { "type": "string", "format": "date-time" }, "id": { "type": "integer", "format": "int64" }, "infantPrice": { "type": "number" }, "priceType": { "type": "string" }, "productId": { "type": "integer", "format": "int64" }, "rangeId": { "type": "integer", "format": "int64" }, "sold": { "type": "integer", "format": "int32" }, "tierSeq": { "type": "integer", "format": "int32" }, "toddlerDiscount": { "type": "number" }, "updateTime": { "type": "string", "format": "date-time" } }, "title": "ProductPriceCalendarDO" }, "ProductRouteInfoDO": { "type": "object", "properties": { "createTime": { "type": "string", "format": "date-time" }, "deletedAt": { "type": "string", "format": "date-time" }, "productId": { "type": "integer", "format": "int64" }, "routeDescription": { "type": "string" }, "routeMapUrl": { "type": "string" }, "routeName": { "type": "string" }, "staffCostIds": { "type": "string" }, "totalMileage": { "type": "number" }, "updateTime": { "type": "string", "format": "date-time" }, "vehicleModelId": { "type": "integer", "format": "int64" } }, "title": "ProductRouteInfoDO" }, "ProductSupplementDO": { "type": "object", "properties": { "bookingTermsId": { "type": "integer", "format": "int64" }, "childExperience": { "type": "string" }, "contractSchemeId": { "type": "integer", "format": "int64" }, "createTime": { "type": "string", "format": "date-time" }, "deletedAt": { "type": "string", "format": "date-time" }, "equipmentAdvice": { "type": "string" }, "feeIgnoredTypes": { "type": "string" }, "growthGains": { "type": "string" }, "insuranceNotice": { "type": "string" }, "insuranceSchemeId": { "type": "integer", "format": "int64" }, "productId": { "type": "integer", "format": "int64" }, "quickUnderstand": { "type": "string" }, "refundPolicyIds": { "type": "string" }, "updateTime": { "type": "string", "format": "date-time" }, "vehicleModelIds": { "type": "string" }, "vehicleRuleText": { "type": "string" }, "warmTipsId": { "type": "integer", "format": "int64" } }, "title": "ProductSupplementDO" }, "ProductSuppliesDO": { "type": "object", "properties": { "billingType": { "type": "string" }, "category": { "type": "string" }, "createTime": { "type": "string", "format": "date-time" }, "deletedAt": { "type": "string", "format": "date-time" }, "hasCost": { "type": "boolean" }, "id": { "type": "integer", "format": "int64" }, "productId": { "type": "integer", "format": "int64" }, "quantity": { "type": "integer", "format": "int32" }, "sortOrder": { "type": "integer", "format": "int32" }, "suppliesName": { "type": "string" }, "suppliesResourceId": { "type": "integer", "format": "int64" }, "unitPrice": { "type": "number" }, "updateTime": { "type": "string", "format": "date-time" } }, "title": "ProductSuppliesDO" }, "StaffItem": { "type": "object", "properties": { "remark": { "type": "string", "description": "备注" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序" }, "staffId": { "type": "integer", "format": "int64", "description": "员工ID" }, "staffName": { "type": "string", "description": "员工名称" }, "staffPhone": { "type": "string", "description": "员工电话" }, "staffRole": { "type": "string", "description": "员工角色" } }, "title": "StaffItem" }, "住宿项": { "type": "object", "properties": { "hotelId": { "type": "integer", "format": "int64", "description": "酒店ID" }, "id": { "type": "integer", "format": "int64", "description": "住宿ID(已有则传,新增不传)" }, "isDefault": { "type": "boolean", "description": "是否默认推荐" }, "roomCount": { "type": "integer", "format": "int32", "description": "房间数(私人定制用)" }, "roomTypeId": { "type": "integer", "format": "int64", "description": "房型ID(私人定制用)" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序" }, "tierSeq": { "type": "integer", "format": "int32", "description": "档位序号(无档位=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": { "billingType": { "type": "string", "description": "计费方式(PER_PERSON/PER_QUANTITY)" }, "category": { "type": "string", "description": "分类" }, "hasCost": { "type": "boolean", "description": "是否涉及成本" }, "id": { "type": "integer", "format": "int64", "description": "备品ID(已有则传,新增不传)" }, "quantity": { "type": "integer", "format": "int32", "description": "数量" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序" }, "suppliesName": { "type": "string", "description": "备品名称" }, "suppliesResourceId": { "type": "integer", "format": "int64", "description": "备品资源ID(可空=自定义)" }, "unitPrice": { "type": "number", "description": "单价" } }, "title": "备品项" }, "档位项": { "type": "object", "required": [ "tierName", "tierSeq" ], "properties": { "tierName": { "type": "string", "example": "标准档", "description": "档位名称" }, "tierSeq": { "type": "integer", "format": "int32", "example": 1, "description": "档位序号(1=标准,2=舒适,3=豪华)" } }, "title": "档位项" }, "活动节点": { "type": "object", "properties": { "description": { "type": "string", "description": "描述" }, "durationMinutes": { "type": "integer", "format": "int32", "description": "时长(分钟)" }, "emojiIcon": { "type": "string", "description": "图标" }, "extraData": { "type": "object", "description": "扩展数据" }, "images": { "type": "array", "description": "图片列表", "items": { "type": "string" } }, "nodeId": { "type": "integer", "format": "int64", "description": "节点ID(已有则传,新增不传)" }, "nodeName": { "type": "string", "description": "节点名称" }, "nodeType": { "type": "string", "description": "节点类型(SCENIC/ACTIVITY/RESTAURANT/SERVICE/CUSTOM等)" }, "resourceId": { "type": "integer", "format": "int64", "description": "资源ID" }, "resourceType": { "type": "string", "description": "资源类型" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序" }, "startTime": { "type": "string", "description": "开始时间(如10:00)" } }, "title": "活动节点" }, "管理端 - Step1 基础信息保存": { "type": "object", "required": [ "name", "version" ], "properties": { "balanceDueDays": { "type": "integer", "format": "int32", "example": 7, "description": "尾款支付期限(天,出发前N天需付清尾款)" }, "carouselImages": { "type": "array", "example": [ "https://img.hulalv.com/1.jpg", "https://img.hulalv.com/2.jpg" ], "description": "轮播图URL列表(≤10张)", "items": { "type": "string" } }, "childAgeMax": { "type": "integer", "format": "int32", "example": 14, "description": "儿童年龄上限(默认12岁,超过按成人算)" }, "childAgeMin": { "type": "integer", "format": "int32", "example": 6, "description": "儿童年龄下限(默认4岁)" }, "contactPhone": { "type": "string", "example": 13800138000, "description": "联系电话(加密存储)" }, "coverImageUrl": { "type": "string", "example": "https://img.hulalv.com/product/cover.jpg", "description": "封面图URL" }, "creatorAvatarUrl": { "type": "string", "example": "https://img.hulalv.com/avatar/guide01.jpg", "description": "创建者头像URL(产品详情页展示的领队/设计师头像)" }, "creatorIntro": { "type": "string", "example": "资深川西领队,10年自驾经验", "description": "创建者简介(≤512字)" }, "customerName": { "type": "string", "example": "王先生", "description": "客户姓名(私人定制的客户)" }, "customizerId": { "type": "integer", "format": "int64", "example": 1002, "description": "定制师ID(私人定制产品关联的定制师)" }, "defaultDailyStock": { "type": "integer", "format": "int32", "example": 20, "description": "每日库存默认值(NULL=不限量,用于价格日历预填)" }, "defaultRoomCount": { "type": "integer", "format": "int32", "example": 15, "description": "默认房间数(小蒙马跟团游用,每个班期的初始房间数)" }, "departureDate": { "type": "string", "format": "date", "example": "2026-07-15", "description": "出发日期(私人定制的固定出发日期,格式yyyy-MM-dd)" }, "depositAmount": { "type": "number", "example": 2000.0, "description": "订金固定额(元,支付方式=DEPOSIT时使用,与比例二选一)" }, "depositRatio": { "type": "integer", "format": "int32", "example": 30, "description": "订金比例(%,支付方式=DEPOSIT时使用,与固定额二选一)" }, "diningHighlights": { "type": "array", "example": [ { "name": "藏式火锅" }, { "name": "牦牛肉干" } ], "description": "餐饮亮点(JSON数组 [{name,description}])", "items": { "type": "object" } }, "infantAgeMax": { "type": "integer", "format": "int32", "example": 2, "description": "幼童年龄上限(默认1岁,幼童≤此值免费或特价)" }, "infantDefaultPrice": { "type": "number", "example": 0.0, "description": "幼童默认价(元,0=免费)" }, "introduction": { "type": "string", "example": "

从成都出发...

", "description": "产品简介(富文本HTML)" }, "isBooking": { "type": "boolean", "example": false, "description": "是否预约产品(true=订金可不填出行人,false=正常下单)" }, "lineId": { "type": "integer", "format": "int64", "example": 1, "description": "产品线ID(从产品线下拉接口获取,私人定制可空)" }, "maxAdultPerOrder": { "type": "integer", "format": "int32", "example": 6, "description": "每单最多成人数" }, "maxChildPerOrder": { "type": "integer", "format": "int32", "example": 4, "description": "每单最多儿童数" }, "mchId": { "type": "string", "example": 1234567890, "description": "商户ID(微信支付商户号,多商户时指定)" }, "minAdultPerOrder": { "type": "integer", "format": "int32", "example": 1, "description": "每单最少成人数" }, "minGroupSize": { "type": "integer", "format": "int32", "example": 10, "description": "最低成团人数(0=不限,小蒙马用)" }, "name": { "type": "string", "example": "川西7日深度自驾-稻城亚丁", "description": "产品名称(≤30字)" }, "paymentType": { "type": "string", "example": "FULL", "description": "支付方式(字典payment_type: FULL=全款支付, DEPOSIT=订金+尾款)" }, "photographyItems": { "type": "array", "example": [ { "name": "无人机航拍" }, { "name": "专业单反跟拍" } ], "description": "摄影跟拍项(JSON数组 [{name,description}])", "items": { "type": "object" } }, "safetyItems": { "type": "array", "example": [ { "icon": "shield", "title": "高原急救包", "description": "配备专业急救设备" } ], "description": "安全保障项(JSON数组 [{icon,title,description}])", "items": { "type": "object" } }, "seasons": { "type": "array", "example": [ "summer", "autumn" ], "description": "适用季节(字典product_season: spring=春, summer=夏, autumn=秋, winter=冬)", "items": { "type": "string" } }, "showChatGroup": { "type": "boolean", "example": false, "description": "展示群聊入口(true=显示加入群聊按钮)" }, "showReview": { "type": "boolean", "example": true, "description": "展示用户评价(true=产品详情页显示评价模块)" }, "showTripDistance": { "type": "boolean", "example": true, "description": "展示行程距离(true=行程天显示里程数)" }, "showTripTime": { "type": "boolean", "example": true, "description": "展示行程时间(true=行程天显示起止时间)" }, "subtitle": { "type": "string", "example": "穿越贡嘎雪山,走进最后的香格里拉", "description": "副标题(一句话卖点,≤128字)" }, "tags": { "type": "array", "example": [ "自驾", "亲子", "摄影" ], "description": "产品标签(字典product_tag,多选)", "items": { "type": "string" } }, "tiers": { "type": "array", "example": [ { "tierSeq": 1, "tierName": "标准档" }, { "tierSeq": 2, "tierName": "舒适档" } ], "description": "档位列表(JSON数组,如标准/舒适/豪华3档)", "items": { "$ref": "#/definitions/档位项", "originalRef": "档位项" } }, "toddlerAgeMax": { "type": "integer", "format": "int32", "example": 5, "description": "小童年龄上限(默认3岁,幼童<小童<儿童)" }, "tripDays": { "type": "integer", "format": "int32", "example": 7, "description": "行程天数(≥1,晚数自动=天数-1)" }, "tripNights": { "type": "integer", "format": "int32", "example": 6, "description": "行程晚数(通常=天数-1,不传自动计算)" }, "version": { "type": "integer", "format": "int32", "example": 0, "description": "乐观锁版本号(从详情接口获取,提交时传回做并发校验)" } }, "title": "管理端 - Step1 基础信息保存" }, "管理端 - Step2 行程保存": { "type": "object", "required": [ "version" ], "properties": { "days": { "type": "array", "description": "行程天列表", "items": { "$ref": "#/definitions/行程天", "originalRef": "行程天" } }, "version": { "type": "integer", "format": "int32", "description": "乐观锁版本号" } }, "title": "管理端 - Step2 行程保存" }, "管理端 - Step3 路线与备品保存": { "type": "object", "required": [ "version" ], "properties": { "extraCosts": { "type": "array", "description": "额外成本项列表", "items": { "$ref": "#/definitions/额外成本项", "originalRef": "额外成本项" } }, "routeDescription": { "type": "string", "description": "线路描述" }, "routeMapUrl": { "type": "string", "description": "路线图URL(手动上传)" }, "routeName": { "type": "string", "description": "路线名称" }, "staffCostIds": { "type": "array", "description": "服务人员成本ID列表", "items": { "type": "integer", "format": "int64" } }, "supplies": { "type": "array", "description": "备品列表", "items": { "$ref": "#/definitions/备品项", "originalRef": "备品项" } }, "totalMileage": { "type": "number", "description": "总里程(km)" }, "vehicleModelId": { "type": "integer", "format": "int64", "description": "实际用车车型ID" }, "version": { "type": "integer", "format": "int32", "description": "乐观锁版本号" } }, "title": "管理端 - Step3 路线与备品保存" }, "管理端 - Step5 补充信息保存": { "type": "object", "required": [ "version" ], "properties": { "bookingTermsId": { "type": "integer", "format": "int64", "description": "预订条款ID" }, "childAccommodation": { "type": "string", "description": "儿童住宿(BED/NO_BED)" }, "childExperience": { "type": "object", "description": "孩子经历" }, "childMeal": { "type": "string", "description": "儿童餐饮(FULL/HALF)" }, "childTicket": { "type": "string", "description": "儿童门票优惠(FREE/HALF_PRICE/FULL_PRICE)" }, "contractSchemeId": { "type": "integer", "format": "int64", "description": "合同方案ID" }, "crowdBenefitTips": { "type": "string", "description": "人群优惠温馨提示" }, "customFees": { "type": "array", "description": "自定义费用列表", "items": { "$ref": "#/definitions/费用项", "originalRef": "费用项" } }, "elderAccommodation": { "type": "string", "description": "老人住宿" }, "elderTicket": { "type": "string", "description": "老人门票优惠" }, "equipmentAdvice": { "type": "string", "description": "装备建议(富文本)" }, "excludedFees": { "type": "array", "description": "费用不含列表", "items": { "$ref": "#/definitions/费用项", "originalRef": "费用项" } }, "feeIgnoredTypes": { "type": "array", "description": "费用推导已忽略类型", "items": { "type": "string" } }, "growthGains": { "type": "array", "description": "成长收获", "items": { "type": "object" } }, "includedFees": { "type": "array", "description": "费用包含列表", "items": { "$ref": "#/definitions/费用项", "originalRef": "费用项" } }, "insuranceNotice": { "type": "string", "description": "保险告知(INCLUDED/EXCLUDED/OPTIONAL)" }, "insuranceSchemeId": { "type": "integer", "format": "int64", "description": "保险方案ID" }, "quickUnderstand": { "type": "object", "description": "快速理解" }, "refundPolicyIds": { "type": "object", "description": "退改政策映射" }, "vehicleModelIds": { "type": "array", "description": "展示车型ID列表", "items": { "type": "integer", "format": "int64" } }, "vehicleRuleText": { "type": "string", "description": "用车规则说明" }, "version": { "type": "integer", "format": "int32", "description": "乐观锁版本号" }, "warmTipsId": { "type": "integer", "format": "int64", "description": "温馨提示ID" } }, "title": "管理端 - Step5 补充信息保存" }, "管理端 - 产品列表项": { "type": "object", "properties": { "coverImageUrl": { "type": "string", "description": "封面图" }, "createBy": { "type": "integer", "format": "int64", "description": "创建人ID" }, "createTime": { "type": "string", "format": "date-time", "description": "创建时间" }, "name": { "type": "string", "description": "产品名称" }, "productId": { "type": "integer", "format": "int64", "description": "产品ID" }, "productNo": { "type": "string", "description": "产品编号" }, "productType": { "type": "string", "description": "产品类型" }, "publishedAt": { "type": "string", "format": "date-time", "description": "上架时间" }, "status": { "type": "string", "description": "产品状态" }, "tripDays": { "type": "integer", "format": "int32", "description": "行程天数" }, "updateTime": { "type": "string", "format": "date-time", "description": "更新时间" }, "version": { "type": "integer", "format": "int32", "description": "版本号" } }, "title": "管理端 - 产品列表项" }, "管理端 - 产品操作记录": { "type": "object", "properties": { "action": { "type": "string", "description": "操作类型" }, "createTime": { "type": "string", "format": "date-time", "description": "操作时间" }, "detail": { "type": "string", "description": "详情/驳回原因" }, "id": { "type": "integer", "format": "int64", "description": "记录ID" }, "operatorId": { "type": "integer", "format": "int64", "description": "操作人ID" }, "operatorName": { "type": "string", "description": "操作人名称" }, "step": { "type": "string", "description": "步骤号" } }, "title": "管理端 - 产品操作记录" }, "管理端 - 产品状态变更": { "type": "object", "required": [ "action" ], "properties": { "action": { "type": "string", "description": "操作动作(SUBMIT_PUBLISH/WITHDRAW/DIRECT_PUBLISH/UNPUBLISH/FORCE_UNPUBLISH/COMPLETE)" }, "remark": { "type": "string", "description": "备注/驳回原因(可选)" } }, "title": "管理端 - 产品状态变更" }, "管理端 - 产品详情": { "type": "object", "properties": { "carouselImages": { "type": "object", "description": "轮播图" }, "childAgeMax": { "type": "integer", "format": "int32", "description": "儿童年龄上限" }, "childAgeMin": { "type": "integer", "format": "int32", "description": "儿童年龄下限" }, "coverImageUrl": { "type": "string", "description": "封面图" }, "createBy": { "type": "integer", "format": "int64", "description": "创建人ID" }, "createTime": { "type": "string", "format": "date-time", "description": "创建时间" }, "creatorAvatarUrl": { "type": "string", "description": "创建者头像" }, "creatorIntro": { "type": "string", "description": "创建者简介" }, "crowdBenefit": { "description": "人群优惠", "$ref": "#/definitions/ProductCrowdBenefitDO", "originalRef": "ProductCrowdBenefitDO" }, "customFees": { "type": "array", "description": "自定义费用", "items": { "$ref": "#/definitions/ProductFeeItemDO", "originalRef": "ProductFeeItemDO" } }, "customerName": { "type": "string", "description": "客户姓名" }, "customizerId": { "type": "integer", "format": "int64", "description": "定制师ID" }, "departureDate": { "type": "string", "format": "date", "description": "出发日期(定制)" }, "depositAmount": { "type": "number", "description": "订金固定额" }, "depositRatio": { "type": "integer", "format": "int32", "description": "订金比例" }, "excludedFees": { "type": "array", "description": "费用不含", "items": { "$ref": "#/definitions/ProductFeeItemDO", "originalRef": "ProductFeeItemDO" } }, "extraCosts": { "type": "array", "description": "额外成本项", "items": { "$ref": "#/definitions/ProductFeeItemDO", "originalRef": "ProductFeeItemDO" } }, "includedFees": { "type": "array", "description": "费用包含", "items": { "$ref": "#/definitions/ProductFeeItemDO", "originalRef": "ProductFeeItemDO" } }, "infantAgeMax": { "type": "integer", "format": "int32", "description": "幼童年龄上限" }, "introduction": { "type": "string", "description": "产品简介" }, "isBooking": { "type": "boolean", "description": "是否预约产品" }, "itinerary": { "type": "array", "description": "行程天列表", "items": { "type": "object" } }, "lineId": { "type": "integer", "format": "int64", "description": "产品线ID" }, "mchId": { "type": "string", "description": "商户ID" }, "name": { "type": "string", "description": "产品名称" }, "paymentType": { "type": "string", "description": "支付方式" }, "priceVersion": { "type": "integer", "format": "int32", "description": "调价版本号" }, "productId": { "type": "integer", "format": "int64", "description": "产品ID" }, "productNo": { "type": "string", "description": "产品编号" }, "productType": { "type": "string", "description": "产品类型" }, "publishedAt": { "type": "string", "format": "date-time", "description": "上架时间" }, "routeInfo": { "description": "路线信息", "$ref": "#/definitions/ProductRouteInfoDO", "originalRef": "ProductRouteInfoDO" }, "schedules": { "type": "array", "description": "班期列表", "items": { "$ref": "#/definitions/GroupTourBatchDO", "originalRef": "GroupTourBatchDO" } }, "seasons": { "type": "object", "description": "产品季节" }, "showReview": { "type": "boolean", "description": "展示评价" }, "status": { "type": "string", "description": "产品状态" }, "subtitle": { "type": "string", "description": "副标题" }, "supplement": { "description": "补充配置", "$ref": "#/definitions/ProductSupplementDO", "originalRef": "ProductSupplementDO" }, "supplies": { "type": "array", "description": "备品列表", "items": { "$ref": "#/definitions/ProductSuppliesDO", "originalRef": "ProductSuppliesDO" } }, "tags": { "type": "object", "description": "产品标签" }, "tiers": { "type": "object", "description": "档位列表" }, "toddlerAgeMax": { "type": "integer", "format": "int32", "description": "小童年龄上限" }, "tripDays": { "type": "integer", "format": "int32", "description": "行程天数" }, "tripNights": { "type": "integer", "format": "int32", "description": "行程晚数" }, "version": { "type": "integer", "format": "int32", "description": "乐观锁版本号" } }, "title": "管理端 - 产品详情" }, "管理端 - 产品转让": { "type": "object", "required": [ "newCreatorId" ], "properties": { "newCreatorId": { "type": "integer", "format": "int64", "description": "新创建人ID" } }, "title": "管理端 - 产品转让" }, "管理端 - 价格日历批量设置": { "type": "object", "required": [ "adultSellPrice", "endDate", "startDate", "version" ], "properties": { "adultSellPrice": { "type": "number", "description": "成人售价" }, "childSellPrice": { "type": "number", "description": "儿童售价" }, "dailyStock": { "type": "integer", "format": "int32", "description": "每日库存上限(NULL=不限量)" }, "endDate": { "type": "string", "format": "date", "description": "结束日期" }, "infantPrice": { "type": "number", "description": "幼童售价(0=免费)" }, "priceType": { "type": "string", "description": "价格类型(NORMAL/PEAK/HOLIDAY/SPECIAL)" }, "startDate": { "type": "string", "format": "date", "description": "开始日期" }, "tierSeq": { "type": "integer", "format": "int32", "description": "档位序号(默认1)" }, "toddlerDiscount": { "type": "number", "description": "小童优惠额(负数)" }, "version": { "type": "integer", "format": "int32", "description": "版本号(草稿用version/已上架用priceVersion)" } }, "title": "管理端 - 价格日历批量设置" }, "管理端 - 创建产品请求": { "type": "object", "required": [ "name", "productType" ], "properties": { "lineId": { "type": "integer", "format": "int64", "example": 1, "description": "产品线ID(从 /admin/product/line/simple-list 下拉获取,私人定制可空)" }, "name": { "type": "string", "example": "川西7日深度自驾", "description": "产品名称(≤30字)" }, "productType": { "type": "string", "example": "CORE", "description": "产品类型(字典product_type: CORE=核心产品, GROUP=小蒙马跟团游, CUSTOM=私人定制)" }, "tripDays": { "type": "integer", "format": "int32", "example": 7, "description": "行程天数(可选,创建后可在Step1修改)" } }, "title": "管理端 - 创建产品请求" }, "管理端 - 报价结果": { "type": "object", "properties": { "dailyDetails": { "type": "array", "description": "每日价格明细", "items": { "$ref": "#/definitions/DailyDetail", "originalRef": "DailyDetail" } }, "grandTotal": { "type": "number", "description": "总价合计" }, "totalAdultPrice": { "type": "number", "description": "成人总价" }, "totalChildPrice": { "type": "number", "description": "儿童总价" } }, "title": "管理端 - 报价结果" }, "管理端 - 报价计算": { "type": "object", "required": [ "adultCount", "departureDate" ], "properties": { "adultCount": { "type": "integer", "format": "int32", "description": "成人数" }, "batchId": { "type": "integer", "format": "int64", "description": "班期ID(小蒙马用)" }, "childCount": { "type": "integer", "format": "int32", "description": "儿童数" }, "departureDate": { "type": "string", "format": "date", "description": "出发日期" }, "infantCount": { "type": "integer", "format": "int32", "description": "幼童数" }, "tierSeq": { "type": "integer", "format": "int32", "description": "档位序号(默认1)" }, "toddlerCount": { "type": "integer", "format": "int32", "description": "小童数" } }, "title": "管理端 - 报价计算" }, "管理端 - 班期保存": { "type": "object", "required": [ "departureDate" ], "properties": { "adultPrice": { "type": "number", "description": "成人价" }, "batchId": { "type": "integer", "format": "int64", "description": "班期ID(修改时传)" }, "batchName": { "type": "string", "description": "班期名称" }, "childPrice": { "type": "number", "description": "儿童价" }, "departureDate": { "type": "string", "format": "date", "description": "出发日期" }, "enrollmentDeadline": { "type": "string", "format": "date", "description": "报名截止日(默认出发前1天)" }, "infantPrice": { "type": "number", "description": "幼童价" }, "maxParticipants": { "type": "integer", "format": "int32", "description": "最大参与人数" }, "maxRooms": { "type": "integer", "format": "int32", "description": "总房间数(0=不限)" }, "productStockLimit": { "type": "integer", "format": "int32", "description": "产品库存上限" }, "remark": { "type": "string", "description": "备注" }, "toddlerDiscount": { "type": "number", "description": "小童优惠额(负数)" } }, "title": "管理端 - 班期保存" }, "管理端 - 班期团队保存": { "type": "object", "properties": { "staffList": { "type": "array", "description": "团队成员列表", "items": { "$ref": "#/definitions/StaffItem", "originalRef": "StaffItem" } } }, "title": "管理端 - 班期团队保存" }, "管理端 - 班期批量创建": { "type": "object", "required": [ "endDate", "repeatMode", "startDate" ], "properties": { "adultPrice": { "type": "number", "description": "成人价" }, "childPrice": { "type": "number", "description": "儿童价" }, "dayOfWeek": { "type": "integer", "format": "int32", "description": "星期几(1=周一...7=周日)" }, "endDate": { "type": "string", "format": "date", "description": "结束日期" }, "maxParticipants": { "type": "integer", "format": "int32", "description": "最大参与人数" }, "maxRooms": { "type": "integer", "format": "int32", "description": "总房间数" }, "repeatMode": { "type": "string", "description": "重复模式(WEEKLY/BIWEEKLY/MONTHLY)" }, "startDate": { "type": "string", "format": "date", "description": "开始日期" } }, "title": "管理端 - 班期批量创建" }, "管理端 - 费用推导预览": { "type": "object", "properties": { "feeType": { "type": "string", "description": "费用类型标签" }, "name": { "type": "string", "description": "费用名称" }, "source": { "type": "string", "description": "来源(AUTO=自动推导)" }, "sourceNodeName": { "type": "string", "description": "来源节点名称" } }, "title": "管理端 - 费用推导预览" }, "统一响应结果«List«GroupBatchStaffDO»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "array", "description": "响应数据", "items": { "$ref": "#/definitions/GroupBatchStaffDO", "originalRef": "GroupBatchStaffDO" } }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«GroupBatchStaffDO»»" }, "统一响应结果«List«GroupTourBatchDO»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "array", "description": "响应数据", "items": { "$ref": "#/definitions/GroupTourBatchDO", "originalRef": "GroupTourBatchDO" } }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«GroupTourBatchDO»»" }, "统一响应结果«List«ProductPriceCalendarDO»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "array", "description": "响应数据", "items": { "$ref": "#/definitions/ProductPriceCalendarDO", "originalRef": "ProductPriceCalendarDO" } }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«ProductPriceCalendarDO»»" }, "统一响应结果«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": "响应消息" }, "success": { "type": "boolean" } }, "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": "响应消息" }, "success": { "type": "boolean" } }, "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": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«管理端 - 费用推导预览»»" }, "统一响应结果«Void»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "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": "响应消息" }, "success": { "type": "boolean" } }, "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": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«long»" }, "统一响应结果«分页结果«管理端 - 产品列表项»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "$ref": "#/definitions/分页结果«管理端 - 产品列表项»", "originalRef": "分页结果«管理端 - 产品列表项»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«管理端 - 产品列表项»»" }, "统一响应结果«管理端 - 产品详情»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "$ref": "#/definitions/管理端 - 产品详情", "originalRef": "管理端 - 产品详情" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«管理端 - 产品详情»" }, "统一响应结果«管理端 - 报价结果»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "$ref": "#/definitions/管理端 - 报价结果", "originalRef": "管理端 - 报价结果" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«管理端 - 报价结果»" }, "行程天": { "type": "object", "properties": { "breakfast": { "type": "string", "description": "早餐(HOTEL/CAMP/SPECIAL/SELF)" }, "coverImageUrl": { "type": "string", "description": "当日封面图" }, "customFields": { "type": "object", "description": "自定义概况" }, "dailyMileage": { "type": "number", "description": "当日里程(km)" }, "dayId": { "type": "integer", "format": "int64", "description": "行程天ID(已有则传,新增不传)" }, "dayNumber": { "type": "integer", "format": "int32", "description": "天序号" }, "dayTitle": { "type": "string", "description": "当日标题" }, "description": { "type": "string", "description": "行程描述" }, "diningRemark": { "type": "string", "description": "餐饮备注" }, "dinner": { "type": "string", "description": "晚餐" }, "hotels": { "type": "array", "description": "住宿列表", "items": { "$ref": "#/definitions/住宿项", "originalRef": "住宿项" } }, "lunch": { "type": "string", "description": "午餐" }, "mileageManualOverride": { "type": "boolean", "description": "里程是否手动覆盖" }, "nodes": { "type": "array", "description": "活动节点列表", "items": { "$ref": "#/definitions/活动节点", "originalRef": "活动节点" } }, "photoUrls": { "type": "array", "description": "照片集", "items": { "type": "string" } }, "quoteText": { "type": "string", "description": "当日金句" }, "routePoints": { "type": "array", "description": "途经路线点列表", "items": { "$ref": "#/definitions/途经路线点", "originalRef": "途经路线点" } } }, "title": "行程天" }, "费用项": { "type": "object", "properties": { "description": { "type": "string", "description": "说明" }, "feeType": { "type": "string", "description": "费用类型" }, "id": { "type": "integer", "format": "int64", "description": "费用项ID(已有则传)" }, "name": { "type": "string", "description": "名称" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序" }, "source": { "type": "string", "description": "来源(AUTO/MANUAL)" }, "unit": { "type": "string", "description": "单位(自定义费用)" }, "unitPrice": { "type": "number", "description": "单价(自定义费用)" } }, "title": "费用项" }, "途经路线点": { "type": "object", "properties": { "latitude": { "type": "number", "description": "纬度" }, "longitude": { "type": "number", "description": "经度" }, "name": { "type": "string", "description": "地点名称" }, "resourceId": { "type": "integer", "format": "int64", "description": "资源ID(可空=自定义地点)" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序" } }, "title": "途经路线点" }, "额外成本项": { "type": "object", "properties": { "costItemId": { "type": "integer", "format": "int64", "description": "费用项ID" }, "daily": { "type": "boolean", "description": "是否按天计费" }, "description": { "type": "string", "description": "说明" }, "id": { "type": "integer", "format": "int64", "description": "费用项ID(已有则传,新增不传)" }, "name": { "type": "string", "description": "名称" }, "quantity": { "type": "integer", "format": "int32", "description": "数量" }, "resourceId": { "type": "integer", "format": "int64", "description": "资源ID" }, "resourceType": { "type": "string", "description": "资源类型" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序" }, "unitPrice": { "type": "number", "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": { "lineId": { "type": "integer", "format": "int64", "description": "产品线ID" }, "name": { "type": "string", "description": "产品线名称" } }, "title": "管理端 - 产品线下拉" }, "管理端 - 产品线保存": { "type": "object", "required": [ "name" ], "properties": { "coverImageUrl": { "type": "string", "description": "封面图" }, "description": { "type": "string", "description": "描述" }, "lineId": { "type": "integer", "format": "int64", "description": "产品线ID(修改时传)" }, "name": { "type": "string", "description": "名称" }, "productType": { "type": "string", "description": "绑定产品类型" }, "seasons": { "type": "array", "description": "适用季节", "items": { "type": "string" } }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序" }, "status": { "type": "string", "description": "状态(ACTIVE/INACTIVE)" }, "tags": { "type": "array", "description": "标签", "items": { "type": "string" } } }, "title": "管理端 - 产品线保存" }, "管理端 - 产品线详情/列表项": { "type": "object", "properties": { "coverImageUrl": { "type": "string", "description": "封面图" }, "createBy": { "type": "integer", "format": "int64", "description": "创建人ID" }, "createTime": { "type": "string", "format": "date-time", "description": "创建时间" }, "description": { "type": "string", "description": "描述" }, "lineId": { "type": "integer", "format": "int64", "description": "产品线ID" }, "name": { "type": "string", "description": "产品线名称" }, "productType": { "type": "string", "description": "绑定产品类型" }, "seasons": { "type": "object", "description": "适用季节" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序" }, "status": { "type": "string", "description": "状态" }, "tags": { "type": "object", "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": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«管理端 - 产品线下拉»»" }, "统一响应结果«分页结果«管理端 - 产品线详情/列表项»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "$ref": "#/definitions/分页结果«管理端 - 产品线详情/列表项»", "originalRef": "分页结果«管理端 - 产品线详情/列表项»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«分页结果«管理端 - 产品线详情/列表项»»" }, "统一响应结果«管理端 - 产品线详情/列表项»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "$ref": "#/definitions/管理端 - 产品线详情/列表项", "originalRef": "管理端 - 产品线详情/列表项" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«管理端 - 产品线详情/列表项»" }, "管理端 - 安全保障模板": { "type": "object", "properties": { "items": { "type": "string", "description": "具体条目(JSON)" }, "name": { "type": "string", "description": "模板名称" }, "templateId": { "type": "integer", "format": "int64", "description": "模板ID" } }, "title": "管理端 - 安全保障模板" }, "管理端 - 温馨提示": { "type": "object", "properties": { "tipsId": { "type": "integer", "format": "int64", "description": "提示ID" }, "tipsName": { "type": "string", "description": "提示名称" } }, "title": "管理端 - 温馨提示" }, "管理端 - 预订条款": { "type": "object", "properties": { "termsId": { "type": "integer", "format": "int64", "description": "条款ID" }, "termsName": { "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": "响应消息" }, "success": { "type": "boolean" } }, "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": "响应消息" }, "success": { "type": "boolean" } }, "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": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«管理端 - 预订条款»»" }, "C端人群优惠": { "type": "object", "properties": { "childAccommodation": { "type": "string", "description": "儿童住宿" }, "childMeal": { "type": "string", "description": "儿童餐饮" }, "childTicket": { "type": "string", "description": "儿童门票" }, "elderTicket": { "type": "string", "description": "老人门票" }, "tips": { "type": "string", "description": "温馨提示" } }, "title": "C端人群优惠" }, "C端活动节点": { "type": "object", "properties": { "description": { "type": "string", "description": "描述" }, "durationMinutes": { "type": "integer", "format": "int32", "description": "时长(分钟)" }, "nodeName": { "type": "string", "description": "节点名称" }, "nodeType": { "type": "string", "description": "节点类型" }, "startTime": { "type": "string", "description": "开始时间" } }, "title": "C端活动节点" }, "C端行程天": { "type": "object", "properties": { "breakfast": { "type": "string", "description": "早餐" }, "coverImageUrl": { "type": "string", "description": "封面图" }, "dayNumber": { "type": "integer", "format": "int32", "description": "天序号" }, "dayTitle": { "type": "string", "description": "标题" }, "description": { "type": "string", "description": "描述" }, "dinner": { "type": "string", "description": "晚餐" }, "lunch": { "type": "string", "description": "午餐" }, "nodes": { "type": "array", "description": "节点列表", "items": { "$ref": "#/definitions/C端活动节点", "originalRef": "C端活动节点" } } }, "title": "C端行程天" }, "C端费用说明": { "type": "object", "properties": { "description": { "type": "string", "description": "说明" }, "name": { "type": "string", "description": "名称" } }, "title": "C端费用说明" }, "Map«int,List«ProductDayHotelDO»»": { "type": "object", "title": "Map«int,List«ProductDayHotelDO»»", "additionalProperties": { "$ref": "#/definitions/List", "originalRef": "List" } }, "ProductDayHotelDO": { "type": "object", "properties": { "createTime": { "type": "string", "format": "date-time" }, "dayId": { "type": "integer", "format": "int64" }, "dayNumber": { "type": "integer", "format": "int32" }, "deletedAt": { "type": "string", "format": "date-time" }, "hotelId": { "type": "integer", "format": "int64" }, "hotelName": { "type": "string" }, "id": { "type": "integer", "format": "int64" }, "isDefault": { "type": "boolean" }, "productId": { "type": "integer", "format": "int64" }, "roomCount": { "type": "integer", "format": "int32" }, "roomTypeId": { "type": "integer", "format": "int64" }, "sortOrder": { "type": "integer", "format": "int32" }, "tierSeq": { "type": "integer", "format": "int32" }, "updateTime": { "type": "string", "format": "date-time" } }, "title": "ProductDayHotelDO" }, "小程序端 - 产品详情": { "type": "object", "properties": { "carouselImages": { "type": "array", "description": "轮播图", "items": { "type": "string" } }, "coverImageUrl": { "type": "string", "description": "封面图" }, "creatorAvatarUrl": { "type": "string", "description": "创建者头像" }, "creatorIntro": { "type": "string", "description": "创建者简介" }, "crowdBenefit": { "description": "人群优惠", "$ref": "#/definitions/C端人群优惠", "originalRef": "C端人群优惠" }, "excludedFees": { "type": "array", "description": "费用不含", "items": { "$ref": "#/definitions/C端费用说明", "originalRef": "C端费用说明" } }, "includedFees": { "type": "array", "description": "费用包含", "items": { "$ref": "#/definitions/C端费用说明", "originalRef": "C端费用说明" } }, "introduction": { "type": "string", "description": "产品简介" }, "itinerary": { "type": "array", "description": "行程天列表", "items": { "$ref": "#/definitions/C端行程天", "originalRef": "C端行程天" } }, "name": { "type": "string", "description": "产品名称" }, "productId": { "type": "integer", "format": "int64", "description": "产品ID" }, "productType": { "type": "string", "description": "产品类型" }, "routeMapUrl": { "type": "string", "description": "路线图URL" }, "subtitle": { "type": "string", "description": "副标题" }, "tripDays": { "type": "integer", "format": "int32", "description": "行程天数" }, "tripNights": { "type": "integer", "format": "int32", "description": "行程晚数" } }, "title": "小程序端 - 产品详情" }, "小程序端 - 价格日历": { "type": "object", "properties": { "days": { "type": "array", "description": "日历列表", "items": { "$ref": "#/definitions/日历日期项", "originalRef": "日历日期项" } } }, "title": "小程序端 - 价格日历" }, "日历日期项": { "type": "object", "properties": { "adultPrice": { "type": "number", "description": "成人售价" }, "childPrice": { "type": "number", "description": "儿童售价" }, "date": { "type": "string", "description": "日期(yyyy-MM-dd)" }, "isSelectable": { "type": "boolean", "description": "是否可选(有库存且未过期)" }, "priceType": { "type": "string", "description": "价格类型" }, "remainStock": { "type": "integer", "format": "int32", "description": "剩余库存(NULL=不限量)" } }, "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": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«小程序端 - 产品详情»»" }, "统一响应结果«Map«int,List«ProductDayHotelDO»»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "type": "object", "description": "响应数据", "additionalProperties": { "type": "array", "items": { "$ref": "#/definitions/ProductDayHotelDO", "originalRef": "ProductDayHotelDO" } } }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«Map«int,List«ProductDayHotelDO»»»" }, "统一响应结果«小程序端 - 产品详情»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "$ref": "#/definitions/小程序端 - 产品详情", "originalRef": "小程序端 - 产品详情" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«小程序端 - 产品详情»" }, "统一响应结果«小程序端 - 价格日历»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "$ref": "#/definitions/小程序端 - 价格日历", "originalRef": "小程序端 - 价格日历" }, "message": { "type": "string", "example": "成功", "description": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«小程序端 - 价格日历»" }, "小程序端 - 产品列表项": { "type": "object", "properties": { "coverImageUrl": { "type": "string", "description": "封面图" }, "name": { "type": "string", "description": "产品名称" }, "productId": { "type": "integer", "format": "int64", "description": "产品ID" }, "productType": { "type": "string", "description": "产品类型" }, "subtitle": { "type": "string", "description": "副标题" }, "tripDays": { "type": "integer", "format": "int32", "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": "响应消息" }, "success": { "type": "boolean" } }, "title": "统一响应结果«List«小程序端 - 产品列表项»»" } } }