{ "openapi": "3.0.4", "info": { "title": "外卖SaaS - 管理后台 1.0", "description": "管理后台 API 文档", "version": "1.0" }, "paths": { "/api/admin/v1/auth/login": { "post": { "tags": [ "Auth" ], "summary": "账号名+手机号登录获取 Token", "requestBody": { "description": "登录请求。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/AdminLoginRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AdminLoginRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AdminLoginRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/AdminLoginRequest" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenResponseApiResponse" } } } } } } }, "/api/admin/v1/auth/refresh": { "post": { "tags": [ "Auth" ], "summary": "刷新 Token", "requestBody": { "description": "刷新令牌请求。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/RefreshTokenRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/RefreshTokenRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/RefreshTokenRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/RefreshTokenRequest" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenResponseApiResponse" } } } } } } }, "/api/admin/v1/auth/profile": { "get": { "tags": [ "Auth" ], "summary": "获取当前用户信息", "description": "示例:\n```\nGET /api/admin/v1/auth/profile\nHeader: Authorization: Bearer \n响应:\n{\n \"success\": true,\n \"code\": 200,\n \"message\": \"操作成功\",\n \"data\": {\n \"userId\": \"900123456789012345\",\n \"account\": \"admin@tenant1\",\n \"displayName\": \"租户管理员\",\n \"tenantId\": \"100000000000000001\",\n \"merchantId\": null,\n \"roles\": [\"TenantAdmin\"],\n \"permissions\": [\"identity:permission:read\", \"merchant:read\", \"order:read\"],\n \"avatar\": \"https://cdn.example.com/avatar.png\"\n }\n}\n```", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CurrentUserProfileApiResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CurrentUserProfileApiResponse" } } } } } } }, "/api/admin/v1/auth/menu": { "get": { "tags": [ "Auth" ], "summary": "获取当前用户的菜单树(按权限过滤)。", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MenuNodeDtoIReadOnlyListApiResponse" } } } } } } }, "/api/admin/v1/auth/permissions/{userId}": { "get": { "tags": [ "Auth" ], "summary": "查询指定用户的角色与权限概览(当前租户范围)。", "description": "示例:\n```\nGET /api/admin/v1/auth/permissions/900123456789012346\nHeader: Authorization: Bearer \n响应:\n{\n \"success\": true,\n \"code\": 200,\n \"data\": {\n \"userId\": \"900123456789012346\",\n \"tenantId\": \"100000000000000001\",\n \"merchantId\": \"200000000000000001\",\n \"account\": \"ops.manager\",\n \"displayName\": \"运营经理\",\n \"roles\": [\"OpsManager\", \"Reporter\"],\n \"permissions\": [\"delivery:read\", \"order:read\", \"payment:read\"],\n \"createdAt\": \"2025-12-01T08:30:00Z\"\n }\n}\n```", "parameters": [ { "name": "userId", "in": "path", "description": "目标用户 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPermissionDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPermissionDtoApiResponse" } } } } } } }, "/api/admin/v1/deliveries": { "post": { "tags": [ "Deliveries" ], "summary": "创建配送单。", "requestBody": { "description": "创建命令。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateDeliveryOrderCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateDeliveryOrderCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateDeliveryOrderCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateDeliveryOrderCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeliveryOrderDtoApiResponse" } } } } } }, "get": { "tags": [ "Deliveries" ], "summary": "查询配送单列表。", "parameters": [ { "name": "orderId", "in": "query", "description": "订单 ID。", "schema": { "type": "integer", "format": "int64" } }, { "name": "status", "in": "query", "description": "配送状态。", "schema": { "$ref": "#/components/schemas/DeliveryStatus" } }, { "name": "page", "in": "query", "description": "页码。", "schema": { "type": "integer", "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "description": "每页大小。", "schema": { "type": "integer", "format": "int32", "default": 20 } }, { "name": "sortBy", "in": "query", "description": "排序字段。", "schema": { "type": "string" } }, { "name": "sortDesc", "in": "query", "description": "是否倒序。", "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeliveryOrderDtoPagedResultApiResponse" } } } } } } }, "/api/admin/v1/deliveries/{deliveryOrderId}": { "get": { "tags": [ "Deliveries" ], "summary": "获取配送单详情。", "parameters": [ { "name": "deliveryOrderId", "in": "path", "description": "配送单 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeliveryOrderDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "put": { "tags": [ "Deliveries" ], "summary": "更新配送单。", "parameters": [ { "name": "deliveryOrderId", "in": "path", "description": "配送单 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "description": "更新命令。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateDeliveryOrderCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateDeliveryOrderCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateDeliveryOrderCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateDeliveryOrderCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeliveryOrderDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "delete": { "tags": [ "Deliveries" ], "summary": "删除配送单。", "parameters": [ { "name": "deliveryOrderId", "in": "path", "description": "配送单 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/dictionaries": { "get": { "tags": [ "Dictionary" ], "summary": "查询字典分组。", "parameters": [ { "name": "Scope", "in": "query", "description": "参数字典作用域。", "schema": { "$ref": "#/components/schemas/DictionaryScope" } }, { "name": "IncludeItems", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DictionaryGroupDtoIReadOnlyListApiResponse" } } } } } }, "post": { "tags": [ "Dictionary" ], "summary": "创建字典分组。", "requestBody": { "description": "创建分组请求。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateDictionaryGroupRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateDictionaryGroupRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateDictionaryGroupRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateDictionaryGroupRequest" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DictionaryGroupDtoApiResponse" } } } } } } }, "/api/admin/v1/dictionaries/{groupId}": { "put": { "tags": [ "Dictionary" ], "summary": "更新字典分组。", "parameters": [ { "name": "groupId", "in": "path", "description": "分组 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "description": "更新请求。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateDictionaryGroupRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateDictionaryGroupRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateDictionaryGroupRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateDictionaryGroupRequest" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DictionaryGroupDtoApiResponse" } } } } } }, "delete": { "tags": [ "Dictionary" ], "summary": "删除字典分组。", "parameters": [ { "name": "groupId", "in": "path", "description": "分组 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/dictionaries/{groupId}/items": { "post": { "tags": [ "Dictionary" ], "summary": "创建字典项。", "parameters": [ { "name": "groupId", "in": "path", "description": "分组 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "description": "创建请求。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateDictionaryItemRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateDictionaryItemRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateDictionaryItemRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateDictionaryItemRequest" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DictionaryItemDtoApiResponse" } } } } } } }, "/api/admin/v1/dictionaries/items/{itemId}": { "put": { "tags": [ "Dictionary" ], "summary": "更新字典项。", "parameters": [ { "name": "itemId", "in": "path", "description": "字典项 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "description": "更新请求。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateDictionaryItemRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateDictionaryItemRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateDictionaryItemRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateDictionaryItemRequest" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DictionaryItemDtoApiResponse" } } } } } }, "delete": { "tags": [ "Dictionary" ], "summary": "删除字典项。", "parameters": [ { "name": "itemId", "in": "path", "description": "字典项 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/dictionaries/batch": { "post": { "tags": [ "Dictionary" ], "summary": "批量获取字典项(命中缓存)。", "requestBody": { "description": "批量查询请求。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/DictionaryBatchQueryRequest" } }, "application/json": { "schema": { "$ref": "#/components/schemas/DictionaryBatchQueryRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/DictionaryBatchQueryRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/DictionaryBatchQueryRequest" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringDictionaryItemDtoIReadOnlyListIReadOnlyDictionaryApiResponse" } } } } } } }, "/api/admin/v1/files/upload": { "post": { "tags": [ "Files" ], "summary": "上传图片或文件。", "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "File" ], "type": "object", "properties": { "File": { "type": "string", "description": "上传文件。", "format": "binary" }, "Type": { "type": "string", "description": "上传类型。" } } }, "encoding": { "File": { "style": "form" }, "Type": { "style": "form" } } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileUploadResponseApiResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileUploadResponseApiResponse" } } } } } } }, "/api/admin/v1/Health": { "get": { "tags": [ "Health" ], "summary": "获取服务健康状态。", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/inventory/{productSkuId}": { "get": { "tags": [ "Inventory" ], "summary": "查询库存。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "productSkuId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryItemDtoApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/inventory/adjust": { "post": { "tags": [ "Inventory" ], "summary": "调整库存(入库/盘点/报损)。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/AdjustInventoryCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AdjustInventoryCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AdjustInventoryCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/AdjustInventoryCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryItemDtoApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/inventory/lock": { "post": { "tags": [ "Inventory" ], "summary": "锁定库存(下单占用)。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/LockInventoryCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/LockInventoryCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/LockInventoryCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/LockInventoryCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryItemDtoApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/inventory/release": { "post": { "tags": [ "Inventory" ], "summary": "释放库存(取消订单等)。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ReleaseInventoryCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ReleaseInventoryCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ReleaseInventoryCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ReleaseInventoryCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryItemDtoApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/inventory/deduct": { "post": { "tags": [ "Inventory" ], "summary": "扣减库存(支付或履约成功)。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/DeductInventoryCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/DeductInventoryCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/DeductInventoryCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/DeductInventoryCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryItemDtoApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/inventory/{productSkuId}/batches": { "get": { "tags": [ "Inventory" ], "summary": "查询批次列表。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "productSkuId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryBatchDtoIReadOnlyListApiResponse" } } } } } }, "post": { "tags": [ "Inventory" ], "summary": "新增或更新批次。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "productSkuId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpsertInventoryBatchCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpsertInventoryBatchCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpsertInventoryBatchCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpsertInventoryBatchCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryBatchDtoApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/inventory/locks/expire": { "post": { "tags": [ "Inventory" ], "summary": "释放过期锁定。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Int32ApiResponse" } } } } } } }, "/api/admin/v1/menus": { "get": { "tags": [ "Menus" ], "summary": "获取当前租户的菜单列表(平铺)。", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MenuDefinitionDtoIReadOnlyListApiResponse" } } } } } }, "post": { "tags": [ "Menus" ], "summary": "创建菜单。", "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateMenuCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateMenuCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateMenuCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateMenuCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MenuDefinitionDtoApiResponse" } } } } } } }, "/api/admin/v1/menus/{menuId}": { "get": { "tags": [ "Menus" ], "summary": "获取菜单详情。", "parameters": [ { "name": "menuId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MenuDefinitionDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MenuDefinitionDtoApiResponse" } } } } } }, "put": { "tags": [ "Menus" ], "summary": "更新菜单。", "parameters": [ { "name": "menuId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateMenuCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateMenuCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateMenuCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateMenuCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MenuDefinitionDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MenuDefinitionDtoApiResponse" } } } } } }, "delete": { "tags": [ "Menus" ], "summary": "删除菜单。", "parameters": [ { "name": "menuId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BooleanApiResponse" } } } } } } }, "/api/admin/v1/merchant-categories": { "get": { "tags": [ "MerchantCategories" ], "summary": "列出所有类目。", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantCategoryDtoIReadOnlyListApiResponse" } } } } } }, "post": { "tags": [ "MerchantCategories" ], "summary": "新增类目。", "requestBody": { "description": "创建命令。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateMerchantCategoryCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateMerchantCategoryCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateMerchantCategoryCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateMerchantCategoryCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantCategoryDtoApiResponse" } } } } } } }, "/api/admin/v1/merchant-categories/{categoryId}": { "delete": { "tags": [ "MerchantCategories" ], "summary": "删除类目。", "parameters": [ { "name": "categoryId", "in": "path", "description": "类目 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/merchant-categories/reorder": { "post": { "tags": [ "MerchantCategories" ], "summary": "批量调整类目排序。", "requestBody": { "description": "排序命令。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ReorderMerchantCategoriesCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ReorderMerchantCategoriesCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ReorderMerchantCategoriesCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ReorderMerchantCategoriesCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/merchants": { "post": { "tags": [ "Merchants" ], "summary": "创建商户。", "requestBody": { "description": "创建命令。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateMerchantCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateMerchantCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateMerchantCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateMerchantCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantDtoApiResponse" } } } } } }, "get": { "tags": [ "Merchants" ], "summary": "查询商户列表。", "parameters": [ { "name": "status", "in": "query", "description": "状态筛选。", "schema": { "$ref": "#/components/schemas/MerchantStatus" } }, { "name": "page", "in": "query", "description": "页码。", "schema": { "type": "integer", "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "description": "每页大小。", "schema": { "type": "integer", "format": "int32", "default": 20 } }, { "name": "sortBy", "in": "query", "description": "排序字段。", "schema": { "type": "string" } }, { "name": "sortDesc", "in": "query", "description": "是否倒序。", "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantDtoIReadOnlyListApiResponse" } } } } } } }, "/api/admin/v1/merchants/{merchantId}": { "put": { "tags": [ "Merchants" ], "summary": "更新商户。", "parameters": [ { "name": "merchantId", "in": "path", "description": "商户 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "description": "更新命令。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateMerchantCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateMerchantCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateMerchantCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateMerchantCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "delete": { "tags": [ "Merchants" ], "summary": "删除商户。", "parameters": [ { "name": "merchantId", "in": "path", "description": "商户 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "get": { "tags": [ "Merchants" ], "summary": "获取商户概览。", "parameters": [ { "name": "merchantId", "in": "path", "description": "商户 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/merchants/{merchantId}/detail": { "get": { "tags": [ "Merchants" ], "summary": "获取商户详细资料(含证照、合同)。", "parameters": [ { "name": "merchantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantDetailDtoApiResponse" } } } } } } }, "/api/admin/v1/merchants/{merchantId}/documents": { "post": { "tags": [ "Merchants" ], "summary": "上传商户证照信息(先通过文件上传接口获取 COS 地址)。", "parameters": [ { "name": "merchantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/AddMerchantDocumentCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/AddMerchantDocumentCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/AddMerchantDocumentCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/AddMerchantDocumentCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantDocumentDtoApiResponse" } } } } } }, "get": { "tags": [ "Merchants" ], "summary": "商户证照列表。", "parameters": [ { "name": "merchantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantDocumentDtoIReadOnlyListApiResponse" } } } } } } }, "/api/admin/v1/merchants/{merchantId}/documents/{documentId}/review": { "post": { "tags": [ "Merchants" ], "summary": "审核指定证照。", "parameters": [ { "name": "merchantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "documentId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ReviewMerchantDocumentCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ReviewMerchantDocumentCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ReviewMerchantDocumentCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ReviewMerchantDocumentCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantDocumentDtoApiResponse" } } } } } } }, "/api/admin/v1/merchants/{merchantId}/contracts": { "post": { "tags": [ "Merchants" ], "summary": "新增商户合同。", "parameters": [ { "name": "merchantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateMerchantContractCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateMerchantContractCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateMerchantContractCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateMerchantContractCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantContractDtoApiResponse" } } } } } }, "get": { "tags": [ "Merchants" ], "summary": "合同列表。", "parameters": [ { "name": "merchantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantContractDtoIReadOnlyListApiResponse" } } } } } } }, "/api/admin/v1/merchants/{merchantId}/contracts/{contractId}/status": { "put": { "tags": [ "Merchants" ], "summary": "更新合同状态(生效/终止等)。", "parameters": [ { "name": "merchantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "contractId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateMerchantContractStatusCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateMerchantContractStatusCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateMerchantContractStatusCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateMerchantContractStatusCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantContractDtoApiResponse" } } } } } } }, "/api/admin/v1/merchants/{merchantId}/review": { "post": { "tags": [ "Merchants" ], "summary": "审核商户(通过/驳回)。", "parameters": [ { "name": "merchantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ReviewMerchantCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ReviewMerchantCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ReviewMerchantCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ReviewMerchantCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantDtoApiResponse" } } } } } } }, "/api/admin/v1/merchants/{merchantId}/audits": { "get": { "tags": [ "Merchants" ], "summary": "审核日志。", "parameters": [ { "name": "merchantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 20 } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MerchantAuditLogDtoPagedResultApiResponse" } } } } } } }, "/api/admin/v1/merchants/categories": { "get": { "tags": [ "Merchants" ], "summary": "可选商户类目列表。", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StringIReadOnlyListApiResponse" } } } } } } }, "/api/admin/v1/orders": { "post": { "tags": [ "Orders" ], "summary": "创建订单。", "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateOrderCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateOrderCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateOrderCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateOrderCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderDtoApiResponse" } } } } } }, "get": { "tags": [ "Orders" ], "summary": "查询订单列表。", "parameters": [ { "name": "storeId", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "status", "in": "query", "description": "订单状态。", "schema": { "$ref": "#/components/schemas/OrderStatus" } }, { "name": "paymentStatus", "in": "query", "description": "支付记录状态。", "schema": { "$ref": "#/components/schemas/PaymentStatus" } }, { "name": "orderNo", "in": "query", "schema": { "type": "string" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 20 } }, { "name": "sortBy", "in": "query", "schema": { "type": "string" } }, { "name": "sortDesc", "in": "query", "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderDtoPagedResultApiResponse" } } } } } } }, "/api/admin/v1/orders/{orderId}": { "get": { "tags": [ "Orders" ], "summary": "获取订单详情。", "parameters": [ { "name": "orderId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "put": { "tags": [ "Orders" ], "summary": "更新订单。", "parameters": [ { "name": "orderId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateOrderCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateOrderCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateOrderCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateOrderCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "delete": { "tags": [ "Orders" ], "summary": "删除订单。", "parameters": [ { "name": "orderId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/payments": { "post": { "tags": [ "Payments" ], "summary": "创建支付记录。", "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreatePaymentCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreatePaymentCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreatePaymentCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreatePaymentCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentDtoApiResponse" } } } } } }, "get": { "tags": [ "Payments" ], "summary": "查询支付记录列表。", "parameters": [ { "name": "orderId", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "status", "in": "query", "description": "支付记录状态。", "schema": { "$ref": "#/components/schemas/PaymentStatus" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 20 } }, { "name": "sortBy", "in": "query", "schema": { "type": "string" } }, { "name": "sortDesc", "in": "query", "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentDtoPagedResultApiResponse" } } } } } } }, "/api/admin/v1/payments/{paymentId}": { "get": { "tags": [ "Payments" ], "summary": "获取支付记录详情。", "parameters": [ { "name": "paymentId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "put": { "tags": [ "Payments" ], "summary": "更新支付记录。", "parameters": [ { "name": "paymentId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdatePaymentCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdatePaymentCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdatePaymentCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdatePaymentCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "delete": { "tags": [ "Payments" ], "summary": "删除支付记录。", "parameters": [ { "name": "paymentId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/permissions": { "get": { "tags": [ "Permissions" ], "summary": "分页查询权限。", "description": "示例:GET /api/admin/v1/permissions?keyword=order&page=1&pageSize=20", "parameters": [ { "name": "Keyword", "in": "query", "schema": { "type": "string" } }, { "name": "Page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "PageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "SortBy", "in": "query", "schema": { "type": "string" } }, { "name": "SortDescending", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PermissionDtoPagedResultApiResponse" } } } } } }, "post": { "tags": [ "Permissions" ], "summary": "创建权限。", "requestBody": { "description": "创建命令。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreatePermissionCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreatePermissionCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreatePermissionCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreatePermissionCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PermissionDtoApiResponse" } } } } } } }, "/api/admin/v1/permissions/tree": { "get": { "tags": [ "Permissions" ], "summary": "获取权限树。", "parameters": [ { "name": "keyword", "in": "query", "description": "关键字(可选)。", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PermissionTreeDtoIReadOnlyListApiResponse" } } } } } } }, "/api/admin/v1/permissions/{permissionId}": { "put": { "tags": [ "Permissions" ], "summary": "更新权限。", "parameters": [ { "name": "permissionId", "in": "path", "description": "权限 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "description": "更新命令。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdatePermissionCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdatePermissionCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdatePermissionCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdatePermissionCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PermissionDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PermissionDtoApiResponse" } } } } } }, "delete": { "tags": [ "Permissions" ], "summary": "删除权限。", "parameters": [ { "name": "permissionId", "in": "path", "description": "权限 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BooleanApiResponse" } } } } } } }, "/api/admin/v1/products": { "post": { "tags": [ "Products" ], "summary": "创建商品。", "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateProductCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateProductCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateProductCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateProductCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductDtoApiResponse" } } } } } }, "get": { "tags": [ "Products" ], "summary": "查询商品列表。", "parameters": [ { "name": "storeId", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "categoryId", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "status", "in": "query", "description": "商品状态。", "schema": { "$ref": "#/components/schemas/ProductStatus" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 20 } }, { "name": "sortBy", "in": "query", "schema": { "type": "string" } }, { "name": "sortDesc", "in": "query", "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductDtoPagedResultApiResponse" } } } } } } }, "/api/admin/v1/products/{productId}": { "get": { "tags": [ "Products" ], "summary": "获取商品详情。", "parameters": [ { "name": "productId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "put": { "tags": [ "Products" ], "summary": "更新商品。", "parameters": [ { "name": "productId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateProductCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateProductCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateProductCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateProductCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "delete": { "tags": [ "Products" ], "summary": "删除商品。", "parameters": [ { "name": "productId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/products/{productId}/detail": { "get": { "tags": [ "Products" ], "summary": "获取商品全量详情。", "parameters": [ { "name": "productId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductDetailDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/products/{productId}/publish": { "post": { "tags": [ "Products" ], "summary": "上架商品。", "parameters": [ { "name": "productId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/PublishProductCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/PublishProductCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/PublishProductCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/PublishProductCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/products/{productId}/unpublish": { "post": { "tags": [ "Products" ], "summary": "下架商品。", "parameters": [ { "name": "productId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UnpublishProductCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UnpublishProductCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UnpublishProductCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UnpublishProductCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/products/{productId}/skus": { "put": { "tags": [ "Products" ], "summary": "替换商品 SKU。", "parameters": [ { "name": "productId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ReplaceProductSkusCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ReplaceProductSkusCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ReplaceProductSkusCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ReplaceProductSkusCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductSkuDtoIReadOnlyListApiResponse" } } } } } } }, "/api/admin/v1/products/{productId}/attributes": { "put": { "tags": [ "Products" ], "summary": "替换商品规格。", "parameters": [ { "name": "productId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ReplaceProductAttributesCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ReplaceProductAttributesCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ReplaceProductAttributesCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ReplaceProductAttributesCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductAttributeGroupDtoIReadOnlyListApiResponse" } } } } } } }, "/api/admin/v1/products/{productId}/addons": { "put": { "tags": [ "Products" ], "summary": "替换商品加料。", "parameters": [ { "name": "productId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ReplaceProductAddonsCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ReplaceProductAddonsCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ReplaceProductAddonsCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ReplaceProductAddonsCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductAddonGroupDtoIReadOnlyListApiResponse" } } } } } } }, "/api/admin/v1/products/{productId}/media": { "put": { "tags": [ "Products" ], "summary": "替换商品媒资。", "parameters": [ { "name": "productId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ReplaceProductMediaCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ReplaceProductMediaCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ReplaceProductMediaCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ReplaceProductMediaCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductMediaAssetDtoIReadOnlyListApiResponse" } } } } } } }, "/api/admin/v1/products/{productId}/pricing-rules": { "put": { "tags": [ "Products" ], "summary": "替换商品价格策略。", "parameters": [ { "name": "productId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ReplaceProductPricingRulesCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ReplaceProductPricingRulesCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ReplaceProductPricingRulesCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ReplaceProductPricingRulesCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductPricingRuleDtoIReadOnlyListApiResponse" } } } } } } }, "/api/public/v1/tenant-packages": { "get": { "tags": [ "PublicTenantPackages" ], "summary": "分页获取已启用的租户套餐。", "parameters": [ { "name": "Page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "PageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantPackageDtoPagedResultApiResponse" } } } } } } }, "/api/public/v1/tenants/self-register": { "post": { "tags": [ "PublicTenants" ], "summary": "自助注册租户并生成初始管理员。", "requestBody": { "description": "自助注册命令。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/SelfRegisterTenantCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/SelfRegisterTenantCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/SelfRegisterTenantCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/SelfRegisterTenantCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SelfRegisterResultDtoApiResponse" } } } } } } }, "/api/public/v1/tenants/{tenantId}/verification": { "post": { "tags": [ "PublicTenants" ], "summary": "自助提交或更新实名资料。", "parameters": [ { "name": "tenantId", "in": "path", "description": "租户 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "description": "实名资料。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/SubmitTenantVerificationCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/SubmitTenantVerificationCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/SubmitTenantVerificationCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/SubmitTenantVerificationCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantVerificationDtoApiResponse" } } } } } } }, "/api/public/v1/tenants/{tenantId}/status": { "get": { "tags": [ "PublicTenants" ], "summary": "查询租户入住进度。", "parameters": [ { "name": "tenantId", "in": "path", "description": "租户 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantProgressDtoApiResponse" } } } } } } }, "/api/public/v1/tenants/{tenantId}/subscriptions/initial": { "post": { "tags": [ "PublicTenantSubscriptions" ], "summary": "初次绑定租户订阅(默认 0 个月)。", "parameters": [ { "name": "tenantId", "in": "path", "description": "租户 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "description": "绑定请求。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/BindInitialTenantSubscriptionCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/BindInitialTenantSubscriptionCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/BindInitialTenantSubscriptionCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/BindInitialTenantSubscriptionCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantSubscriptionDtoApiResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantSubscriptionDtoApiResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantSubscriptionDtoApiResponse" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantSubscriptionDtoApiResponse" } } } } } } }, "/api/admin/v1/role-templates": { "get": { "tags": [ "RoleTemplates" ], "summary": "分页查询角色模板。", "parameters": [ { "name": "isActive", "in": "query", "description": "是否启用筛选。", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleTemplateDtoIReadOnlyListApiResponse" } } } } } }, "post": { "tags": [ "RoleTemplates" ], "summary": "创建角色模板。", "requestBody": { "description": "创建命令。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateRoleTemplateCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateRoleTemplateCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateRoleTemplateCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateRoleTemplateCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleTemplateDtoApiResponse" } } } } } } }, "/api/admin/v1/role-templates/{templateCode}/clone": { "post": { "tags": [ "RoleTemplates" ], "summary": "克隆角色模板。", "parameters": [ { "name": "templateCode", "in": "path", "description": "源模板编码。", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "克隆命令。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CloneRoleTemplateCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CloneRoleTemplateCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CloneRoleTemplateCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CloneRoleTemplateCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleTemplateDtoApiResponse" } } } } } } }, "/api/admin/v1/role-templates/{templateCode}": { "get": { "tags": [ "RoleTemplates" ], "summary": "获取角色模板详情。", "parameters": [ { "name": "templateCode", "in": "path", "description": "模板编码。", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleTemplateDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleTemplateDtoApiResponse" } } } } } }, "put": { "tags": [ "RoleTemplates" ], "summary": "更新角色模板。", "parameters": [ { "name": "templateCode", "in": "path", "description": "模板编码。", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "更新命令。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateRoleTemplateCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateRoleTemplateCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateRoleTemplateCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateRoleTemplateCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleTemplateDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleTemplateDtoApiResponse" } } } } } }, "delete": { "tags": [ "RoleTemplates" ], "summary": "删除角色模板。", "parameters": [ { "name": "templateCode", "in": "path", "description": "模板编码。", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BooleanApiResponse" } } } } } } }, "/api/admin/v1/role-templates/{templateCode}/permissions": { "get": { "tags": [ "RoleTemplates" ], "summary": "获取模板的权限列表。", "parameters": [ { "name": "templateCode", "in": "path", "description": "模板编码。", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PermissionTemplateDtoIReadOnlyListApiResponse" } } } } } } }, "/api/admin/v1/role-templates/init": { "post": { "tags": [ "RoleTemplates" ], "summary": "为当前租户批量初始化预置角色模板。", "requestBody": { "description": "初始化命令。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/InitializeRoleTemplatesCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/InitializeRoleTemplatesCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/InitializeRoleTemplatesCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/InitializeRoleTemplatesCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleDtoIReadOnlyListApiResponse" } } } } } } }, "/api/admin/v1/role-templates/{templateCode}/initialize-tenant": { "post": { "tags": [ "RoleTemplates" ], "summary": "将单个模板初始化到当前租户。", "parameters": [ { "name": "templateCode", "in": "path", "description": "模板编码。", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleDtoIReadOnlyListApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/pickup/settings": { "get": { "tags": [ "StorePickup" ], "summary": "获取自提配置。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StorePickupSettingDtoApiResponse" } } } } } }, "put": { "tags": [ "StorePickup" ], "summary": "更新自提配置。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpsertStorePickupSettingCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpsertStorePickupSettingCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpsertStorePickupSettingCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpsertStorePickupSettingCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StorePickupSettingDtoApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/pickup/slots": { "get": { "tags": [ "StorePickup" ], "summary": "查询档期列表。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StorePickupSlotDtoIReadOnlyListApiResponse" } } } } } }, "post": { "tags": [ "StorePickup" ], "summary": "创建档期。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateStorePickupSlotCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateStorePickupSlotCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateStorePickupSlotCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateStorePickupSlotCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StorePickupSlotDtoApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/pickup/slots/{slotId}": { "put": { "tags": [ "StorePickup" ], "summary": "更新档期。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "slotId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateStorePickupSlotCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateStorePickupSlotCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateStorePickupSlotCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateStorePickupSlotCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StorePickupSlotDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "delete": { "tags": [ "StorePickup" ], "summary": "删除档期。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "slotId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/stores": { "post": { "tags": [ "Stores" ], "summary": "创建门店。", "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateStoreCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateStoreCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateStoreCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateStoreCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreDtoApiResponse" } } } } } }, "get": { "tags": [ "Stores" ], "summary": "查询门店列表。", "parameters": [ { "name": "merchantId", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "status", "in": "query", "description": "门店运营状态。", "schema": { "$ref": "#/components/schemas/StoreStatus" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 20 } }, { "name": "sortBy", "in": "query", "schema": { "type": "string" } }, { "name": "sortDesc", "in": "query", "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreDtoPagedResultApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}": { "get": { "tags": [ "Stores" ], "summary": "获取门店详情。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "put": { "tags": [ "Stores" ], "summary": "更新门店。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateStoreCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateStoreCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "delete": { "tags": [ "Stores" ], "summary": "删除门店。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/business-hours": { "get": { "tags": [ "Stores" ], "summary": "查询门店营业时段。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreBusinessHourDtoIReadOnlyListApiResponse" } } } } } }, "post": { "tags": [ "Stores" ], "summary": "新增营业时段。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateStoreBusinessHourCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateStoreBusinessHourCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateStoreBusinessHourCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateStoreBusinessHourCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreBusinessHourDtoApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/business-hours/{businessHourId}": { "put": { "tags": [ "Stores" ], "summary": "更新营业时段。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "businessHourId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateStoreBusinessHourCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreBusinessHourCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreBusinessHourCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateStoreBusinessHourCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreBusinessHourDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "delete": { "tags": [ "Stores" ], "summary": "删除营业时段。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "businessHourId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/delivery-zones": { "get": { "tags": [ "Stores" ], "summary": "查询配送区域。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreDeliveryZoneDtoIReadOnlyListApiResponse" } } } } } }, "post": { "tags": [ "Stores" ], "summary": "新增配送区域。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateStoreDeliveryZoneCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateStoreDeliveryZoneCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateStoreDeliveryZoneCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateStoreDeliveryZoneCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreDeliveryZoneDtoApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/delivery-zones/{deliveryZoneId}": { "put": { "tags": [ "Stores" ], "summary": "更新配送区域。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "deliveryZoneId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateStoreDeliveryZoneCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreDeliveryZoneCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreDeliveryZoneCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateStoreDeliveryZoneCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreDeliveryZoneDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "delete": { "tags": [ "Stores" ], "summary": "删除配送区域。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "deliveryZoneId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/holidays": { "get": { "tags": [ "Stores" ], "summary": "查询门店节假日。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreHolidayDtoIReadOnlyListApiResponse" } } } } } }, "post": { "tags": [ "Stores" ], "summary": "新增节假日配置。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateStoreHolidayCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateStoreHolidayCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateStoreHolidayCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateStoreHolidayCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreHolidayDtoApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/holidays/{holidayId}": { "put": { "tags": [ "Stores" ], "summary": "更新节假日配置。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "holidayId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateStoreHolidayCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreHolidayCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreHolidayCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateStoreHolidayCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreHolidayDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "delete": { "tags": [ "Stores" ], "summary": "删除节假日配置。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "holidayId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/shifts": { "get": { "tags": [ "StoreShifts" ], "summary": "查询排班(默认未来 7 天)。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "from", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "to", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "staffId", "in": "query", "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreEmployeeShiftDtoIReadOnlyListApiResponse" } } } } } }, "post": { "tags": [ "StoreShifts" ], "summary": "创建排班。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateStoreEmployeeShiftCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateStoreEmployeeShiftCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateStoreEmployeeShiftCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateStoreEmployeeShiftCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreEmployeeShiftDtoApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/shifts/{shiftId}": { "put": { "tags": [ "StoreShifts" ], "summary": "更新排班。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "shiftId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateStoreEmployeeShiftCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreEmployeeShiftCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreEmployeeShiftCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateStoreEmployeeShiftCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreEmployeeShiftDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "delete": { "tags": [ "StoreShifts" ], "summary": "删除排班。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "shiftId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/staffs": { "get": { "tags": [ "StoreStaffs" ], "summary": "查询门店员工列表。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "role", "in": "query", "description": "商户员工角色。", "schema": { "$ref": "#/components/schemas/StaffRoleType" } }, { "name": "status", "in": "query", "description": "员工账号状态。", "schema": { "$ref": "#/components/schemas/StaffStatus" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreStaffDtoIReadOnlyListApiResponse" } } } } } }, "post": { "tags": [ "StoreStaffs" ], "summary": "创建门店员工。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateStoreStaffCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateStoreStaffCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateStoreStaffCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateStoreStaffCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreStaffDtoApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/staffs/{staffId}": { "put": { "tags": [ "StoreStaffs" ], "summary": "更新门店员工。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "staffId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateStoreStaffCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreStaffCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreStaffCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateStoreStaffCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreStaffDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "delete": { "tags": [ "StoreStaffs" ], "summary": "删除门店员工。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "staffId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/table-areas": { "get": { "tags": [ "StoreTableAreas" ], "summary": "查询区域列表。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreTableAreaDtoIReadOnlyListApiResponse" } } } } } }, "post": { "tags": [ "StoreTableAreas" ], "summary": "创建区域。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateStoreTableAreaCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateStoreTableAreaCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateStoreTableAreaCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateStoreTableAreaCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreTableAreaDtoApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/table-areas/{areaId}": { "put": { "tags": [ "StoreTableAreas" ], "summary": "更新区域。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "areaId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateStoreTableAreaCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreTableAreaCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreTableAreaCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateStoreTableAreaCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreTableAreaDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "delete": { "tags": [ "StoreTableAreas" ], "summary": "删除区域。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "areaId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/tables": { "get": { "tags": [ "StoreTables" ], "summary": "查询桌码列表。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "areaId", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "status", "in": "query", "description": "桌台占用状态。", "schema": { "$ref": "#/components/schemas/StoreTableStatus" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreTableDtoIReadOnlyListApiResponse" } } } } } }, "post": { "tags": [ "StoreTables" ], "summary": "批量生成桌码。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/GenerateStoreTablesCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/GenerateStoreTablesCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/GenerateStoreTablesCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/GenerateStoreTablesCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreTableDtoIReadOnlyListApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/tables/{tableId}": { "put": { "tags": [ "StoreTables" ], "summary": "更新桌码。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "tableId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateStoreTableCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreTableCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreTableCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateStoreTableCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StoreTableDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "delete": { "tags": [ "StoreTables" ], "summary": "删除桌码。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "tableId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/stores/{storeId}/tables/export": { "post": { "tags": [ "StoreTables" ], "summary": "导出桌码二维码 ZIP。", "parameters": [ { "name": "storeId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ExportStoreTableQRCodesQuery" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ExportStoreTableQRCodesQuery" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ExportStoreTableQRCodesQuery" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ExportStoreTableQRCodesQuery" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/system-parameters": { "post": { "tags": [ "SystemParameters" ], "summary": "创建系统参数。", "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateSystemParameterCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateSystemParameterCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateSystemParameterCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateSystemParameterCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemParameterDtoApiResponse" } } } } } }, "get": { "tags": [ "SystemParameters" ], "summary": "查询系统参数列表。", "parameters": [ { "name": "keyword", "in": "query", "schema": { "type": "string" } }, { "name": "isEnabled", "in": "query", "schema": { "type": "boolean" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 20 } }, { "name": "sortBy", "in": "query", "schema": { "type": "string" } }, { "name": "sortDesc", "in": "query", "schema": { "type": "boolean", "default": true } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemParameterDtoPagedResultApiResponse" } } } } } } }, "/api/admin/v1/system-parameters/{parameterId}": { "get": { "tags": [ "SystemParameters" ], "summary": "获取系统参数详情。", "parameters": [ { "name": "parameterId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemParameterDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "put": { "tags": [ "SystemParameters" ], "summary": "更新系统参数。", "parameters": [ { "name": "parameterId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateSystemParameterCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateSystemParameterCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateSystemParameterCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateSystemParameterCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemParameterDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } }, "delete": { "tags": [ "SystemParameters" ], "summary": "删除系统参数。", "parameters": [ { "name": "parameterId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/announcements": { "get": { "tags": [ "TenantAnnouncements" ], "summary": "分页查询公告。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "TenantId", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "AnnouncementType", "in": "query", "description": "租户公告类型。", "schema": { "$ref": "#/components/schemas/TenantAnnouncementType" } }, { "name": "IsActive", "in": "query", "schema": { "type": "boolean" } }, { "name": "OnlyEffective", "in": "query", "schema": { "type": "boolean" } }, { "name": "Page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "PageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantAnnouncementDtoPagedResultApiResponse" } } } } } }, "post": { "tags": [ "TenantAnnouncements" ], "summary": "创建公告。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateTenantAnnouncementCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateTenantAnnouncementCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateTenantAnnouncementCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateTenantAnnouncementCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantAnnouncementDtoApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/announcements/{announcementId}": { "get": { "tags": [ "TenantAnnouncements" ], "summary": "公告详情。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "announcementId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantAnnouncementDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantAnnouncementDtoApiResponse" } } } } } }, "put": { "tags": [ "TenantAnnouncements" ], "summary": "更新公告。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "announcementId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateTenantAnnouncementCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTenantAnnouncementCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateTenantAnnouncementCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateTenantAnnouncementCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantAnnouncementDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantAnnouncementDtoApiResponse" } } } } } }, "delete": { "tags": [ "TenantAnnouncements" ], "summary": "删除公告。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "announcementId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BooleanApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/announcements/{announcementId}/read": { "post": { "tags": [ "TenantAnnouncements" ], "summary": "标记公告已读。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "announcementId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantAnnouncementDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantAnnouncementDtoApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/billings": { "get": { "tags": [ "TenantBillings" ], "summary": "分页查询账单。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "TenantId", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "Status", "in": "query", "description": "账单状态。", "schema": { "$ref": "#/components/schemas/TenantBillingStatus" } }, { "name": "From", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "To", "in": "query", "schema": { "type": "string", "format": "date-time" } }, { "name": "Page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "PageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantBillingDtoPagedResultApiResponse" } } } } } }, "post": { "tags": [ "TenantBillings" ], "summary": "创建账单。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateTenantBillingCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateTenantBillingCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateTenantBillingCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateTenantBillingCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantBillingDtoApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/billings/{billingId}": { "get": { "tags": [ "TenantBillings" ], "summary": "账单详情。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "billingId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantBillingDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantBillingDtoApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/billings/{billingId}/pay": { "post": { "tags": [ "TenantBillings" ], "summary": "标记账单已支付。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "billingId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/MarkTenantBillingPaidCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/MarkTenantBillingPaidCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/MarkTenantBillingPaidCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/MarkTenantBillingPaidCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantBillingDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantBillingDtoApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/notifications": { "get": { "tags": [ "TenantNotifications" ], "summary": "分页查询通知。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "TenantId", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "Severity", "in": "query", "description": "租户通知的重要程度。", "schema": { "$ref": "#/components/schemas/TenantNotificationSeverity" } }, { "name": "UnreadOnly", "in": "query", "schema": { "type": "boolean" } }, { "name": "Page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "PageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantNotificationDtoPagedResultApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/notifications/{notificationId}/read": { "post": { "tags": [ "TenantNotifications" ], "summary": "标记通知已读。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "notificationId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantNotificationDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantNotificationDtoApiResponse" } } } } } } }, "/api/admin/v1/tenant-packages": { "get": { "tags": [ "TenantPackages" ], "summary": "分页查询租户套餐。", "parameters": [ { "name": "Keyword", "in": "query", "schema": { "type": "string" } }, { "name": "IsActive", "in": "query", "schema": { "type": "boolean" } }, { "name": "Page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "PageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantPackageDtoPagedResultApiResponse" } } } } } }, "post": { "tags": [ "TenantPackages" ], "summary": "创建套餐。", "requestBody": { "description": "创建命令。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateTenantPackageCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateTenantPackageCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateTenantPackageCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateTenantPackageCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantPackageDtoApiResponse" } } } } } } }, "/api/admin/v1/tenant-packages/{tenantPackageId}": { "get": { "tags": [ "TenantPackages" ], "summary": "查看套餐详情。", "parameters": [ { "name": "tenantPackageId", "in": "path", "description": "套餐 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantPackageDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantPackageDtoApiResponse" } } } } } }, "put": { "tags": [ "TenantPackages" ], "summary": "更新套餐。", "parameters": [ { "name": "tenantPackageId", "in": "path", "description": "套餐 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "description": "更新命令。", "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateTenantPackageCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTenantPackageCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateTenantPackageCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateTenantPackageCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantPackageDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantPackageDtoApiResponse" } } } } } }, "delete": { "tags": [ "TenantPackages" ], "summary": "删除套餐。", "parameters": [ { "name": "tenantPackageId", "in": "path", "description": "套餐 ID。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BooleanApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/roles": { "get": { "tags": [ "TenantRoles" ], "summary": "租户角色分页。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "TenantId", "in": "query", "schema": { "type": "integer", "format": "int64" } }, { "name": "Keyword", "in": "query", "schema": { "type": "string" } }, { "name": "Page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "PageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "SortBy", "in": "query", "schema": { "type": "string" } }, { "name": "SortDescending", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleDtoPagedResultApiResponse" } } } } } }, "post": { "tags": [ "TenantRoles" ], "summary": "创建角色。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateRoleCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateRoleCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateRoleCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateRoleCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleDtoApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/roles/{roleId}": { "get": { "tags": [ "TenantRoles" ], "summary": "角色详情(含权限)。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "roleId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleDetailDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleDetailDtoApiResponse" } } } } } }, "put": { "tags": [ "TenantRoles" ], "summary": "更新角色。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "roleId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/UpdateRoleCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/UpdateRoleCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateRoleCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateRoleCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleDtoApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoleDtoApiResponse" } } } } } }, "delete": { "tags": [ "TenantRoles" ], "summary": "删除角色。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "roleId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BooleanApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/roles/{roleId}/permissions": { "get": { "tags": [ "TenantRoles" ], "summary": "获取角色权限列表。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "roleId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PermissionDtoIReadOnlyListApiResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PermissionDtoIReadOnlyListApiResponse" } } } } } }, "put": { "tags": [ "TenantRoles" ], "summary": "覆盖角色权限。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "roleId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/BindRolePermissionsCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/BindRolePermissionsCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/BindRolePermissionsCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/BindRolePermissionsCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BooleanApiResponse" } } } } } } }, "/api/admin/v1/tenants": { "post": { "tags": [ "Tenants" ], "summary": "注册租户并初始化套餐。", "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/RegisterTenantCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/RegisterTenantCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/RegisterTenantCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/RegisterTenantCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantDtoApiResponse" } } } } } }, "get": { "tags": [ "Tenants" ], "summary": "分页查询租户。", "parameters": [ { "name": "Status", "in": "query", "description": "租户服务状态。", "schema": { "$ref": "#/components/schemas/TenantStatus" } }, { "name": "VerificationStatus", "in": "query", "description": "租户实名认证状态。", "schema": { "$ref": "#/components/schemas/TenantVerificationStatus" } }, { "name": "Name", "in": "query", "schema": { "type": "string" } }, { "name": "ContactName", "in": "query", "schema": { "type": "string" } }, { "name": "ContactPhone", "in": "query", "schema": { "type": "string" } }, { "name": "Keyword", "in": "query", "schema": { "type": "string" } }, { "name": "Page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "PageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantDtoPagedResultApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}": { "get": { "tags": [ "Tenants" ], "summary": "查看租户详情。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantDetailDtoApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/verification": { "post": { "tags": [ "Tenants" ], "summary": "提交或更新实名认证资料。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/SubmitTenantVerificationCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/SubmitTenantVerificationCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/SubmitTenantVerificationCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/SubmitTenantVerificationCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantVerificationDtoApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/review": { "post": { "tags": [ "Tenants" ], "summary": "审核租户。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ReviewTenantCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ReviewTenantCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ReviewTenantCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ReviewTenantCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantDtoApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/subscriptions": { "post": { "tags": [ "Tenants" ], "summary": "创建或续费租户订阅。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CreateTenantSubscriptionCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CreateTenantSubscriptionCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CreateTenantSubscriptionCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CreateTenantSubscriptionCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantSubscriptionDtoApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/subscriptions/{subscriptionId}/plan": { "put": { "tags": [ "Tenants" ], "summary": "套餐升降配。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "subscriptionId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/ChangeTenantSubscriptionPlanCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ChangeTenantSubscriptionPlanCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ChangeTenantSubscriptionPlanCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ChangeTenantSubscriptionPlanCommand" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantSubscriptionDtoApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/audits": { "get": { "tags": [ "Tenants" ], "summary": "查询审核日志。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 20 } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantAuditLogDtoPagedResultApiResponse" } } } } } } }, "/api/admin/v1/tenants/{tenantId}/quotas/check": { "post": { "tags": [ "Tenants" ], "summary": "配额校验并占用额度(门店/账号/短信/配送)。", "description": "需在请求头携带 X-Tenant-Id 对应的租户。", "parameters": [ { "name": "tenantId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json-patch+json": { "schema": { "$ref": "#/components/schemas/CheckTenantQuotaCommand" } }, "application/json": { "schema": { "$ref": "#/components/schemas/CheckTenantQuotaCommand" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CheckTenantQuotaCommand" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CheckTenantQuotaCommand" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QuotaCheckResultDtoApiResponse" } } } } } } }, "/api/admin/v1/users/permissions": { "get": { "tags": [ "UserPermissions" ], "summary": "分页查询当前租户用户的角色与权限概览。", "description": "示例:\n```\nGET /api/admin/v1/users/permissions?keyword=ops&page=1&pageSize=20&sortBy=createdAt&sortDescending=true\nHeader: Authorization: Bearer \n响应:\n{\n \"success\": true,\n \"code\": 200,\n \"data\": {\n \"items\": [\n {\n \"userId\": \"900123456789012346\",\n \"tenantId\": \"100000000000000001\",\n \"merchantId\": \"200000000000000001\",\n \"account\": \"ops.manager\",\n \"displayName\": \"运营经理\",\n \"roles\": [\"OpsManager\", \"Reporter\"],\n \"permissions\": [\"delivery:read\", \"order:read\", \"payment:read\"],\n \"createdAt\": \"2025-12-01T08:30:00Z\"\n }\n ],\n \"page\": 1,\n \"pageSize\": 20,\n \"totalCount\": 1,\n \"totalPages\": 1\n }\n}\n```", "parameters": [ { "name": "Keyword", "in": "query", "schema": { "type": "string" } }, { "name": "Page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "PageSize", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "SortBy", "in": "query", "schema": { "type": "string" } }, { "name": "SortDescending", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPermissionDtoPagedResultApiResponse" } } } } } } } }, "components": { "schemas": { "AddMerchantDocumentCommand": { "required": [ "documentType", "fileUrl", "merchantId" ], "type": "object", "properties": { "merchantId": { "type": "integer", "format": "int64" }, "documentType": { "$ref": "#/components/schemas/MerchantDocumentType" }, "fileUrl": { "maxLength": 512, "minLength": 1, "type": "string" }, "documentNumber": { "maxLength": 64, "type": "string", "nullable": true }, "issuedAt": { "type": "string", "format": "date-time", "nullable": true }, "expiresAt": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "AdjustInventoryCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "productSkuId": { "type": "integer", "format": "int64" }, "quantityDelta": { "type": "integer", "format": "int32" }, "adjustmentType": { "$ref": "#/components/schemas/InventoryAdjustmentType" }, "reason": { "type": "string", "nullable": true }, "safetyStock": { "type": "integer", "format": "int32", "nullable": true }, "isSoldOut": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "AdminLoginRequest": { "required": [ "accountName", "phone", "password" ], "type": "object", "properties": { "accountName": { "maxLength": 64, "minLength": 1, "type": "string" }, "phone": { "maxLength": 32, "minLength": 1, "type": "string" }, "password": { "maxLength": 128, "minLength": 1, "type": "string" } }, "additionalProperties": false }, "BindInitialTenantSubscriptionCommand": { "required": [ "tenantId", "tenantPackageId" ], "type": "object", "properties": { "tenantId": { "type": "integer", "format": "int64" }, "tenantPackageId": { "type": "integer", "format": "int64" }, "autoRenew": { "type": "boolean" } }, "additionalProperties": false }, "BindRolePermissionsCommand": { "type": "object", "properties": { "roleId": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64", "nullable": true }, "permissionIds": { "type": "array", "items": { "type": "integer", "format": "int64" }, "nullable": true } }, "additionalProperties": false }, "BooleanApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "boolean", "description": "业务数据。" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "BusinessHourType": { "enum": [ 0, 1, 2, 3 ], "type": "integer", "description": "营业时段类型。", "format": "int32" }, "ChangeTenantSubscriptionPlanCommand": { "required": [ "targetPackageId", "tenantId", "tenantSubscriptionId" ], "type": "object", "properties": { "tenantId": { "type": "integer", "format": "int64" }, "tenantSubscriptionId": { "type": "integer", "format": "int64" }, "targetPackageId": { "type": "integer", "format": "int64" }, "immediate": { "type": "boolean" }, "notes": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CheckTenantQuotaCommand": { "type": "object", "properties": { "tenantId": { "type": "integer", "format": "int64" }, "quotaType": { "$ref": "#/components/schemas/TenantQuotaType" }, "delta": { "type": "number", "format": "double" } }, "additionalProperties": false }, "CloneRoleTemplateCommand": { "type": "object", "properties": { "sourceTemplateCode": { "type": "string", "nullable": true }, "newTemplateCode": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "isActive": { "type": "boolean", "nullable": true }, "permissionCodes": { "type": "array", "items": { "type": "string" }, "nullable": true } }, "additionalProperties": false }, "ContractStatus": { "enum": [ 0, 1, 2, 3 ], "type": "integer", "description": "商户合同状态。", "format": "int32" }, "CreateDeliveryOrderCommand": { "type": "object", "properties": { "orderId": { "type": "integer", "format": "int64" }, "provider": { "$ref": "#/components/schemas/DeliveryProvider" }, "providerOrderId": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/DeliveryStatus" }, "deliveryFee": { "type": "number", "format": "double", "nullable": true }, "courierName": { "type": "string", "nullable": true }, "courierPhone": { "type": "string", "nullable": true }, "dispatchedAt": { "type": "string", "format": "date-time", "nullable": true }, "pickedUpAt": { "type": "string", "format": "date-time", "nullable": true }, "deliveredAt": { "type": "string", "format": "date-time", "nullable": true }, "failureReason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CreateDictionaryGroupRequest": { "required": [ "code", "name", "scope" ], "type": "object", "properties": { "code": { "maxLength": 64, "minLength": 1, "type": "string" }, "name": { "maxLength": 128, "minLength": 1, "type": "string" }, "scope": { "$ref": "#/components/schemas/DictionaryScope" }, "description": { "maxLength": 512, "type": "string", "nullable": true } }, "additionalProperties": false }, "CreateDictionaryItemRequest": { "required": [ "groupId", "key", "value" ], "type": "object", "properties": { "groupId": { "type": "integer", "format": "int64" }, "key": { "maxLength": 64, "minLength": 1, "type": "string" }, "value": { "maxLength": 256, "minLength": 1, "type": "string" }, "isDefault": { "type": "boolean" }, "isEnabled": { "type": "boolean" }, "sortOrder": { "type": "integer", "format": "int32" }, "description": { "maxLength": 512, "type": "string", "nullable": true } }, "additionalProperties": false }, "CreateMenuCommand": { "type": "object", "properties": { "parentId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "path": { "type": "string", "nullable": true }, "component": { "type": "string", "nullable": true }, "title": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isIframe": { "type": "boolean" }, "link": { "type": "string", "nullable": true }, "keepAlive": { "type": "boolean" }, "sortOrder": { "type": "integer", "format": "int32" }, "requiredPermissions": { "type": "array", "items": { "type": "string" }, "nullable": true }, "metaPermissions": { "type": "array", "items": { "type": "string" }, "nullable": true }, "metaRoles": { "type": "array", "items": { "type": "string" }, "nullable": true }, "authList": { "type": "array", "items": { "$ref": "#/components/schemas/MenuAuthItemDto" }, "nullable": true } }, "additionalProperties": false }, "CreateMerchantCategoryCommand": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 64, "minLength": 1, "type": "string" }, "displayOrder": { "type": "integer", "format": "int32", "nullable": true }, "isActive": { "type": "boolean" } }, "additionalProperties": false }, "CreateMerchantCommand": { "required": [ "brandName", "contactPhone" ], "type": "object", "properties": { "brandName": { "maxLength": 128, "minLength": 1, "type": "string" }, "brandAlias": { "maxLength": 64, "type": "string", "nullable": true }, "logoUrl": { "maxLength": 256, "type": "string", "nullable": true }, "category": { "maxLength": 64, "type": "string", "nullable": true }, "contactPhone": { "maxLength": 32, "minLength": 1, "type": "string" }, "contactEmail": { "maxLength": 128, "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/MerchantStatus" } }, "additionalProperties": false }, "CreateMerchantContractCommand": { "required": [ "contractNumber", "fileUrl", "merchantId" ], "type": "object", "properties": { "merchantId": { "type": "integer", "format": "int64" }, "contractNumber": { "maxLength": 64, "minLength": 1, "type": "string" }, "startDate": { "type": "string", "format": "date-time" }, "endDate": { "type": "string", "format": "date-time" }, "fileUrl": { "maxLength": 512, "minLength": 1, "type": "string" } }, "additionalProperties": false }, "CreateOrderCommand": { "type": "object", "properties": { "orderNo": { "type": "string", "nullable": true }, "storeId": { "type": "integer", "format": "int64" }, "channel": { "$ref": "#/components/schemas/OrderChannel" }, "deliveryType": { "$ref": "#/components/schemas/DeliveryType" }, "status": { "$ref": "#/components/schemas/OrderStatus" }, "paymentStatus": { "$ref": "#/components/schemas/PaymentStatus" }, "customerName": { "type": "string", "nullable": true }, "customerPhone": { "type": "string", "nullable": true }, "tableNo": { "type": "string", "nullable": true }, "queueNumber": { "type": "string", "nullable": true }, "reservationId": { "type": "integer", "format": "int64", "nullable": true }, "itemsAmount": { "type": "number", "format": "double" }, "discountAmount": { "type": "number", "format": "double" }, "payableAmount": { "type": "number", "format": "double" }, "paidAmount": { "type": "number", "format": "double" }, "paidAt": { "type": "string", "format": "date-time", "nullable": true }, "finishedAt": { "type": "string", "format": "date-time", "nullable": true }, "cancelledAt": { "type": "string", "format": "date-time", "nullable": true }, "cancelReason": { "type": "string", "nullable": true }, "remark": { "type": "string", "nullable": true }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/OrderItemRequest" }, "nullable": true } }, "additionalProperties": false }, "CreatePaymentCommand": { "type": "object", "properties": { "orderId": { "type": "integer", "format": "int64" }, "method": { "$ref": "#/components/schemas/PaymentMethod" }, "status": { "$ref": "#/components/schemas/PaymentStatus" }, "amount": { "type": "number", "format": "double" }, "tradeNo": { "type": "string", "nullable": true }, "channelTransactionId": { "type": "string", "nullable": true }, "paidAt": { "type": "string", "format": "date-time", "nullable": true }, "remark": { "type": "string", "nullable": true }, "payload": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CreatePermissionCommand": { "type": "object", "properties": { "parentId": { "type": "integer", "format": "int64" }, "sortOrder": { "type": "integer", "format": "int32" }, "type": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "code": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CreateProductCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "categoryId": { "type": "integer", "format": "int64" }, "spuCode": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "subtitle": { "type": "string", "nullable": true }, "unit": { "type": "string", "nullable": true }, "price": { "type": "number", "format": "double" }, "originalPrice": { "type": "number", "format": "double", "nullable": true }, "stockQuantity": { "type": "integer", "format": "int32", "nullable": true }, "maxQuantityPerOrder": { "type": "integer", "format": "int32", "nullable": true }, "status": { "$ref": "#/components/schemas/ProductStatus" }, "coverImage": { "type": "string", "nullable": true }, "galleryImages": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "enableDineIn": { "type": "boolean" }, "enablePickup": { "type": "boolean" }, "enableDelivery": { "type": "boolean" }, "isFeatured": { "type": "boolean" } }, "additionalProperties": false }, "CreateRoleCommand": { "type": "object", "properties": { "tenantId": { "type": "integer", "format": "int64", "nullable": true }, "name": { "type": "string", "nullable": true }, "code": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CreateRoleTemplateCommand": { "type": "object", "properties": { "templateCode": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "isActive": { "type": "boolean" }, "permissionCodes": { "type": "array", "items": { "type": "string" }, "nullable": true } }, "additionalProperties": false }, "CreateStoreBusinessHourCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "dayOfWeek": { "$ref": "#/components/schemas/DayOfWeek" }, "hourType": { "$ref": "#/components/schemas/BusinessHourType" }, "startTime": { "type": "string", "format": "date-span" }, "endTime": { "type": "string", "format": "date-span" }, "capacityLimit": { "type": "integer", "format": "int32", "nullable": true }, "notes": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CreateStoreCommand": { "type": "object", "properties": { "merchantId": { "type": "integer", "format": "int64" }, "code": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "phone": { "type": "string", "nullable": true }, "managerName": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/StoreStatus" }, "province": { "type": "string", "nullable": true }, "city": { "type": "string", "nullable": true }, "district": { "type": "string", "nullable": true }, "address": { "type": "string", "nullable": true }, "longitude": { "type": "number", "format": "double", "nullable": true }, "latitude": { "type": "number", "format": "double", "nullable": true }, "announcement": { "type": "string", "nullable": true }, "tags": { "type": "string", "nullable": true }, "deliveryRadiusKm": { "type": "number", "format": "double" }, "supportsDineIn": { "type": "boolean" }, "supportsPickup": { "type": "boolean" }, "supportsDelivery": { "type": "boolean" }, "supportsReservation": { "type": "boolean" }, "supportsQueueing": { "type": "boolean" } }, "additionalProperties": false }, "CreateStoreDeliveryZoneCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "zoneName": { "type": "string", "nullable": true }, "polygonGeoJson": { "type": "string", "nullable": true }, "minimumOrderAmount": { "type": "number", "format": "double", "nullable": true }, "deliveryFee": { "type": "number", "format": "double", "nullable": true }, "estimatedMinutes": { "type": "integer", "format": "int32", "nullable": true }, "sortOrder": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "CreateStoreEmployeeShiftCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "staffId": { "type": "integer", "format": "int64" }, "shiftDate": { "type": "string", "format": "date-time" }, "startTime": { "type": "string", "format": "date-span" }, "endTime": { "type": "string", "format": "date-span" }, "roleType": { "$ref": "#/components/schemas/StaffRoleType" }, "notes": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CreateStoreHolidayCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "date": { "type": "string", "format": "date-time" }, "isClosed": { "type": "boolean" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CreateStorePickupSlotCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "startTime": { "type": "string", "format": "date-span" }, "endTime": { "type": "string", "format": "date-span" }, "cutoffMinutes": { "type": "integer", "format": "int32" }, "capacity": { "type": "integer", "format": "int32" }, "weekdays": { "type": "string", "nullable": true }, "isEnabled": { "type": "boolean" } }, "additionalProperties": false }, "CreateStoreStaffCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "phone": { "type": "string", "nullable": true }, "email": { "type": "string", "nullable": true }, "roleType": { "$ref": "#/components/schemas/StaffRoleType" } }, "additionalProperties": false }, "CreateStoreTableAreaCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "sortOrder": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "CreateSystemParameterCommand": { "type": "object", "properties": { "key": { "type": "string", "nullable": true }, "value": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "sortOrder": { "type": "integer", "format": "int32" }, "isEnabled": { "type": "boolean" } }, "additionalProperties": false }, "CreateTenantAnnouncementCommand": { "type": "object", "properties": { "tenantId": { "type": "integer", "format": "int64" }, "title": { "type": "string", "nullable": true }, "content": { "type": "string", "nullable": true }, "announcementType": { "$ref": "#/components/schemas/TenantAnnouncementType" }, "priority": { "type": "integer", "format": "int32" }, "effectiveFrom": { "type": "string", "format": "date-time" }, "effectiveTo": { "type": "string", "format": "date-time", "nullable": true }, "isActive": { "type": "boolean" } }, "additionalProperties": false }, "CreateTenantBillingCommand": { "type": "object", "properties": { "tenantId": { "type": "integer", "format": "int64" }, "statementNo": { "type": "string", "nullable": true }, "periodStart": { "type": "string", "format": "date-time" }, "periodEnd": { "type": "string", "format": "date-time" }, "amountDue": { "type": "number", "format": "double" }, "amountPaid": { "type": "number", "format": "double" }, "status": { "$ref": "#/components/schemas/TenantBillingStatus" }, "dueDate": { "type": "string", "format": "date-time" }, "lineItemsJson": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CreateTenantPackageCommand": { "type": "object", "properties": { "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "packageType": { "$ref": "#/components/schemas/TenantPackageType" }, "monthlyPrice": { "type": "number", "format": "double", "nullable": true }, "yearlyPrice": { "type": "number", "format": "double", "nullable": true }, "maxStoreCount": { "type": "integer", "format": "int32", "nullable": true }, "maxAccountCount": { "type": "integer", "format": "int32", "nullable": true }, "maxStorageGb": { "type": "integer", "format": "int32", "nullable": true }, "maxSmsCredits": { "type": "integer", "format": "int32", "nullable": true }, "maxDeliveryOrders": { "type": "integer", "format": "int32", "nullable": true }, "featurePoliciesJson": { "type": "string", "nullable": true }, "isActive": { "type": "boolean" }, "sortOrder": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "CreateTenantSubscriptionCommand": { "required": [ "tenantId", "tenantPackageId" ], "type": "object", "properties": { "tenantId": { "type": "integer", "format": "int64" }, "tenantPackageId": { "type": "integer", "format": "int64" }, "durationMonths": { "type": "integer", "format": "int32" }, "autoRenew": { "type": "boolean" }, "notes": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CurrentUserProfile": { "type": "object", "properties": { "userId": { "type": "integer", "format": "int64" }, "account": { "type": "string", "nullable": true }, "displayName": { "type": "string", "nullable": true }, "tenantId": { "type": "integer", "format": "int64" }, "merchantId": { "type": "integer", "format": "int64", "nullable": true }, "roles": { "type": "array", "items": { "type": "string" }, "nullable": true }, "permissions": { "type": "array", "items": { "type": "string" }, "nullable": true }, "avatar": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CurrentUserProfileApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/CurrentUserProfile" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "DayOfWeek": { "enum": [ 0, 1, 2, 3, 4, 5, 6 ], "type": "integer", "format": "int32" }, "DeductInventoryCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "productSkuId": { "type": "integer", "format": "int64" }, "quantity": { "type": "integer", "format": "int32" }, "isPresaleOrder": { "type": "boolean" }, "idempotencyKey": { "type": "string", "nullable": true } }, "additionalProperties": false }, "DeliveryEventDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "deliveryOrderId": { "type": "integer", "format": "int64" }, "eventType": { "$ref": "#/components/schemas/DeliveryEventType" }, "message": { "type": "string", "nullable": true }, "occurredAt": { "type": "string", "format": "date-time" }, "payload": { "type": "string", "nullable": true } }, "additionalProperties": false }, "DeliveryEventType": { "enum": [ 0, 1, 2 ], "type": "integer", "description": "配送事件类型。", "format": "int32" }, "DeliveryOrderDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "orderId": { "type": "integer", "format": "int64" }, "provider": { "$ref": "#/components/schemas/DeliveryProvider" }, "providerOrderId": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/DeliveryStatus" }, "deliveryFee": { "type": "number", "format": "double", "nullable": true }, "courierName": { "type": "string", "nullable": true }, "courierPhone": { "type": "string", "nullable": true }, "dispatchedAt": { "type": "string", "format": "date-time", "nullable": true }, "pickedUpAt": { "type": "string", "format": "date-time", "nullable": true }, "deliveredAt": { "type": "string", "format": "date-time", "nullable": true }, "failureReason": { "type": "string", "nullable": true }, "events": { "type": "array", "items": { "$ref": "#/components/schemas/DeliveryEventDto" }, "nullable": true }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "DeliveryOrderDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/DeliveryOrderDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "DeliveryOrderDtoPagedResult": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/DeliveryOrderDto" }, "description": "数据列表。", "nullable": true }, "page": { "type": "integer", "description": "当前页码,从 1 开始。", "format": "int32" }, "pageSize": { "type": "integer", "description": "每页条数。", "format": "int32" }, "totalCount": { "type": "integer", "description": "总条数。", "format": "int32" }, "totalPages": { "type": "integer", "description": "总页数。", "format": "int32", "readOnly": true } }, "additionalProperties": false, "description": "分页结果包装,携带列表与总条数等元数据。" }, "DeliveryOrderDtoPagedResultApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/DeliveryOrderDtoPagedResult" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "DeliveryProvider": { "enum": [ 0, 1, 2, 3, 4, 5 ], "type": "integer", "description": "配送服务商类型。", "format": "int32" }, "DeliveryStatus": { "enum": [ 0, 1, 2, 3, 4, 5, 6 ], "type": "integer", "description": "配送状态。", "format": "int32" }, "DeliveryType": { "enum": [ 0, 1, 2 ], "type": "integer", "description": "履约/交付方式。", "format": "int32" }, "DictionaryBatchQueryRequest": { "required": [ "codes" ], "type": "object", "properties": { "codes": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "DictionaryGroupDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "code": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "scope": { "$ref": "#/components/schemas/DictionaryScope" }, "description": { "type": "string", "nullable": true }, "isEnabled": { "type": "boolean" }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/DictionaryItemDto" }, "nullable": true } }, "additionalProperties": false }, "DictionaryGroupDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/DictionaryGroupDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "DictionaryGroupDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/DictionaryGroupDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "DictionaryItemDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "groupId": { "type": "integer", "format": "int64" }, "key": { "type": "string", "nullable": true }, "value": { "type": "string", "nullable": true }, "isDefault": { "type": "boolean" }, "isEnabled": { "type": "boolean" }, "sortOrder": { "type": "integer", "format": "int32" }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "DictionaryItemDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/DictionaryItemDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "DictionaryScope": { "enum": [ 1, 2 ], "type": "integer", "description": "参数字典作用域。", "format": "int32" }, "ExportStoreTableQRCodesQuery": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "areaId": { "type": "integer", "format": "int64", "nullable": true }, "qrContentTemplate": { "type": "string", "nullable": true } }, "additionalProperties": false }, "FileUploadResponse": { "type": "object", "properties": { "url": { "type": "string", "nullable": true }, "fileName": { "type": "string", "nullable": true }, "fileSize": { "type": "integer", "format": "int64" } }, "additionalProperties": false }, "FileUploadResponseApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/FileUploadResponse" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "GenerateStoreTablesCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "tableCodePrefix": { "type": "string", "nullable": true }, "startNumber": { "type": "integer", "format": "int32" }, "count": { "type": "integer", "format": "int32" }, "defaultCapacity": { "type": "integer", "format": "int32" }, "areaId": { "type": "integer", "format": "int64", "nullable": true }, "tags": { "type": "string", "nullable": true } }, "additionalProperties": false }, "InitializeRoleTemplatesCommand": { "type": "object", "properties": { "templateCodes": { "type": "array", "items": { "type": "string" }, "nullable": true } }, "additionalProperties": false }, "Int32ApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "integer", "description": "业务数据。", "format": "int32" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "InventoryAdjustmentType": { "enum": [ 0, 1, 2, 3, 4 ], "type": "integer", "description": "库存调整类型。", "format": "int32" }, "InventoryBatchDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "productSkuId": { "type": "integer", "format": "int64" }, "batchNumber": { "type": "string", "nullable": true }, "productionDate": { "type": "string", "format": "date-time", "nullable": true }, "expireDate": { "type": "string", "format": "date-time", "nullable": true }, "quantity": { "type": "integer", "format": "int32" }, "remainingQuantity": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "InventoryBatchDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/InventoryBatchDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "InventoryBatchDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/InventoryBatchDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "InventoryItemDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "productSkuId": { "type": "integer", "format": "int64" }, "batchNumber": { "type": "string", "nullable": true }, "quantityOnHand": { "type": "integer", "format": "int32" }, "quantityReserved": { "type": "integer", "format": "int32" }, "safetyStock": { "type": "integer", "format": "int32", "nullable": true }, "location": { "type": "string", "nullable": true }, "expireDate": { "type": "string", "format": "date-time", "nullable": true }, "isPresale": { "type": "boolean" }, "presaleStartTime": { "type": "string", "format": "date-time", "nullable": true }, "presaleEndTime": { "type": "string", "format": "date-time", "nullable": true }, "presaleCapacity": { "type": "integer", "format": "int32", "nullable": true }, "presaleLocked": { "type": "integer", "format": "int32" }, "maxQuantityPerOrder": { "type": "integer", "format": "int32", "nullable": true }, "isSoldOut": { "type": "boolean" } }, "additionalProperties": false }, "InventoryItemDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/InventoryItemDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "LockInventoryCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "productSkuId": { "type": "integer", "format": "int64" }, "quantity": { "type": "integer", "format": "int32" }, "isPresaleOrder": { "type": "boolean" }, "expiresAt": { "type": "string", "format": "date-time", "nullable": true }, "idempotencyKey": { "type": "string", "nullable": true } }, "additionalProperties": false }, "MarkTenantBillingPaidCommand": { "type": "object", "properties": { "tenantId": { "type": "integer", "format": "int64" }, "billingId": { "type": "integer", "format": "int64" }, "amountPaid": { "type": "number", "format": "double" }, "paidAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "MediaAssetType": { "enum": [ 0, 1, 2 ], "type": "integer", "description": "商品媒资类型。", "format": "int32" }, "MenuAuthItemDto": { "required": [ "authMark", "title" ], "type": "object", "properties": { "title": { "type": "string", "nullable": true }, "authMark": { "type": "string", "nullable": true } }, "additionalProperties": false }, "MenuDefinitionDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "parentId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "path": { "type": "string", "nullable": true }, "component": { "type": "string", "nullable": true }, "title": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isIframe": { "type": "boolean" }, "link": { "type": "string", "nullable": true }, "keepAlive": { "type": "boolean" }, "sortOrder": { "type": "integer", "format": "int32" }, "requiredPermissions": { "type": "array", "items": { "type": "string" }, "nullable": true }, "metaPermissions": { "type": "array", "items": { "type": "string" }, "nullable": true }, "metaRoles": { "type": "array", "items": { "type": "string" }, "nullable": true }, "authList": { "type": "array", "items": { "$ref": "#/components/schemas/MenuAuthItemDto" }, "nullable": true } }, "additionalProperties": false }, "MenuDefinitionDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/MenuDefinitionDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "MenuDefinitionDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/MenuDefinitionDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "MenuMetaDto": { "required": [ "title" ], "type": "object", "properties": { "title": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "keepAlive": { "type": "boolean" }, "isIframe": { "type": "boolean" }, "link": { "type": "string", "nullable": true }, "roles": { "type": "array", "items": { "type": "string" }, "nullable": true }, "authList": { "type": "array", "items": { "$ref": "#/components/schemas/MenuAuthItemDto" }, "nullable": true }, "permissions": { "type": "array", "items": { "type": "string" }, "nullable": true } }, "additionalProperties": false }, "MenuNodeDto": { "required": [ "component", "meta", "name", "path" ], "type": "object", "properties": { "name": { "type": "string", "nullable": true }, "path": { "type": "string", "nullable": true }, "component": { "type": "string", "nullable": true }, "meta": { "$ref": "#/components/schemas/MenuMetaDto" }, "children": { "type": "array", "items": { "$ref": "#/components/schemas/MenuNodeDto" }, "nullable": true } }, "additionalProperties": false }, "MenuNodeDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/MenuNodeDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "MerchantAuditAction": { "enum": [ 0, 1, 2, 3, 4, 5 ], "type": "integer", "description": "商户审核日志动作。", "format": "int32" }, "MerchantAuditLogDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "merchantId": { "type": "integer", "format": "int64" }, "action": { "$ref": "#/components/schemas/MerchantAuditAction" }, "title": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "operatorName": { "type": "string", "nullable": true }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "MerchantAuditLogDtoPagedResult": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/MerchantAuditLogDto" }, "description": "数据列表。", "nullable": true }, "page": { "type": "integer", "description": "当前页码,从 1 开始。", "format": "int32" }, "pageSize": { "type": "integer", "description": "每页条数。", "format": "int32" }, "totalCount": { "type": "integer", "description": "总条数。", "format": "int32" }, "totalPages": { "type": "integer", "description": "总页数。", "format": "int32", "readOnly": true } }, "additionalProperties": false, "description": "分页结果包装,携带列表与总条数等元数据。" }, "MerchantAuditLogDtoPagedResultApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/MerchantAuditLogDtoPagedResult" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "MerchantCategoryDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "displayOrder": { "type": "integer", "format": "int32" }, "isActive": { "type": "boolean" }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "MerchantCategoryDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/MerchantCategoryDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "MerchantCategoryDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/MerchantCategoryDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "MerchantCategoryOrderItem": { "required": [ "categoryId" ], "type": "object", "properties": { "categoryId": { "type": "integer", "format": "int64" }, "displayOrder": { "maximum": 100000, "minimum": -1000, "type": "integer", "format": "int32" } }, "additionalProperties": false }, "MerchantContractDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "merchantId": { "type": "integer", "format": "int64" }, "contractNumber": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/ContractStatus" }, "startDate": { "type": "string", "format": "date-time" }, "endDate": { "type": "string", "format": "date-time" }, "fileUrl": { "type": "string", "nullable": true }, "signedAt": { "type": "string", "format": "date-time", "nullable": true }, "terminatedAt": { "type": "string", "format": "date-time", "nullable": true }, "terminationReason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "MerchantContractDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/MerchantContractDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "MerchantContractDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/MerchantContractDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "MerchantDetailDto": { "type": "object", "properties": { "merchant": { "$ref": "#/components/schemas/MerchantDto" }, "documents": { "type": "array", "items": { "$ref": "#/components/schemas/MerchantDocumentDto" }, "nullable": true }, "contracts": { "type": "array", "items": { "$ref": "#/components/schemas/MerchantContractDto" }, "nullable": true } }, "additionalProperties": false }, "MerchantDetailDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/MerchantDetailDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "MerchantDocumentDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "merchantId": { "type": "integer", "format": "int64" }, "documentType": { "$ref": "#/components/schemas/MerchantDocumentType" }, "status": { "$ref": "#/components/schemas/MerchantDocumentStatus" }, "fileUrl": { "type": "string", "nullable": true }, "documentNumber": { "type": "string", "nullable": true }, "issuedAt": { "type": "string", "format": "date-time", "nullable": true }, "expiresAt": { "type": "string", "format": "date-time", "nullable": true }, "remarks": { "type": "string", "nullable": true }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "MerchantDocumentDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/MerchantDocumentDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "MerchantDocumentDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/MerchantDocumentDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "MerchantDocumentStatus": { "enum": [ 0, 1, 2, 3 ], "type": "integer", "description": "证照审核状态。", "format": "int32" }, "MerchantDocumentType": { "enum": [ 0, 1, 2, 99 ], "type": "integer", "description": "商户证照类型。", "format": "int32" }, "MerchantDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "brandName": { "type": "string", "nullable": true }, "brandAlias": { "type": "string", "nullable": true }, "logoUrl": { "type": "string", "nullable": true }, "category": { "type": "string", "nullable": true }, "contactPhone": { "type": "string", "nullable": true }, "contactEmail": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/MerchantStatus" }, "joinedAt": { "type": "string", "format": "date-time", "nullable": true }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "MerchantDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/MerchantDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "MerchantDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/MerchantDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "MerchantStatus": { "enum": [ 0, 1, 2, 3 ], "type": "integer", "description": "商户入驻状态。", "format": "int32" }, "ObjectApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "OrderChannel": { "enum": [ 0, 1, 2, 3, 4, 5 ], "type": "integer", "description": "下单渠道。", "format": "int32" }, "OrderDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "orderNo": { "type": "string", "nullable": true }, "storeId": { "type": "integer", "format": "int64" }, "channel": { "$ref": "#/components/schemas/OrderChannel" }, "deliveryType": { "$ref": "#/components/schemas/DeliveryType" }, "status": { "$ref": "#/components/schemas/OrderStatus" }, "paymentStatus": { "$ref": "#/components/schemas/PaymentStatus" }, "customerName": { "type": "string", "nullable": true }, "customerPhone": { "type": "string", "nullable": true }, "tableNo": { "type": "string", "nullable": true }, "queueNumber": { "type": "string", "nullable": true }, "reservationId": { "type": "integer", "format": "int64", "nullable": true }, "itemsAmount": { "type": "number", "format": "double" }, "discountAmount": { "type": "number", "format": "double" }, "payableAmount": { "type": "number", "format": "double" }, "paidAmount": { "type": "number", "format": "double" }, "paidAt": { "type": "string", "format": "date-time", "nullable": true }, "finishedAt": { "type": "string", "format": "date-time", "nullable": true }, "cancelledAt": { "type": "string", "format": "date-time", "nullable": true }, "cancelReason": { "type": "string", "nullable": true }, "remark": { "type": "string", "nullable": true }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/OrderItemDto" }, "nullable": true }, "statusHistory": { "type": "array", "items": { "$ref": "#/components/schemas/OrderStatusHistoryDto" }, "nullable": true }, "refunds": { "type": "array", "items": { "$ref": "#/components/schemas/RefundRequestDto" }, "nullable": true }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "OrderDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/OrderDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "OrderDtoPagedResult": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/OrderDto" }, "description": "数据列表。", "nullable": true }, "page": { "type": "integer", "description": "当前页码,从 1 开始。", "format": "int32" }, "pageSize": { "type": "integer", "description": "每页条数。", "format": "int32" }, "totalCount": { "type": "integer", "description": "总条数。", "format": "int32" }, "totalPages": { "type": "integer", "description": "总页数。", "format": "int32", "readOnly": true } }, "additionalProperties": false, "description": "分页结果包装,携带列表与总条数等元数据。" }, "OrderDtoPagedResultApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/OrderDtoPagedResult" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "OrderItemDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "orderId": { "type": "integer", "format": "int64" }, "productId": { "type": "integer", "format": "int64" }, "productName": { "type": "string", "nullable": true }, "skuName": { "type": "string", "nullable": true }, "unit": { "type": "string", "nullable": true }, "quantity": { "type": "integer", "format": "int32" }, "unitPrice": { "type": "number", "format": "double" }, "discountAmount": { "type": "number", "format": "double" }, "subTotal": { "type": "number", "format": "double" }, "attributesJson": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OrderItemRequest": { "type": "object", "properties": { "productId": { "type": "integer", "format": "int64" }, "productName": { "type": "string", "nullable": true }, "skuName": { "type": "string", "nullable": true }, "unit": { "type": "string", "nullable": true }, "quantity": { "type": "integer", "format": "int32" }, "unitPrice": { "type": "number", "format": "double" }, "discountAmount": { "type": "number", "format": "double" }, "subTotal": { "type": "number", "format": "double" }, "attributesJson": { "type": "string", "nullable": true } }, "additionalProperties": false }, "OrderStatus": { "enum": [ 0, 1, 2, 3, 4, 5 ], "type": "integer", "description": "订单状态。", "format": "int32" }, "OrderStatusHistoryDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "orderId": { "type": "integer", "format": "int64" }, "status": { "$ref": "#/components/schemas/OrderStatus" }, "operatorId": { "type": "integer", "format": "int64", "nullable": true }, "notes": { "type": "string", "nullable": true }, "occurredAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "PaymentDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "orderId": { "type": "integer", "format": "int64" }, "method": { "$ref": "#/components/schemas/PaymentMethod" }, "status": { "$ref": "#/components/schemas/PaymentStatus" }, "amount": { "type": "number", "format": "double" }, "tradeNo": { "type": "string", "nullable": true }, "channelTransactionId": { "type": "string", "nullable": true }, "paidAt": { "type": "string", "format": "date-time", "nullable": true }, "remark": { "type": "string", "nullable": true }, "payload": { "type": "string", "nullable": true }, "refunds": { "type": "array", "items": { "$ref": "#/components/schemas/PaymentRefundDto" }, "nullable": true }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "PaymentDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/PaymentDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "PaymentDtoPagedResult": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/PaymentDto" }, "description": "数据列表。", "nullable": true }, "page": { "type": "integer", "description": "当前页码,从 1 开始。", "format": "int32" }, "pageSize": { "type": "integer", "description": "每页条数。", "format": "int32" }, "totalCount": { "type": "integer", "description": "总条数。", "format": "int32" }, "totalPages": { "type": "integer", "description": "总页数。", "format": "int32", "readOnly": true } }, "additionalProperties": false, "description": "分页结果包装,携带列表与总条数等元数据。" }, "PaymentDtoPagedResultApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/PaymentDtoPagedResult" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "PaymentMethod": { "enum": [ 0, 1, 2, 3, 4, 5 ], "type": "integer", "description": "支付方式。", "format": "int32" }, "PaymentRefundDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "paymentRecordId": { "type": "integer", "format": "int64" }, "orderId": { "type": "integer", "format": "int64" }, "amount": { "type": "number", "format": "double" }, "channelRefundId": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/PaymentRefundStatus" }, "payload": { "type": "string", "nullable": true } }, "additionalProperties": false }, "PaymentRefundStatus": { "enum": [ 0, 1, 2, 3 ], "type": "integer", "description": "支付退款状态。", "format": "int32" }, "PaymentStatus": { "enum": [ 0, 1, 2, 3, 4 ], "type": "integer", "description": "支付记录状态。", "format": "int32" }, "PermissionDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "parentId": { "type": "integer", "format": "int64" }, "sortOrder": { "type": "integer", "format": "int32" }, "type": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "code": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "PermissionDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/PermissionDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "PermissionDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/PermissionDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "PermissionDtoPagedResult": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/PermissionDto" }, "description": "数据列表。", "nullable": true }, "page": { "type": "integer", "description": "当前页码,从 1 开始。", "format": "int32" }, "pageSize": { "type": "integer", "description": "每页条数。", "format": "int32" }, "totalCount": { "type": "integer", "description": "总条数。", "format": "int32" }, "totalPages": { "type": "integer", "description": "总页数。", "format": "int32", "readOnly": true } }, "additionalProperties": false, "description": "分页结果包装,携带列表与总条数等元数据。" }, "PermissionDtoPagedResultApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/PermissionDtoPagedResult" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "PermissionTemplateDto": { "type": "object", "properties": { "code": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "PermissionTemplateDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/PermissionTemplateDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "PermissionTreeDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "parentId": { "type": "integer", "format": "int64" }, "sortOrder": { "type": "integer", "format": "int32" }, "type": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "code": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "children": { "type": "array", "items": { "$ref": "#/components/schemas/PermissionTreeDto" }, "nullable": true } }, "additionalProperties": false }, "PermissionTreeDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/PermissionTreeDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "PricingRuleType": { "enum": [ 0, 1, 2, 3, 4 ], "type": "integer", "description": "价格策略类型。", "format": "int32" }, "ProductAddonGroupDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "productId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "minSelect": { "type": "integer", "format": "int32" }, "maxSelect": { "type": "integer", "format": "int32" }, "sortOrder": { "type": "integer", "format": "int32" }, "options": { "type": "array", "items": { "$ref": "#/components/schemas/ProductAddonOptionDto" }, "nullable": true } }, "additionalProperties": false }, "ProductAddonGroupDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ProductAddonGroupDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "ProductAddonOptionDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "addonGroupId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "extraPrice": { "type": "number", "format": "double", "nullable": true }, "sortOrder": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "ProductAttributeGroupDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "productId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "selectionType": { "type": "integer", "format": "int32" }, "sortOrder": { "type": "integer", "format": "int32" }, "options": { "type": "array", "items": { "$ref": "#/components/schemas/ProductAttributeOptionDto" }, "nullable": true } }, "additionalProperties": false }, "ProductAttributeGroupDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ProductAttributeGroupDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "ProductAttributeOptionDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "attributeGroupId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "sortOrder": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "ProductDetailDto": { "type": "object", "properties": { "product": { "$ref": "#/components/schemas/ProductDto" }, "skus": { "type": "array", "items": { "$ref": "#/components/schemas/ProductSkuDto" }, "nullable": true }, "attributeGroups": { "type": "array", "items": { "$ref": "#/components/schemas/ProductAttributeGroupDto" }, "nullable": true }, "addonGroups": { "type": "array", "items": { "$ref": "#/components/schemas/ProductAddonGroupDto" }, "nullable": true }, "pricingRules": { "type": "array", "items": { "$ref": "#/components/schemas/ProductPricingRuleDto" }, "nullable": true }, "mediaAssets": { "type": "array", "items": { "$ref": "#/components/schemas/ProductMediaAssetDto" }, "nullable": true } }, "additionalProperties": false }, "ProductDetailDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/ProductDetailDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "ProductDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "categoryId": { "type": "integer", "format": "int64" }, "spuCode": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "subtitle": { "type": "string", "nullable": true }, "unit": { "type": "string", "nullable": true }, "price": { "type": "number", "format": "double" }, "originalPrice": { "type": "number", "format": "double", "nullable": true }, "stockQuantity": { "type": "integer", "format": "int32", "nullable": true }, "maxQuantityPerOrder": { "type": "integer", "format": "int32", "nullable": true }, "status": { "$ref": "#/components/schemas/ProductStatus" }, "coverImage": { "type": "string", "nullable": true }, "galleryImages": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "enableDineIn": { "type": "boolean" }, "enablePickup": { "type": "boolean" }, "enableDelivery": { "type": "boolean" }, "isFeatured": { "type": "boolean" }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "ProductDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/ProductDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "ProductDtoPagedResult": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/ProductDto" }, "description": "数据列表。", "nullable": true }, "page": { "type": "integer", "description": "当前页码,从 1 开始。", "format": "int32" }, "pageSize": { "type": "integer", "description": "每页条数。", "format": "int32" }, "totalCount": { "type": "integer", "description": "总条数。", "format": "int32" }, "totalPages": { "type": "integer", "description": "总页数。", "format": "int32", "readOnly": true } }, "additionalProperties": false, "description": "分页结果包装,携带列表与总条数等元数据。" }, "ProductDtoPagedResultApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/ProductDtoPagedResult" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "ProductMediaAssetDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "productId": { "type": "integer", "format": "int64" }, "mediaType": { "$ref": "#/components/schemas/MediaAssetType" }, "url": { "type": "string", "nullable": true }, "caption": { "type": "string", "nullable": true }, "sortOrder": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "ProductMediaAssetDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ProductMediaAssetDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "ProductPricingRuleDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "productId": { "type": "integer", "format": "int64" }, "ruleType": { "$ref": "#/components/schemas/PricingRuleType" }, "price": { "type": "number", "format": "double" }, "conditionsJson": { "type": "string", "nullable": true }, "weekdaysJson": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ProductPricingRuleDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ProductPricingRuleDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "ProductSkuDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "productId": { "type": "integer", "format": "int64" }, "skuCode": { "type": "string", "nullable": true }, "barcode": { "type": "string", "nullable": true }, "price": { "type": "number", "format": "double" }, "originalPrice": { "type": "number", "format": "double", "nullable": true }, "stockQuantity": { "type": "integer", "format": "int32", "nullable": true }, "weight": { "type": "number", "format": "double", "nullable": true }, "attributesJson": { "type": "string", "nullable": true }, "sortOrder": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "ProductSkuDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ProductSkuDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "ProductStatus": { "enum": [ 0, 1, 2, 3 ], "type": "integer", "description": "商品状态。", "format": "int32" }, "PublishProductCommand": { "type": "object", "properties": { "productId": { "type": "integer", "format": "int64" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "QuotaCheckResultDto": { "type": "object", "properties": { "quotaType": { "$ref": "#/components/schemas/TenantQuotaType" }, "limit": { "type": "number", "format": "double", "nullable": true }, "used": { "type": "number", "format": "double" }, "remaining": { "type": "number", "format": "double", "nullable": true } }, "additionalProperties": false }, "QuotaCheckResultDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/QuotaCheckResultDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "RefreshTokenRequest": { "required": [ "refreshToken" ], "type": "object", "properties": { "refreshToken": { "maxLength": 256, "minLength": 1, "type": "string" } }, "additionalProperties": false }, "RefundRequestDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "orderId": { "type": "integer", "format": "int64" }, "refundNo": { "type": "string", "nullable": true }, "amount": { "type": "number", "format": "double" }, "reason": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/RefundStatus" }, "requestedAt": { "type": "string", "format": "date-time" }, "processedAt": { "type": "string", "format": "date-time", "nullable": true }, "reviewNotes": { "type": "string", "nullable": true } }, "additionalProperties": false }, "RefundStatus": { "enum": [ 0, 1, 2, 3 ], "type": "integer", "description": "退款申请状态。", "format": "int32" }, "RegisterTenantCommand": { "required": [ "code", "name", "tenantPackageId" ], "type": "object", "properties": { "code": { "maxLength": 64, "minLength": 0, "type": "string" }, "name": { "maxLength": 128, "minLength": 0, "type": "string" }, "shortName": { "type": "string", "nullable": true }, "industry": { "type": "string", "nullable": true }, "contactName": { "type": "string", "nullable": true }, "contactPhone": { "type": "string", "nullable": true }, "contactEmail": { "type": "string", "nullable": true }, "tenantPackageId": { "type": "integer", "format": "int64" }, "durationMonths": { "type": "integer", "format": "int32" }, "autoRenew": { "type": "boolean" }, "effectiveFrom": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "ReleaseInventoryCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "productSkuId": { "type": "integer", "format": "int64" }, "quantity": { "type": "integer", "format": "int32" }, "isPresaleOrder": { "type": "boolean" }, "idempotencyKey": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ReorderMerchantCategoriesCommand": { "required": [ "items" ], "type": "object", "properties": { "items": { "minItems": 1, "type": "array", "items": { "$ref": "#/components/schemas/MerchantCategoryOrderItem" } } }, "additionalProperties": false }, "ReplaceProductAddonsCommand": { "type": "object", "properties": { "productId": { "type": "integer", "format": "int64" }, "addonGroups": { "type": "array", "items": { "$ref": "#/components/schemas/ProductAddonGroupDto" }, "nullable": true } }, "additionalProperties": false }, "ReplaceProductAttributesCommand": { "type": "object", "properties": { "productId": { "type": "integer", "format": "int64" }, "attributeGroups": { "type": "array", "items": { "$ref": "#/components/schemas/ProductAttributeGroupDto" }, "nullable": true } }, "additionalProperties": false }, "ReplaceProductMediaCommand": { "type": "object", "properties": { "productId": { "type": "integer", "format": "int64" }, "mediaAssets": { "type": "array", "items": { "$ref": "#/components/schemas/ProductMediaAssetDto" }, "nullable": true } }, "additionalProperties": false }, "ReplaceProductPricingRulesCommand": { "type": "object", "properties": { "productId": { "type": "integer", "format": "int64" }, "pricingRules": { "type": "array", "items": { "$ref": "#/components/schemas/ProductPricingRuleDto" }, "nullable": true } }, "additionalProperties": false }, "ReplaceProductSkusCommand": { "type": "object", "properties": { "productId": { "type": "integer", "format": "int64" }, "skus": { "type": "array", "items": { "$ref": "#/components/schemas/ProductSkuDto" }, "nullable": true } }, "additionalProperties": false }, "ReviewMerchantCommand": { "required": [ "merchantId" ], "type": "object", "properties": { "merchantId": { "type": "integer", "format": "int64" }, "approve": { "type": "boolean" }, "remarks": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ReviewMerchantDocumentCommand": { "required": [ "documentId", "merchantId" ], "type": "object", "properties": { "merchantId": { "type": "integer", "format": "int64" }, "documentId": { "type": "integer", "format": "int64" }, "approve": { "type": "boolean" }, "remarks": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ReviewTenantCommand": { "required": [ "tenantId" ], "type": "object", "properties": { "tenantId": { "type": "integer", "format": "int64" }, "approve": { "type": "boolean" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "RoleDetailDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "code": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "permissions": { "type": "array", "items": { "$ref": "#/components/schemas/PermissionDto" }, "nullable": true } }, "additionalProperties": false }, "RoleDetailDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/RoleDetailDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "RoleDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "code": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "RoleDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/RoleDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "RoleDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/RoleDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "RoleDtoPagedResult": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/RoleDto" }, "description": "数据列表。", "nullable": true }, "page": { "type": "integer", "description": "当前页码,从 1 开始。", "format": "int32" }, "pageSize": { "type": "integer", "description": "每页条数。", "format": "int32" }, "totalCount": { "type": "integer", "description": "总条数。", "format": "int32" }, "totalPages": { "type": "integer", "description": "总页数。", "format": "int32", "readOnly": true } }, "additionalProperties": false, "description": "分页结果包装,携带列表与总条数等元数据。" }, "RoleDtoPagedResultApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/RoleDtoPagedResult" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "RoleTemplateDto": { "type": "object", "properties": { "templateCode": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "isActive": { "type": "boolean" }, "permissions": { "type": "array", "items": { "$ref": "#/components/schemas/PermissionTemplateDto" }, "nullable": true } }, "additionalProperties": false }, "RoleTemplateDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/RoleTemplateDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "RoleTemplateDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/RoleTemplateDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "SelfRegisterResultDto": { "type": "object", "properties": { "tenantId": { "type": "integer", "format": "int64" }, "code": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/TenantStatus" }, "verificationStatus": { "$ref": "#/components/schemas/TenantVerificationStatus" }, "effectiveFrom": { "type": "string", "format": "date-time", "nullable": true }, "effectiveTo": { "type": "string", "format": "date-time", "nullable": true }, "adminAccount": { "type": "string", "nullable": true } }, "additionalProperties": false }, "SelfRegisterResultDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/SelfRegisterResultDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "SelfRegisterTenantCommand": { "required": [ "adminAccount", "adminPassword", "adminPhone" ], "type": "object", "properties": { "adminAccount": { "maxLength": 64, "minLength": 0, "pattern": "^[A-Za-z0-9]+$", "type": "string" }, "adminDisplayName": { "maxLength": 64, "minLength": 0, "type": "string", "nullable": true }, "adminEmail": { "maxLength": 128, "minLength": 0, "type": "string", "format": "email", "nullable": true }, "adminPhone": { "maxLength": 32, "minLength": 0, "type": "string" }, "adminPassword": { "maxLength": 128, "minLength": 8, "type": "string" } }, "additionalProperties": false }, "StaffRoleType": { "enum": [ 0, 1, 2, 3, 4 ], "type": "integer", "description": "商户员工角色。", "format": "int32" }, "StaffStatus": { "enum": [ 0, 1, 2 ], "type": "integer", "description": "员工账号状态。", "format": "int32" }, "StoreBusinessHourDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "dayOfWeek": { "$ref": "#/components/schemas/DayOfWeek" }, "hourType": { "$ref": "#/components/schemas/BusinessHourType" }, "startTime": { "type": "string", "format": "date-span" }, "endTime": { "type": "string", "format": "date-span" }, "capacityLimit": { "type": "integer", "format": "int32", "nullable": true }, "notes": { "type": "string", "nullable": true }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "StoreBusinessHourDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/StoreBusinessHourDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StoreBusinessHourDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/StoreBusinessHourDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StoreDeliveryZoneDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "zoneName": { "type": "string", "nullable": true }, "polygonGeoJson": { "type": "string", "nullable": true }, "minimumOrderAmount": { "type": "number", "format": "double", "nullable": true }, "deliveryFee": { "type": "number", "format": "double", "nullable": true }, "estimatedMinutes": { "type": "integer", "format": "int32", "nullable": true }, "sortOrder": { "type": "integer", "format": "int32" }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "StoreDeliveryZoneDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/StoreDeliveryZoneDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StoreDeliveryZoneDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/StoreDeliveryZoneDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StoreDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "merchantId": { "type": "integer", "format": "int64" }, "code": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "phone": { "type": "string", "nullable": true }, "managerName": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/StoreStatus" }, "province": { "type": "string", "nullable": true }, "city": { "type": "string", "nullable": true }, "district": { "type": "string", "nullable": true }, "address": { "type": "string", "nullable": true }, "longitude": { "type": "number", "format": "double", "nullable": true }, "latitude": { "type": "number", "format": "double", "nullable": true }, "announcement": { "type": "string", "nullable": true }, "tags": { "type": "string", "nullable": true }, "deliveryRadiusKm": { "type": "number", "format": "double" }, "supportsDineIn": { "type": "boolean" }, "supportsPickup": { "type": "boolean" }, "supportsDelivery": { "type": "boolean" }, "supportsReservation": { "type": "boolean" }, "supportsQueueing": { "type": "boolean" }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "StoreDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/StoreDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StoreDtoPagedResult": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/StoreDto" }, "description": "数据列表。", "nullable": true }, "page": { "type": "integer", "description": "当前页码,从 1 开始。", "format": "int32" }, "pageSize": { "type": "integer", "description": "每页条数。", "format": "int32" }, "totalCount": { "type": "integer", "description": "总条数。", "format": "int32" }, "totalPages": { "type": "integer", "description": "总页数。", "format": "int32", "readOnly": true } }, "additionalProperties": false, "description": "分页结果包装,携带列表与总条数等元数据。" }, "StoreDtoPagedResultApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/StoreDtoPagedResult" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StoreEmployeeShiftDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "staffId": { "type": "integer", "format": "int64" }, "shiftDate": { "type": "string", "format": "date-time" }, "startTime": { "type": "string", "format": "date-span" }, "endTime": { "type": "string", "format": "date-span" }, "roleType": { "$ref": "#/components/schemas/StaffRoleType" }, "notes": { "type": "string", "nullable": true }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "StoreEmployeeShiftDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/StoreEmployeeShiftDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StoreEmployeeShiftDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/StoreEmployeeShiftDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StoreHolidayDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "date": { "type": "string", "format": "date-time" }, "isClosed": { "type": "boolean" }, "reason": { "type": "string", "nullable": true }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "StoreHolidayDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/StoreHolidayDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StoreHolidayDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/StoreHolidayDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StorePickupSettingDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "allowToday": { "type": "boolean" }, "allowDaysAhead": { "type": "integer", "format": "int32" }, "defaultCutoffMinutes": { "type": "integer", "format": "int32" }, "maxQuantityPerOrder": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "StorePickupSettingDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/StorePickupSettingDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StorePickupSlotDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "startTime": { "type": "string", "format": "date-span" }, "endTime": { "type": "string", "format": "date-span" }, "cutoffMinutes": { "type": "integer", "format": "int32" }, "capacity": { "type": "integer", "format": "int32" }, "reservedCount": { "type": "integer", "format": "int32" }, "weekdays": { "type": "string", "nullable": true }, "isEnabled": { "type": "boolean" } }, "additionalProperties": false }, "StorePickupSlotDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/StorePickupSlotDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StorePickupSlotDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/StorePickupSlotDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StoreStaffDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "merchantId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64", "nullable": true }, "name": { "type": "string", "nullable": true }, "phone": { "type": "string", "nullable": true }, "email": { "type": "string", "nullable": true }, "roleType": { "$ref": "#/components/schemas/StaffRoleType" }, "status": { "$ref": "#/components/schemas/StaffStatus" } }, "additionalProperties": false }, "StoreStaffDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/StoreStaffDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StoreStaffDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/StoreStaffDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StoreStatus": { "enum": [ 0, 1, 2, 3 ], "type": "integer", "description": "门店运营状态。", "format": "int32" }, "StoreTableAreaDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "sortOrder": { "type": "integer", "format": "int32" }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "StoreTableAreaDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/StoreTableAreaDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StoreTableAreaDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/StoreTableAreaDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StoreTableDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "areaId": { "type": "integer", "format": "int64", "nullable": true }, "tableCode": { "type": "string", "nullable": true }, "capacity": { "type": "integer", "format": "int32" }, "tags": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/StoreTableStatus" }, "qrCodeUrl": { "type": "string", "nullable": true }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "StoreTableDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/StoreTableDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StoreTableDtoIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/StoreTableDto" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StoreTableStatus": { "enum": [ 0, 1, 2, 3 ], "type": "integer", "description": "桌台占用状态。", "format": "int32" }, "StringDictionaryItemDtoIReadOnlyListIReadOnlyDictionaryApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/components/schemas/DictionaryItemDto" }, "nullable": true }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "StringIReadOnlyListApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "type": "array", "items": { "type": "string" }, "description": "业务数据。", "nullable": true }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "SubmitTenantVerificationCommand": { "required": [ "tenantId" ], "type": "object", "properties": { "tenantId": { "type": "integer", "format": "int64" }, "businessLicenseNumber": { "type": "string", "nullable": true }, "businessLicenseUrl": { "type": "string", "nullable": true }, "legalPersonName": { "type": "string", "nullable": true }, "legalPersonIdNumber": { "type": "string", "nullable": true }, "legalPersonIdFrontUrl": { "type": "string", "nullable": true }, "legalPersonIdBackUrl": { "type": "string", "nullable": true }, "bankAccountName": { "type": "string", "nullable": true }, "bankAccountNumber": { "type": "string", "nullable": true }, "bankName": { "type": "string", "nullable": true }, "additionalDataJson": { "type": "string", "nullable": true } }, "additionalProperties": false }, "SubscriptionStatus": { "enum": [ 0, 1, 2, 3, 4 ], "type": "integer", "description": "订阅状态。", "format": "int32" }, "SystemParameterDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "key": { "type": "string", "nullable": true }, "value": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "sortOrder": { "type": "integer", "format": "int32" }, "isEnabled": { "type": "boolean" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "SystemParameterDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/SystemParameterDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "SystemParameterDtoPagedResult": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/SystemParameterDto" }, "description": "数据列表。", "nullable": true }, "page": { "type": "integer", "description": "当前页码,从 1 开始。", "format": "int32" }, "pageSize": { "type": "integer", "description": "每页条数。", "format": "int32" }, "totalCount": { "type": "integer", "description": "总条数。", "format": "int32" }, "totalPages": { "type": "integer", "description": "总页数。", "format": "int32", "readOnly": true } }, "additionalProperties": false, "description": "分页结果包装,携带列表与总条数等元数据。" }, "SystemParameterDtoPagedResultApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/SystemParameterDtoPagedResult" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "TenantAnnouncementDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "title": { "type": "string", "nullable": true }, "content": { "type": "string", "nullable": true }, "announcementType": { "$ref": "#/components/schemas/TenantAnnouncementType" }, "priority": { "type": "integer", "format": "int32" }, "effectiveFrom": { "type": "string", "format": "date-time" }, "effectiveTo": { "type": "string", "format": "date-time", "nullable": true }, "isActive": { "type": "boolean" }, "isRead": { "type": "boolean" }, "readAt": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "TenantAnnouncementDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/TenantAnnouncementDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "TenantAnnouncementDtoPagedResult": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/TenantAnnouncementDto" }, "description": "数据列表。", "nullable": true }, "page": { "type": "integer", "description": "当前页码,从 1 开始。", "format": "int32" }, "pageSize": { "type": "integer", "description": "每页条数。", "format": "int32" }, "totalCount": { "type": "integer", "description": "总条数。", "format": "int32" }, "totalPages": { "type": "integer", "description": "总页数。", "format": "int32", "readOnly": true } }, "additionalProperties": false, "description": "分页结果包装,携带列表与总条数等元数据。" }, "TenantAnnouncementDtoPagedResultApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/TenantAnnouncementDtoPagedResult" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "TenantAnnouncementType": { "enum": [ 0, 1, 2 ], "type": "integer", "description": "租户公告类型。", "format": "int32" }, "TenantAuditAction": { "enum": [ 1, 2, 3, 4, 5, 6, 7 ], "type": "integer", "description": "租户运营审核动作。", "format": "int32" }, "TenantAuditLogDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "action": { "$ref": "#/components/schemas/TenantAuditAction" }, "title": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "operatorName": { "type": "string", "nullable": true }, "previousStatus": { "$ref": "#/components/schemas/TenantStatus" }, "currentStatus": { "$ref": "#/components/schemas/TenantStatus" }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "TenantAuditLogDtoPagedResult": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/TenantAuditLogDto" }, "description": "数据列表。", "nullable": true }, "page": { "type": "integer", "description": "当前页码,从 1 开始。", "format": "int32" }, "pageSize": { "type": "integer", "description": "每页条数。", "format": "int32" }, "totalCount": { "type": "integer", "description": "总条数。", "format": "int32" }, "totalPages": { "type": "integer", "description": "总页数。", "format": "int32", "readOnly": true } }, "additionalProperties": false, "description": "分页结果包装,携带列表与总条数等元数据。" }, "TenantAuditLogDtoPagedResultApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/TenantAuditLogDtoPagedResult" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "TenantBillingDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "statementNo": { "type": "string", "nullable": true }, "periodStart": { "type": "string", "format": "date-time" }, "periodEnd": { "type": "string", "format": "date-time" }, "amountDue": { "type": "number", "format": "double" }, "amountPaid": { "type": "number", "format": "double" }, "status": { "$ref": "#/components/schemas/TenantBillingStatus" }, "dueDate": { "type": "string", "format": "date-time" }, "lineItemsJson": { "type": "string", "nullable": true } }, "additionalProperties": false }, "TenantBillingDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/TenantBillingDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "TenantBillingDtoPagedResult": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/TenantBillingDto" }, "description": "数据列表。", "nullable": true }, "page": { "type": "integer", "description": "当前页码,从 1 开始。", "format": "int32" }, "pageSize": { "type": "integer", "description": "每页条数。", "format": "int32" }, "totalCount": { "type": "integer", "description": "总条数。", "format": "int32" }, "totalPages": { "type": "integer", "description": "总页数。", "format": "int32", "readOnly": true } }, "additionalProperties": false, "description": "分页结果包装,携带列表与总条数等元数据。" }, "TenantBillingDtoPagedResultApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/TenantBillingDtoPagedResult" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "TenantBillingStatus": { "enum": [ 0, 1, 2, 3 ], "type": "integer", "description": "账单状态。", "format": "int32" }, "TenantDetailDto": { "type": "object", "properties": { "tenant": { "$ref": "#/components/schemas/TenantDto" }, "verification": { "$ref": "#/components/schemas/TenantVerificationDto" }, "subscription": { "$ref": "#/components/schemas/TenantSubscriptionDto" }, "package": { "$ref": "#/components/schemas/TenantPackageDto" } }, "additionalProperties": false }, "TenantDetailDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/TenantDetailDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "TenantDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "code": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "shortName": { "type": "string", "nullable": true }, "contactName": { "type": "string", "nullable": true }, "contactPhone": { "type": "string", "nullable": true }, "contactEmail": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/TenantStatus" }, "verificationStatus": { "$ref": "#/components/schemas/TenantVerificationStatus" }, "currentPackageId": { "type": "integer", "format": "int64", "nullable": true }, "effectiveFrom": { "type": "string", "format": "date-time", "nullable": true }, "effectiveTo": { "type": "string", "format": "date-time", "nullable": true }, "autoRenew": { "type": "boolean" } }, "additionalProperties": false }, "TenantDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/TenantDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "TenantDtoPagedResult": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/TenantDto" }, "description": "数据列表。", "nullable": true }, "page": { "type": "integer", "description": "当前页码,从 1 开始。", "format": "int32" }, "pageSize": { "type": "integer", "description": "每页条数。", "format": "int32" }, "totalCount": { "type": "integer", "description": "总条数。", "format": "int32" }, "totalPages": { "type": "integer", "description": "总页数。", "format": "int32", "readOnly": true } }, "additionalProperties": false, "description": "分页结果包装,携带列表与总条数等元数据。" }, "TenantDtoPagedResultApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/TenantDtoPagedResult" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "TenantNotificationChannel": { "enum": [ 0, 1, 2, 3 ], "type": "integer", "description": "通知推送渠道。", "format": "int32" }, "TenantNotificationDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "title": { "type": "string", "nullable": true }, "message": { "type": "string", "nullable": true }, "channel": { "$ref": "#/components/schemas/TenantNotificationChannel" }, "severity": { "$ref": "#/components/schemas/TenantNotificationSeverity" }, "sentAt": { "type": "string", "format": "date-time" }, "readAt": { "type": "string", "format": "date-time", "nullable": true }, "metadataJson": { "type": "string", "nullable": true } }, "additionalProperties": false }, "TenantNotificationDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/TenantNotificationDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "TenantNotificationDtoPagedResult": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/TenantNotificationDto" }, "description": "数据列表。", "nullable": true }, "page": { "type": "integer", "description": "当前页码,从 1 开始。", "format": "int32" }, "pageSize": { "type": "integer", "description": "每页条数。", "format": "int32" }, "totalCount": { "type": "integer", "description": "总条数。", "format": "int32" }, "totalPages": { "type": "integer", "description": "总页数。", "format": "int32", "readOnly": true } }, "additionalProperties": false, "description": "分页结果包装,携带列表与总条数等元数据。" }, "TenantNotificationDtoPagedResultApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/TenantNotificationDtoPagedResult" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "TenantNotificationSeverity": { "enum": [ 0, 1, 2 ], "type": "integer", "description": "租户通知的重要程度。", "format": "int32" }, "TenantPackageDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "packageType": { "$ref": "#/components/schemas/TenantPackageType" }, "monthlyPrice": { "type": "number", "format": "double", "nullable": true }, "yearlyPrice": { "type": "number", "format": "double", "nullable": true }, "maxStoreCount": { "type": "integer", "format": "int32", "nullable": true }, "maxAccountCount": { "type": "integer", "format": "int32", "nullable": true }, "maxStorageGb": { "type": "integer", "format": "int32", "nullable": true }, "maxSmsCredits": { "type": "integer", "format": "int32", "nullable": true }, "maxDeliveryOrders": { "type": "integer", "format": "int32", "nullable": true }, "featurePoliciesJson": { "type": "string", "nullable": true }, "isActive": { "type": "boolean" }, "sortOrder": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "TenantPackageDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/TenantPackageDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "TenantPackageDtoPagedResult": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/TenantPackageDto" }, "description": "数据列表。", "nullable": true }, "page": { "type": "integer", "description": "当前页码,从 1 开始。", "format": "int32" }, "pageSize": { "type": "integer", "description": "每页条数。", "format": "int32" }, "totalCount": { "type": "integer", "description": "总条数。", "format": "int32" }, "totalPages": { "type": "integer", "description": "总页数。", "format": "int32", "readOnly": true } }, "additionalProperties": false, "description": "分页结果包装,携带列表与总条数等元数据。" }, "TenantPackageDtoPagedResultApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/TenantPackageDtoPagedResult" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "TenantPackageType": { "enum": [ 0, 1, 2, 3 ], "type": "integer", "description": "套餐类型枚举。", "format": "int32" }, "TenantProgressDto": { "type": "object", "properties": { "tenantId": { "type": "integer", "format": "int64" }, "code": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/TenantStatus" }, "verificationStatus": { "$ref": "#/components/schemas/TenantVerificationStatus" }, "effectiveFrom": { "type": "string", "format": "date-time", "nullable": true }, "effectiveTo": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "TenantProgressDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/TenantProgressDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "TenantQuotaType": { "enum": [ 0, 1, 2, 3, 4, 5 ], "type": "integer", "description": "配额类型,覆盖容量及调用次数。", "format": "int32" }, "TenantStatus": { "enum": [ 0, 1, 2, 3, 4 ], "type": "integer", "description": "租户服务状态。", "format": "int32" }, "TenantSubscriptionDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "tenantPackageId": { "type": "integer", "format": "int64" }, "status": { "$ref": "#/components/schemas/SubscriptionStatus" }, "effectiveFrom": { "type": "string", "format": "date-time" }, "effectiveTo": { "type": "string", "format": "date-time" }, "nextBillingDate": { "type": "string", "format": "date-time", "nullable": true }, "autoRenew": { "type": "boolean" } }, "additionalProperties": false }, "TenantSubscriptionDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/TenantSubscriptionDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "TenantVerificationDto": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "status": { "$ref": "#/components/schemas/TenantVerificationStatus" }, "businessLicenseNumber": { "type": "string", "nullable": true }, "businessLicenseUrl": { "type": "string", "nullable": true }, "legalPersonName": { "type": "string", "nullable": true }, "legalPersonIdNumber": { "type": "string", "nullable": true }, "legalPersonIdFrontUrl": { "type": "string", "nullable": true }, "legalPersonIdBackUrl": { "type": "string", "nullable": true }, "bankAccountName": { "type": "string", "nullable": true }, "bankAccountNumber": { "type": "string", "nullable": true }, "bankName": { "type": "string", "nullable": true }, "additionalDataJson": { "type": "string", "nullable": true }, "submittedAt": { "type": "string", "format": "date-time", "nullable": true }, "reviewedBy": { "type": "integer", "format": "int64", "nullable": true }, "reviewRemarks": { "type": "string", "nullable": true }, "reviewedByName": { "type": "string", "nullable": true }, "reviewedAt": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "TenantVerificationDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/TenantVerificationDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "TenantVerificationStatus": { "enum": [ 0, 1, 2, 3 ], "type": "integer", "description": "租户实名认证状态。", "format": "int32" }, "TokenResponse": { "type": "object", "properties": { "accessToken": { "type": "string", "nullable": true }, "accessTokenExpiresAt": { "type": "string", "format": "date-time" }, "refreshToken": { "type": "string", "nullable": true }, "refreshTokenExpiresAt": { "type": "string", "format": "date-time" }, "user": { "$ref": "#/components/schemas/CurrentUserProfile" }, "isNewUser": { "type": "boolean" } }, "additionalProperties": false }, "TokenResponseApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/TokenResponse" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "UnpublishProductCommand": { "type": "object", "properties": { "productId": { "type": "integer", "format": "int64" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "UpdateDeliveryOrderCommand": { "type": "object", "properties": { "deliveryOrderId": { "type": "integer", "format": "int64" }, "orderId": { "type": "integer", "format": "int64" }, "provider": { "$ref": "#/components/schemas/DeliveryProvider" }, "providerOrderId": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/DeliveryStatus" }, "deliveryFee": { "type": "number", "format": "double", "nullable": true }, "courierName": { "type": "string", "nullable": true }, "courierPhone": { "type": "string", "nullable": true }, "dispatchedAt": { "type": "string", "format": "date-time", "nullable": true }, "pickedUpAt": { "type": "string", "format": "date-time", "nullable": true }, "deliveredAt": { "type": "string", "format": "date-time", "nullable": true }, "failureReason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "UpdateDictionaryGroupRequest": { "required": [ "name" ], "type": "object", "properties": { "name": { "maxLength": 128, "minLength": 1, "type": "string" }, "description": { "maxLength": 512, "type": "string", "nullable": true }, "isEnabled": { "type": "boolean" } }, "additionalProperties": false }, "UpdateDictionaryItemRequest": { "required": [ "value" ], "type": "object", "properties": { "value": { "maxLength": 256, "minLength": 1, "type": "string" }, "isDefault": { "type": "boolean" }, "isEnabled": { "type": "boolean" }, "sortOrder": { "type": "integer", "format": "int32" }, "description": { "maxLength": 512, "type": "string", "nullable": true } }, "additionalProperties": false }, "UpdateMenuCommand": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "parentId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "path": { "type": "string", "nullable": true }, "component": { "type": "string", "nullable": true }, "title": { "type": "string", "nullable": true }, "icon": { "type": "string", "nullable": true }, "isIframe": { "type": "boolean" }, "link": { "type": "string", "nullable": true }, "keepAlive": { "type": "boolean" }, "sortOrder": { "type": "integer", "format": "int32" }, "requiredPermissions": { "type": "array", "items": { "type": "string" }, "nullable": true }, "metaPermissions": { "type": "array", "items": { "type": "string" }, "nullable": true }, "metaRoles": { "type": "array", "items": { "type": "string" }, "nullable": true }, "authList": { "type": "array", "items": { "$ref": "#/components/schemas/MenuAuthItemDto" }, "nullable": true } }, "additionalProperties": false }, "UpdateMerchantCommand": { "type": "object", "properties": { "merchantId": { "type": "integer", "format": "int64" }, "brandName": { "type": "string", "nullable": true }, "brandAlias": { "type": "string", "nullable": true }, "logoUrl": { "type": "string", "nullable": true }, "category": { "type": "string", "nullable": true }, "contactPhone": { "type": "string", "nullable": true }, "contactEmail": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/MerchantStatus" } }, "additionalProperties": false }, "UpdateMerchantContractStatusCommand": { "required": [ "contractId", "merchantId", "status" ], "type": "object", "properties": { "merchantId": { "type": "integer", "format": "int64" }, "contractId": { "type": "integer", "format": "int64" }, "status": { "$ref": "#/components/schemas/ContractStatus" }, "signedAt": { "type": "string", "format": "date-time", "nullable": true }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "UpdateOrderCommand": { "type": "object", "properties": { "orderId": { "type": "integer", "format": "int64" }, "orderNo": { "type": "string", "nullable": true }, "storeId": { "type": "integer", "format": "int64" }, "channel": { "$ref": "#/components/schemas/OrderChannel" }, "deliveryType": { "$ref": "#/components/schemas/DeliveryType" }, "status": { "$ref": "#/components/schemas/OrderStatus" }, "paymentStatus": { "$ref": "#/components/schemas/PaymentStatus" }, "customerName": { "type": "string", "nullable": true }, "customerPhone": { "type": "string", "nullable": true }, "tableNo": { "type": "string", "nullable": true }, "queueNumber": { "type": "string", "nullable": true }, "reservationId": { "type": "integer", "format": "int64", "nullable": true }, "itemsAmount": { "type": "number", "format": "double" }, "discountAmount": { "type": "number", "format": "double" }, "payableAmount": { "type": "number", "format": "double" }, "paidAmount": { "type": "number", "format": "double" }, "paidAt": { "type": "string", "format": "date-time", "nullable": true }, "finishedAt": { "type": "string", "format": "date-time", "nullable": true }, "cancelledAt": { "type": "string", "format": "date-time", "nullable": true }, "cancelReason": { "type": "string", "nullable": true }, "remark": { "type": "string", "nullable": true } }, "additionalProperties": false }, "UpdatePaymentCommand": { "type": "object", "properties": { "paymentId": { "type": "integer", "format": "int64" }, "orderId": { "type": "integer", "format": "int64" }, "method": { "$ref": "#/components/schemas/PaymentMethod" }, "status": { "$ref": "#/components/schemas/PaymentStatus" }, "amount": { "type": "number", "format": "double" }, "tradeNo": { "type": "string", "nullable": true }, "channelTransactionId": { "type": "string", "nullable": true }, "paidAt": { "type": "string", "format": "date-time", "nullable": true }, "remark": { "type": "string", "nullable": true }, "payload": { "type": "string", "nullable": true } }, "additionalProperties": false }, "UpdatePermissionCommand": { "type": "object", "properties": { "permissionId": { "type": "integer", "format": "int64" }, "parentId": { "type": "integer", "format": "int64" }, "sortOrder": { "type": "integer", "format": "int32" }, "type": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "UpdateProductCommand": { "type": "object", "properties": { "productId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "categoryId": { "type": "integer", "format": "int64" }, "spuCode": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "subtitle": { "type": "string", "nullable": true }, "unit": { "type": "string", "nullable": true }, "price": { "type": "number", "format": "double" }, "originalPrice": { "type": "number", "format": "double", "nullable": true }, "stockQuantity": { "type": "integer", "format": "int32", "nullable": true }, "maxQuantityPerOrder": { "type": "integer", "format": "int32", "nullable": true }, "status": { "$ref": "#/components/schemas/ProductStatus" }, "coverImage": { "type": "string", "nullable": true }, "galleryImages": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "enableDineIn": { "type": "boolean" }, "enablePickup": { "type": "boolean" }, "enableDelivery": { "type": "boolean" }, "isFeatured": { "type": "boolean" } }, "additionalProperties": false }, "UpdateRoleCommand": { "type": "object", "properties": { "roleId": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64", "nullable": true }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "UpdateRoleTemplateCommand": { "type": "object", "properties": { "templateCode": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "isActive": { "type": "boolean" }, "permissionCodes": { "type": "array", "items": { "type": "string" }, "nullable": true } }, "additionalProperties": false }, "UpdateStoreBusinessHourCommand": { "type": "object", "properties": { "businessHourId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "dayOfWeek": { "$ref": "#/components/schemas/DayOfWeek" }, "hourType": { "$ref": "#/components/schemas/BusinessHourType" }, "startTime": { "type": "string", "format": "date-span" }, "endTime": { "type": "string", "format": "date-span" }, "capacityLimit": { "type": "integer", "format": "int32", "nullable": true }, "notes": { "type": "string", "nullable": true } }, "additionalProperties": false }, "UpdateStoreCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "merchantId": { "type": "integer", "format": "int64" }, "code": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "phone": { "type": "string", "nullable": true }, "managerName": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/StoreStatus" }, "province": { "type": "string", "nullable": true }, "city": { "type": "string", "nullable": true }, "district": { "type": "string", "nullable": true }, "address": { "type": "string", "nullable": true }, "longitude": { "type": "number", "format": "double", "nullable": true }, "latitude": { "type": "number", "format": "double", "nullable": true }, "announcement": { "type": "string", "nullable": true }, "tags": { "type": "string", "nullable": true }, "deliveryRadiusKm": { "type": "number", "format": "double" }, "supportsDineIn": { "type": "boolean" }, "supportsPickup": { "type": "boolean" }, "supportsDelivery": { "type": "boolean" }, "supportsReservation": { "type": "boolean" }, "supportsQueueing": { "type": "boolean" } }, "additionalProperties": false }, "UpdateStoreDeliveryZoneCommand": { "type": "object", "properties": { "deliveryZoneId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "zoneName": { "type": "string", "nullable": true }, "polygonGeoJson": { "type": "string", "nullable": true }, "minimumOrderAmount": { "type": "number", "format": "double", "nullable": true }, "deliveryFee": { "type": "number", "format": "double", "nullable": true }, "estimatedMinutes": { "type": "integer", "format": "int32", "nullable": true }, "sortOrder": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "UpdateStoreEmployeeShiftCommand": { "type": "object", "properties": { "shiftId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "staffId": { "type": "integer", "format": "int64" }, "shiftDate": { "type": "string", "format": "date-time" }, "startTime": { "type": "string", "format": "date-span" }, "endTime": { "type": "string", "format": "date-span" }, "roleType": { "$ref": "#/components/schemas/StaffRoleType" }, "notes": { "type": "string", "nullable": true } }, "additionalProperties": false }, "UpdateStoreHolidayCommand": { "type": "object", "properties": { "holidayId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "date": { "type": "string", "format": "date-time" }, "isClosed": { "type": "boolean" }, "reason": { "type": "string", "nullable": true } }, "additionalProperties": false }, "UpdateStorePickupSlotCommand": { "type": "object", "properties": { "slotId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "startTime": { "type": "string", "format": "date-span" }, "endTime": { "type": "string", "format": "date-span" }, "cutoffMinutes": { "type": "integer", "format": "int32" }, "capacity": { "type": "integer", "format": "int32" }, "weekdays": { "type": "string", "nullable": true }, "isEnabled": { "type": "boolean" } }, "additionalProperties": false }, "UpdateStoreStaffCommand": { "type": "object", "properties": { "staffId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "phone": { "type": "string", "nullable": true }, "email": { "type": "string", "nullable": true }, "roleType": { "$ref": "#/components/schemas/StaffRoleType" }, "status": { "$ref": "#/components/schemas/StaffStatus" } }, "additionalProperties": false }, "UpdateStoreTableAreaCommand": { "type": "object", "properties": { "areaId": { "type": "integer", "format": "int64" }, "storeId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "sortOrder": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "UpdateStoreTableCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "tableId": { "type": "integer", "format": "int64" }, "areaId": { "type": "integer", "format": "int64", "nullable": true }, "tableCode": { "type": "string", "nullable": true }, "capacity": { "type": "integer", "format": "int32" }, "tags": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/StoreTableStatus" } }, "additionalProperties": false }, "UpdateSystemParameterCommand": { "type": "object", "properties": { "parameterId": { "type": "integer", "format": "int64" }, "key": { "type": "string", "nullable": true }, "value": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "sortOrder": { "type": "integer", "format": "int32" }, "isEnabled": { "type": "boolean" } }, "additionalProperties": false }, "UpdateTenantAnnouncementCommand": { "type": "object", "properties": { "tenantId": { "type": "integer", "format": "int64" }, "announcementId": { "type": "integer", "format": "int64" }, "title": { "type": "string", "nullable": true }, "content": { "type": "string", "nullable": true }, "announcementType": { "$ref": "#/components/schemas/TenantAnnouncementType" }, "priority": { "type": "integer", "format": "int32" }, "effectiveFrom": { "type": "string", "format": "date-time" }, "effectiveTo": { "type": "string", "format": "date-time", "nullable": true }, "isActive": { "type": "boolean" } }, "additionalProperties": false }, "UpdateTenantPackageCommand": { "type": "object", "properties": { "tenantPackageId": { "type": "integer", "format": "int64" }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "packageType": { "$ref": "#/components/schemas/TenantPackageType" }, "monthlyPrice": { "type": "number", "format": "double", "nullable": true }, "yearlyPrice": { "type": "number", "format": "double", "nullable": true }, "maxStoreCount": { "type": "integer", "format": "int32", "nullable": true }, "maxAccountCount": { "type": "integer", "format": "int32", "nullable": true }, "maxStorageGb": { "type": "integer", "format": "int32", "nullable": true }, "maxSmsCredits": { "type": "integer", "format": "int32", "nullable": true }, "maxDeliveryOrders": { "type": "integer", "format": "int32", "nullable": true }, "featurePoliciesJson": { "type": "string", "nullable": true }, "isActive": { "type": "boolean" }, "sortOrder": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "UpsertInventoryBatchCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "productSkuId": { "type": "integer", "format": "int64" }, "batchNumber": { "type": "string", "nullable": true }, "productionDate": { "type": "string", "format": "date-time", "nullable": true }, "expireDate": { "type": "string", "format": "date-time", "nullable": true }, "quantity": { "type": "integer", "format": "int32" }, "remainingQuantity": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "UpsertStorePickupSettingCommand": { "type": "object", "properties": { "storeId": { "type": "integer", "format": "int64" }, "allowToday": { "type": "boolean" }, "allowDaysAhead": { "type": "integer", "format": "int32" }, "defaultCutoffMinutes": { "type": "integer", "format": "int32" }, "maxQuantityPerOrder": { "type": "integer", "format": "int32", "nullable": true } }, "additionalProperties": false }, "UserPermissionDto": { "type": "object", "properties": { "userId": { "type": "integer", "format": "int64" }, "tenantId": { "type": "integer", "format": "int64" }, "merchantId": { "type": "integer", "format": "int64", "nullable": true }, "account": { "type": "string", "nullable": true }, "displayName": { "type": "string", "nullable": true }, "roles": { "type": "array", "items": { "type": "string" }, "nullable": true }, "permissions": { "type": "array", "items": { "type": "string" }, "nullable": true }, "createdAt": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "UserPermissionDtoApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/UserPermissionDto" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" }, "UserPermissionDtoPagedResult": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/UserPermissionDto" }, "description": "数据列表。", "nullable": true }, "page": { "type": "integer", "description": "当前页码,从 1 开始。", "format": "int32" }, "pageSize": { "type": "integer", "description": "每页条数。", "format": "int32" }, "totalCount": { "type": "integer", "description": "总条数。", "format": "int32" }, "totalPages": { "type": "integer", "description": "总页数。", "format": "int32", "readOnly": true } }, "additionalProperties": false, "description": "分页结果包装,携带列表与总条数等元数据。" }, "UserPermissionDtoPagedResultApiResponse": { "type": "object", "properties": { "success": { "type": "boolean", "description": "是否成功。" }, "code": { "type": "integer", "description": "状态/错误码(默认 200)。", "format": "int32" }, "message": { "type": "string", "description": "提示信息。", "nullable": true }, "data": { "$ref": "#/components/schemas/UserPermissionDtoPagedResult" }, "errors": { "description": "错误详情(如字段验证错误)。", "nullable": true }, "traceId": { "type": "string", "description": "TraceId,便于链路追踪。", "nullable": true }, "timestamp": { "type": "string", "description": "时间戳(UTC)。", "format": "date-time" } }, "additionalProperties": false, "description": "统一的 API 返回结果包装。" } }, "securitySchemes": { "Bearer": { "type": "http", "description": "在下方输入Bearer Token,格式:Bearer {token}", "scheme": "bearer", "bearerFormat": "JWT" } } }, "security": [ { "Bearer": [ ] } ], "tags": [ { "name": "Auth", "description": "管理后台认证接口" }, { "name": "Deliveries", "description": "配送单管理。" }, { "name": "Dictionary", "description": "参数字典管理。" }, { "name": "Files", "description": "管理后台文件上传。" }, { "name": "Health", "description": "管理后台 - 健康检查。" }, { "name": "Inventory", "description": "库存管理。" }, { "name": "Menus", "description": "菜单管理(可增删改查)。" }, { "name": "MerchantCategories", "description": "商户类目管理。" }, { "name": "Merchants", "description": "商户管理。" }, { "name": "Orders", "description": "订单管理。" }, { "name": "Payments", "description": "支付记录管理。" }, { "name": "Permissions", "description": "权限管理。" }, { "name": "Products", "description": "商品管理。" }, { "name": "PublicTenantPackages", "description": "公共租户套餐查询接口。" }, { "name": "PublicTenants", "description": "公域租户自助入住接口。" }, { "name": "PublicTenantSubscriptions", "description": "公域租户订阅自助接口(需登录,无权限校验)。" }, { "name": "RoleTemplates", "description": "角色模板管理(平台蓝本)。" }, { "name": "StorePickup", "description": "门店自提管理。" }, { "name": "Stores", "description": "门店管理。" }, { "name": "StoreShifts", "description": "门店排班管理。" }, { "name": "StoreStaffs", "description": "门店员工管理。" }, { "name": "StoreTableAreas", "description": "门店桌台区域管理。" }, { "name": "StoreTables", "description": "门店桌码管理。" }, { "name": "SystemParameters", "description": "系统参数管理。" }, { "name": "TenantAnnouncements", "description": "租户公告管理。" }, { "name": "TenantBillings", "description": "租户账单管理。" }, { "name": "TenantNotifications", "description": "租户通知接口。" }, { "name": "TenantPackages", "description": "租户套餐管理。" }, { "name": "TenantRoles", "description": "租户角色管理(实例层)。" }, { "name": "Tenants", "description": "租户管理。" }, { "name": "UserPermissions", "description": "用户权限洞察接口。" } ] }