Files
TakeoutSaaS.TenantApi/Document/swagger/swagger20251215095917.json

19254 lines
500 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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/login/simple": {
"post": {
"tags": [
"Auth"
],
"summary": "免租户号登录(仅账号+密码)。",
"description": "用于前端简化登录,无需额外传递租户号。",
"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 <JWT>\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 <JWT>\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 <JWT>\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": [
"account",
"password"
],
"type": "object",
"properties": {
"account": {
"maxLength": 64,
"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": "用户权限洞察接口。"
}
]
}