diff --git a/backend/app/api/v1/module_application/ai/__init__.py b/backend/app/api/v1/module_application/ai/__init__.py index 40a96afc..e69de29b 100644 --- a/backend/app/api/v1/module_application/ai/__init__.py +++ b/backend/app/api/v1/module_application/ai/__init__.py @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/backend/app/api/v1/module_application/ai/tools/agent_demo.py b/backend/app/api/v1/module_application/ai/tools/agent_demo.py new file mode 100644 index 00000000..51debea9 --- /dev/null +++ b/backend/app/api/v1/module_application/ai/tools/agent_demo.py @@ -0,0 +1,169 @@ +from dataclasses import dataclass +from typing import Any, Callable +from langchain.agents import AgentState, create_agent +from langchain.agents.middleware import ModelRequest, ModelResponse, after_model, before_model, dynamic_prompt, wrap_model_call +from langchain.messages import AIMessage, HumanMessage, RemoveMessage, SystemMessage +from langchain.tools import tool, ToolRuntime +from langchain.chat_models import init_chat_model +from langgraph.checkpoint.memory import InMemorySaver +from langchain.agents.structured_output import MultipleStructuredOutputsError, StructuredOutputValidationError, ToolStrategy +from langgraph.graph.message import REMOVE_ALL_MESSAGES +from langgraph.runtime import Runtime +from pydantic import BaseModel, Field + + +# =================定义提示词================= +SYSTEM_PROMPT = """You are an expert weather forecaster, who speaks in puns. + +You have access to two tools: + +- get_weather_for_location: use this to get the weather for a specific location +- get_user_location: use this to get the user's location + +If a user asks you for the weather, make sure you know the location. If you can tell from the question that they mean wherever they are, use the get_user_location tool to find their location. +""" + +# =================定义工具================= +@tool +def get_weather_for_location(city: str) -> str: + """Get weather for a given city.""" + return f"It's always sunny in {city}!" + +@dataclass +class Context: + """Custom runtime context schema.""" + user_id: str + +@tool +def get_user_location(runtime: ToolRuntime[Context]) -> str: + """Retrieve user information based on user ID.""" + user_id = runtime.context.user_id + return "Florida" if user_id == "1" else "SF" + + +# =================定义模型================= +model = init_chat_model( + "claude-sonnet-4-5-20250929", + temperature=0.5, + timeout=10, + max_tokens=1000 +) + + +# =================定义响应模型================= +class ResponseFormat(BaseModel): + """Response schema for the agent.""" + rating: int | None = Field(description="Rating from 1-5", ge=1, le=5) + comment: str = Field(description="Review comment") + punny_response: str + weather_conditions: str | None = None + +# =================定义存储记忆================= +checkpointer = InMemorySaver() + +# =================定义动态提示词================= +@dynamic_prompt +def dynamic_system_prompt(request: ModelRequest) -> str: + user_name = getattr(request.runtime.context, "user_name", "User") + system_prompt = f"You are a helpful assistant. Address the user as {user_name}." + return system_prompt + +@before_model +def trim_messages(state: AgentState, runtime: Runtime) -> dict[str, Any] | None: + """Keep only the last few messages to fit context window.""" + messages = state["messages"] + + if len(messages) <= 3: + return None # No changes needed + + first_msg = messages[0] + recent_messages = messages[-3:] if len(messages) % 2 == 0 else messages[-4:] + new_messages = [first_msg] + recent_messages + + return { + "messages": [ + RemoveMessage(id=REMOVE_ALL_MESSAGES), + *new_messages + ] + } + +@after_model +def validate_response(state: AgentState, runtime: Runtime) -> dict | None: + """Remove messages containing sensitive words.""" + STOP_WORDS = ["password", "secret"] + last_message = state["messages"][-1] + if any(word in last_message.content for word in STOP_WORDS): + return {"messages": [RemoveMessage(id=last_message.id or "")]} + return None + +@wrap_model_call +def inject_file_context( + request: ModelRequest, + handler: Callable[[ModelRequest], ModelResponse] +) -> ModelResponse: + """Inject context about files user has uploaded this session.""" + # Read from State: get uploaded files metadata + uploaded_files = request.state.get("uploaded_files", []) + + if uploaded_files: + # Build context about available files + file_descriptions = [] + for file in uploaded_files: + file_descriptions.append( + f"- {file['name']} ({file['type']}): {file['summary']}" + ) + + file_context = f"""Files you have access to in this conversation: +{chr(10).join(file_descriptions)} + +Reference these files when answering questions.""" + + # Inject file context before recent messages + messages = [ + *request.messages, + {"role": "user", "content": file_context}, + ] + request = request.override(messages=messages) + + +def custom_error_handler(error: Exception) -> str: + if isinstance(error, StructuredOutputValidationError): + return "There was an issue with the format. Try again." + elif isinstance(error, MultipleStructuredOutputsError): + return "Multiple structured outputs were returned. Pick the most relevant one." + else: + return f"Error: {str(error)}" + +# =================定义智能体================= +agent = create_agent( + model=model, + system_prompt=SYSTEM_PROMPT, + tools=[get_user_location, get_weather_for_location], + middleware=[dynamic_system_prompt, trim_messages, validate_response, inject_file_context], + context_schema=Context, + response_format=ToolStrategy(schema=ResponseFormat,handle_errors=(ValueError, TypeError, custom_error_handler)), + checkpointer=checkpointer +) + +# =================定义线程================= +config = {"configurable": {"thread_id": "1"}} + +messages = [ + SystemMessage("You are a poetry expert"), + HumanMessage("Write a haiku about spring"), + AIMessage("Cherry blossoms bloom...") +] + +# =================运行智能体================= +response = agent.invoke( + input=messages, + config=config, + context=Context(user_id="1") +) + +# =================解析响应================= +print(response['structured_response']) +# ResponseFormat( +# punny_response="Florida is still having a 'sun-derful' day! The sunshine is playing 'ray-dio' hits all day long! I'd say it's the perfect weather for some 'solar-bration'! If you were hoping for rain, I'm afraid that idea is all 'washed up' - the forecast remains 'clear-ly' brilliant!", +# weather_conditions="It's always sunny in Florida!" +# ) diff --git a/backend/app/api/v1/module_application/ai/tools/agent_message.py b/backend/app/api/v1/module_application/ai/tools/agent_message.py new file mode 100644 index 00000000..ddeced68 --- /dev/null +++ b/backend/app/api/v1/module_application/ai/tools/agent_message.py @@ -0,0 +1,111 @@ +""" 图像输入 """ +# From URL +message = { + "role": "user", + "content": [ + {"type": "text", "text": "Describe the content of this image."}, + {"type": "image", "url": "https://example.com/path/to/image.jpg"}, + ] +} + +# From base64 data +message = { + "role": "user", + "content": [ + {"type": "text", "text": "Describe the content of this image."}, + { + "type": "image", + "base64": "AAAAIGZ0eXBtcDQyAAAAAGlzb21tcDQyAAACAGlzb2...", + "mime_type": "image/jpeg", + }, + ] +} + +# From provider-managed File ID +message = { + "role": "user", + "content": [ + {"type": "text", "text": "Describe the content of this image."}, + {"type": "image", "file_id": "file-abc123"}, + ] +} + + +""" PDF文档输入 """ +# From URL +message = { + "role": "user", + "content": [ + {"type": "text", "text": "Describe the content of this document."}, + {"type": "file", "url": "https://example.com/path/to/document.pdf"}, + ] +} + +# From base64 data +message = { + "role": "user", + "content": [ + {"type": "text", "text": "Describe the content of this document."}, + { + "type": "file", + "base64": "AAAAIGZ0eXBtcDQyAAAAAGlzb21tcDQyAAACAGlzb2...", + "mime_type": "application/pdf", + }, + ] +} + +# From provider-managed File ID +message = { + "role": "user", + "content": [ + {"type": "text", "text": "Describe the content of this document."}, + {"type": "file", "file_id": "file-abc123"}, + ] +} + + +""" 音频输入 """ +# From base64 data +message = { + "role": "user", + "content": [ + {"type": "text", "text": "Describe the content of this audio."}, + { + "type": "audio", + "base64": "AAAAIGZ0eXBtcDQyAAAAAGlzb21tcDQyAAACAGlzb2...", + "mime_type": "audio/wav", + }, + ] +} + +# From provider-managed File ID +message = { + "role": "user", + "content": [ + {"type": "text", "text": "Describe the content of this audio."}, + {"type": "audio", "file_id": "file-abc123"}, + ] +} + +""" 视频输入 """ +# From base64 data +message = { + "role": "user", + "content": [ + {"type": "text", "text": "Describe the content of this video."}, + { + "type": "video", + "base64": "AAAAIGZ0eXBtcDQyAAAAAGlzb21tcDQyAAACAGlzb2...", + "mime_type": "video/mp4", + }, + ] +} + +# From provider-managed File ID +message = { + "role": "user", + "content": [ + {"type": "text", "text": "Describe the content of this video."}, + {"type": "video", "file_id": "file-abc123"}, + ] +} \ No newline at end of file diff --git a/backend/app/api/v1/module_application/ai/tools/ai_util.py b/backend/app/api/v1/module_application/ai/tools/ai_util.py index abcd7251..9989dda9 100644 --- a/backend/app/api/v1/module_application/ai/tools/ai_util.py +++ b/backend/app/api/v1/module_application/ai/tools/ai_util.py @@ -15,14 +15,42 @@ class AIClient: def __init__(self): # 使用LangChain的ChatOpenAI类 - self.client = ChatOpenAI( - api_key=settings.OPENAI_API_KEY, - base_url=settings.OPENAI_BASE_URL, + self.model = ChatOpenAI( + api_key=lambda: settings.OPENAI_API_KEY, model=settings.OPENAI_MODEL, + base_url=settings.OPENAI_BASE_URL, temperature=0.7, streaming=True ) + async def process(self, query: str) -> AsyncGenerator[str, Any]: + """ + 处理查询并返回流式响应 + + 参数: + - query (str): 用户查询。 + + 返回: + - AsyncGenerator[str, Any]: 流式响应内容。 + """ + system_prompt = """你是一个有用的AI助手,可以帮助用户回答问题和提供帮助。请用中文回答用户的问题。""" + + try: + # 使用LangChain的异步流式生成 + messages = [ + SystemMessage(content=system_prompt), + HumanMessage(content=query) + ] + + # 使用LangChain的流式响应 + async for chunk in self.model.astream(messages): + yield chunk.text + + except Exception as e: + # 记录详细错误,返回友好提示 + log.error(f"AI处理查询失败: {str(e)}") + yield self._friendly_error_message(e) + def _friendly_error_message(self, e: Exception) -> str: """将 OpenAI 或网络异常转换为友好的中文提示。""" # 尝试获取状态码与错误体 @@ -66,38 +94,3 @@ class AIClient: # 默认兜底 return f"处理您的请求时出现错误:{msg}" - - async def process(self, query: str) -> AsyncGenerator[str, Any]: - """ - 处理查询并返回流式响应 - - 参数: - - query (str): 用户查询。 - - 返回: - - AsyncGenerator[str, Any]: 流式响应内容。 - """ - system_prompt = """你是一个有用的AI助手,可以帮助用户回答问题和提供帮助。请用中文回答用户的问题。""" - - try: - # 使用LangChain的异步流式生成 - messages = [ - SystemMessage(content=system_prompt), - HumanMessage(content=query) - ] - - # 使用LangChain的流式响应 - async for chunk in self.client.astream(messages): - if chunk.content: - # 确保只返回字符串类型 - if isinstance(chunk.content, str): - yield chunk.content - elif isinstance(chunk.content, (list, dict)): - # 处理列表或字典类型的内容 - import json - yield json.dumps(chunk.content) - - except Exception as e: - # 记录详细错误,返回友好提示 - log.error(f"AI处理查询失败: {str(e)}") - yield self._friendly_error_message(e) diff --git a/backend/app/api/v1/module_application/ai/tools/mcp_client.py b/backend/app/api/v1/module_application/ai/tools/mcp_client.py new file mode 100644 index 00000000..4ce9425d --- /dev/null +++ b/backend/app/api/v1/module_application/ai/tools/mcp_client.py @@ -0,0 +1,65 @@ +import asyncio +from fastmcp import Client +from fastmcp import FastMCP +import asyncio + +# 转换为 MCP 服务器 +mcp = FastMCP.from_fastapi(app=app) + +async def demo(): + async with Client(mcp) as client: + # 列出可用工具 + tools = await client.list_tools() + for tool in tools: + print(f"工具: {tool.name}") + print(f"描述: {tool.description}") + if tool.inputSchema: + print(f"参数: {tool.inputSchema}") + # 访问标签和其他元数据 + if hasattr(tool, 'meta') and tool.meta: + fastmcp_meta = tool.meta.get('_fastmcp', {}) + print(f"标签: {fastmcp_meta.get('tags', [])}") + + resources = await client.list_resources() + for resource in resources: + print(f"资源 URI: {resource.uri}") + print(f"名称: {resource.name}") + print(f"描述: {resource.description}") + print(f"MIME 类型: {resource.mimeType}") + # 访问标签和其他元数据 + if hasattr(resource, '_meta') and resource._meta: + fastmcp_meta = resource._meta.get('_fastmcp', {}) + print(f"标签: {fastmcp_meta.get('tags', [])}") + + prompts = await client.list_prompts() + for prompt in prompts: + print(f"提示: {prompt.name}") + print(f"描述: {prompt.description}") + if prompt.arguments: + print(f"参数: {[arg.name for arg in prompt.arguments]}") + # 访问标签和其他元数据 + if hasattr(prompt, '_meta') and prompt._meta: + fastmcp_meta = prompt._meta.get('_fastmcp', {}) + print(f"标签: {fastmcp_meta.get('tags', [])}") + + # 创建产品 + result = await client.call_tool( + "create_product_products_post", + { + "name": "无线键盘", + "price": 79.99, + "category": "电子产品", + "description": "蓝牙机械键盘" + } + ) + print(f"已创建产品: {result.data}") + + # 列出价格低于 $100 的电子产品 + result = await client.call_tool( + "list_products_products_get", + {"category": "电子产品", "max_price": 100} + ) + print(f"经济实惠的电子产品: {result.data}") + +if __name__ == "__main__": + asyncio.run(demo()) \ No newline at end of file diff --git a/backend/app/api/v1/module_application/ai/tools/mcp_server.py b/backend/app/api/v1/module_application/ai/tools/mcp_server.py new file mode 100644 index 00000000..277e10d5 --- /dev/null +++ b/backend/app/api/v1/module_application/ai/tools/mcp_server.py @@ -0,0 +1,49 @@ +from fastmcp import FastMCP +from fastmcp.prompts.prompt import Message +from mcp.types import PromptMessage, TextContent + +app = FastMCP("Math") +mcp = FastMCP.from_fastapi(app=app) + +@mcp.tool() +def add(a: int, b: int) -> int: + """Add two numbers""" + return a + b + +@mcp.tool() +def multiply(a: int, b: int) -> int: + """Multiply two numbers""" + return a * b + +# 返回字符串的基本动态资源 +@mcp.resource("resource://greeting") +def get_greeting() -> str: + """提供简单的问候消息。""" + return "Hello from FastMCP Resources!" + +# 返回 JSON 数据的资源(字典会自动序列化) +@mcp.resource("data://config") +def get_config() -> dict: + """以 JSON 形式提供应用程序配置。""" + return { + "theme": "dark", + "version": "1.2.0", + "features": ["tools", "resources"], + } + +# 返回字符串的基本提示(自动转换为用户消息) +@mcp.prompt +def ask_about_topic(topic: str) -> str: + """生成询问主题解释的用户消息。""" + return f"Can you please explain the concept of '{topic}'?" + +# 返回特定消息类型的提示 +@mcp.prompt +def generate_code_request(language: str, task_description: str) -> PromptMessage: + """生成请求代码生成的用户消息。""" + content = f"Write a {language} function that performs the following task: {task_description}" + return PromptMessage(role="user", content=TextContent(type="text", text=content)) + +if __name__ == "__main__": + mcp.run(transport="stdio") + # fastmcp run my_server.py:mcp --transport http --port 8000 \ No newline at end of file diff --git a/backend/app/api/v1/module_application/job/tools/ap_scheduler.py b/backend/app/api/v1/module_application/job/tools/ap_scheduler.py index 5545fda6..adc337aa 100644 --- a/backend/app/api/v1/module_application/job/tools/ap_scheduler.py +++ b/backend/app/api/v1/module_application/job/tools/ap_scheduler.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- -import asyncio import json import importlib from datetime import datetime @@ -17,12 +16,14 @@ from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore from apscheduler.triggers.cron import CronTrigger from apscheduler.triggers.date import DateTrigger from apscheduler.triggers.interval import IntervalTrigger -from concurrent.futures import ThreadPoolExecutor +from redis.asyncio.client import Redis +from app.common.enums import RedisInitKeyConfig from app.config.setting import settings from app.core.database import engine, db_session, async_db_session from app.core.exceptions import CustomException from app.core.logger import log +from app.core.redis_crud import RedisCURD from app.utils.cron_util import CronUtil from app.api.v1.module_application.job.model import JobModel @@ -61,6 +62,8 @@ class SchedulerUtil: """ 定时任务相关方法 """ + # 类变量,存储应用的Redis连接 + redis_instance = None @classmethod def scheduler_event_listener(cls, event: JobEvent | JobExecutionEvent) -> None: """ @@ -82,42 +85,27 @@ class SchedulerUtil: # 获取事件类型和任务ID event_type = event.__class__.__name__ # 初始化任务状态 - status = True + status = "0" exception_info = '' if isinstance(event, JobExecutionEvent) and event.exception: exception_info = str(event.exception) - status = False + status = "1" if hasattr(event, 'job_id'): job_id = event.job_id query_job = cls.get_job(job_id=job_id) if query_job: - query_job_info = query_job.__getstate__() - # 获取任务名称 - job_name = query_job_info.get('name') - # 获取任务组名 - job_group = query_job._jobstore_alias - # # 获取任务执行器 - job_executor = query_job_info.get('executor') - # 获取调用目标字符串 - invoke_target = query_job_info.get('func') - # 获取调用函数位置参数 - job_args = ','.join(map(str, query_job_info.get('args', []))) - # 获取调用函数关键字参数 - job_kwargs = json.dumps(query_job_info.get('kwargs')) - # 获取任务触发器 - job_trigger = str(query_job_info.get('trigger')) - # 构造日志消息 - job_message = f"事件类型: {event_type}, 任务ID: {job_id}, 任务名称: {job_name}, 状态: {status}, 任务组: {job_group}, 错误详情: {exception_info}, 执行于{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}" - - # 创建ORM对象 + job_message = (f"事件类型: {event_type}, 任务ID: {job_id}, " + f"状态: {status}, 错误详情: {exception_info}, " + f"执行于{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}") + job_log = JobLogModel( - job_name=job_name, - job_group=job_group, - job_executor=job_executor, - invoke_target=invoke_target, - job_args=job_args, - job_kwargs=job_kwargs, - job_trigger=job_trigger, + job_name=query_job.name, + job_group=query_job._jobstore_alias, + job_executor=query_job.executor, + invoke_target=query_job.func.__module__ + '.' + query_job.func.__qualname__, + job_args=str(query_job.args), + job_kwargs=str(query_job.kwargs), + job_trigger=query_job.trigger, job_message=job_message, status=status, exception_info=exception_info, @@ -125,35 +113,16 @@ class SchedulerUtil: updated_time=datetime.now(), job_id=job_id, ) - - # 使用线程池执行操作以避免阻塞调度器和数据库锁定问题 - executor = ThreadPoolExecutor(max_workers=1) - executor.submit(cls._save_job_log_async_wrapper, job_log) - executor.shutdown(wait=False) + + with db_session.begin() as session: + try: + session.add(job_log) + session.commit() + except Exception as e: + session.rollback() @classmethod - def _save_job_log_async_wrapper(cls, job_log) -> None: - """ - 异步保存任务日志的包装器函数,在独立线程中运行 - - 参数: - - job_log (JobLogModel): 任务日志对象 - - 返回: - - None - """ - with db_session.begin() as session: - try: - session.add(job_log) - session.commit() - except Exception as e: - session.rollback() - log.error(f"保存任务日志失败: {str(e)}") - finally: - session.close() - - @classmethod - async def init_system_scheduler(cls) -> None: + async def init_system_scheduler(cls, redis: Redis) -> None: """ 应用启动时初始化定时任务。 @@ -164,33 +133,21 @@ class SchedulerUtil: from app.api.v1.module_application.job.crud import JobCRUD from app.api.v1.module_system.auth.schema import AuthSchema log.info('🔎 开始启动定时任务...') - + # 保存Redis连接到类变量 + cls.redis_instance = redis # 启动调度器 scheduler.start() - # 添加事件监听器 scheduler.add_listener(cls.scheduler_event_listener, EVENT_ALL) - async with async_db_session() as session: async with session.begin(): auth = AuthSchema(db=session) job_list = await JobCRUD(auth).get_obj_list_crud() - - # 只在一个实例上初始化任务 # 使用Redis锁确保只有一个实例执行任务初始化 - import redis.asyncio as redis - redis_client = redis.Redis( - host=settings.REDIS_HOST, - port=int(settings.REDIS_PORT), - username=settings.REDIS_USER, - password=settings.REDIS_PASSWORD, - db=int(settings.REDIS_DB_NAME), - ) - + redis_client = RedisCURD(redis) + lock_key = f'{RedisInitKeyConfig.APSCHEDULER_LOCK_KEY.key}:job' # 尝试获取锁,过期时间10秒 - lock_key = "scheduler_init_lock" - lock_acquired = await redis_client.set(lock_key, "1", ex=10, nx=True) - + lock_acquired, lock_value = await redis_client.lock(lock_key, 10) if lock_acquired: try: for item in job_list: @@ -198,18 +155,16 @@ class SchedulerUtil: existing_job = cls.get_job(job_id=item.id) if existing_job: cls.remove_job(job_id=item.id) # 删除旧任务 - # 添加新任务 cls.add_job(item) - # 根据数据库中保存的状态来设置任务状态 - if hasattr(item, 'status') and item.status == "1": + if item.status == "1": # 如果任务状态为暂停,则立即暂停刚添加的任务 cls.pause_job(job_id=item.id) log.info('✅️ 系统初始定时任务加载成功') finally: # 释放锁 - await redis_client.delete(lock_key) + await redis_client.unlock(lock_key, lock_value) else: # 等待其他实例完成初始化 import asyncio @@ -259,34 +214,45 @@ class SchedulerUtil: @classmethod async def _task_wrapper(cls, func, job_id, *args, **kwargs): """任务执行包装器,添加分布式锁防止并发执行""" - from redis.asyncio import Redis - from app.config.setting import settings - from app.core.logger import log + import asyncio + # 使用类变量中的Redis连接 + if not cls.redis_instance: + log.error(f"任务 {job_id} 执行失败:Redis连接未初始化") + return None + + redis_client = RedisCURD(redis=cls.redis_instance) + lock_key = f"{RedisInitKeyConfig.APSCHEDULER_LOCK_KEY.key}:{job_id}" + lock_acquired = False + lock_value = "" + renewal_task = None - # 使用项目配置创建Redis连接池 - redis_client = Redis( - host=settings.REDIS_HOST, - port=int(settings.REDIS_PORT), - username=settings.REDIS_USER, - password=settings.REDIS_PASSWORD, - db=int(settings.REDIS_DB_NAME), - encoding='utf-8', - decode_responses=True, - health_check_interval=20, - max_connections=settings.POOL_SIZE, - socket_timeout=settings.POOL_TIMEOUT - ) - - lock_key = f"job_lock:{job_id}" - lock_expire = 30 # 锁过期时间,根据任务实际执行时间调整 - lock_acquired = None + # 定义锁续约函数 + async def renew_lock(): + """定期续约锁的过期时间""" + try: + while True: + # 等待锁过期时间的2/3后进行续约 + await asyncio.sleep(20) # 30秒的2/3 + # 使用redis_client.renew_lock续约锁,验证锁持有者 + success = await redis_client.renew_lock(lock_key, 30, lock_value) + if success: + log.info(f"任务 {job_id} 锁续约成功") + else: + log.warning(f"任务 {job_id} 锁续约失败:锁可能已被其他实例获取") + break + except asyncio.CancelledError: + log.info(f"任务 {job_id} 锁续约任务已取消") + except Exception as e: + log.error(f"任务 {job_id} 锁续约失败: {str(e)}") try: - # 获取分布式锁,使用nx=True确保原子性操作 - lock_acquired = await redis_client.set(lock_key, "1", ex=lock_expire, nx=True) - + # 获取分布式锁,使用原子性的lock方法 + lock_acquired, lock_value = await redis_client.lock(lock_key, 30) if lock_acquired: log.info(f"任务 {job_id} 获取执行锁成功") + # 启动锁续约任务 + renewal_task = asyncio.create_task(renew_lock()) + # 执行任务 if iscoroutinefunction(func): return await func(*args, **kwargs) @@ -295,7 +261,8 @@ class SchedulerUtil: log.info(f"任务 {job_id} 开始执行同步函数: {func.__name__}, 参数: {args}-{kwargs}") try: loop = asyncio.get_running_loop() - result = await loop.run_in_executor(None, func, *args, **kwargs) + # 使用lambda包装函数调用,以支持关键字参数 + result = await loop.run_in_executor(None, lambda: func(*args, **kwargs)) log.info(f"任务 {job_id} 同步函数执行完成,结果: {result}") return result except Exception as e: @@ -306,13 +273,19 @@ class SchedulerUtil: log.info(f"任务 {job_id} 获取执行锁失败,跳过本次执行") return None finally: + # 取消锁续约任务 + if renewal_task and not renewal_task.done(): + renewal_task.cancel() + try: + await renewal_task + except asyncio.CancelledError: + pass + # 释放锁 if lock_acquired: - await redis_client.delete(lock_key) + await redis_client.unlock(lock_key, lock_value) log.info(f"任务 {job_id} 释放执行锁") - # 关闭Redis连接 - await redis_client.close() - + @classmethod def add_job(cls, job_info: JobModel) -> Job: """ @@ -627,4 +600,4 @@ class SchedulerUtil: # 立即执行任务 scheduler.modify_job(job_id=str(job_id), next_run_time=datetime.now()) - log.info(f"任务 {job_id} 已设置为立即执行") \ No newline at end of file + log.info(f"任务 {job_id} 已设置为立即执行") diff --git a/backend/app/api/v1/module_gencode/__init__.py b/backend/app/api/v1/module_example/__init__.py similarity index 100% rename from backend/app/api/v1/module_gencode/__init__.py rename to backend/app/api/v1/module_example/__init__.py diff --git a/backend/app/api/v1/module_gencode/demo/__init__.py b/backend/app/api/v1/module_example/demo/__init__.py similarity index 100% rename from backend/app/api/v1/module_gencode/demo/__init__.py rename to backend/app/api/v1/module_example/demo/__init__.py diff --git a/backend/app/api/v1/module_gencode/demo/controller.py b/backend/app/api/v1/module_example/demo/controller.py similarity index 92% rename from backend/app/api/v1/module_gencode/demo/controller.py rename to backend/app/api/v1/module_example/demo/controller.py index c117c304..9c4ba21c 100644 --- a/backend/app/api/v1/module_gencode/demo/controller.py +++ b/backend/app/api/v1/module_example/demo/controller.py @@ -25,7 +25,7 @@ DemoRouter = APIRouter(route_class=OperationLogRoute, prefix="/demo", tags=["示 @DemoRouter.get("/detail/{id}", summary="获取示例详情", description="获取示例详情") async def get_obj_detail_controller( id: int = Path(..., description="示例ID"), - auth: AuthSchema = Depends(AuthPermission(["module_gencode:demo:detail"])) + auth: AuthSchema = Depends(AuthPermission(["module_example:demo:detail"])) ) -> JSONResponse: """ 获取示例详情 @@ -45,7 +45,7 @@ async def get_obj_detail_controller( async def get_obj_list_controller( page: PaginationQueryParam = Depends(), search: DemoQueryParam = Depends(), - auth: AuthSchema = Depends(AuthPermission(["module_gencode:demo:query"])) + auth: AuthSchema = Depends(AuthPermission(["module_example:demo:query"])) ) -> JSONResponse: """ 查询示例列表 @@ -72,7 +72,7 @@ async def get_obj_list_controller( @DemoRouter.post("/create", summary="创建示例", description="创建示例") async def create_obj_controller( data: DemoCreateSchema, - auth: AuthSchema = Depends(AuthPermission(["module_gencode:demo:create"])) + auth: AuthSchema = Depends(AuthPermission(["module_example:demo:create"])) ) -> JSONResponse: """ 创建示例 @@ -92,7 +92,7 @@ async def create_obj_controller( async def update_obj_controller( data: DemoUpdateSchema, id: int = Path(..., description="示例ID"), - auth: AuthSchema = Depends(AuthPermission(["module_gencode:demo:update"])) + auth: AuthSchema = Depends(AuthPermission(["module_example:demo:update"])) ) -> JSONResponse: """ 修改示例 @@ -112,7 +112,7 @@ async def update_obj_controller( @DemoRouter.delete("/delete", summary="删除示例", description="删除示例") async def delete_obj_controller( ids: list[int] = Body(..., description="ID列表"), - auth: AuthSchema = Depends(AuthPermission(["module_gencode:demo:delete"])) + auth: AuthSchema = Depends(AuthPermission(["module_example:demo:delete"])) ) -> JSONResponse: """ 删除示例 @@ -131,7 +131,7 @@ async def delete_obj_controller( @DemoRouter.patch("/available/setting", summary="批量修改示例状态", description="批量修改示例状态") async def batch_set_available_obj_controller( data: BatchSetAvailable, - auth: AuthSchema = Depends(AuthPermission(["module_gencode:demo:patch"])) + auth: AuthSchema = Depends(AuthPermission(["module_example:demo:patch"])) ) -> JSONResponse: """ 批量修改示例状态 @@ -150,7 +150,7 @@ async def batch_set_available_obj_controller( @DemoRouter.post('/export', summary="导出示例", description="导出示例") async def export_obj_list_controller( search: DemoQueryParam = Depends(), - auth: AuthSchema = Depends(AuthPermission(["module_gencode:demo:export"])) + auth: AuthSchema = Depends(AuthPermission(["module_example:demo:export"])) ) -> StreamingResponse: """ 导出示例 @@ -177,7 +177,7 @@ async def export_obj_list_controller( @DemoRouter.post('/import', summary="导入示例", description="导入示例") async def import_obj_list_controller( file: UploadFile, - auth: AuthSchema = Depends(AuthPermission(["module_gencode:demo:import"])) + auth: AuthSchema = Depends(AuthPermission(["module_example:demo:import"])) ) -> JSONResponse: """ 导入示例 @@ -193,7 +193,7 @@ async def import_obj_list_controller( log.info(f"导入示例成功: {batch_import_result}") return SuccessResponse(data=batch_import_result, msg="导入示例成功") -@DemoRouter.post('/download/template', summary="获取示例导入模板", description="获取示例导入模板", dependencies=[Depends(AuthPermission(["module_gencode:demo:download"]))]) +@DemoRouter.post('/download/template', summary="获取示例导入模板", description="获取示例导入模板", dependencies=[Depends(AuthPermission(["module_example:demo:download"]))]) async def export_obj_template_controller() -> StreamingResponse: """ 获取示例导入模板 diff --git a/backend/app/api/v1/module_gencode/demo/crud.py b/backend/app/api/v1/module_example/demo/crud.py similarity index 100% rename from backend/app/api/v1/module_gencode/demo/crud.py rename to backend/app/api/v1/module_example/demo/crud.py diff --git a/backend/app/api/v1/module_example/demo/model.py b/backend/app/api/v1/module_example/demo/model.py new file mode 100644 index 00000000..8e6a3522 --- /dev/null +++ b/backend/app/api/v1/module_example/demo/model.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- + +import enum +from sqlalchemy import JSON, String, Integer, BIGINT, Float, Boolean, Date, Time, DateTime, Enum, Text +from sqlalchemy.orm import Mapped, mapped_column +from datetime import date, time, datetime + +from app.core.base_model import ModelMixin, UserMixin + + +class StatusEnum(enum.Enum): + """状态枚举""" + ACTIVE = "active" + INACTIVE = "inactive" + + +class DemoModel(ModelMixin, UserMixin): + """ + 示例表 - 涵盖大多数常用数据类型 + """ + __tablename__: str = 'gen_demo' + __table_args__: dict[str, str] = ({'comment': '示例表'}) + __loader_options__: list[str] = ["created_by", "updated_by"] + + # 字符串类型 + name: Mapped[str] = mapped_column(String(64), nullable=False, comment='名称') + a: Mapped[int | None] = mapped_column(Integer, nullable=True, comment='整数') + b: Mapped[int | None] = mapped_column(BIGINT, nullable=True, comment='大整数') + c: Mapped[float | None] = mapped_column(Float, nullable=True, comment='浮点数') + d: Mapped[bool] = mapped_column(Boolean, default=True, nullable=False, comment='布尔型') + e: Mapped[date | None] = mapped_column(Date, nullable=True, comment='日期') + f: Mapped[time | None] = mapped_column(Time, nullable=True, comment='时间') + g: Mapped[datetime | None] = mapped_column(DateTime, nullable=True, comment='日期时间') + h: Mapped[str | None] = mapped_column(Text, nullable=True, comment='长文本') + i: Mapped[dict | None] = mapped_column(JSON, nullable=True, comment='元数据(JSON格式)') + \ No newline at end of file diff --git a/backend/app/api/v1/module_gencode/demo/schema.py b/backend/app/api/v1/module_example/demo/schema.py similarity index 76% rename from backend/app/api/v1/module_gencode/demo/schema.py rename to backend/app/api/v1/module_example/demo/schema.py index 1b001907..84556052 100644 --- a/backend/app/api/v1/module_gencode/demo/schema.py +++ b/backend/app/api/v1/module_example/demo/schema.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- +from datetime import date, time, datetime from pydantic import BaseModel, ConfigDict, Field, field_validator, model_validator from fastapi import Query from app.core.base_schema import BaseSchema, UserBySchema -from app.core.validator import DateTimeStr +from app.core.validator import DateTimeStr, DateStr, TimeStr class DemoCreateSchema(BaseModel): @@ -12,6 +13,15 @@ class DemoCreateSchema(BaseModel): name: str = Field(..., description='名称') status: str = Field(default="0", description="是否启用(0:启用 1:禁用)") description: str | None = Field(default=None, description="描述") + a: int | None = Field(default=None, description="整数") + b: int | None = Field(default=None, description="大整数") + c: float | None = Field(default=None, description="浮点数") + d: bool = Field(default=True, description="布尔型") + e: date | None = Field(default=None, description="日期") + f: time | None = Field(default=None, description="时间") + g: datetime | None = Field(default=None, description="日期时间") + h: str | None = Field(default=None, description="长文本") + i: dict | None = Field(default=None, description="元数据(JSON格式)") @field_validator('name') @classmethod @@ -50,6 +60,11 @@ class DemoUpdateSchema(DemoCreateSchema): class DemoOutSchema(DemoCreateSchema, BaseSchema, UserBySchema): """响应模型""" model_config = ConfigDict(from_attributes=True) + + # 覆盖日期时间字段,使用可序列化的类型 + e: DateStr | None = Field(default=None, description="日期") + f: TimeStr | None = Field(default=None, description="时间") + g: DateTimeStr | None = Field(default=None, description="日期时间") class DemoQueryParam: diff --git a/backend/app/api/v1/module_gencode/demo/service.py b/backend/app/api/v1/module_example/demo/service.py similarity index 99% rename from backend/app/api/v1/module_gencode/demo/service.py rename to backend/app/api/v1/module_example/demo/service.py index 96b7a472..2460f353 100644 --- a/backend/app/api/v1/module_gencode/demo/service.py +++ b/backend/app/api/v1/module_example/demo/service.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- import io +import json from typing import Any from fastapi import UploadFile import pandas as pd diff --git a/backend/app/api/v1/module_gencode/demo/model.py b/backend/app/api/v1/module_gencode/demo/model.py deleted file mode 100644 index a8ce30c0..00000000 --- a/backend/app/api/v1/module_gencode/demo/model.py +++ /dev/null @@ -1,17 +0,0 @@ -# -*- coding: utf-8 -*- - -from sqlalchemy import String -from sqlalchemy.orm import Mapped, mapped_column - -from app.core.base_model import ModelMixin, UserMixin - - -class DemoModel(ModelMixin, UserMixin): - """ - 示例表 - """ - __tablename__: str = 'gen_demo' - __table_args__: dict[str, str] = ({'comment': '示例表'}) - __loader_options__: list[str] = ["created_by", "updated_by"] - - name: Mapped[str | None] = mapped_column(String(64), nullable=True, default='', comment='名称') diff --git a/backend/app/api/v1/module_generator/gencode/crud.py b/backend/app/api/v1/module_generator/gencode/crud.py index d61dd6c7..3fd790a5 100644 --- a/backend/app/api/v1/module_generator/gencode/crud.py +++ b/backend/app/api/v1/module_generator/gencode/crud.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -from sqlalchemy.engine.row import Row -from sqlalchemy import and_, select, text +from sqlalchemy.engine.reflection import Inspector +from sqlalchemy import Inspector, and_, select, text, inspect from typing import Sequence from sqlglot.expressions import Expression @@ -128,79 +128,41 @@ class GenTableCRUD(CRUDBase[GenTableModel, GenTableSchema, GenTableSchema]): 返回: - list[dict]: 数据库表列表信息(已转为可序列化字典)。 """ - - # 使用更健壮的方式检测数据库方言 - if settings.DATABASE_TYPE == "postgres": - query_sql = ( - select( - text("t.table_catalog as database_name"), - text("t.table_name as table_name"), - text("t.table_type as table_type"), - text("pd.description as table_comment"), - ) - .select_from(text( - "information_schema.tables t \n" - "LEFT JOIN pg_catalog.pg_class c ON c.relname = t.table_name \n" - "LEFT JOIN pg_catalog.pg_namespace n ON n.nspname = t.table_schema AND c.relnamespace = n.oid \n" - "LEFT JOIN pg_catalog.pg_description pd ON pd.objoid = c.oid AND pd.objsubid = 0" - )) - .where( - and_( - text("t.table_catalog = (select current_database())"), - text("t.is_insertable_into = 'YES'"), - text("t.table_schema = 'public'"), - ) - ) - ) - else: - query_sql = ( - select( - text("table_schema as database_name"), - text("table_name as table_name"), - text("table_type as table_type"), - text("table_comment as table_comment"), - ) - .select_from(text("information_schema.tables")) - .where( - and_( - text("table_schema = (select database())"), - ) - ) - ) + database_name = settings.DATABASE_NAME + database_type = settings.DATABASE_TYPE + + from app.core.database import engine + inspector: Inspector = inspect(engine) + table_names = inspector.get_table_names() - # 动态条件构造 - params = {} - if search and search.table_name: - query_sql = query_sql.where( - text("lower(table_name) like lower(:table_name)") - ) - params['table_name'] = f"%{search.table_name}%" - if search and search.table_comment: - # 对于PostgreSQL,表注释字段是pd.description,而不是table_comment - if settings.DATABASE_TYPE == "postgres": - query_sql = query_sql.where( - text("lower(pd.description) like lower(:table_comment)") - ) - else: - query_sql = query_sql.where( - text("lower(table_comment) like lower(:table_comment)") - ) - params['table_comment'] = f"%{search.table_comment}%" - - # 执行查询并绑定参数 - all_data = (await self.auth.db.execute(query_sql, params)).fetchall() - - # 将Row对象转换为字典列表,解决JSON序列化问题 dict_data = [] - for row in all_data: - # 检查row是否为Row对象 - if isinstance(row, Row): - # 使用._mapping获取字典 - dict_row = GenDBTableSchema(**dict(row._mapping)).model_dump() - dict_data.append(dict_row) - else: - dict_row = GenDBTableSchema(**dict(row)).model_dump() - dict_data.append(dict_row) + for table_name in table_names: + try: + table_comment = inspector.get_table_comment(table_name) + comment = table_comment.get('text', '') if isinstance(table_comment, dict) else table_comment + table_comment = comment or "" + except Exception as e: + log.warning(f"获取表 {table_name} 的注释失败: {e}") + table_comment = "" + + # 统一处理 search 为 None 的情况,避免重复判断 + if search: + # 表名过滤:忽略大小写,支持模糊匹配 + if search.table_name and search.table_name.lower() not in table_name.lower(): + continue + # 表注释过滤:忽略大小写,支持模糊匹配;table_comment 为 None 时视为空字符串 + if search.table_comment and search.table_comment not in table_comment: + continue + + table_info = { + "database_name": database_name, + "table_name": table_name, + "table_type": database_type, + "table_comment": table_comment + } + + dict_data.append(GenDBTableSchema(**table_info).model_dump()) + return dict_data async def get_db_table_list_by_names(self, table_names: list[str]) -> list[GenDBTableSchema]: @@ -216,69 +178,19 @@ class GenTableCRUD(CRUDBase[GenTableModel, GenTableSchema, GenTableSchema]): # 处理空列表情况 if not table_names: return [] - - # 使用更健壮的方式检测数据库方言 - if settings.DATABASE_TYPE == "postgres": - # PostgreSQL使用ANY操作符和正确的参数绑定 - query_sql = """ - SELECT - t.table_catalog as database_name, - t.table_name as table_name, - t.table_type as table_type, - pd.description as table_comment - FROM - information_schema.tables t - LEFT JOIN pg_catalog.pg_class c ON c.relname = t.table_name - LEFT JOIN pg_catalog.pg_namespace n ON n.nspname = t.table_schema AND c.relnamespace = n.oid - LEFT JOIN pg_catalog.pg_description pd ON pd.objoid = c.oid AND pd.objsubid = 0 - WHERE - t.table_catalog = (select current_database()) - AND t.is_insertable_into = 'YES' - AND t.table_schema = 'public' - AND t.table_name = ANY(:table_names) - """ - else: - query_sql = """ - SELECT - table_schema as database_name, - table_name as table_name, - table_type as table_type, - table_comment as table_comment - FROM - information_schema.tables - WHERE - table_schema = (select database()) - AND table_name IN :table_names - """ - - # 创建新的数据库会话上下文来执行查询,避免受外部事务状态影响 - try: - # 去重表名列表,避免重复查询 - unique_table_names = list(set(table_names)) - - # 使用只读事务执行查询,不影响主事务 - if settings.DATABASE_TYPE == "postgres": - gen_db_table_list = (await self.auth.db.execute(text(query_sql), {"table_names": unique_table_names})).fetchall() - else: - gen_db_table_list = (await self.auth.db.execute(text(query_sql), {"table_names": tuple(unique_table_names)})).fetchall() - except Exception as e: - log.error(f"查询表信息时发生错误: {e}") - # 查询错误时直接抛出,不需要事务处理 - raise - - # 将Row对象转换为字典列表,解决JSON序列化问题 - dict_data = [] - for row in gen_db_table_list: - # 检查row是否为Row对象 - if isinstance(row, Row): - # 使用._mapping获取字典 - dict_row = GenDBTableSchema(**dict(row._mapping)) - dict_data.append(dict_row) - else: - dict_row = GenDBTableSchema(**dict(row)) - dict_data.append(dict_row) - return dict_data + # 调用get_db_table_list获取所有表信息 + all_tables = await self.get_db_table_list() + # 过滤出指定名称的表 + table_names_set = set(table_names) # 转换为集合以提高查找效率 + filtered_tables = [ + GenDBTableSchema(**table) + for table in all_tables + if table["table_name"] in table_names_set + ] + + return filtered_tables + async def check_table_exists(self, table_name: str) -> bool: """ 检查数据库中是否已存在指定表名的表。 @@ -290,14 +202,10 @@ class GenTableCRUD(CRUDBase[GenTableModel, GenTableSchema, GenTableSchema]): - bool: 如果表存在返回True,否则返回False。 """ try: - # 根据不同数据库类型使用不同的查询方式 - if settings.DATABASE_TYPE.lower() == 'mysql': - query = text("SELECT 1 FROM information_schema.tables WHERE table_schema = DATABASE() AND table_name = :table_name") - else: - query = text("SELECT 1 FROM pg_tables WHERE tablename = :table_name") - - result = await self.auth.db.execute(query, {"table_name": table_name}) - return result.scalar() is not None + # 使用SQLAlchemy的inspect功能检查表是否存在,这是数据库无关的方法 + bind = self.auth.db.get_bind() + inspector: Inspector = inspect(bind) + return inspector.has_table(table_name) except Exception as e: log.error(f"检查表格存在性时发生错误: {e}") # 出错时返回False,避免误报表已存在 @@ -355,6 +263,82 @@ class GenTableColumnCRUD(CRUDBase[GenTableColumnModel, GenTableColumnSchema, Gen - auth (AuthSchema): 认证信息模型 """ super().__init__(model=GenTableColumnModel, auth=auth) + + @staticmethod + def _sync_get_table_columns(database_type, table_name): + """ + 同步函数:获取数据库表的列信息 + + 参数: + - database_type: 数据库类型 + - table_name: 表名 + + 返回: + - list: 列信息列表 + """ + # 使用SQLAlchemy Inspector获取表列信息 + from app.core.database import engine + inspector: Inspector = inspect(engine) + + # 获取列信息 + columns = inspector.get_columns(table_name) + + # 获取主键信息 + try: + pk_constraint = inspector.get_pk_constraint(table_name) + primary_keys = set(pk_constraint.get("constrained_columns", [])) if pk_constraint else set() + except Exception: + primary_keys = set() + + # 获取唯一约束信息 + unique_columns = set() + try: + unique_constraints = inspector.get_unique_constraints(table_name) + for constraint in unique_constraints: + unique_columns.update(constraint.get("column_names", [])) + except Exception: + pass + + # 处理列信息 + columns_list = [] + for idx, column in enumerate(columns): + # 获取列的基本信息 + column_name = column['name'] + column_type = str(column['type']) + is_nullable = column.get('nullable', True) + column_default = column.get('default', None) + # 获取列注释(如果有的话) + column_comment = column.get('comment', '') + # 判断是否为主键 + is_pk = column_name in primary_keys + # 判断是否为唯一约束 + is_unique = column_name in unique_columns + # 判断是否为自增列(基于数据库类型和列类型) + is_increment = column.get('autoincrement', False) in (True, 'auto') + # 获取列长度(如果适用) + column_length = None + # 使用getattr安全地获取length属性,避免访问不存在时抛出AttributeError + column_length = getattr(column['type'], 'length', None) + if column_length is not None: + column_length = str(getattr(column['type'], 'length', '')) + + # 构造列信息字典 + column_info = { + "column_name": column_name, + "column_comment": column_comment or '', + "column_type": column_type, + "column_length": column_length or '', + "column_default": str(column_default) if column_default is not None else '', + "sort": idx + 1, # 序号从1开始 + "is_pk": 1 if is_pk else 0, + "is_increment": 1 if is_increment else 0, + "is_nullable": 1 if is_nullable else 0, + "is_unique": 1 if is_unique else 0 + } + + columns_list.append(column_info) + + return columns_list async def get_gen_table_column_by_id(self, id: int, preload: list | None = None) -> GenTableColumnModel | None: """根据业务表字段ID获取业务表字段信息。 @@ -408,99 +392,17 @@ class GenTableColumnCRUD(CRUDBase[GenTableColumnModel, GenTableColumnSchema, Gen raise ValueError("数据表名称不能为空") try: - if settings.DATABASE_TYPE == "mysql": - query_sql = """ - SELECT - c.column_name AS column_name, - c.column_comment AS column_comment, - c.column_type AS column_type, - c.character_maximum_length AS column_length, - c.column_default AS column_default, - c.ordinal_position AS sort, - (CASE WHEN c.column_key = 'PRI' THEN 1 ELSE 0 END) AS is_pk, - (CASE WHEN c.extra = 'auto_increment' THEN 1 ELSE 0 END) AS is_increment, - (CASE WHEN (c.is_nullable = 'NO' AND c.column_key != 'PRI') THEN 1 ELSE 0 END) AS is_nullable, - (CASE - WHEN c.column_name IN ( - SELECT k.column_name - FROM information_schema.key_column_usage k - JOIN information_schema.table_constraints t - ON k.constraint_name = t.constraint_name - WHERE k.table_schema = c.table_schema - AND k.table_name = c.table_name - AND t.constraint_type = 'UNIQUE' - ) THEN 1 ELSE 0 - END) AS is_unique - FROM - information_schema.columns c - WHERE c.table_schema = (SELECT DATABASE()) - AND c.table_name = :table_name - ORDER BY - c.ordinal_position - """ - else: - query_sql = """ - SELECT - c.column_name AS column_name, - COALESCE(pgd.description, '') AS column_comment, - c.udt_name AS column_type, - c.character_maximum_length AS column_length, - c.column_default AS column_default, - c.ordinal_position AS sort, - (CASE WHEN EXISTS ( - SELECT 1 FROM information_schema.table_constraints tc - JOIN information_schema.constraint_column_usage ccu ON tc.constraint_name = ccu.constraint_name - WHERE tc.table_name = c.table_name - AND tc.constraint_type = 'PRIMARY KEY' - AND ccu.column_name = c.column_name - ) THEN 1 ELSE 0 END) AS is_pk, - (CASE WHEN c.column_default LIKE 'nextval%' THEN 1 ELSE 0 END) AS is_increment, - (CASE WHEN c.is_nullable = 'NO' THEN 1 ELSE 0 END) AS is_nullable, - (CASE WHEN EXISTS ( - SELECT 1 FROM information_schema.table_constraints tc - JOIN information_schema.constraint_column_usage ccu ON tc.constraint_name = ccu.constraint_name - WHERE tc.table_name = c.table_name - AND tc.constraint_type = 'UNIQUE' - AND ccu.column_name = c.column_name - ) THEN 1 ELSE 0 END) AS is_unique - FROM - information_schema.columns c - LEFT JOIN pg_catalog.pg_description pgd ON - pgd.objoid = (SELECT oid FROM pg_class WHERE relname = c.table_name) - AND pgd.objsubid = c.ordinal_position - WHERE c.table_catalog = current_database() - AND c.table_schema = 'public' - AND c.table_name = :table_name - ORDER BY - c.ordinal_position - """ - - query = text(query_sql).bindparams(table_name=table_name) - result = await self.auth.db.execute(query) - rows = result.fetchall() if result else [] - - # 确保rows是可迭代对象 - if not rows: - return [] + # 直接调用同步方法获取列信息 + columns_info = GenTableColumnCRUD._sync_get_table_columns( + settings.DATABASE_TYPE, + table_name + ) + # 转换为GenTableColumnOutSchema对象列表 columns_list = [] - for row in rows: - # 防御性编程:检查row是否有足够的元素 - if len(row) >= 10: - columns_list.append( - GenTableColumnOutSchema( - column_name=row[0], - column_comment=row[1], - column_type=row[2], - column_length=str(row[3]) if row[3] is not None else '', - column_default=str(row[4]) if row[4] is not None else '', - sort=row[5], - is_pk=row[6], - is_increment=row[7], - is_nullable=row[8], - is_unique=row[9], - ) - ) + for column_info in columns_info: + columns_list.append(GenTableColumnOutSchema(**column_info)) + return columns_list except Exception as e: log.error(f"获取表{table_name}的字段列表时出错: {str(e)}") diff --git a/backend/app/api/v1/module_generator/gencode/service.py b/backend/app/api/v1/module_generator/gencode/service.py index 51bc1329..0ab1c731 100644 --- a/backend/app/api/v1/module_generator/gencode/service.py +++ b/backend/app/api/v1/module_generator/gencode/service.py @@ -2,7 +2,6 @@ import io import os -from pathlib import Path import zipfile from typing import Any from sqlglot.expressions import Add, Alter, Create, Delete, Drop, Expression, Insert, Table, TruncateTable, Update @@ -12,7 +11,6 @@ from app.config.path_conf import BASE_DIR from app.config.setting import settings from app.core.logger import log from app.core.exceptions import CustomException - from app.api.v1.module_system.auth.schema import AuthSchema from .tools.jinja2_template_util import Jinja2TemplateUtil from .tools.gen_util import GenUtils @@ -37,8 +35,14 @@ class GenTableService: @classmethod @handle_service_exception async def get_gen_table_detail_service(cls, auth: AuthSchema, table_id: int) -> dict: - """获取业务表详细信息(含字段与其他表列表)。 - - 备注:优先解析`options`为`GenTableOptionSchema`,设置`parent_menu_id`等选项;保证`columns`与`tables`结构完整。 + """获取详细信息。 + + 参数: + - auth (AuthSchema): 认证信息。 + - table_id (int): 业务表ID。 + + 返回: + - dict: 包含业务表详细信息的字典。 """ gen_table = await cls.get_gen_table_by_id_service(auth, table_id) return GenTableOutSchema.model_validate(gen_table).model_dump() @@ -62,8 +66,14 @@ class GenTableService: @classmethod @handle_service_exception async def get_gen_db_table_list_service(cls, auth: AuthSchema, search: GenTableQueryParam) -> list[Any]: - """获取数据库表列表(跨方言)。 - - 备注:返回已转换为字典的结构,适用于前端直接展示;排序参数保留扩展位但当前未使用。 + """获取数据库表列表。 + + 参数: + - auth (AuthSchema): 认证信息。 + - search (GenTableQueryParam): 查询参数模型。 + + 返回: + - list[Any]: 包含数据库表列表信息的任意类型列表。 """ gen_db_table_list_result = await GenTableCRUD(auth=auth).get_db_table_list(search) return gen_db_table_list_result @@ -72,28 +82,34 @@ class GenTableService: @handle_service_exception async def get_gen_db_table_list_by_name_service(cls, auth: AuthSchema, table_names: list[str]) -> list[GenTableOutSchema]: """根据表名称组获取数据库表信息。 - - 校验:如有不存在的表名,抛出明确异常;返回统一的`GenTableOutSchema`列表。 + + 参数: + - auth (AuthSchema): 认证信息。 + - table_names (list[str]): 业务表名称列表。 + + 返回: + - list[GenTableOutSchema]: 包含业务表详细信息的模型列表。 """ - # 验证输入参数 - if not table_names: - raise CustomException(msg="表名列表不能为空") - gen_db_table_list_result = await GenTableCRUD(auth).get_db_table_list_by_names(table_names) # 修复:将GenDBTableSchema对象转换为字典后再传递给GenTableOutSchema result = [] for gen_table in gen_db_table_list_result: - # 确保table_name不为None - if gen_table.table_name is not None: - result.append(GenTableOutSchema(**gen_table.model_dump())) + result.append(GenTableOutSchema(**gen_table.model_dump())) return result @classmethod @handle_service_exception - async def import_gen_table_service(cls, auth: AuthSchema, gen_table_list: list[GenTableOutSchema]) -> bool | None: - """导入表结构到生成器(持久化并初始化列)。 - - 备注:避免重复导入;为每列调用`GenUtils.init_column_field`填充默认属性,保留语义一致性。 + async def import_gen_table_service(cls, auth: AuthSchema, gen_table_list: list[GenTableOutSchema]) -> bool: + """导入表结构到生成器。 + + 参数: + - auth (AuthSchema): 认证信息。 + - gen_table_list (list[GenTableOutSchema]): 包含业务表详细信息的模型列表。 + + 返回: + - bool: 成功时返回True,失败时抛出异常。 """ # 检查是否有表需要导入 if not gen_table_list: @@ -138,13 +154,17 @@ class GenTableService: @handle_service_exception async def create_table_service(cls, auth: AuthSchema, sql: str) -> bool | None: """创建表结构并导入至代码生成模块。 - - 校验:使用`sqlglot`确保仅包含`CREATE TABLE`语句;失败抛出明确异常。 - - 唯一性检查:在创建前检查该表是否已存在于数据库中。 + + 参数: + - auth (AuthSchema): 认证信息。 + - sql (str): 包含`CREATE TABLE`语句的SQL字符串。 + + 返回: + - bool | None: 成功时返回True,失败时抛出异常。 """ # 验证SQL非空 if not sql or not sql.strip(): raise CustomException(msg='SQL语句不能为空') - try: # 解析SQL语句 sql_statements = sqlglot_parse(sql, dialect=settings.DATABASE_TYPE) @@ -186,43 +206,6 @@ class GenTableService: except Exception as e: raise CustomException(msg=f'创建表结构失败: {str(e)}') - @classmethod - @handle_service_exception - async def execute_sql_service(cls, auth: AuthSchema, gen_table: GenTableOutSchema) -> bool: - """ - 执行菜单 SQL(INSERT / DO 块)并写入 sys_menu。 - - 仅处理菜单 SQL,不再混杂建表逻辑; - - 文件不存在时给出友好提示; - - 统一异常信息,日志与业务提示分离。 - """ - sql_path = f'{BASE_DIR}/sql/menu/{gen_table.module_name}/{gen_table.business_name}.sql' - - # 文件存在性前置检查,避免多余解析开销 - if not os.path.isfile(sql_path): - raise CustomException(msg=f'菜单 SQL 文件不存在: {sql_path}') - - sql = Path(sql_path).read_text(encoding='utf-8').strip() - if not sql: - raise CustomException(msg='菜单 SQL 文件内容为空') - - # 仅做语法校验,不限制关键字;真正的语义安全由数据库权限控制 - try: - statements = sqlglot_parse(sql, dialect=settings.DATABASE_TYPE) - if not statements: - raise CustomException(msg='菜单 SQL 语法解析失败,请检查文件内容') - except Exception as e: - log.error(f'菜单 SQL 解析异常: {e}') - raise CustomException(msg='菜单 SQL 语法错误,请检查文件内容') - - # 执行 SQL - try: - await GenTableCRUD(auth).execute_sql(sql) - log.info(f'成功执行菜单 SQL: {sql_path}') - return True - except Exception as e: - log.error(f'菜单 SQL 执行失败: {e}') - raise CustomException(msg='菜单 SQL 执行失败,请确认语句及数据库状态') - @classmethod def __is_valid_create_table(cls, sql_statements: list[Expression | None]) -> bool: """ @@ -268,8 +251,15 @@ class GenTableService: @classmethod @handle_service_exception async def update_gen_table_service(cls, auth: AuthSchema, data: GenTableSchema, table_id: int) -> dict[str, Any]: - """编辑业务表信息(含选项与字段)。 - - 备注:将`params`序列化写入`options`以持久化;仅更新存在`id`的列,避免误创建。 + """编辑业务表信息。 + + 参数: + - auth (AuthSchema): 认证信息。 + - data (GenTableSchema): 包含业务表详细信息的模型。 + - table_id (int): 业务表ID。 + + 返回: + - dict[str, Any]: 更新后的业务表信息。 """ # 处理params为None的情况 gen_table_info = await cls.get_gen_table_by_id_service(auth, table_id) @@ -294,7 +284,15 @@ class GenTableService: @classmethod @handle_service_exception async def delete_gen_table_service(cls, auth: AuthSchema, ids: list[int]) -> None: - """删除业务表信息(先删字段,再删表)。""" + """删除业务表信息(先删字段,再删表)。 + + 参数: + - auth (AuthSchema): 认证信息。 + - ids (list[int]): 业务表ID列表。 + + 返回: + - None + """ # 验证ID列表非空 if not ids: raise CustomException(msg="ID列表不能为空") @@ -311,7 +309,13 @@ class GenTableService: @handle_service_exception async def get_gen_table_by_id_service(cls, auth: AuthSchema, table_id: int) -> GenTableOutSchema: """获取需要生成代码的业务表详细信息。 - - 备注:去除SQLAlchemy内部状态;将`None`值转为适配前端的默认值;解析`options`补充选项。 + + 参数: + - auth (AuthSchema): 认证信息。 + - table_id (int): 业务表ID。 + + 返回: + - GenTableOutSchema: 业务表详细信息模型。 """ gen_table = await GenTableCRUD(auth=auth).get_gen_table_by_id(table_id) if not gen_table: @@ -323,7 +327,14 @@ class GenTableService: @classmethod @handle_service_exception async def get_gen_table_all_service(cls, auth: AuthSchema) -> list[GenTableOutSchema]: - """获取所有业务表信息(列表)。""" + """获取所有业务表信息(列表)。 + + 参数: + - auth (AuthSchema): 认证信息。 + + 返回: + - list[GenTableOutSchema]: 业务表详细信息模型列表。 + """ gen_table_all = await GenTableCRUD(auth=auth).get_gen_table_all() or [] result = [] for gen_table in gen_table_all: @@ -340,7 +351,13 @@ class GenTableService: async def preview_code_service(cls, auth: AuthSchema, table_id: int) -> dict[str, Any]: """ 预览代码(根据模板渲染内存结果)。 - - 备注:构建Jinja2上下文;根据模板类型与前端类型选择模板清单;返回文件名到内容映射。 + + 参数: + - auth (AuthSchema): 认证信息。 + - table_id (int): 业务表ID。 + + 返回: + - dict[str, Any]: 文件名到渲染内容的映射。 """ gen_table = GenTableOutSchema.model_validate( await GenTableCRUD(auth).get_gen_table_by_id(table_id) @@ -365,14 +382,175 @@ class GenTableService: async def generate_code_service(cls, auth: AuthSchema, table_name: str) -> bool: """生成代码至指定路径(安全写入+可跳过覆盖)。 - 安全:限制写入在项目根目录内;越界路径自动回退到项目根目录。 + + 参数: + - auth (AuthSchema): 认证信息。 + - table_name (str): 业务表名。 + + 返回: + - bool: 生成是否成功。 """ # 验证表名非空 if not table_name or not table_name.strip(): raise CustomException(msg='表名不能为空') - env = Jinja2TemplateUtil.get_env() render_info = await cls.__get_gen_render_info(auth, table_name) - gen_table_schema = render_info[3] + gen_table_schema: GenTableOutSchema = render_info[3] + + from app.api.v1.module_system.menu.crud import MenuCRUD + from app.api.v1.module_system.menu.schema import MenuCreateSchema + from app.utils.common_util import CamelCaseUtil + # 构建权限前缀 + permission_prefix = f"{gen_table_schema.module_name}:{gen_table_schema.business_name}" + # 创建菜单 CRUD 实例 + menu_crud = MenuCRUD(auth) + if not gen_table_schema.business_name: + raise CustomException(msg='业务名称不能为空') + if not gen_table_schema.function_name: + raise CustomException(msg='功能名称不能为空') + # 1. 先检查并创建菜单(目录菜单、功能菜单、按钮权限) + # 检查是否需要创建目录菜单 + if gen_table_schema.parent_menu_id: + # 如果传了上级菜单ID(菜单类型=1),则不创建目录菜单,直接使用该ID作为功能菜单的父ID + dir_menu_id = gen_table_schema.parent_menu_id + else: + # 如果没传上级菜单ID,则需要创建新的模块目录菜单(类型=1:目录) + existing_dir_menu = await menu_crud.get(name=gen_table_schema.business_name) + if existing_dir_menu: + dir_menu_id = existing_dir_menu.id + else: + dir_parent_menu = await menu_crud.create( + MenuCreateSchema( + name=gen_table_schema.business_name, + type=1, + order=9999, + permission=f"{permission_prefix}:query", + icon="menu", + route_name=CamelCaseUtil.snake_to_camel(gen_table_schema.business_name), + route_path=f"/{gen_table_schema.module_name}/{gen_table_schema.business_name}", + component_path=None, + redirect=None, + hidden=False, + keep_alive=True, + always_show=False, + title=gen_table_schema.business_name, + params=None, + affix=False, + parent_id=gen_table_schema.parent_menu_id, # 这里应该是None,因为上面已经判断过了 + status="0", + description=f"{gen_table_schema.business_name}模块目录菜单" + ) + ) + dir_menu_id = dir_parent_menu.id + + # 检查功能菜单是否已存在,如果存在则抛出错误 + existing_func_menu = await menu_crud.get(name=gen_table_schema.function_name, type=2) + if existing_func_menu: + raise CustomException(msg=f"功能菜单名称 '{gen_table_schema.function_name}' 已存在,不能重复创建") + else: + # 创建功能菜单(类型=2:菜单) + parent_menu = await menu_crud.create( + MenuCreateSchema( + name=gen_table_schema.function_name, + type=2, + order=9999, + permission=f"{permission_prefix}:query", + icon="menu", + route_name=CamelCaseUtil.snake_to_camel(gen_table_schema.function_name), + route_path=f"/{gen_table_schema.module_name}/{gen_table_schema.business_name}/{gen_table_schema.function_name}", + component_path=f"{gen_table_schema.module_name}/{gen_table_schema.business_name}/{gen_table_schema.function_name}/index", + redirect=None, + hidden=False, + keep_alive=True, + always_show=False, + title=gen_table_schema.function_name, + params=None, + affix=False, + parent_id=dir_menu_id, # 使用目录菜单ID或用户指定的parent_menu_id作为父ID + status="0", + description=f"{gen_table_schema.function_name}功能菜单" + ) + ) + # 创建按钮权限(类型=3:按钮/权限) + buttons = [ + { + "name": f"{gen_table_schema.function_name}查询", + "permission": f"{permission_prefix}:query", + "order": 1 + }, + { + "name": f"{gen_table_schema.function_name}详情", + "permission": f"{permission_prefix}:detail", + "order": 2 + }, + { + "name": f"{gen_table_schema.function_name}新增", + "permission": f"{permission_prefix}:create", + "order": 3 + }, + { + "name": f"{gen_table_schema.function_name}修改", + "permission": f"{permission_prefix}:update", + "order": 4 + }, + { + "name": f"{gen_table_schema.function_name}删除", + "permission": f"{permission_prefix}:delete", + "order": 5 + }, + { + "name": f"{gen_table_schema.function_name}批量状态修改", + "permission": f"{permission_prefix}:patch", + "order": 6 + }, + { + "name": f"{gen_table_schema.function_name}导出", + "permission": f"{permission_prefix}:export", + "order": 7 + }, + { + "name": f"{gen_table_schema.function_name}导入", + "permission": f"{permission_prefix}:import", + "order": 8 + }, + { + "name": f"{gen_table_schema.function_name}下载导入模板", + "permission": f"{permission_prefix}:download", + "order": 9 + } + ] + for button in buttons: + # 检查按钮权限是否已存在 + existing_button = await menu_crud.get(permission=button["permission"]) + if not existing_button: + await menu_crud.create( + MenuCreateSchema( + name=button["name"], + type=3, + order=button["order"], + permission=button["permission"], + icon=None, + route_name=None, + route_path=None, + component_path=None, + redirect=None, + hidden=False, + keep_alive=True, + always_show=False, + title=button["name"], + params=None, + affix=False, + parent_id=parent_menu.id, + status="0", + description=f"{gen_table_schema.function_name}功能按钮" + ) + ) + log.info(f"成功创建按钮权限: {button['name']}") + else: + log.info(f"按钮权限 {button['name']} 已存在(权限标识:{button['permission']}),跳过创建") + log.info(f"成功创建{gen_table_schema.function_name}菜单及按钮权限") + + # 2. 菜单创建成功后,再生成页面代码 for template in render_info[0]: try: render_content = await env.get_template(template).render_async(**render_info[2]) @@ -388,7 +566,6 @@ class GenTableService: except Exception as e: raise CustomException(msg=f'渲染模板失败,表名:{gen_table_schema.table_name},详细错误信息:{str(e)}') - await cls.execute_sql_service(auth, gen_table_schema) return True @classmethod @@ -397,17 +574,22 @@ class GenTableService: """ 批量生成代码并打包为ZIP。 - 备注:内存生成并压缩,兼容多模板类型;供下载使用。 + + 参数: + - auth (AuthSchema): 认证信息。 + - table_names (list[str]): 业务表名列表。 + + 返回: + - bytes: 包含所有生成代码的ZIP文件内容。 """ # 验证表名列表非空 if not table_names: raise CustomException(msg="表名列表不能为空") - zip_buffer = io.BytesIO() with zipfile.ZipFile(zip_buffer, 'w', zipfile.ZIP_DEFLATED) as zip_file: for table_name in table_names: if not table_name.strip(): continue - try: env = Jinja2TemplateUtil.get_env() render_info = await cls.__get_gen_render_info(auth, table_name) @@ -418,7 +600,6 @@ class GenTableService: log.error(f"批量生成代码时处理表 {table_name} 出错: {str(e)}") # 继续处理其他表,不中断整个过程 continue - zip_data = zip_buffer.getvalue() zip_buffer.close() return zip_data @@ -426,13 +607,19 @@ class GenTableService: @classmethod @handle_service_exception async def sync_db_service(cls, auth: AuthSchema, table_name: str) -> None: - """同步数据库表结构至生成器(保留用户配置)。 - - 备注:按数据库实际字段重建或更新生成器字段;保留字典/查询/展示等用户自定义属性;清理已删除字段。 + """ + 同步数据库表结构到业务表。 + + 参数: + - auth (AuthSchema): 认证信息。 + - table_name (str): 业务表名。 + + 返回: + - None """ # 验证表名非空 if not table_name or not table_name.strip(): raise CustomException(msg='表名不能为空') - gen_table = await GenTableCRUD(auth).get_gen_table_by_name(table_name) if not gen_table: raise CustomException(msg='业务表不存在') @@ -447,40 +634,27 @@ class GenTableService: db_table_column_names = [column.column_name for column in db_table_columns] try: for column in db_table_columns: - # 仅在缺省时初始化默认属性(包含 table_id 关联) GenUtils.init_column_field(column, table) - # 利用schema层的默认值,移除多余的None检查 if column.column_name in table_column_map: prev_column = table_column_map[column.column_name] - # 复用旧记录ID,确保执行更新 if hasattr(prev_column, 'id') and prev_column.id: column.id = prev_column.id - - # 保留用户配置的显示与查询属性 - 使用getattr确保安全访问 if hasattr(prev_column, 'dict_type') and prev_column.dict_type: column.dict_type = prev_column.dict_type if hasattr(prev_column, 'query_type') and prev_column.query_type: column.query_type = prev_column.query_type if hasattr(prev_column, 'html_type') and prev_column.html_type: column.html_type = prev_column.html_type - - # 保留关键用户自定义属性 - 安全处理is_pk is_pk_bool = False if hasattr(prev_column, 'is_pk'): - # 处理不同类型的is_pk值 if isinstance(prev_column.is_pk, bool): is_pk_bool = prev_column.is_pk else: is_pk_bool = str(prev_column.is_pk) == '1' - - # 安全处理nullable属性 if hasattr(prev_column, 'is_nullable') and not is_pk_bool: column.is_nullable = prev_column.is_nullable - - # 保留其他重要用户设置 if hasattr(prev_column, 'python_field'): column.python_field = prev_column.python_field or column.python_field - if hasattr(column, 'id') and column.id: await GenTableColumnCRUD(auth).update_gen_table_column_crud(column.id, column) else: @@ -501,6 +675,12 @@ class GenTableService: async def set_pk_column(cls, gen_table: GenTableOutSchema) -> None: """设置主键列信息(主表/子表)。 - 备注:同时兼容`pk`布尔与`is_pk == '1'`字符串两种标识。 + + 参数: + - gen_table (GenTableOutSchema): 业务表详细信息模型。 + + 返回: + - None """ if gen_table.columns: for column in gen_table.columns: @@ -531,34 +711,30 @@ class GenTableService: # 检查表是否存在 if gen_table_model is None: raise CustomException(msg=f"业务表 {table_name} 不存在") - gen_table = GenTableOutSchema.model_validate(gen_table_model) await cls.set_pk_column(gen_table) context = Jinja2TemplateUtil.prepare_context(gen_table) template_list = Jinja2TemplateUtil.get_template_list() output_files = [Jinja2TemplateUtil.get_file_name(template, gen_table) for template in template_list] - return [template_list, output_files, context, gen_table] @classmethod def __get_gen_path(cls, gen_table: GenTableOutSchema, template: str) -> str | None: - """根据GenTableOutSchema对象和模板名称生成路径。""" + """根据GenTableOutSchema对象和模板名称生成路径。 + + 参数: + - gen_table (GenTableOutSchema): 业务表详细信息模型。 + - template (str): 模板名称。 + + 返回: + - str | None: 生成的文件路径,若失败则返回None。 + """ try: file_name = Jinja2TemplateUtil.get_file_name(template, gen_table) - # 默认写入到项目根目录(backend的上一级) - project_root = str(BASE_DIR.parent) - full_path = os.path.join(project_root, file_name) - - # 确保路径在项目根目录内,防止路径遍历攻击 - if not os.path.abspath(full_path).startswith(os.path.abspath(project_root)): - log.error(f"路径越界,回退到项目根目录: {file_name}") - # 回退到项目根目录下的generated文件夹 - full_path = os.path.join(project_root, "generated", os.path.basename(file_name)) - - return full_path + full_path = BASE_DIR.parent.joinpath(file_name) + return str(full_path) except Exception as e: - log.error(f"生成路径时出错: {str(e)}") - return None + raise CustomException(msg=f"生成路径时出错: {str(e)}") class GenTableColumnService: @@ -567,7 +743,15 @@ class GenTableColumnService: @classmethod @handle_service_exception async def get_gen_table_column_list_by_table_id_service(cls, auth: AuthSchema, table_id: int) -> list[dict[str, Any]]: - """获取业务表字段列表信息(输出模型)。""" + """获取业务表字段列表信息(输出模型)。 + + 参数: + - auth (AuthSchema): 认证信息。 + - table_id (int): 业务表ID。 + + 返回: + - list[dict[str, Any]]: 业务表字段列表,每个元素为字段详细信息字典。 + """ gen_table_column_list_result = await GenTableColumnCRUD(auth).list_gen_table_column_crud({"table_id": table_id}) result = [GenTableColumnOutSchema.model_validate(gen_table_column).model_dump() for gen_table_column in gen_table_column_list_result] return result \ No newline at end of file diff --git a/backend/app/api/v1/module_generator/gencode/templates/sql/sql.sql.j2 b/backend/app/api/v1/module_generator/gencode/templates/sql/sql.sql.j2 deleted file mode 100644 index b05cd4b4..00000000 --- a/backend/app/api/v1/module_generator/gencode/templates/sql/sql.sql.j2 +++ /dev/null @@ -1,64 +0,0 @@ --- 统一的菜单 SQL(兼容 MySQL / PostgreSQL),对齐到 sys_menu 表结构 -{# 布尔值与保留字列名处理 #} -{% set b_true = 1 if db_type == 'mysql' else true %} -{% set b_false = 0 if db_type == 'mysql' else false %} -{% set order_col = '`order`' if db_type == 'mysql' else '"order"' %} -{% set sys_menu = '`sys_menu`' if db_type == 'mysql' else '"sys_menu"' %} -{% set icon = "menu" %} -{% set set_uuid = "UUID()" if db_type == 'mysql' else "gen_random_uuid()" %} - -{% if db_type == 'mysql' %} --- 父菜单(类型=2:菜单) -INSERT INTO {{ sys_menu }} -(`name`, `type`, {{ order_col }}, `permission`, `icon`, `route_name`, `route_path`, `component_path`, `redirect`, `hidden`, `keep_alive`, `always_show`, `title`, `params`, `affix`, `parent_id`, `uuid`, `status`, `description`, `created_time`, `updated_time`) -VALUES -('{{ function_name }}', 2, 9999, '{{ permission_prefix }}:query', '{{ icon }}', '{{ business_name|snake_to_camel }}', '/{{ module_name }}/{{ business_name }}', '{{ module_name }}/{{ business_name }}/index', NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}', NULL, {{ b_false }}, {{ parent_menu_id }}, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()); --- 获取父菜单ID(MySQL) -SELECT @parentId := LAST_INSERT_ID(); - --- 按钮权限(类型=3:按钮/权限) -INSERT INTO {{ sys_menu }} -(`name`, `type`, {{ order_col }}, `permission`, `icon`, `route_name`, `route_path`, `component_path`, `redirect`, `hidden`, `keep_alive`, `always_show`, `title`, `params`, `affix`, `parent_id`, `uuid`, `status`, `description`, `created_time`, `updated_time`) -VALUES -('{{ function_name }}查询', 3, 1, '{{ permission_prefix }}:query', NULL, NULL, NULL, NULL, NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}查询', NULL, {{ b_false }}, @parentId, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()), -('{{ function_name }}新增', 3, 2, '{{ permission_prefix }}:create', NULL, NULL, NULL, NULL, NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}新增', NULL, {{ b_false }}, @parentId, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()), -('{{ function_name }}修改', 3, 3, '{{ permission_prefix }}:update', NULL, NULL, NULL, NULL, NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}修改', NULL, {{ b_false }}, @parentId, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()), -('{{ function_name }}删除', 3, 4, '{{ permission_prefix }}:delete', NULL, NULL, NULL, NULL, NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}删除', NULL, {{ b_false }}, @parentId, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()), -('{{ function_name }}导出', 3, 5, '{{ permission_prefix }}:export', NULL, NULL, NULL, NULL, NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}导出', NULL, {{ b_false }}, @parentId, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()), -('{{ function_name }}导入', 3, 6, '{{ permission_prefix }}:import', NULL, NULL, NULL, NULL, NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}导入', NULL, {{ b_false }}, @parentId, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()), -('{{ function_name }}批量状态修改', 3, 7, '{{ permission_prefix }}:patch', NULL, NULL, NULL, NULL, NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}批量状态修改', NULL, {{ b_false }}, @parentId, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()), -('{{ function_name }}下载导入模板', 3, 8, '{{ permission_prefix }}:download', NULL, NULL, NULL, NULL, NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}下载导入模板', NULL, {{ b_false }}, @parentId, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()); - -{% elif db_type == 'postgres' %} --- 菜单 SQL(PostgreSQL DO 块方案) -DO $$ -DECLARE - parent_id INTEGER; -BEGIN - -- 父菜单(类型=2:菜单) - INSERT INTO {{ sys_menu }} - (name, type, {{ order_col }}, permission, icon, route_name, route_path, component_path, redirect, hidden, keep_alive, always_show, title, params, affix, parent_id, uuid, status, description, created_time, updated_time ) - VALUES -('{{ function_name }}', 2, 9999, '{{ permission_prefix }}:query', '{{ icon }}', '{{ business_name|snake_to_camel }}', '/{{ module_name }}/{{ business_name }}', '{{ module_name }}/{{ business_name }}/index', NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}', NULL, {{ b_false }}, {{ parent_menu_id }}, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()) - RETURNING id INTO parent_id; - - -- 按钮权限(类型=3:按钮/权限) -INSERT INTO {{ sys_menu }} -(name, type, {{ order_col }}, permission, icon, route_name, route_path, component_path, redirect, hidden, keep_alive, always_show, title, params, affix, parent_id, uuid, status, description, created_time, updated_time ) -VALUES -('{{ function_name }}查询', 3, 1, '{{ permission_prefix }}:query', NULL, NULL, NULL, NULL, NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}查询', NULL, {{ b_false }}, parent_id, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()), -('{{ function_name }}新增', 3, 2, '{{ permission_prefix }}:create', NULL, NULL, NULL, NULL, NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}新增', NULL, {{ b_false }}, parent_id, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()), -('{{ function_name }}修改', 3, 3, '{{ permission_prefix }}:update', NULL, NULL, NULL, NULL, NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}修改', NULL, {{ b_false }}, parent_id, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()), -('{{ function_name }}删除', 3, 4, '{{ permission_prefix }}:delete', NULL, NULL, NULL, NULL, NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}删除', NULL, {{ b_false }}, parent_id, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()), -('{{ function_name }}导出', 3, 5, '{{ permission_prefix }}:export', NULL, NULL, NULL, NULL, NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}导出', NULL, {{ b_false }}, parent_id, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()), -('{{ function_name }}导入', 3, 6, '{{ permission_prefix }}:import', NULL, NULL, NULL, NULL, NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}导入', NULL, {{ b_false }}, parent_id, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()), -('{{ function_name }}批量状态修改', 3, 7, '{{ permission_prefix }}:patch', NULL, NULL, NULL, NULL, NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}批量状态修改', NULL, {{ b_false }}, parent_id, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()), -('{{ function_name }}下载导入模板', 3, 8, '{{ permission_prefix }}:download', NULL, NULL, NULL, NULL, NULL, {{ b_false }}, {{ b_true }}, {{ b_false }}, '{{ function_name }}下载导入模板', NULL, {{ b_false }}, parent_id, {{ set_uuid }}, '0', '{{ function_name }}菜单', NOW(), NOW()); - --- 可选:输出插入的父菜单ID(调试用) -RAISE NOTICE '{{ function_name }}菜单创建完成,父菜单ID: %', parent_id; -END $$; - -{% else %} -生成菜单 SQL 语句错误:{{ db_type }} 数据库不支持,请使用 mysql 或 postgres 数据库。 -{% endif %} diff --git a/backend/app/api/v1/module_generator/gencode/tools/jinja2_template_util.py b/backend/app/api/v1/module_generator/gencode/tools/jinja2_template_util.py index 55a83f4b..ef2892cc 100644 --- a/backend/app/api/v1/module_generator/gencode/tools/jinja2_template_util.py +++ b/backend/app/api/v1/module_generator/gencode/tools/jinja2_template_util.py @@ -22,8 +22,6 @@ class Jinja2TemplateUtil: # 项目路径 FRONTEND_PROJECT_PATH = 'frontend' BACKEND_PROJECT_PATH = 'backend' - # 默认上级菜单,系统工具 - DEFAULT_PARENT_MENU_ID = 7 # 环境对象 _env = None @@ -116,7 +114,7 @@ class Jinja2TemplateUtil: 'db_type': settings.DATABASE_TYPE, 'column_not_add_show': GenConstant.COLUMNNAME_NOT_ADD_SHOW, 'column_not_edit_show': GenConstant.COLUMNNAME_NOT_EDIT_SHOW, - 'parent_menu_id': int(gen_table.parent_menu_id) if gen_table.parent_menu_id is not None else int(cls.DEFAULT_PARENT_MENU_ID), + 'parent_menu_id': int(gen_table.parent_menu_id) if gen_table.parent_menu_id else None, } return context @@ -138,7 +136,6 @@ class Jinja2TemplateUtil: 'python/schema.py.j2', 'python/model.py.j2', 'python/__init__.py.j2', - 'sql/sql.sql.j2', 'ts/api.ts.j2', 'vue/index.vue.j2', ] @@ -175,7 +172,6 @@ class Jinja2TemplateUtil: 'schema.py.j2': f'{cls.BACKEND_PROJECT_PATH}/app/api/v1/{module_name}/{business_name}/schema.py', 'model.py.j2': f'{cls.BACKEND_PROJECT_PATH}/app/api/v1/{module_name}/{business_name}/model.py', '__init__.py.j2': f'{cls.BACKEND_PROJECT_PATH}/app/api/v1/{module_name}/{business_name}/__init__.py', - 'sql.sql.j2': f'{cls.BACKEND_PROJECT_PATH}/sql/menu/{module_name}/{business_name}.sql', 'api.ts.j2': f'{cls.FRONTEND_PROJECT_PATH}/src/api/{module_name}/{business_name}.ts', 'index.vue.j2': f'{cls.FRONTEND_PROJECT_PATH}/src/views/{module_name}/{business_name}/index.vue' } @@ -185,9 +181,8 @@ class Jinja2TemplateUtil: if key in template: return path - # 默认处理 - template_name = template.split('/')[-1].replace('.j2', '') - return f'{cls.BACKEND_PROJECT_PATH}/generated/{template_name}' + # 遍历完所有映射都没找到匹配项,才抛出异常 + raise ValueError(f"未找到模板 '{template}' 的路径映射") @classmethod def get_package_prefix(cls, package_name: str) -> str: diff --git a/backend/app/api/v1/module_system/dept/service.py b/backend/app/api/v1/module_system/dept/service.py index 2c61c36f..4eeca27c 100644 --- a/backend/app/api/v1/module_system/dept/service.py +++ b/backend/app/api/v1/module_system/dept/service.py @@ -127,22 +127,30 @@ class DeptService: - None 异常: - - CustomException: 当删除对象为空或部门不存在时抛出。 + - CustomException: 当删除对象为空时抛出。 """ if len(ids) < 1: raise CustomException(msg='删除失败,删除对象不能为空') + + # 获取所有部门列表,用于构建树形关系 + all_depts = await DeptCRUD(auth).get_list_crud() + + # 构建子部门ID映射 + child_id_map = get_child_id_map(model_list=all_depts) + + # 收集所有需要删除的部门ID,包括直接指定的ID和它们的所有子部门ID + delete_ids_set = set() + for id in ids: - dept = await DeptCRUD(auth).get_by_id_crud(id=id) - if not dept: - raise CustomException(msg='删除失败,该部门不存在') - # 校验是否存在子级部门,存在则禁止删除 - dept_list = await DeptCRUD(auth).get_list_crud() - id_map = get_child_id_map(model_list=dept_list) - for id in ids: - descendants = get_child_recursion(id=id, id_map=id_map) - if len(descendants) > 1: - raise CustomException(msg='删除失败,存在子级部门,请先删除子级部门') - await DeptCRUD(auth).delete(ids=ids) + # 递归获取该ID的所有子部门ID + all_descendants = get_child_recursion(id=id, id_map=child_id_map) + delete_ids_set.update(all_descendants) + + # 将集合转换为列表 + delete_ids = list(delete_ids_set) + + # 执行批量删除操作 + await DeptCRUD(auth).delete(ids=delete_ids) @classmethod async def batch_set_available_service(cls, auth: AuthSchema, data: BatchSetAvailable) -> None: diff --git a/backend/app/api/v1/module_system/menu/schema.py b/backend/app/api/v1/module_system/menu/schema.py index da0cc1a7..e4b433fd 100644 --- a/backend/app/api/v1/module_system/menu/schema.py +++ b/backend/app/api/v1/module_system/menu/schema.py @@ -44,15 +44,14 @@ class MenuCreateSchema(BaseModel): except Exception: pass # 路由名/路径规范 - import re - if "route_name" in values and isinstance(values["route_name"], str): - rn = values["route_name"] - if rn and not re.match(r"^[A-Za-z][A-Za-z0-9_.-]{1,99}$", rn): - raise ValueError("路由名称需字母开头,仅含字母/数字/_ . -") if "route_path" in values and isinstance(values["route_path"], str): rp = values["route_path"] if rp and not rp.startswith("/"): raise ValueError("路由路径需以 / 开头") + if "component_path" in values and isinstance(values["component_path"], str): + cp = values["component_path"] + if cp and cp.startswith("/"): + raise ValueError("组件路径不能以 / 开头") return values @model_validator(mode='after') diff --git a/backend/app/api/v1/module_system/menu/service.py b/backend/app/api/v1/module_system/menu/service.py index 81e8aa90..2d899bae 100644 --- a/backend/app/api/v1/module_system/menu/service.py +++ b/backend/app/api/v1/module_system/menu/service.py @@ -133,18 +133,26 @@ class MenuService: """ if len(ids) < 1: raise CustomException(msg='删除失败,删除对象不能为空') + + # 获取所有菜单列表,用于构建树形关系 + all_menus = await MenuCRUD(auth).get_list_crud() + + # 构建子菜单ID映射 + child_id_map = get_child_id_map(model_list=all_menus) + + # 收集所有需要删除的菜单ID,包括直接指定的ID和它们的所有子菜单ID + delete_ids_set = set() + for id in ids: - menu = await MenuCRUD(auth).get_by_id_crud(id=id) - if not menu: - raise CustomException(msg='删除失败,该菜单不存在') - # 校验是否存在子级菜单,存在则禁止删除 - menu_list = await MenuCRUD(auth).get_list_crud() - id_map = get_child_id_map(model_list=menu_list) - for id in ids: - descendants = get_child_recursion(id=id, id_map=id_map) - if len(descendants) > 1: - raise CustomException(msg='删除失败,存在子级菜单,请先删除子级菜单') - await MenuCRUD(auth).delete(ids=ids) + # 递归获取该ID的所有子菜单ID + all_descendants = get_child_recursion(id=id, id_map=child_id_map) + delete_ids_set.update(all_descendants) + + # 将集合转换为列表 + delete_ids = list(delete_ids_set) + + # 执行批量删除操作 + await MenuCRUD(auth).delete(ids=delete_ids) @classmethod async def set_menu_available_service(cls, auth: AuthSchema, data: BatchSetAvailable) -> None: diff --git a/backend/app/common/enums.py b/backend/app/common/enums.py index 4ab7c075..70547f52 100644 --- a/backend/app/common/enums.py +++ b/backend/app/common/enums.py @@ -46,6 +46,7 @@ class RedisInitKeyConfig(Enum): CAPTCHA_CODES = {'key': 'captcha_codes', 'remark': '图片验证码'} SYSTEM_CONFIG = {'key': 'system_config', 'remark': '系统配置'} SYSTEM_DICT = {'key':'system_dict','remark': '数据字典'} + APSCHEDULER_LOCK_KEY = {'key': 'scheduler_job_lock', 'remark': '定时任务初始化锁'} @property def key(self) -> str: diff --git a/backend/app/config/setting.py b/backend/app/config/setting.py index 9e6897c3..2afbeaf6 100755 --- a/backend/app/config/setting.py +++ b/backend/app/config/setting.py @@ -35,23 +35,24 @@ class Settings(BaseSettings): # ******************* API文档配置 ****************** # # ================================================= # DEBUG: bool = True # 调试模式 - TITLE: str = "🎉 FastapiAdmin 🎉 -dev" # 文档标题 + TITLE: str = "🎉 FastapiAdmin 🎉 " # 文档标题 VERSION: str = '0.1.0' # 版本号 DESCRIPTION: str = "该项目是一个基于python的web服务框架,基于fastapi和sqlalchemy实现。" # 文档描述 SUMMARY: str = "接口汇总" # 文档概述 - DOCS_URL: str = "/docs" # Swagger UI路径 - REDOC_URL: str = "/redoc" # ReDoc路径 - ROOT_PATH: str = "/api/v1" # API路由前缀 + DOCS_URL: str = "/docs" # Swagger UI路径 + REDOC_URL: str = "/redoc" # ReDoc路径 + ROOT_PATH: str = "/api/v1" # API路由前缀 + + # ================================================= # + # ******************** 日志配置 ******************** # + # ================================================= # + LOGGER_LEVEL: str = 'DEBUG' # 日志级别 # ================================================= # # ******************** 跨域配置 ******************** # # ================================================= # CORS_ORIGIN_ENABLE: bool = True # 是否启用跨域 - # ALLOW_ORIGINS: List[str] = ["*"] # 允许的域名列表 - ALLOW_ORIGINS: List[str] = [ - 'http://localhost:8001', - 'http://localhost:5180', - ] # 允许的域名列表 + ALLOW_ORIGINS: List[str] = ["*"] # 允许的域名列表 ALLOW_METHODS: List[str] = ["*"] # 允许的HTTP方法 ALLOW_HEADERS: List[str] = ["*"] # 允许的请求头 ALLOW_CREDENTIALS: bool = True # 是否允许携带cookie @@ -65,10 +66,8 @@ class Settings(BaseSettings): ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 60 * 24 * 1 # access_token过期时间(秒)1 天 REFRESH_TOKEN_EXPIRE_MINUTES: int = 60 * 60 * 24 * 7 # refresh_token过期时间(秒)7 天 TOKEN_TYPE: str = "bearer" # token类型 - TOKEN_REQUEST_PATH_EXCLUDE: list[str] = [ # JWT / RBAC 路由白名单 - 'api/v1/auth/login', - ] - + TOKEN_REQUEST_PATH_EXCLUDE: list[str] = ['api/v1/auth/login'] # JWT / RBAC 路由白名单 + # ================================================= # # ******************** 数据库配置 ******************* # # ================================================= # @@ -86,11 +85,8 @@ class Settings(BaseSettings): AUTOFETCH: bool = False # 是否自动刷新 EXPIRE_ON_COMMIT: bool = False # 是否在提交时过期 - # 数据库类型 - DATABASE_TYPE: Literal['mysql', 'postgres', 'sqlite', 'dm'] = 'mysql' - - # MySQL/PostgreSQL数据库连接 + DATABASE_TYPE: Literal['mysql', 'postgres', 'sqlite', 'dm'] = 'mysql' DATABASE_HOST: str = 'localhost' DATABASE_PORT: int = 3306 DATABASE_USER: str = 'root' diff --git a/backend/app/core/discover.py b/backend/app/core/discover.py index 52353fcd..99732a43 100644 --- a/backend/app/core/discover.py +++ b/backend/app/core/discover.py @@ -119,20 +119,19 @@ class DiscoverRouter: """ base_pkg = importlib.import_module(self.base_package) base_dir = Path(next(iter(base_pkg.__path__))) - log.info(f"📁 基础包路径: {base_dir}, 包名: {base_pkg.__name__}") + log.debug(f"📁 基础包名: {base_pkg.__name__}") return base_dir, base_pkg.__name__ def _iter_controller_files(self, base_dir: Path) -> Iterable[Path]: """递归查找并返回所有 `controller.py` 文件,按路径排序保证确定性。""" try: files = sorted(base_dir.rglob("controller.py"), key=lambda p: p.as_posix()) - log.info(f"🔍 发现 {len(files)} 个控制器文件") return files except PermissionError as e: log.error(f"❌️ 权限错误: 无法访问目录 {base_dir}: {str(e)}") return [] except Exception as e: - log.error(f"❌️ 查找控制器文件失败: {str(e)}") + log.error(f"❌️ 查找 controller.py 文件失败: {str(e)}") return [] def _resolve_prefix(self, top_module: str) -> str | None: @@ -143,12 +142,12 @@ class DiscoverRouter: return None if not top_module.startswith(self.module_prefix): if self.debug: - log.warning(f"⚠️ 目录 {top_module} 不符合前缀约定 {self.module_prefix}") + log.warning(f"⚠️ 目录 {top_module} 不符合前缀约定(必须以 {self.module_prefix} 开头)") return None mapped = self.prefix_map.get(top_module) if mapped: - log.info(f"🔄 模块 {top_module} 映射到前缀 {mapped}") + log.debug(f"🔄 模块 {top_module} 映射到前缀 {mapped}") return mapped prefix = f"/{top_module[len(self.module_prefix):]}" @@ -181,10 +180,9 @@ class DiscoverRouter: self._seen_router_ids.add(rid) container.include_router(attr) added += 1 - log.info(f"➕ 注册路由 {attr_name} 到容器") if router_count == 0: - log.warning(f"⚠️ 模块 {mod_name} 中未发现 APIRouter 实例") + log.warning(f"⚠️ 模块 {mod_name} 中未发现接口路由,跳过注册") return added @@ -200,7 +198,7 @@ class DiscoverRouter: - included_routers: 注册的路由数量 - container_count: 容器数量 """ - log.info("🚀 开始路由发现与注册...") + log.debug("🚀 开始路由发现与注册...") base_dir, base_pkg = self._get_base_dir_and_pkg() containers: dict[str, APIRouter] = {} container_counts: dict[str, int] = {} @@ -215,12 +213,12 @@ class DiscoverRouter: scanned_files += 1 if rel_path in self.exclude_files: - log.warning(f"⚠️ 文件 {rel_path} 被排除") + log.warning(f"⚠️ 排除文件: {rel_path}") continue parts = file.relative_to(base_dir).parts if len(parts) < 2: - log.warning(f"⚠️ 文件路径不完整: {rel_path},跳过") + log.warning(f"⚠️ 跳过不完整路径: {rel_path}") continue top_module = parts[0] @@ -233,12 +231,12 @@ class DiscoverRouter: try: mod = importlib.import_module(mod_path) imported_modules += 1 - log.info(f"📥 导入模块: {mod_path}") + log.debug(f"📥 导入分系统模块: {mod_path}") except ModuleNotFoundError: - log.error(f"❌️ 未找到控制器模块: {mod_path}") + log.error(f"❌️ 未找到模块: {mod_path}") continue except ImportError as e: - log.error(f"❌️ 导入控制器失败: {mod_path} -> {str(e)}") + log.error(f"❌️ 导入模块失败: {mod_path} -> {str(e)}") continue container = containers.setdefault(prefix, APIRouter(prefix=prefix)) @@ -247,7 +245,7 @@ class DiscoverRouter: included_routers += added container_counts[prefix] = container_counts.get(prefix, 0) + added except Exception as e: - log.error(f"❌️ 注册控制器路由失败: {mod_path} -> {str(e)}") + log.error(f"❌️ 注册路由失败: {mod_path} -> {str(e)}") # 将容器路由按前缀名称排序后注册到根路由,保证顺序稳定 for prefix in sorted(containers.keys()): @@ -259,7 +257,7 @@ class DiscoverRouter: self._router.include_router(container) # 更丰富的注册日志(含路由数量) count = container_counts.get(prefix, 0) - log.info(f"✅️ 已注册模块容器: {prefix} (路由数: {count})") + log.debug(f"✅️ 注册分系统: {prefix} (路由数: {count})") # 更新统计信息 stats = { @@ -271,12 +269,11 @@ class DiscoverRouter: self._discovery_stats = stats # 生成总结日志 - log.info( - ( - f"✅️ 路由发现完成: 扫描文件 {scanned_files}, " - f"导入模块 {imported_modules}, 注册路由 {included_routers}, " - f"容器 {len(containers)}" - ) + log.debug( + f"✅️ 路由发现完成: 扫描 {scanned_files} 个文件, " + f"导入 {imported_modules} 个模块, " + f"注册 {included_routers} 个路由, " + f"创建 {len(containers)} 个路由" ) return stats @@ -296,7 +293,7 @@ class DiscoverRouter: """ self.debug = debug log_level = "DEBUG" if debug else "INFO" - log.info(f"⚙️ 调试模式已{'开启' if debug else '关闭'},日志级别: {log_level}") + log.debug(f"⚙️ 调试模式已{'开启' if debug else '关闭'},日志级别: {log_level}") return self def add_exclude_dir(self, dir_name: str) -> 'DiscoverRouter': @@ -309,7 +306,7 @@ class DiscoverRouter: - self: 支持链式调用 """ self.exclude_dirs.add(dir_name) - log.info(f"📝 添加排除目录: {dir_name}") + log.debug(f"📝 添加排除目录: {dir_name}") return self def add_prefix_map(self, module_name: str, prefix: str) -> 'DiscoverRouter': @@ -323,7 +320,7 @@ class DiscoverRouter: - self: 支持链式调用 """ self.prefix_map[module_name] = prefix - log.info(f"📝 添加前缀映射: {module_name} -> {prefix}") + log.debug(f"📝 添加前缀映射: {module_name} -> {prefix}") return self @_log_error_handling @@ -338,7 +335,7 @@ class DiscoverRouter: if rid not in self._seen_router_ids: self._seen_router_ids.add(rid) self._router.include_router(router, tags=tags) - log.info(f"📌 手动注册路由,标签: {tags}") + log.debug(f"📌 手动注册路由,标签: {tags or '无'}") else: log.warning(f"⚠️ 路由已存在,跳过重复注册") @@ -350,7 +347,4 @@ _discoverer = DiscoverRouter() router = _discoverer.router # 导出 DiscoverRouter 类供外部使用 -__all__ = ["DiscoverRouter", "router"] - - -# 执行自动发现注册(已由 DiscoverRouter 实例内部处理) \ No newline at end of file +__all__ = ["DiscoverRouter", "router"] \ No newline at end of file diff --git a/backend/app/core/logger.py b/backend/app/core/logger.py index 197f6112..286422a0 100644 --- a/backend/app/core/logger.py +++ b/backend/app/core/logger.py @@ -67,7 +67,6 @@ def setup_logging(): 1. 控制台彩色输出 2. 文件日志轮转 3. 错误日志单独存储 - 4. 智能异步策略:开发环境同步(避免reload资源泄漏),生产环境异步(高性能) """ global _logger_handlers @@ -87,19 +86,12 @@ def setup_logging(): # 日志消息 "{message}" ) - - # 智能选择异步策略:开发环境禁用异步(避免reload时资源泄漏),生产环境启用异步(提升性能) - use_async = not settings.DEBUG # 步骤3:配置控制台输出 handler_id = logger.add( sys.stdout, format=log_format, - level="DEBUG" if settings.DEBUG else "INFO", - enqueue=use_async, # 开发同步,生产异步 - backtrace=True, # 显示完整的异常回溯 - diagnose=True, # 显示变量值等诊断信息 - colorize=True # 启用彩色输出 + level=settings.LOGGER_LEVEL ) _logger_handlers.append(handler_id) @@ -117,7 +109,6 @@ def setup_logging(): retention=30, # 日志保留天数,超过此天数的日志文件将被自动清理 compression="gz", encoding="utf-8", - enqueue=use_async # 开发同步,生产异步 ) _logger_handlers.append(handler_id) @@ -130,14 +121,13 @@ def setup_logging(): retention=30, # 日志保留天数,超过此天数的日志文件将被自动清理 compression="gz", encoding="utf-8", - enqueue=use_async, # 开发同步,生产异步 backtrace=True, diagnose=True ) _logger_handlers.append(handler_id) # 步骤7:配置标准库日志 - logging.basicConfig(handlers=[InterceptHandler()], level="DEBUG" if settings.DEBUG else "INFO", force=True) + logging.basicConfig(handlers=[InterceptHandler()], level=settings.LOGGER_LEVEL, force=True) logger_name_list = [name for name in logging.root.manager.loggerDict] # 步骤8:配置第三方库日志 diff --git a/backend/app/core/redis_crud.py b/backend/app/core/redis_crud.py index 75c80790..85f0a227 100644 --- a/backend/app/core/redis_crud.py +++ b/backend/app/core/redis_crud.py @@ -100,6 +100,74 @@ class RedisCURD: except Exception as e: log.error(f"设置缓存失败: {str(e)}") return False + + async def lock(self, key: str, expire: int, value: str | None = None) -> tuple[bool, str]: + """获取分布式锁 + + 参数: + - key (str): 锁键名 + - expire (int): 锁过期时间,单位为秒 + - value (str, optional): 锁值,默认值为None(自动生成UUID)。 + + 返回: + - tuple[bool, str]: (获取锁是否成功, 锁值) + """ + try: + import uuid + # 如果没有提供value,生成唯一的UUID + lock_value = value if value else str(uuid.uuid4()) + # 使用setnx命令实现原子性锁获取 + result = await self.redis.set( + name=key, + value=lock_value, + ex=expire, + nx=True # 只有当键不存在时才设置 + ) + return (result is not None, lock_value) + except Exception as e: + log.error(f"获取分布式锁失败: {str(e)}") + return (False, "") + + async def unlock(self, key: str, value: str) -> bool: + """释放分布式锁(安全版本,验证锁值) + + 参数: + - key (str): 锁键名 + - value (str): 锁值,用于验证锁的持有者 + + 返回: + - bool: 如果释放锁成功则返回True,否则返回False + """ + try: + # 使用Lua脚本确保原子性验证和删除 + script = """ + if redis.call('get', KEYS[1]) == ARGV[1] then + return redis.call('del', KEYS[1]) + else + return 0 + end + """ + result = await self.redis.eval(script, 1, key, value) # pyright: ignore[reportGeneralTypeIssues] + return result == 1 + except Exception as e: + log.error(f"释放分布式锁失败: {str(e)}") + return False + + async def unlock_simple(self, key: str) -> bool: + """释放分布式锁(简单版本,不验证锁值) + + 参数: + - key (str): 锁键名 + + 返回: + - bool: 如果释放锁成功则返回True,否则返回False + """ + try: + await self.redis.delete(key) + return True + except Exception as e: + log.error(f"释放分布式锁失败: {str(e)}") + return False async def delete(self, *keys: str) -> bool: """删除缓存 @@ -164,6 +232,32 @@ class RedisCURD: except Exception as e: log.error(f"获取缓存过期时间失败: {str(e)}") return -1 + + async def renew_lock(self, key: str, expire: int, value: str) -> bool: + """续约分布式锁 + + 参数: + - key (str): 锁键名 + - expire (int): 新的过期时间,单位为秒 + - value (str): 锁值,用于验证锁的持有者 + + 返回: + - bool: 如果续约锁成功则返回True,否则返回False + """ + try: + # 使用Lua脚本确保原子性验证和续约 + script = """ + if redis.call('get', KEYS[1]) == ARGV[1] then + return redis.call('expire', KEYS[1], ARGV[2]) + else + return 0 + end + """ + result = await self.redis.eval(script, 1, key, value, str(expire)) # pyright: ignore[reportGeneralTypeIssues] + return result == 1 + except Exception as e: + log.error(f"续约分布式锁失败: {str(e)}") + return False async def expire(self, key: str, expire: int) -> bool: """设置缓存过期时间 diff --git a/backend/app/core/validator.py b/backend/app/core/validator.py index 9d5b111a..5cbc6c8e 100644 --- a/backend/app/core/validator.py +++ b/backend/app/core/validator.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- import re -from datetime import datetime +from datetime import datetime, date, time from typing import Annotated from pydantic import AfterValidator, PlainSerializer, WithJsonSchema @@ -17,6 +17,20 @@ DateTimeStr = Annotated[ WithJsonSchema({'type': 'string'}, mode='serialization') ] +# 自定义日期字符串类型 +DateStr = Annotated[ + date, + PlainSerializer(lambda x: x.strftime('%Y-%m-%d') if isinstance(x, date) else str(x), return_type=str), + WithJsonSchema({'type': 'string'}, mode='serialization') +] + +# 自定义时间字符串类型 +TimeStr = Annotated[ + time, + PlainSerializer(lambda x: x.strftime('%H:%M:%S') if isinstance(x, time) else str(x), return_type=str), + WithJsonSchema({'type': 'string'}, mode='serialization') +] + # 自定义手机号类型 Telephone = Annotated[ str, diff --git a/backend/app/plugin/init_app.py b/backend/app/plugin/init_app.py index d06117bc..0f2c294a 100644 --- a/backend/app/plugin/init_app.py +++ b/backend/app/plugin/init_app.py @@ -1,9 +1,8 @@ # -*- coding: utf-8 -*- -from re import T -from starlette.responses import HTMLResponse from typing import Any, AsyncGenerator from fastapi import Depends, FastAPI, Request, Response +from fastapi.responses import HTMLResponse from fastapi.staticfiles import StaticFiles from fastapi.concurrency import asynccontextmanager from fastapi.openapi.docs import ( @@ -22,13 +21,7 @@ from app.core.discover import router from app.core.exceptions import CustomException, handle_exception from app.utils.common_util import import_module, import_modules_async from app.scripts.initialize import InitializeData - -from app.api.v1.module_application.job.tools.ap_scheduler import SchedulerUtil -from app.api.v1.module_system.params.service import ParamsService -from app.api.v1.module_system.dict.service import DictDataService - -# 导入WebSocket路由器 -from app.api.v1.module_application.ai.ws import WS_AI +from app.utils.console import console_close, console_run @asynccontextmanager async def lifespan(app: FastAPI) -> AsyncGenerator[Any, Any]: @@ -41,6 +34,10 @@ async def lifespan(app: FastAPI) -> AsyncGenerator[Any, Any]: 返回: - AsyncGenerator[Any, Any]: 生命周期上下文生成器。 """ + from app.api.v1.module_system.params.service import ParamsService + from app.api.v1.module_system.dict.service import DictDataService + from app.api.v1.module_application.job.tools.ap_scheduler import SchedulerUtil + try: await InitializeData().init_db() log.info(f"✅ {settings.DATABASE_TYPE}数据库初始化完成") @@ -50,22 +47,15 @@ async def lifespan(app: FastAPI) -> AsyncGenerator[Any, Any]: log.info("✅ Redis系统配置初始化完成") await DictDataService().init_dict_service(redis=app.state.redis) log.info("✅ Redis数据字典初始化完成") - await SchedulerUtil.init_system_scheduler() - scheduler_jobs_count = len(SchedulerUtil.get_all_jobs()) - scheduler_status = SchedulerUtil.get_job_status() - log.info(f"✅ 定时任务调度器初始化完成 ({scheduler_jobs_count} 个任务)") - - # 6. 初始化请求限制器 - await FastAPILimiter.init( - redis=app.state.redis, - prefix=settings.REQUEST_LIMITER_REDIS_PREFIX, - http_callback=http_limit_callback, - ) - log.info("✅ 请求限制器初始化完成") + await SchedulerUtil.init_system_scheduler(redis=app.state.redis) + log.info(f"✅ 定时任务调度器初始化完成") + await FastAPILimiter.init(redis=app.state.redis, prefix=settings.REQUEST_LIMITER_REDIS_PREFIX, http_callback=http_limit_callback, ws_callback=ws_limit_callback) + log.info("✅ 请求限流器初始化完成") # 导入并显示最终的启动信息面板 - from app.utils.console import run as console_run from app.common.enums import EnvironmentEnum + scheduler_jobs_count = len(SchedulerUtil.get_all_jobs()) + scheduler_status = SchedulerUtil.get_job_status() console_run( host=settings.SERVER_HOST, port=settings.SERVER_PORT, @@ -88,10 +78,10 @@ async def lifespan(app: FastAPI) -> AsyncGenerator[Any, Any]: log.info("✅ 定时任务调度器已关闭") await FastAPILimiter.close() log.info("✅ 请求限制器已关闭") + console_close() except Exception as e: log.error(f"❌ 应用关闭过程中发生错误: {str(e)}") - def register_middlewares(app: FastAPI) -> None: """ @@ -131,6 +121,7 @@ def register_routers(app: FastAPI) -> None: 返回: - None """ + from app.api.v1.module_application.ai.ws import WS_AI # 手动注册WebSocket路由,不使用速率限制器 app.include_router(router=WS_AI, dependencies=[Depends(WebSocketRateLimiter(times=1, seconds=5))]) # 先将动态路由注册到应用,使用速率限制器 @@ -203,7 +194,6 @@ async def http_limit_callback(request: Request, response: Response, expire: int) data={'Retry-After': str(expires)}, ) -# 为WebSocket添加默认的回调函数 async def ws_limit_callback(ws: WebSocket, expire: int): """ WebSocket请求限制时的默认回调函数 diff --git a/backend/app/scripts/data/sys_menu.json b/backend/app/scripts/data/sys_menu.json index 88b0d27a..b9cc7fe3 100644 --- a/backend/app/scripts/data/sys_menu.json +++ b/backend/app/scripts/data/sys_menu.json @@ -2438,33 +2438,33 @@ ] }, { - "name": "模块管理", + "name": "案例管理", "type": 1, "icon": "menu", "order": 7, "permission": null, - "route_name": "Gencode", - "route_path": "/gencode", + "route_name": "Example", + "route_path": "/example", "component_path": null, "status": "0", "keep_alive": false, "hidden": false, "always_show": false, - "title": "模块管理", + "title": "案例管理", "params": null, "affix": false, - "redirect": "/gencode/demo", - "description": "模块管理", + "redirect": "/example/demo", + "description": "案例管理", "children": [ { "name": "示例管理", "type": 2, "icon": "menu", "order": 1, - "permission": "module_gencode:demo:query", + "permission": "module_example:demo:query", "route_name": "Demo", - "route_path": "/gencode/demo", - "component_path": "module_gencode/demo/index", + "route_path": "/example/demo", + "component_path": "module_example/demo/index", "status": "0", "keep_alive": true, "hidden": false, @@ -2480,7 +2480,7 @@ "type": 3, "icon": null, "order": 1, - "permission": "module_gencode:demo:create", + "permission": "module_example:demo:create", "route_name": null, "route_path": null, "component_path": null, @@ -2499,7 +2499,7 @@ "type": 3, "icon": null, "order": 2, - "permission": "module_gencode:demo:update", + "permission": "module_example:demo:update", "route_name": null, "route_path": null, "component_path": null, @@ -2518,7 +2518,7 @@ "type": 3, "icon": null, "order": 3, - "permission": "module_gencode:demo:delete", + "permission": "module_example:demo:delete", "route_name": null, "route_path": null, "component_path": null, @@ -2537,7 +2537,7 @@ "type": 3, "icon": null, "order": 4, - "permission": "module_gencode:demo:patch", + "permission": "module_example:demo:patch", "route_name": null, "route_path": null, "component_path": null, @@ -2556,7 +2556,7 @@ "type": 3, "icon": null, "order": 5, - "permission": "module_gencode:demo:export", + "permission": "module_example:demo:export", "route_name": null, "route_path": null, "component_path": null, @@ -2575,7 +2575,7 @@ "type": 3, "icon": null, "order": 6, - "permission": "module_gencode:demo:import", + "permission": "module_example:demo:import", "route_name": null, "route_path": null, "component_path": null, @@ -2594,7 +2594,7 @@ "type": 3, "icon": null, "order": 7, - "permission": "module_gencode:demo:download", + "permission": "module_example:demo:download", "route_name": null, "route_path": null, "component_path": null, @@ -2613,7 +2613,7 @@ "type": 3, "icon": null, "order": 8, - "permission": "module_gencode:demo:detail", + "permission": "module_example:demo:detail", "route_name": null, "route_path": null, "component_path": null, @@ -2632,7 +2632,7 @@ "type": 3, "icon": null, "order": 9, - "permission": "module_gencode:demo:query", + "permission": "module_example:demo:query", "route_name": null, "route_path": null, "component_path": null, diff --git a/backend/app/utils/console.py b/backend/app/utils/console.py index 18dfbb69..89244504 100644 --- a/backend/app/utils/console.py +++ b/backend/app/utils/console.py @@ -11,15 +11,13 @@ from app.config.setting import settings console = get_console() +def console_run(host: str, port: int, reload: bool, *, + redis_ready: Optional[bool] = None, + scheduler_jobs: Optional[int] = None, + scheduler_status: Optional[str] = None + ) -> None: + """显示启动信息面板""" -def create_service_panel( - host: str, port: int, reload: bool, *, - redis_ready: Optional[bool] = None, - scheduler_jobs: Optional[int] = None, - scheduler_status: Optional[str] = None, -) -> Panel: - """创建简洁的服务启动信息面板""" - url = f'http://{host}:{port}' base_url = f'{url}{settings.ROOT_PATH}' docs_url = base_url + settings.DOCS_URL @@ -48,34 +46,16 @@ def create_service_panel( docs_info, ) - return Panel( + result = Panel( renderable=final_content, title="[bold purple]🚀 服务启动完成[/]", border_style="green", padding=(1, 2) ) - - -def run(host: str, port: int, reload: bool, *, - redis_ready: Optional[bool] = None, - scheduler_jobs: Optional[int] = None, - scheduler_status: Optional[str] = None - ) -> None: - """显示启动信息面板""" - # 创建并显示启动面板 - service_panel = create_service_panel( - host=host, - port=port, - reload=reload, - redis_ready=redis_ready, - scheduler_jobs=scheduler_jobs, - scheduler_status=scheduler_status, - ) - - console.print(service_panel) + console.print(result) -def display_shutdown_info(): +def console_close(): """显示关闭信息""" shutdown_content = Text() shutdown_content.append("🛑 ", style="bold red") @@ -83,11 +63,11 @@ def display_shutdown_info(): shutdown_content.append(f"\n⏰ {datetime.now().strftime('%H:%M:%S')}") shutdown_content.append("\n👋 感谢使用!", style="dim") - shutdown_panel = Panel( + result = Panel( shutdown_content, title="[bold red]服务关闭[/]", border_style="red", padding=(1, 2) ) - console.print(shutdown_panel) + console.print(result) diff --git a/backend/env/.env.dev b/backend/env/.env.dev index 6b633ed2..5260ef49 100644 --- a/backend/env/.env.dev +++ b/backend/env/.env.dev @@ -22,7 +22,7 @@ DESCRIPTION = "该项目是一个基于python的web服务框架,基于fastapi DEMO_ENABLE = False # 数据库配置 -DATABASE_TYPE = "sqlite" # mysql、postgres、[qlite、dm这俩种不支持代码生成] +DATABASE_TYPE = "mysql" # mysql、postgres、[qlite、dm这俩种不支持代码生成] # 数据库配置 DATABASE_HOST = "localhost" diff --git a/backend/main.py b/backend/main.py index 8e92235a..85970664 100755 --- a/backend/main.py +++ b/backend/main.py @@ -12,11 +12,8 @@ from app.common.enums import EnvironmentEnum fastapiadmin_cli = typer.Typer() - -# 初始化 Alembic 配置 alembic_cfg = Config("alembic.ini") - def create_app() -> FastAPI: """创建 FastAPI 应用实例""" from app.plugin.init_app import ( @@ -78,10 +75,6 @@ def run(env: Annotated[EnvironmentEnum, typer.Option("--env", help="运行环境 factory=True, log_config=None ) - - except KeyboardInterrupt: - from app.utils.console import display_shutdown_info - display_shutdown_info() except Exception as e: raise finally: diff --git a/backend/requirements.txt b/backend/requirements.txt index d85322ae..eb277a6f 100755 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -11,7 +11,7 @@ httpx==0.28.1 # HTTP 客户端 croniter==6.0.0 # 实现cron表达式验证和解析执行计划 pandas==2.2.2 # 数据处理 openpyxl==3.1.5 # Excel -SQLAlchemy==2.0.36 # 数据库ORM +SQLAlchemy==2.0.45 # 数据库ORM pillow==11.0.0 # 图片处理 passlib==1.7.4 # 密码加密 user-agents==2.2.0 # 获取用户UA @@ -23,23 +23,24 @@ greenlet==3.1.1 # 协程框架 bcrypt==4.0.1 # 密码加密解析,切勿升级,如果升级,请同时升级python版本 itsdangerous==2.2.0 # 用于安全处理各种数据,如密码、密钥等 aiofiles==24.1.0 # 文件操作 -redis==5.2.1 # redis 同/异步操作数据库(用户celery配套使用)redis 异步操作数据库 redis已经完全具备了aioredis的功能,无需重复安全,且aioredis已经不再维护也不兼容3.10+的版本 +redis==7.1.0 # redis 同/异步操作数据库(用户celery配套使用)redis 异步操作数据库 redis已经完全具备了aioredis的功能,无需重复安全,且aioredis已经不再维护也不兼容3.10+的版本 +cryptography==45.0.2 # mysql8 密码加密 +rich==13.9.4 # 终端打印美化 +pydantic_validation_decorator==0.1.4 # 模型验证 +loguru==0.7.3 +fastapi-limiter==0.1.6 +sqlglot[rs]==27.8.0 # sql 解析 asyncmy==0.2.9 # mysql 异步操作数据库:基于 mysqlclient:asyncmy 是 mysqlclient 的异步版本,mysqlclient 是一个 C 语言编写的 MySQL 客户端,性能较高。性能:asyncmy 通常在性能上优于 aiomysql,特别是在高并发和大数据量的场景下。 PyMySQL==1.1.2 # mysql 同步步操作数据库基于 pymysql:aiomysql 是 pymysql 的异步版本,pymysql 是一个纯 Python 实现的 MySQL 客户端。成熟度:aiomysql 相对较为成熟,社区支持较好,文档也比较完善。 asyncpg==0.30.0 # postgresql 异步操作数据库基于 psycopg2:asyncpg 是 psycopg2 的异步版本,psycopg2 是一个 pure-Python PostgreSQL 数据库适配器。性能:asyncpg 通常在性能上优于 psycopg2,特别是在高并发和大数据量的场景下。 psycopg2==2.9.10 # postgresql 同步操作数据库基于 psycopg2:psycopg2 是一个 pure-Python PostgreSQL 适配器。 -cryptography==45.0.2 # mysql8 密码加密 -openai==1.55.2 # ai 大模型 -rich==13.9.4 # 终端打印美化 -sqlglot[rs]==27.8.0 # sql 解析 -pydantic_validation_decorator==0.1.4 # 模型验证 -loguru==0.7.3 -fastapi-limiter==0.1.6 -# dmPython # 达梦数据库驱动 -# aiosqlite==0.17.0 # sqlite 异步操作数据库 -# motor==3.6.0 # mongodb 驱动 - -# amqp==5.3.1 +aiosqlite==0.17.0 # sqlite 异步操作数据库 # python-socketio==5.14.3 -langchain -langchain-openai \ No newline at end of file +# dmPython # 达梦数据库驱动 +# openai==1.55.2 # ai 大模型 +langchain==1.2.0 +langchain-openai==1.1.6 +langchain-anthropic==1.3.0 +langchain-mcp-adapters==0.2.1 +fastmcp==2.14.1 + diff --git a/backend/sql/mysql/fastapiadmin_2025-12-04_221332.sql b/backend/sql/mysql/fastapiadmin_2025-12-04_221332.sql deleted file mode 100644 index 987345cc..00000000 --- a/backend/sql/mysql/fastapiadmin_2025-12-04_221332.sql +++ /dev/null @@ -1,811 +0,0 @@ --- MySQL dump 10.13 Distrib 8.4.3, for macos14.5 (arm64) --- --- Host: 127.0.0.1 Database: fastapiadmin --- ------------------------------------------------------ --- Server version 8.4.3 - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!50503 SET NAMES utf8mb4 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; - --- --- Table structure for table `app_ai_mcp` --- - -DROP TABLE IF EXISTS `app_ai_mcp`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `app_ai_mcp` ( - `name` varchar(50) NOT NULL COMMENT 'MCP 名称', - `type` int NOT NULL COMMENT 'MCP 类型(0:stdio 1:sse)', - `url` varchar(255) DEFAULT NULL COMMENT '远程 SSE 地址', - `command` varchar(255) DEFAULT NULL COMMENT 'MCP 命令', - `args` varchar(255) DEFAULT NULL COMMENT 'MCP 命令参数', - `env` json DEFAULT NULL COMMENT 'MCP 环境变量', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - `created_id` int DEFAULT NULL COMMENT '创建人ID', - `updated_id` int DEFAULT NULL COMMENT '更新人ID', - PRIMARY KEY (`id`), - UNIQUE KEY `uuid` (`uuid`), - KEY `ix_app_ai_mcp_created_id` (`created_id`), - KEY `ix_app_ai_mcp_updated_id` (`updated_id`), - CONSTRAINT `app_ai_mcp_ibfk_1` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `app_ai_mcp_ibfk_2` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MCP 服务器表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `app_ai_mcp` --- - -/*!40000 ALTER TABLE `app_ai_mcp` DISABLE KEYS */; -/*!40000 ALTER TABLE `app_ai_mcp` ENABLE KEYS */; - --- --- Table structure for table `app_job` --- - -DROP TABLE IF EXISTS `app_job`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `app_job` ( - `name` varchar(64) DEFAULT NULL COMMENT '任务名称', - `jobstore` varchar(64) DEFAULT NULL COMMENT '存储器', - `executor` varchar(64) DEFAULT NULL COMMENT '执行器:将运行此作业的执行程序的名称', - `trigger` varchar(64) NOT NULL COMMENT '触发器:控制此作业计划的 trigger 对象', - `trigger_args` text COMMENT '触发器参数', - `func` text NOT NULL COMMENT '任务函数', - `args` text COMMENT '位置参数', - `kwargs` text COMMENT '关键字参数', - `coalesce` tinyint(1) DEFAULT NULL COMMENT '是否合并运行:是否在多个运行时间到期时仅运行作业一次', - `max_instances` int DEFAULT NULL COMMENT '最大实例数:允许的最大并发执行实例数', - `start_date` varchar(64) DEFAULT NULL COMMENT '开始时间', - `end_date` varchar(64) DEFAULT NULL COMMENT '结束时间', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - `created_id` int DEFAULT NULL COMMENT '创建人ID', - `updated_id` int DEFAULT NULL COMMENT '更新人ID', - PRIMARY KEY (`id`), - UNIQUE KEY `uuid` (`uuid`), - KEY `ix_app_job_updated_id` (`updated_id`), - KEY `ix_app_job_created_id` (`created_id`), - CONSTRAINT `app_job_ibfk_1` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `app_job_ibfk_2` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='定时任务调度表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `app_job` --- - -/*!40000 ALTER TABLE `app_job` DISABLE KEYS */; -/*!40000 ALTER TABLE `app_job` ENABLE KEYS */; - --- --- Table structure for table `app_job_log` --- - -DROP TABLE IF EXISTS `app_job_log`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `app_job_log` ( - `job_name` varchar(64) NOT NULL COMMENT '任务名称', - `job_group` varchar(64) NOT NULL COMMENT '任务组名', - `job_executor` varchar(64) NOT NULL COMMENT '任务执行器', - `invoke_target` varchar(500) NOT NULL COMMENT '调用目标字符串', - `job_args` varchar(255) DEFAULT NULL COMMENT '位置参数', - `job_kwargs` varchar(255) DEFAULT NULL COMMENT '关键字参数', - `job_trigger` varchar(255) DEFAULT NULL COMMENT '任务触发器', - `job_message` varchar(500) DEFAULT NULL COMMENT '日志信息', - `exception_info` varchar(2000) DEFAULT NULL COMMENT '异常信息', - `job_id` int DEFAULT NULL COMMENT '任务ID', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uuid` (`uuid`), - KEY `ix_app_job_log_job_id` (`job_id`), - CONSTRAINT `app_job_log_ibfk_1` FOREIGN KEY (`job_id`) REFERENCES `app_job` (`id`) ON DELETE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='定时任务调度日志表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `app_job_log` --- - -/*!40000 ALTER TABLE `app_job_log` DISABLE KEYS */; -/*!40000 ALTER TABLE `app_job_log` ENABLE KEYS */; - --- --- Table structure for table `app_myapp` --- - -DROP TABLE IF EXISTS `app_myapp`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `app_myapp` ( - `name` varchar(64) NOT NULL COMMENT '应用名称', - `access_url` varchar(500) NOT NULL COMMENT '访问地址', - `icon_url` varchar(300) DEFAULT NULL COMMENT '应用图标URL', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - `created_id` int DEFAULT NULL COMMENT '创建人ID', - `updated_id` int DEFAULT NULL COMMENT '更新人ID', - PRIMARY KEY (`id`), - UNIQUE KEY `uuid` (`uuid`), - KEY `ix_app_myapp_created_id` (`created_id`), - KEY `ix_app_myapp_updated_id` (`updated_id`), - CONSTRAINT `app_myapp_ibfk_1` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `app_myapp_ibfk_2` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='应用系统表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `app_myapp` --- - -/*!40000 ALTER TABLE `app_myapp` DISABLE KEYS */; -/*!40000 ALTER TABLE `app_myapp` ENABLE KEYS */; - --- --- Table structure for table `apscheduler_jobs` --- - -DROP TABLE IF EXISTS `apscheduler_jobs`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `apscheduler_jobs` ( - `id` varchar(191) NOT NULL, - `next_run_time` double DEFAULT NULL, - `job_state` blob NOT NULL, - PRIMARY KEY (`id`), - KEY `ix_apscheduler_jobs_next_run_time` (`next_run_time`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `apscheduler_jobs` --- - -/*!40000 ALTER TABLE `apscheduler_jobs` DISABLE KEYS */; -/*!40000 ALTER TABLE `apscheduler_jobs` ENABLE KEYS */; - --- --- Table structure for table `gen_demo` --- - -DROP TABLE IF EXISTS `gen_demo`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `gen_demo` ( - `name` varchar(64) DEFAULT NULL COMMENT '名称', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - `created_id` int DEFAULT NULL COMMENT '创建人ID', - `updated_id` int DEFAULT NULL COMMENT '更新人ID', - PRIMARY KEY (`id`), - UNIQUE KEY `uuid` (`uuid`), - KEY `ix_gen_demo_created_id` (`created_id`), - KEY `ix_gen_demo_updated_id` (`updated_id`), - CONSTRAINT `gen_demo_ibfk_1` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `gen_demo_ibfk_2` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='示例表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `gen_demo` --- - -/*!40000 ALTER TABLE `gen_demo` DISABLE KEYS */; -/*!40000 ALTER TABLE `gen_demo` ENABLE KEYS */; - --- --- Table structure for table `gen_table` --- - -DROP TABLE IF EXISTS `gen_table`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `gen_table` ( - `table_name` varchar(200) NOT NULL COMMENT '表名称', - `table_comment` varchar(500) DEFAULT NULL COMMENT '表描述', - `class_name` varchar(100) NOT NULL COMMENT '实体类名称', - `package_name` varchar(100) DEFAULT NULL COMMENT '生成包路径', - `module_name` varchar(30) DEFAULT NULL COMMENT '生成模块名', - `business_name` varchar(30) DEFAULT NULL COMMENT '生成业务名', - `function_name` varchar(100) DEFAULT NULL COMMENT '生成功能名', - `sub_table_name` varchar(64) DEFAULT NULL COMMENT '关联子表的表名', - `sub_table_fk_name` varchar(64) DEFAULT NULL COMMENT '子表关联的外键名', - `parent_menu_id` int DEFAULT NULL COMMENT '父菜单ID', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - `created_id` int DEFAULT NULL COMMENT '创建人ID', - `updated_id` int DEFAULT NULL COMMENT '更新人ID', - PRIMARY KEY (`id`), - UNIQUE KEY `uuid` (`uuid`), - KEY `ix_gen_table_created_id` (`created_id`), - KEY `ix_gen_table_updated_id` (`updated_id`), - CONSTRAINT `gen_table_ibfk_1` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `gen_table_ibfk_2` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='代码生成表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `gen_table` --- - -/*!40000 ALTER TABLE `gen_table` DISABLE KEYS */; -/*!40000 ALTER TABLE `gen_table` ENABLE KEYS */; - --- --- Table structure for table `gen_table_column` --- - -DROP TABLE IF EXISTS `gen_table_column`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `gen_table_column` ( - `column_name` varchar(200) NOT NULL COMMENT '列名称', - `column_comment` varchar(500) DEFAULT NULL COMMENT '列描述', - `column_type` varchar(100) NOT NULL COMMENT '列类型', - `column_length` varchar(50) DEFAULT NULL COMMENT '列长度', - `column_default` varchar(200) DEFAULT NULL COMMENT '列默认值', - `is_pk` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否主键', - `is_increment` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否自增', - `is_nullable` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否允许为空', - `is_unique` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否唯一', - `python_type` varchar(100) DEFAULT NULL COMMENT 'Python类型', - `python_field` varchar(200) DEFAULT NULL COMMENT 'Python字段名', - `is_insert` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否为新增字段', - `is_edit` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否编辑字段', - `is_list` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否列表字段', - `is_query` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否查询字段', - `query_type` varchar(50) DEFAULT NULL COMMENT '查询方式', - `html_type` varchar(100) DEFAULT NULL COMMENT '显示类型', - `dict_type` varchar(200) DEFAULT NULL COMMENT '字典类型', - `sort` int NOT NULL COMMENT '排序', - `table_id` int NOT NULL COMMENT '归属表编号', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - `created_id` int DEFAULT NULL COMMENT '创建人ID', - `updated_id` int DEFAULT NULL COMMENT '更新人ID', - PRIMARY KEY (`id`), - UNIQUE KEY `uuid` (`uuid`), - KEY `ix_gen_table_column_created_id` (`created_id`), - KEY `ix_gen_table_column_updated_id` (`updated_id`), - KEY `ix_gen_table_column_table_id` (`table_id`), - CONSTRAINT `gen_table_column_ibfk_1` FOREIGN KEY (`table_id`) REFERENCES `gen_table` (`id`) ON DELETE CASCADE, - CONSTRAINT `gen_table_column_ibfk_2` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `gen_table_column_ibfk_3` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='代码生成表字段'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `gen_table_column` --- - -/*!40000 ALTER TABLE `gen_table_column` DISABLE KEYS */; -/*!40000 ALTER TABLE `gen_table_column` ENABLE KEYS */; - --- --- Table structure for table `sys_dept` --- - -DROP TABLE IF EXISTS `sys_dept`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `sys_dept` ( - `name` varchar(40) NOT NULL COMMENT '部门名称', - `order` int NOT NULL COMMENT '显示排序', - `code` varchar(20) DEFAULT NULL COMMENT '部门编码', - `leader` varchar(32) DEFAULT NULL COMMENT '部门负责人', - `phone` varchar(11) DEFAULT NULL COMMENT '手机', - `email` varchar(64) DEFAULT NULL COMMENT '邮箱', - `parent_id` int DEFAULT NULL COMMENT '父级部门ID', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uuid` (`uuid`), - KEY `ix_sys_dept_parent_id` (`parent_id`), - KEY `ix_sys_dept_code` (`code`), - CONSTRAINT `sys_dept_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `sys_dept` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='部门表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `sys_dept` --- - -/*!40000 ALTER TABLE `sys_dept` DISABLE KEYS */; -INSERT INTO `sys_dept` VALUES ('集团总公司',1,'GROUP','部门负责人','1582112620','deptadmin@example.com',NULL,1,'fd26c8ee-8fb8-4dbe-8955-f72443089a41','0','集团总公司','2025-12-04 22:13:20','2025-12-04 22:13:20'); -/*!40000 ALTER TABLE `sys_dept` ENABLE KEYS */; - --- --- Table structure for table `sys_dict_data` --- - -DROP TABLE IF EXISTS `sys_dict_data`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `sys_dict_data` ( - `dict_sort` int NOT NULL COMMENT '字典排序', - `dict_label` varchar(255) NOT NULL COMMENT '字典标签', - `dict_value` varchar(255) NOT NULL COMMENT '字典键值', - `css_class` varchar(255) DEFAULT NULL COMMENT '样式属性(其他样式扩展)', - `list_class` varchar(255) DEFAULT NULL COMMENT '表格回显样式', - `is_default` tinyint(1) NOT NULL COMMENT '是否默认(True是 False否)', - `dict_type` varchar(255) NOT NULL COMMENT '字典类型', - `dict_type_id` int NOT NULL COMMENT '字典类型ID', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uuid` (`uuid`), - KEY `dict_type_id` (`dict_type_id`), - CONSTRAINT `sys_dict_data_ibfk_1` FOREIGN KEY (`dict_type_id`) REFERENCES `sys_dict_type` (`id`) ON DELETE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='字典数据表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `sys_dict_data` --- - -/*!40000 ALTER TABLE `sys_dict_data` DISABLE KEYS */; -INSERT INTO `sys_dict_data` VALUES (1,'男','0','blue',NULL,1,'sys_user_sex',1,1,'cdc79615-d9f7-4c7d-9ee2-fc9ebb63be9f','0','性别男','2025-12-04 22:13:20','2025-12-04 22:13:20'),(2,'女','1','pink',NULL,0,'sys_user_sex',1,2,'5d354c73-481a-48bc-8f7f-c131c7d2773e','0','性别女','2025-12-04 22:13:20','2025-12-04 22:13:20'),(3,'未知','2','red',NULL,0,'sys_user_sex',1,3,'60bea9c3-eb76-4076-87d3-5879f843fb58','0','性别未知','2025-12-04 22:13:20','2025-12-04 22:13:20'),(1,'是','1','','primary',1,'sys_yes_no',2,4,'113cf2d8-5a1a-400b-8dc8-f0c328609479','0','是','2025-12-04 22:13:20','2025-12-04 22:13:20'),(2,'否','0','','danger',0,'sys_yes_no',2,5,'ce71548c-bafe-4fc8-b249-81d220669ad0','0','否','2025-12-04 22:13:20','2025-12-04 22:13:20'),(1,'启用','1','','primary',0,'sys_common_status',3,6,'2e95ccd1-c3f2-4fb2-8c8b-90fd0204b8c7','0','启用状态','2025-12-04 22:13:20','2025-12-04 22:13:20'),(2,'停用','0','','danger',0,'sys_common_status',3,7,'23b2da6c-5c84-446e-bbd9-6cf92c6f784c','0','停用状态','2025-12-04 22:13:20','2025-12-04 22:13:20'),(1,'通知','1','blue','warning',1,'sys_notice_type',4,8,'88e53e0d-1936-4b0d-917e-824a5f578cef','0','通知','2025-12-04 22:13:20','2025-12-04 22:13:20'),(2,'公告','2','orange','success',0,'sys_notice_type',4,9,'52d38c19-df02-43bd-82f1-b129faa45243','0','公告','2025-12-04 22:13:20','2025-12-04 22:13:20'),(99,'其他','0','','info',0,'sys_oper_type',5,10,'0eb24b46-9927-4378-a13f-07f2a68d1098','0','其他操作','2025-12-04 22:13:20','2025-12-04 22:13:20'),(1,'新增','1','','info',0,'sys_oper_type',5,11,'da656906-a590-4fa8-a572-eaaac3795293','0','新增操作','2025-12-04 22:13:20','2025-12-04 22:13:20'),(2,'修改','2','','info',0,'sys_oper_type',5,12,'8271e5c8-a91b-4a77-acfb-c1fe80c22328','0','修改操作','2025-12-04 22:13:20','2025-12-04 22:13:20'),(3,'删除','3','','danger',0,'sys_oper_type',5,13,'03c41a43-7df0-4c40-938f-15e3372012a1','0','删除操作','2025-12-04 22:13:20','2025-12-04 22:13:20'),(4,'分配权限','4','','primary',0,'sys_oper_type',5,14,'fcf02194-ab42-498b-b819-1dfe59aeb94d','0','授权操作','2025-12-04 22:13:20','2025-12-04 22:13:20'),(5,'导出','5','','warning',0,'sys_oper_type',5,15,'8562ffac-517f-42cf-9fee-0f1011e3cd5c','0','导出操作','2025-12-04 22:13:20','2025-12-04 22:13:20'),(6,'导入','6','','warning',0,'sys_oper_type',5,16,'a9502d4a-7bbd-4ad2-86d2-116e1f0dd7bd','0','导入操作','2025-12-04 22:13:20','2025-12-04 22:13:20'),(7,'强退','7','','danger',0,'sys_oper_type',5,17,'c8791121-6b5d-4973-b3f6-c3398538103c','0','强退操作','2025-12-04 22:13:20','2025-12-04 22:13:20'),(8,'生成代码','8','','warning',0,'sys_oper_type',5,18,'d185f1c3-a6a2-4b9a-a1b3-d98d9c91bbca','0','生成操作','2025-12-04 22:13:20','2025-12-04 22:13:20'),(9,'清空数据','9','','danger',0,'sys_oper_type',5,19,'f7f1567b-8ab9-47fb-a01b-96d570242912','0','清空操作','2025-12-04 22:13:20','2025-12-04 22:13:20'),(1,'默认(Memory)','default','',NULL,1,'sys_job_store',6,20,'c5336690-4068-4b74-985d-00f18b17f2b2','0','默认分组','2025-12-04 22:13:20','2025-12-04 22:13:20'),(2,'数据库(Sqlalchemy)','sqlalchemy','',NULL,0,'sys_job_store',6,21,'31924a7c-1d40-4e0f-a825-e7db92762457','0','数据库分组','2025-12-04 22:13:20','2025-12-04 22:13:20'),(3,'数据库(Redis)','redis','',NULL,0,'sys_job_store',6,22,'ae07cce7-105c-4fd7-a2e9-905ca0188aa4','0','reids分组','2025-12-04 22:13:20','2025-12-04 22:13:20'),(1,'线程池','default','',NULL,0,'sys_job_executor',7,23,'dbd7fabf-050d-4f1c-ad6c-17f19d562b5e','0','线程池','2025-12-04 22:13:20','2025-12-04 22:13:20'),(2,'进程池','processpool','',NULL,0,'sys_job_executor',7,24,'9987875b-b9cf-4277-96de-16f51eba00ab','0','进程池','2025-12-04 22:13:20','2025-12-04 22:13:20'),(1,'演示函数','scheduler_test.job','',NULL,1,'sys_job_function',8,25,'9e5e997d-c66b-48cd-afa9-c504b0cbdb05','0','演示函数','2025-12-04 22:13:20','2025-12-04 22:13:20'),(1,'指定日期(date)','date','',NULL,1,'sys_job_trigger',9,26,'d2fc2845-32ab-4f09-b80a-3a665ea275ee','0','指定日期任务触发器','2025-12-04 22:13:20','2025-12-04 22:13:20'),(2,'间隔触发器(interval)','interval','',NULL,0,'sys_job_trigger',9,27,'ef8b609a-46f2-4aed-8e28-b6efeee0e5f8','0','间隔触发器任务触发器','2025-12-04 22:13:20','2025-12-04 22:13:20'),(3,'cron表达式','cron','',NULL,0,'sys_job_trigger',9,28,'239a4c9e-aa31-4b88-bbce-176928f47b65','0','间隔触发器任务触发器','2025-12-04 22:13:20','2025-12-04 22:13:20'),(1,'默认(default)','default','',NULL,1,'sys_list_class',10,29,'8c4a7064-60fb-4ce7-b585-0904e5d3f96c','0','默认表格回显样式','2025-12-04 22:13:20','2025-12-04 22:13:20'),(2,'主要(primary)','primary','',NULL,0,'sys_list_class',10,30,'60b05aa6-2c95-4fcc-bb97-33a1d8d9084d','0','主要表格回显样式','2025-12-04 22:13:20','2025-12-04 22:13:20'),(3,'成功(success)','success','',NULL,0,'sys_list_class',10,31,'e446b174-4ba0-45f1-b822-a3684133ca0c','0','成功表格回显样式','2025-12-04 22:13:20','2025-12-04 22:13:20'),(4,'信息(info)','info','',NULL,0,'sys_list_class',10,32,'4d93f634-0966-4dc4-8021-6f533e6971a3','0','信息表格回显样式','2025-12-04 22:13:20','2025-12-04 22:13:20'),(5,'警告(warning)','warning','',NULL,0,'sys_list_class',10,33,'39e43a39-e2e5-43f6-9df2-6c05a3f3d75d','0','警告表格回显样式','2025-12-04 22:13:20','2025-12-04 22:13:20'),(6,'危险(danger)','danger','',NULL,0,'sys_list_class',10,34,'70d48977-fd15-48c6-bfb8-f73c4efd7e4e','0','危险表格回显样式','2025-12-04 22:13:20','2025-12-04 22:13:20'); -/*!40000 ALTER TABLE `sys_dict_data` ENABLE KEYS */; - --- --- Table structure for table `sys_dict_type` --- - -DROP TABLE IF EXISTS `sys_dict_type`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `sys_dict_type` ( - `dict_name` varchar(255) NOT NULL COMMENT '字典名称', - `dict_type` varchar(255) NOT NULL COMMENT '字典类型', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `dict_type` (`dict_type`), - UNIQUE KEY `uuid` (`uuid`) -) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='字典类型表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `sys_dict_type` --- - -/*!40000 ALTER TABLE `sys_dict_type` DISABLE KEYS */; -INSERT INTO `sys_dict_type` VALUES ('用户性别','sys_user_sex',1,'c013bc5a-cb3f-469c-a9ee-8bd9d055410b','0','用户性别列表','2025-12-04 22:13:20','2025-12-04 22:13:20'),('系统是否','sys_yes_no',2,'8d44339e-a860-47fb-a5e5-6cc8b65793f8','0','系统是否列表','2025-12-04 22:13:20','2025-12-04 22:13:20'),('系统状态','sys_common_status',3,'94023e9d-3657-4c1c-b3ba-6253ac25ee26','0','系统状态','2025-12-04 22:13:20','2025-12-04 22:13:20'),('通知类型','sys_notice_type',4,'9b7c871f-2d8a-4df7-bdaf-858cbfb37298','0','通知类型列表','2025-12-04 22:13:20','2025-12-04 22:13:20'),('操作类型','sys_oper_type',5,'6dd7cdb0-ea35-4644-a6ca-000691571c4d','0','操作类型列表','2025-12-04 22:13:20','2025-12-04 22:13:20'),('任务存储器','sys_job_store',6,'6592df8d-d5cf-4417-810b-b63d716749b6','0','任务分组列表','2025-12-04 22:13:20','2025-12-04 22:13:20'),('任务执行器','sys_job_executor',7,'890cfd50-bbf5-47d3-9d88-cebfd8163747','0','任务执行器列表','2025-12-04 22:13:20','2025-12-04 22:13:20'),('任务函数','sys_job_function',8,'d65e0fb3-984a-4bd6-bc84-4776882190e5','0','任务函数列表','2025-12-04 22:13:20','2025-12-04 22:13:20'),('任务触发器','sys_job_trigger',9,'5427e0fc-8c0b-4745-91c9-e36beeb37d19','0','任务触发器列表','2025-12-04 22:13:20','2025-12-04 22:13:20'),('表格回显样式','sys_list_class',10,'0700559c-2224-40d3-8a08-c576fe404272','0','表格回显样式列表','2025-12-04 22:13:20','2025-12-04 22:13:20'); -/*!40000 ALTER TABLE `sys_dict_type` ENABLE KEYS */; - --- --- Table structure for table `sys_log` --- - -DROP TABLE IF EXISTS `sys_log`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `sys_log` ( - `type` int NOT NULL COMMENT '日志类型(1登录日志 2操作日志)', - `request_path` varchar(255) NOT NULL COMMENT '请求路径', - `request_method` varchar(10) NOT NULL COMMENT '请求方式', - `request_payload` text COMMENT '请求体', - `request_ip` varchar(50) DEFAULT NULL COMMENT '请求IP地址', - `login_location` varchar(255) DEFAULT NULL COMMENT '登录位置', - `request_os` varchar(64) DEFAULT NULL COMMENT '操作系统', - `request_browser` varchar(64) DEFAULT NULL COMMENT '浏览器', - `response_code` int NOT NULL COMMENT '响应状态码', - `response_json` text COMMENT '响应体', - `process_time` varchar(20) DEFAULT NULL COMMENT '处理时间', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - `created_id` int DEFAULT NULL COMMENT '创建人ID', - `updated_id` int DEFAULT NULL COMMENT '更新人ID', - PRIMARY KEY (`id`), - UNIQUE KEY `uuid` (`uuid`), - KEY `ix_sys_log_updated_id` (`updated_id`), - KEY `ix_sys_log_created_id` (`created_id`), - CONSTRAINT `sys_log_ibfk_1` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `sys_log_ibfk_2` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='系统日志表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `sys_log` --- - -/*!40000 ALTER TABLE `sys_log` DISABLE KEYS */; -/*!40000 ALTER TABLE `sys_log` ENABLE KEYS */; - --- --- Table structure for table `sys_menu` --- - -DROP TABLE IF EXISTS `sys_menu`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `sys_menu` ( - `name` varchar(50) NOT NULL COMMENT '菜单名称', - `type` int NOT NULL COMMENT '菜单类型(1:目录 2:菜单 3:按钮/权限 4:链接)', - `order` int NOT NULL COMMENT '显示排序', - `permission` varchar(100) DEFAULT NULL COMMENT '权限标识(如:module_system:user:query)', - `icon` varchar(50) DEFAULT NULL COMMENT '菜单图标', - `route_name` varchar(100) DEFAULT NULL COMMENT '路由名称', - `route_path` varchar(200) DEFAULT NULL COMMENT '路由路径', - `component_path` varchar(200) DEFAULT NULL COMMENT '组件路径', - `redirect` varchar(200) DEFAULT NULL COMMENT '重定向地址', - `hidden` tinyint(1) NOT NULL COMMENT '是否隐藏(True:隐藏 False:显示)', - `keep_alive` tinyint(1) NOT NULL COMMENT '是否缓存(True:是 False:否)', - `always_show` tinyint(1) NOT NULL COMMENT '是否始终显示(True:是 False:否)', - `title` varchar(50) DEFAULT NULL COMMENT '菜单标题', - `params` json DEFAULT NULL COMMENT '路由参数(JSON对象)', - `affix` tinyint(1) NOT NULL COMMENT '是否固定标签页(True:是 False:否)', - `parent_id` int DEFAULT NULL COMMENT '父菜单ID', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uuid` (`uuid`), - KEY `ix_sys_menu_parent_id` (`parent_id`), - CONSTRAINT `sys_menu_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `sys_menu` (`id`) ON DELETE SET NULL -) ENGINE=InnoDB AUTO_INCREMENT=113 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='菜单表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `sys_menu` --- - -/*!40000 ALTER TABLE `sys_menu` DISABLE KEYS */; -INSERT INTO `sys_menu` VALUES ('仪表盘',1,1,'','client','Dashboard','/dashboard',NULL,'/dashboard/workplace',0,1,1,'仪表盘','null',0,NULL,1,'cb4b6d66-e7ca-40b3-8bb6-93d303a67c72','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('系统管理',1,2,NULL,'system','System','/system',NULL,'/system/menu',0,1,0,'系统管理','null',0,NULL,2,'463da8d4-57fb-4a58-a4b8-e764e3b3cecf','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('应用管理',1,3,NULL,'el-icon-ShoppingBag','Application','/application',NULL,'/application/myapp',0,0,0,'应用管理','null',0,NULL,3,'62945c06-f52c-44f4-9941-6823c4f76a4e','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('监控管理',1,4,NULL,'monitor','Monitor','/monitor',NULL,'/monitor/online',0,0,0,'监控管理','null',0,NULL,4,'c0ef2b42-7b44-4b61-9e0d-6f394b1ad0fc','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('代码管理',1,5,NULL,'code','Generator','/generator',NULL,'/generator/gencode',0,0,0,'代码管理','null',0,NULL,5,'bb72faa7-c1b7-4bd8-b927-632905fc94e1','0','代码管理','2025-12-04 22:13:19','2025-12-04 22:13:19'),('接口管理',1,6,NULL,'document','Common','/common',NULL,'/common/docs',0,0,0,'接口管理','null',0,NULL,6,'6e936e8e-dbbe-4344-88e9-c5e4fd0361a2','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('模块管理',1,7,NULL,'menu','Gencode','/gencode',NULL,'/gencode/demo',0,0,0,'模块管理','null',0,NULL,7,'a8d485ce-6d8d-4e09-8b50-817062c958a3','0','模块管理','2025-12-04 22:13:19','2025-12-04 22:13:19'),('工作台',2,1,'dashboard:workplace:query','el-icon-PieChart','Workplace','/dashboard/workplace','dashboard/workplace',NULL,0,1,0,'工作台','null',0,1,8,'62bb634f-be53-491a-88d0-3a2ac3023744','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('菜单管理',2,1,'module_system:menu:query','menu','Menu','/system/menu','module_system/menu/index',NULL,0,1,0,'菜单管理','null',0,2,9,'bc02ff9f-6fd1-4ebd-8778-c0634bfe4cfd','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('部门管理',2,2,'module_system:dept:query','tree','Dept','/system/dept','module_system/dept/index',NULL,0,1,0,'部门管理','null',0,2,10,'2d816696-9844-42d9-aeb6-8d81c0ae63fe','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('岗位管理',2,3,'module_system:position:query','el-icon-Coordinate','Position','/system/position','module_system/position/index',NULL,0,1,0,'岗位管理','null',0,2,11,'bd52ed49-948e-4090-8963-0a5792944026','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('角色管理',2,4,'module_system:role:query','role','Role','/system/role','module_system/role/index',NULL,0,1,0,'角色管理','null',0,2,12,'e2aeb811-7046-4b16-9c3e-4ab9757582af','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('用户管理',2,5,'module_system:user:query','el-icon-User','User','/system/user','module_system/user/index',NULL,0,1,0,'用户管理','null',0,2,13,'a91c2f77-8082-4494-bf90-116859b737c7','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('日志管理',2,6,'module_system:log:query','el-icon-Aim','Log','/system/log','module_system/log/index',NULL,0,1,0,'日志管理','null',0,2,14,'8eb4afda-bdee-4a09-80f9-90452f9aff20','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('公告管理',2,7,'module_system:notice:query','bell','Notice','/system/notice','module_system/notice/index',NULL,0,1,0,'公告管理','null',0,2,15,'9d8fc784-33e4-4eda-9512-fe8ad22cc73b','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('参数管理',2,8,'module_system:param:query','setting','Params','/system/param','module_system/param/index',NULL,0,1,0,'参数管理','null',0,2,16,'131b6aac-40cd-4079-a49b-ce9801150d0b','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('字典管理',2,9,'module_system:dict_type:query','dict','Dict','/system/dict','module_system/dict/index',NULL,0,1,0,'字典管理','null',0,2,17,'6cecd766-3d26-43dd-beeb-184f10fe1d3f','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('我的应用',2,1,'module_application:myapp:query','el-icon-ShoppingCartFull','MYAPP','/application/myapp','module_application/myapp/index',NULL,0,1,0,'我的应用','null',0,3,18,'72cc4aca-3575-4545-a7e8-f12d9dcb0d08','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('任务管理',2,2,'module_application:job:query','el-icon-DataLine','Job','/application/job','module_application/job/index',NULL,0,1,0,'任务管理','null',0,3,19,'5e3ff424-9c4b-4ba2-a369-cf57ee5a80fe','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('AI智能助手',2,3,'module_application:ai:chat','el-icon-ToiletPaper','AI','/application/ai','module_application/ai/index',NULL,0,1,0,'AI智能助手','null',0,3,20,'c917c142-edad-41b0-91bb-81c4ada42cad','0','AI智能助手','2025-12-04 22:13:19','2025-12-04 22:13:19'),('流程管理',2,4,'module_application:workflow:query','el-icon-ShoppingBag','Workflow','/application/workflow','module_application/workflow/index',NULL,0,1,0,'我的流程','null',0,3,21,'73928ada-7f0a-4162-9f41-a4d812e2f46d','0','我的流程','2025-12-04 22:13:19','2025-12-04 22:13:19'),('在线用户',2,1,'module_monitor:online:query','el-icon-Headset','MonitorOnline','/monitor/online','module_monitor/online/index',NULL,0,0,0,'在线用户','null',0,4,22,'f1c25f62-4f94-4350-8aee-12ed5066165b','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('服务器监控',2,2,'module_monitor:server:query','el-icon-Odometer','MonitorServer','/monitor/server','module_monitor/server/index',NULL,0,0,0,'服务器监控','null',0,4,23,'606cc5be-cb57-4529-837b-791508744219','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('缓存监控',2,3,'module_monitor:cache:query','el-icon-Stopwatch','MonitorCache','/monitor/cache','module_monitor/cache/index',NULL,0,0,0,'缓存监控','null',0,4,24,'0a609124-5f7b-4f00-af8b-5cd0e2501317','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('文件管理',2,4,'module_monitor:resource:query','el-icon-Files','Resource','/monitor/resource','module_monitor/resource/index',NULL,0,1,0,'文件管理','null',0,4,25,'297baed4-dfe9-4bc3-a15f-50f87e809722','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('代码生成',2,1,'module_generator:gencode:query','code','GenCode','/generator/gencode','module_generator/gencode/index',NULL,0,1,0,'代码生成','null',0,5,26,'53a00f28-3140-48db-978e-e6b7eb6094b4','0','代码生成','2025-12-04 22:13:19','2025-12-04 22:13:19'),('Swagger文档',4,1,'module_common:docs:query','api','Docs','/common/docs','module_common/docs/index',NULL,0,0,0,'Swagger文档','null',0,6,27,'fd1263d6-5ca2-4d3b-baff-6e81409a3b9b','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('Redoc文档',4,2,'module_common:redoc:query','el-icon-Document','Redoc','/common/redoc','module_common/redoc/index',NULL,0,0,0,'Redoc文档','null',0,6,28,'ba186dc2-779f-4c8d-9286-4a20c78646f6','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('示例管理',2,1,'module_gencode:demo:query','menu','Demo','/gencode/demo','module_gencode/demo/index',NULL,0,1,0,'示例管理','null',0,7,29,'7fe20f79-2d4e-40e3-9e0e-784237d06ace','0','示例管理','2025-12-04 22:13:19','2025-12-04 22:13:19'),('创建菜单',3,1,'module_system:menu:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建菜单','null',0,9,30,'d3448a0b-e776-41f0-ab20-f9c4375b3b07','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('修改菜单',3,2,'module_system:menu:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改菜单','null',0,9,31,'19335b21-6ab1-4c04-9ed0-d3b80e977d03','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('删除菜单',3,3,'module_system:menu:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除菜单','null',0,9,32,'606b9f40-f116-4398-ace5-3e9961aea07e','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('批量修改菜单状态',3,4,'module_system:menu:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量修改菜单状态','null',0,9,33,'600c51e0-d001-4ba5-a961-b04e1fb50b1a','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('创建部门',3,1,'module_system:dept:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建部门','null',0,10,34,'338e8331-e8a8-4eca-b09e-dd83bda22576','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('修改部门',3,2,'module_system:dept:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改部门','null',0,10,35,'242afd04-85d2-4373-9e00-8718ae4c032f','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('删除部门',3,3,'module_system:dept:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除部门','null',0,10,36,'d9e2f8dc-4730-428b-a7bb-17ca783b64b9','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('批量修改部门状态',3,4,'module_system:dept:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量修改部门状态','null',0,10,37,'893b1b80-a651-47e3-b4c0-b044f1b27423','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('创建岗位',3,1,'module_system:position:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建岗位','null',0,11,38,'f1fe9129-6bd6-4c72-939a-0c411a8822b4','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('修改岗位',3,2,'module_system:position:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改岗位','null',0,11,39,'e7288bff-cb69-49b6-a39f-e88f41b53f83','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('删除岗位',3,3,'module_system:position:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改岗位','null',0,11,40,'872b1c4d-6c3b-41f9-b2b2-5299c55dd44f','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('批量修改岗位状态',3,4,'module_system:position:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量修改岗位状态','null',0,11,41,'f018c868-1a0d-49b4-be7b-ad8f127b1504','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('岗位导出',3,5,'module_system:position:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'岗位导出','null',0,11,42,'cbe394bc-0627-4f89-99e2-b48de89d3121','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('设置角色权限',3,8,'module_system:role:permission',NULL,NULL,NULL,NULL,NULL,0,1,0,'设置角色权限','null',0,11,43,'5b62a581-6b3f-4a58-8fe6-61a72c853a95','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('创建角色',3,1,'module_system:role:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建角色','null',0,12,44,'b50b092c-61d3-4aca-a89e-e5ca42d7b1dd','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('修改角色',3,2,'module_system:role:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改角色','null',0,12,45,'a0b1a04c-aec1-4b1b-bc17-cdfe8a2c11c0','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('删除角色',3,3,'module_system:role:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除角色','null',0,12,46,'040dc3ee-ca5b-4521-a4c1-617b5c0eb34d','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('批量修改角色状态',3,4,'module_system:role:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量修改角色状态','null',0,12,47,'b9675590-51d0-43cc-b179-1ff7ad720865','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('角色导出',3,6,'module_system:role:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'角色导出','null',0,12,48,'4720e2e3-8ca1-408a-bb05-53bf03ca3f3f','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('创建用户',3,1,'module_system:user:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建用户','null',0,13,49,'b315f003-2b03-4de2-b973-f2db739ad471','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('修改用户',3,2,'module_system:user:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改用户','null',0,13,50,'055528a9-73db-4f52-ac7a-41d349e608fe','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('删除用户',3,3,'module_system:user:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除用户','null',0,13,51,'365dff10-a7c0-4899-858a-e4d79f381e8c','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('批量修改用户状态',3,4,'module_system:user:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量修改用户状态','null',0,13,52,'73536219-3e3b-4d0f-a6a1-5068abc10fb6','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('导出用户',3,5,'module_system:user:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'导出用户','null',0,13,53,'67a802f7-e12a-4f6e-a04d-44daacf853b9','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('导入用户',3,6,'module_system:user:import',NULL,NULL,NULL,NULL,NULL,0,1,0,'导入用户','null',0,13,54,'e598d21d-22bf-408b-a34e-41da67d7e05c','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('日志删除',3,1,'module_system:log:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'日志删除','null',0,14,55,'0200c882-5407-47e6-a377-44cdd27e6b6c','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('日志导出',3,2,'module_system:log:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'日志导出','null',0,14,56,'9039923a-d1c3-4711-b031-ac92e93be7e9','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('公告创建',3,1,'module_system:notice:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'公告创建','null',0,15,57,'f08c477a-75fd-4470-9996-724208894254','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('公告修改',3,2,'module_system:notice:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改用户','null',0,15,58,'980e4ba6-9847-429e-8e24-fd471d134b4e','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('公告删除',3,3,'module_system:notice:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'公告删除','null',0,15,59,'a2e67a6c-4840-4a56-86d9-36c638dd0f96','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('公告导出',3,4,'module_system:notice:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'公告导出','null',0,15,60,'62aa7d8f-bfcf-4d44-b026-754ba4ff050e','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('公告批量修改状态',3,5,'module_system:notice:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'公告批量修改状态','null',0,15,61,'55057f35-f506-4d90-8e03-5dd4de949db3','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('创建参数',3,1,'module_system:param:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建参数','null',0,16,62,'b6cb724f-8ae4-4dc9-a41f-1c16848e3001','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('修改参数',3,2,'module_system:param:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改参数','null',0,16,63,'b8cb6b5f-1f49-4a9f-a035-0653d065280b','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('删除参数',3,3,'module_system:param:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除参数','null',0,16,64,'ad232066-5f4b-46c6-9f5b-4d2e376a960d','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('导出参数',3,4,'module_system:param:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'导出参数','null',0,16,65,'0d5e48aa-2129-4217-a111-4ceb786063cf','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('参数上传',3,5,'module_system:param:upload',NULL,NULL,NULL,NULL,NULL,0,1,0,'参数上传','null',0,16,66,'8cf93443-187a-4e42-bd56-f45c5d23fae3','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('创建字典类型',3,1,'module_system:dict_type:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建字典类型','null',0,17,67,'93592f63-c5c5-47b5-b03e-9b0a3d752a76','0','初始化数据','2025-12-04 22:13:19','2025-12-04 22:13:19'),('修改字典类型',3,2,'module_system:dict_type:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改字典类型','null',0,17,68,'c6cb02e6-7ee2-491e-8750-f7e64f9285ca','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('删除字典类型',3,3,'module_system:dict_type:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除字典类型','null',0,17,69,'47b17fe0-16a9-4668-a6b9-3fac7837c29f','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('导出字典类型',3,4,'module_system:dict_type:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'导出字典类型','null',0,17,70,'bdcdfe0d-09ea-424d-9a3a-92693b63b57c','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('批量修改字典状态',3,5,'module_system:dict_type:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'导出字典类型','null',0,17,71,'954900a1-39bf-4439-bead-86f045ab89ad','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('字典数据查询',3,6,'module_system:dict_data:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'字典数据查询','null',0,17,72,'6e4f02b2-667c-4b7f-95c9-e61c43bee902','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('创建字典数据',3,7,'module_system:dict_data:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建字典数据','null',0,17,73,'ea7dfe93-ce16-44de-b72e-e8c114740ae8','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('修改字典数据',3,8,'module_system:dict_data:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改字典数据','null',0,17,74,'cfb6a1a1-1971-48e1-9768-aac0742b8044','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('删除字典数据',3,9,'module_system:dict_data:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除字典数据','null',0,17,75,'1f4ac78b-35b1-4bbd-8c9b-f1430b9ab02a','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('导出字典数据',3,10,'module_system:dict_data:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'导出字典数据','null',0,17,76,'e6448cb7-bb41-478f-abe4-e8d9e3cc2b53','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('批量修改字典数据状态',3,11,'module_system:dict_data:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量修改字典数据状态','null',0,17,77,'199b6564-18f5-4286-9052-fac9a338c26d','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('创建应用',3,1,'module_application:myapp:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建应用','null',0,18,78,'383b9514-3301-4246-ad5d-2568cc53bee8','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('修改应用',3,2,'module_application:myapp:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改应用','null',0,18,79,'6ddff587-dc9b-4e3f-a57f-bfc07e13e2fc','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('删除应用',3,3,'module_application:myapp:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除应用','null',0,18,80,'a17bbe6f-1da4-4af3-ad8e-326a0e6fcc65','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('批量修改应用状态',3,4,'module_application:myapp:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量修改应用状态','null',0,18,81,'644335a6-0233-4c5d-a58c-46e989c665bc','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('创建任务',3,1,'module_application:job:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建任务','null',0,19,82,'a1b235df-28e0-45b4-bb67-ffbf80ee9c80','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('修改和操作任务',3,2,'module_application:job:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改和操作任务','null',0,19,83,'82a0b73c-f49b-4644-b40e-f5e13e703659','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('删除和清除任务',3,3,'module_application:job:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除和清除任务','null',0,19,84,'33a6de8a-8100-472e-a79c-b53c55f2f4f9','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('导出定时任务',3,4,'module_application:job:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'导出定时任务','null',0,19,85,'865a9aea-e054-44b1-b9b8-878a4640cd30','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('智能对话',3,1,'module_application:ai:chat',NULL,NULL,NULL,NULL,NULL,0,1,0,'智能对话','null',0,20,86,'529c801f-f71d-47c7-9ed5-6a97c14678e9','0','智能对话','2025-12-04 22:13:20','2025-12-04 22:13:20'),('在线用户强制下线',3,1,'module_monitor:online:delete',NULL,NULL,NULL,NULL,NULL,0,0,0,'在线用户强制下线','null',0,22,87,'12c6dfad-0ba1-4e53-bb39-1def93d5f96c','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('清除缓存',3,1,'module_monitor:cache:delete',NULL,NULL,NULL,NULL,NULL,0,0,0,'清除缓存','null',0,24,88,'f6ae80f9-4e26-44d7-82c9-c5e5eaa04e15','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('文件上传',3,1,'module_monitor:resource:upload',NULL,NULL,NULL,NULL,NULL,0,1,0,'文件上传','null',0,25,89,'5d362302-f8f8-4706-abea-5c8c04bed073','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('文件下载',3,2,'module_monitor:resource:download',NULL,NULL,NULL,NULL,NULL,0,1,0,'文件下载','null',0,25,90,'fa7f4611-7901-45a4-8cff-8aa04d84b120','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('文件删除',3,3,'module_monitor:resource:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'文件删除','null',0,25,91,'8d2d2261-a02d-44dd-85ad-aa5d527a611a','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('文件移动',3,4,'module_monitor:resource:move',NULL,NULL,NULL,NULL,NULL,0,1,0,'文件移动','null',0,25,92,'5628f8c3-7386-4f3c-8612-f53f7d630b46','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('文件复制',3,5,'module_monitor:resource:copy',NULL,NULL,NULL,NULL,NULL,0,1,0,'文件复制','null',0,25,93,'f765fbf7-dab1-44e4-8f71-717e6907f5c6','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('文件重命名',3,6,'module_monitor:resource:rename',NULL,NULL,NULL,NULL,NULL,0,1,0,'文件重命名','null',0,25,94,'27f6daca-2eff-4c44-adf7-ce87d1b54c23','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('创建目录',3,7,'module_monitor:resource:create_dir',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建目录','null',0,25,95,'e4c38754-ffb2-464b-a914-0f6295229f72','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('导出文件列表',3,9,'module_monitor:resource:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'导出文件列表','null',0,25,96,'862ad6ea-94c7-47be-a8c0-5d1e2011cc04','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('查询代码生成业务表列表',3,1,'module_generator:gencode:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'查询代码生成业务表列表','null',0,26,97,'4afdd691-cedc-4dc3-a9d8-1ea0caa5d88a','0','查询代码生成业务表列表','2025-12-04 22:13:20','2025-12-04 22:13:20'),('创建表结构',3,2,'module_generator:gencode:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建表结构','null',0,26,98,'cc44d1eb-6d4b-4021-bac4-bc8950929106','0','创建表结构','2025-12-04 22:13:20','2025-12-04 22:13:20'),('编辑业务表信息',3,3,'module_generator:gencode:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'编辑业务表信息','null',0,26,99,'773175f6-2cc2-41ac-b850-d85fef452e91','0','编辑业务表信息','2025-12-04 22:13:20','2025-12-04 22:13:20'),('删除业务表信息',3,4,'module_generator:gencode:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除业务表信息','null',0,26,100,'e3f47375-d703-422c-812e-e74ee905c4ef','0','删除业务表信息','2025-12-04 22:13:20','2025-12-04 22:13:20'),('导入表结构',3,5,'module_generator:gencode:import',NULL,NULL,NULL,NULL,NULL,0,1,0,'导入表结构','null',0,26,101,'c623b688-1658-44c2-943a-d4e15c842268','0','导入表结构','2025-12-04 22:13:20','2025-12-04 22:13:20'),('批量生成代码',3,6,'module_generator:gencode:operate',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量生成代码','null',0,26,102,'559957b7-fbc0-4d65-98f7-35e55ac9ae45','0','批量生成代码','2025-12-04 22:13:20','2025-12-04 22:13:20'),('生成代码到指定路径',3,7,'module_generator:gencode:code',NULL,NULL,NULL,NULL,NULL,0,1,0,'生成代码到指定路径','null',0,26,103,'79fea767-8cac-43e6-9afa-0219849e6351','0','生成代码到指定路径','2025-12-04 22:13:20','2025-12-04 22:13:20'),('查询数据库表列表',3,8,'module_generator:dblist:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'查询数据库表列表','null',0,26,104,'2bcae664-f844-456d-8f1f-ea4786cabfef','0','查询数据库表列表','2025-12-04 22:13:20','2025-12-04 22:13:20'),('同步数据库',3,9,'module_generator:db:sync',NULL,NULL,NULL,NULL,NULL,0,1,0,'同步数据库','null',0,26,105,'68db7954-8032-4f3f-9b6f-325eddbb88b7','0','同步数据库','2025-12-04 22:13:20','2025-12-04 22:13:20'),('创建示例',3,1,'module_gencode:demo:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建示例','null',0,29,106,'111b1a5d-80d2-4443-974b-53aaffd1ce8c','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('更新示例',3,2,'module_gencode:demo:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'更新示例','null',0,29,107,'ec862776-6e4f-4bcc-8cd9-04147356f927','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('删除示例',3,3,'module_gencode:demo:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除示例','null',0,29,108,'c03a86cf-68f5-4850-9aea-1a7c4f3ad113','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('批量修改示例状态',3,4,'module_gencode:demo:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量修改示例状态','null',0,29,109,'15cdd940-8086-45f7-b847-fff1f6326b39','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('导出示例',3,5,'module_gencode:demo:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'导出示例','null',0,29,110,'c191df95-bd10-41db-9d52-0d77a4c37b7e','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('导入示例',3,6,'module_gencode:demo:import',NULL,NULL,NULL,NULL,NULL,0,1,0,'导入示例','null',0,29,111,'48ad7c80-6767-48d6-8dad-064ad49330d2','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('下载导入示例模版',3,7,'module_gencode:demo:download',NULL,NULL,NULL,NULL,NULL,0,1,0,'下载导入示例模版','null',0,29,112,'5398a529-446d-4b7f-b8f2-620ba9260900','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'); -/*!40000 ALTER TABLE `sys_menu` ENABLE KEYS */; - --- --- Table structure for table `sys_notice` --- - -DROP TABLE IF EXISTS `sys_notice`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `sys_notice` ( - `notice_title` varchar(50) NOT NULL COMMENT '公告标题', - `notice_type` varchar(50) NOT NULL COMMENT '公告类型(1通知 2公告)', - `notice_content` text COMMENT '公告内容', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - `created_id` int DEFAULT NULL COMMENT '创建人ID', - `updated_id` int DEFAULT NULL COMMENT '更新人ID', - PRIMARY KEY (`id`), - UNIQUE KEY `uuid` (`uuid`), - KEY `ix_sys_notice_created_id` (`created_id`), - KEY `ix_sys_notice_updated_id` (`updated_id`), - CONSTRAINT `sys_notice_ibfk_1` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `sys_notice_ibfk_2` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='通知公告表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `sys_notice` --- - -/*!40000 ALTER TABLE `sys_notice` DISABLE KEYS */; -/*!40000 ALTER TABLE `sys_notice` ENABLE KEYS */; - --- --- Table structure for table `sys_param` --- - -DROP TABLE IF EXISTS `sys_param`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `sys_param` ( - `config_name` varchar(500) NOT NULL COMMENT '参数名称', - `config_key` varchar(500) NOT NULL COMMENT '参数键名', - `config_value` varchar(500) DEFAULT NULL COMMENT '参数键值', - `config_type` tinyint(1) DEFAULT NULL COMMENT '系统内置(True:是 False:否)', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uuid` (`uuid`) -) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='系统参数表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `sys_param` --- - -/*!40000 ALTER TABLE `sys_param` DISABLE KEYS */; -INSERT INTO `sys_param` VALUES ('网站名称','sys_web_title','FastApiAdmin',1,1,'99a26847-da7f-4cf3-9a77-63c2b624f9b0','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('网站描述','sys_web_description','FastApiAdmin 是完全开源的权限管理系统',1,2,'8768add4-4722-45aa-9a1f-d8532d44b109','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('网页图标','sys_web_favicon','https://service.fastapiadmin.com/api/v1/static/image/favicon.png',1,3,'848146b5-71b6-471c-8daa-1bd503831fa0','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('网站Logo','sys_web_logo','https://service.fastapiadmin.com/api/v1/static/image/logo.png',1,4,'6d8ca22b-a66c-4d04-8686-1d68215106b8','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('登录背景','sys_login_background','https://service.fastapiadmin.com/api/v1/static/image/background.svg',1,5,'bccf8b9f-da8e-4981-b7a2-5ab18d4b0fe3','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('版权信息','sys_web_copyright','Copyright © 2025-2026 service.fastapiadmin.com 版权所有',1,6,'0a7f3bf5-79da-4eab-b113-5642d85f90b0','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('备案信息','sys_keep_record','陕ICP备2025069493号-1',1,7,'dfd29f83-aa0c-4b22-85c6-17980695888b','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('帮助文档','sys_help_doc','https://service.fastapiadmin.com',1,8,'241ecac4-e4c0-4020-919d-43424618ab22','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('隐私政策','sys_web_privacy','https://github.com/1014TaoTao/FastapiAdmin/blob/master/LICENSE',1,9,'87af3ea6-b363-4ac0-8c6f-dcdbcc55c46a','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('用户协议','sys_web_clause','https://github.com/1014TaoTao/FastapiAdmin/blob/master/LICENSE',1,10,'f318e994-a936-4faf-940e-bae4931d9c1a','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('源码代码','sys_git_code','https://github.com/1014TaoTao/FastapiAdmin.git',1,11,'46c56b5e-642a-451d-bca4-298fdc9ccb94','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('项目版本','sys_web_version','2.0.0',1,12,'5f7a07a8-6e1d-4eba-b6a0-8a77329429ae','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('演示模式启用','demo_enable','false',1,13,'a828490f-f795-43e6-ba24-056374227a97','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('演示访问IP白名单','ip_white_list','[\"127.0.0.1\"]',1,14,'f3387ea9-833a-43ae-85f5-b4d048bd2651','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('接口白名单','white_api_list_path','[\"/api/v1/system/auth/login\", \"/api/v1/system/auth/token/refresh\", \"/api/v1/system/auth/captcha/get\", \"/api/v1/system/auth/logout\", \"/api/v1/system/config/info\", \"/api/v1/system/user/current/info\", \"/api/v1/system/notice/available\"]',1,15,'371ed3f7-4516-431c-9fa2-a930ee5e3cfb','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'),('访问IP黑名单','ip_black_list','[]',1,16,'66f1c69a-1fae-45ba-90c7-61744eeac469','0','初始化数据','2025-12-04 22:13:20','2025-12-04 22:13:20'); -/*!40000 ALTER TABLE `sys_param` ENABLE KEYS */; - --- --- Table structure for table `sys_position` --- - -DROP TABLE IF EXISTS `sys_position`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `sys_position` ( - `name` varchar(40) NOT NULL COMMENT '岗位名称', - `order` int NOT NULL COMMENT '显示排序', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - `created_id` int DEFAULT NULL COMMENT '创建人ID', - `updated_id` int DEFAULT NULL COMMENT '更新人ID', - PRIMARY KEY (`id`), - UNIQUE KEY `uuid` (`uuid`), - KEY `ix_sys_position_created_id` (`created_id`), - KEY `ix_sys_position_updated_id` (`updated_id`), - CONSTRAINT `sys_position_ibfk_1` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `sys_position_ibfk_2` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='岗位表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `sys_position` --- - -/*!40000 ALTER TABLE `sys_position` DISABLE KEYS */; -/*!40000 ALTER TABLE `sys_position` ENABLE KEYS */; - --- --- Table structure for table `sys_role` --- - -DROP TABLE IF EXISTS `sys_role`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `sys_role` ( - `name` varchar(40) NOT NULL COMMENT '角色名称', - `code` varchar(20) DEFAULT NULL COMMENT '角色编码', - `order` int NOT NULL COMMENT '显示排序', - `data_scope` int NOT NULL COMMENT '数据权限范围(1:仅本人 2:本部门 3:本部门及以下 4:全部 5:自定义)', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uuid` (`uuid`), - KEY `ix_sys_role_code` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `sys_role` --- - -/*!40000 ALTER TABLE `sys_role` DISABLE KEYS */; -INSERT INTO `sys_role` VALUES ('管理员角色','ADMIN',1,4,1,'a64300ae-58f4-4ca9-8319-8fe706b4db33','0','初始化角色','2025-12-04 22:13:20','2025-12-04 22:13:20'); -/*!40000 ALTER TABLE `sys_role` ENABLE KEYS */; - --- --- Table structure for table `sys_role_depts` --- - -DROP TABLE IF EXISTS `sys_role_depts`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `sys_role_depts` ( - `role_id` int NOT NULL COMMENT '角色ID', - `dept_id` int NOT NULL COMMENT '部门ID', - PRIMARY KEY (`role_id`,`dept_id`), - KEY `dept_id` (`dept_id`), - CONSTRAINT `sys_role_depts_ibfk_1` FOREIGN KEY (`role_id`) REFERENCES `sys_role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `sys_role_depts_ibfk_2` FOREIGN KEY (`dept_id`) REFERENCES `sys_dept` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色部门关联表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `sys_role_depts` --- - -/*!40000 ALTER TABLE `sys_role_depts` DISABLE KEYS */; -/*!40000 ALTER TABLE `sys_role_depts` ENABLE KEYS */; - --- --- Table structure for table `sys_role_menus` --- - -DROP TABLE IF EXISTS `sys_role_menus`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `sys_role_menus` ( - `role_id` int NOT NULL COMMENT '角色ID', - `menu_id` int NOT NULL COMMENT '菜单ID', - PRIMARY KEY (`role_id`,`menu_id`), - KEY `menu_id` (`menu_id`), - CONSTRAINT `sys_role_menus_ibfk_1` FOREIGN KEY (`role_id`) REFERENCES `sys_role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `sys_role_menus_ibfk_2` FOREIGN KEY (`menu_id`) REFERENCES `sys_menu` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色菜单关联表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `sys_role_menus` --- - -/*!40000 ALTER TABLE `sys_role_menus` DISABLE KEYS */; -/*!40000 ALTER TABLE `sys_role_menus` ENABLE KEYS */; - --- --- Table structure for table `sys_user` --- - -DROP TABLE IF EXISTS `sys_user`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `sys_user` ( - `username` varchar(32) NOT NULL COMMENT '用户名/登录账号', - `password` varchar(255) NOT NULL COMMENT '密码哈希', - `name` varchar(32) NOT NULL COMMENT '昵称', - `mobile` varchar(11) DEFAULT NULL COMMENT '手机号', - `email` varchar(64) DEFAULT NULL COMMENT '邮箱', - `gender` varchar(1) DEFAULT NULL COMMENT '性别(0:男 1:女 2:未知)', - `avatar` varchar(255) DEFAULT NULL COMMENT '头像URL地址', - `is_superuser` tinyint(1) NOT NULL COMMENT '是否超管', - `last_login` datetime DEFAULT NULL COMMENT '最后登录时间', - `gitee_login` varchar(32) DEFAULT NULL COMMENT 'Gitee登录', - `github_login` varchar(32) DEFAULT NULL COMMENT 'Github登录', - `wx_login` varchar(32) DEFAULT NULL COMMENT '微信登录', - `qq_login` varchar(32) DEFAULT NULL COMMENT 'QQ登录', - `dept_id` int DEFAULT NULL COMMENT '部门ID', - `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', - `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', - `description` text COMMENT '备注/描述', - `created_time` datetime NOT NULL COMMENT '创建时间', - `updated_time` datetime NOT NULL COMMENT '更新时间', - `created_id` int DEFAULT NULL COMMENT '创建人ID', - `updated_id` int DEFAULT NULL COMMENT '更新人ID', - PRIMARY KEY (`id`), - UNIQUE KEY `username` (`username`), - UNIQUE KEY `uuid` (`uuid`), - UNIQUE KEY `mobile` (`mobile`), - UNIQUE KEY `email` (`email`), - KEY `ix_sys_user_created_id` (`created_id`), - KEY `ix_sys_user_updated_id` (`updated_id`), - KEY `ix_sys_user_dept_id` (`dept_id`), - CONSTRAINT `sys_user_ibfk_1` FOREIGN KEY (`dept_id`) REFERENCES `sys_dept` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `sys_user_ibfk_2` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `sys_user_ibfk_3` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `sys_user` --- - -/*!40000 ALTER TABLE `sys_user` DISABLE KEYS */; -INSERT INTO `sys_user` VALUES ('admin','$2b$12$e2IJgS/cvHgJ0H3G7Xa08OXoXnk6N/NX3IZRtubBDElA0VLZhkNOa','超级管理员',NULL,NULL,'0','https://service.fastapiadmin.com/api/v1/static/image/avatar.png',1,NULL,NULL,NULL,NULL,NULL,1,1,'55ca58bd-dac1-421c-aea1-033e5fbb7eff','0','超级管理员','2025-12-04 22:13:20','2025-12-04 22:13:20',NULL,NULL); -/*!40000 ALTER TABLE `sys_user` ENABLE KEYS */; - --- --- Table structure for table `sys_user_positions` --- - -DROP TABLE IF EXISTS `sys_user_positions`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `sys_user_positions` ( - `user_id` int NOT NULL COMMENT '用户ID', - `position_id` int NOT NULL COMMENT '岗位ID', - PRIMARY KEY (`user_id`,`position_id`), - KEY `position_id` (`position_id`), - CONSTRAINT `sys_user_positions_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `sys_user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `sys_user_positions_ibfk_2` FOREIGN KEY (`position_id`) REFERENCES `sys_position` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户岗位关联表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `sys_user_positions` --- - -/*!40000 ALTER TABLE `sys_user_positions` DISABLE KEYS */; -/*!40000 ALTER TABLE `sys_user_positions` ENABLE KEYS */; - --- --- Table structure for table `sys_user_roles` --- - -DROP TABLE IF EXISTS `sys_user_roles`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!50503 SET character_set_client = utf8mb4 */; -CREATE TABLE `sys_user_roles` ( - `user_id` int NOT NULL COMMENT '用户ID', - `role_id` int NOT NULL COMMENT '角色ID', - PRIMARY KEY (`user_id`,`role_id`), - KEY `role_id` (`role_id`), - CONSTRAINT `sys_user_roles_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `sys_user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `sys_user_roles_ibfk_2` FOREIGN KEY (`role_id`) REFERENCES `sys_role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户角色关联表'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `sys_user_roles` --- - -/*!40000 ALTER TABLE `sys_user_roles` DISABLE KEYS */; -INSERT INTO `sys_user_roles` VALUES (1,1); -/*!40000 ALTER TABLE `sys_user_roles` ENABLE KEYS */; - --- --- Dumping routines for database 'fastapiadmin' --- -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; - -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; - --- Dump completed on 2025-12-04 22:13:36 diff --git a/backend/sql/mysql/fastapiadmin_2025-12-31_184305.sql b/backend/sql/mysql/fastapiadmin_2025-12-31_184305.sql new file mode 100644 index 00000000..a85760f8 --- /dev/null +++ b/backend/sql/mysql/fastapiadmin_2025-12-31_184305.sql @@ -0,0 +1,885 @@ +-- MySQL dump 10.13 Distrib 8.4.3, for macos14.5 (arm64) +-- +-- Host: 127.0.0.1 Database: fastapiadmin +-- ------------------------------------------------------ +-- Server version 8.4.3 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `app_ai_mcp` +-- + +DROP TABLE IF EXISTS `app_ai_mcp`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `app_ai_mcp` ( + `name` varchar(50) NOT NULL COMMENT 'MCP 名称', + `type` int NOT NULL COMMENT 'MCP 类型(0:stdio 1:sse)', + `url` varchar(255) DEFAULT NULL COMMENT '远程 SSE 地址', + `command` varchar(255) DEFAULT NULL COMMENT 'MCP 命令', + `args` varchar(255) DEFAULT NULL COMMENT 'MCP 命令参数', + `env` json DEFAULT NULL COMMENT 'MCP 环境变量', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + `created_id` int DEFAULT NULL COMMENT '创建人ID', + `updated_id` int DEFAULT NULL COMMENT '更新人ID', + PRIMARY KEY (`id`), + UNIQUE KEY `ix_app_ai_mcp_uuid` (`uuid`), + KEY `ix_app_ai_mcp_updated_time` (`updated_time`), + KEY `ix_app_ai_mcp_created_id` (`created_id`), + KEY `ix_app_ai_mcp_status` (`status`), + KEY `ix_app_ai_mcp_updated_id` (`updated_id`), + KEY `ix_app_ai_mcp_created_time` (`created_time`), + KEY `ix_app_ai_mcp_id` (`id`), + CONSTRAINT `app_ai_mcp_ibfk_1` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `app_ai_mcp_ibfk_2` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MCP 服务器表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `app_ai_mcp` +-- + +/*!40000 ALTER TABLE `app_ai_mcp` DISABLE KEYS */; +/*!40000 ALTER TABLE `app_ai_mcp` ENABLE KEYS */; + +-- +-- Table structure for table `app_job` +-- + +DROP TABLE IF EXISTS `app_job`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `app_job` ( + `name` varchar(64) DEFAULT NULL COMMENT '任务名称', + `jobstore` varchar(64) DEFAULT NULL COMMENT '存储器', + `executor` varchar(64) DEFAULT NULL COMMENT '执行器:将运行此作业的执行程序的名称', + `trigger` varchar(64) NOT NULL COMMENT '触发器:控制此作业计划的 trigger 对象', + `trigger_args` text COMMENT '触发器参数', + `func` text NOT NULL COMMENT '任务函数', + `args` text COMMENT '位置参数', + `kwargs` text COMMENT '关键字参数', + `coalesce` tinyint(1) DEFAULT NULL COMMENT '是否合并运行:是否在多个运行时间到期时仅运行作业一次', + `max_instances` int DEFAULT NULL COMMENT '最大实例数:允许的最大并发执行实例数', + `start_date` varchar(64) DEFAULT NULL COMMENT '开始时间', + `end_date` varchar(64) DEFAULT NULL COMMENT '结束时间', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + `created_id` int DEFAULT NULL COMMENT '创建人ID', + `updated_id` int DEFAULT NULL COMMENT '更新人ID', + PRIMARY KEY (`id`), + UNIQUE KEY `ix_app_job_uuid` (`uuid`), + KEY `ix_app_job_id` (`id`), + KEY `ix_app_job_status` (`status`), + KEY `ix_app_job_created_time` (`created_time`), + KEY `ix_app_job_updated_id` (`updated_id`), + KEY `ix_app_job_created_id` (`created_id`), + KEY `ix_app_job_updated_time` (`updated_time`), + CONSTRAINT `app_job_ibfk_1` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `app_job_ibfk_2` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='定时任务调度表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `app_job` +-- + +/*!40000 ALTER TABLE `app_job` DISABLE KEYS */; +/*!40000 ALTER TABLE `app_job` ENABLE KEYS */; + +-- +-- Table structure for table `app_job_log` +-- + +DROP TABLE IF EXISTS `app_job_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `app_job_log` ( + `job_name` varchar(64) NOT NULL COMMENT '任务名称', + `job_group` varchar(64) NOT NULL COMMENT '任务组名', + `job_executor` varchar(64) NOT NULL COMMENT '任务执行器', + `invoke_target` varchar(500) NOT NULL COMMENT '调用目标字符串', + `job_args` varchar(255) DEFAULT NULL COMMENT '位置参数', + `job_kwargs` varchar(255) DEFAULT NULL COMMENT '关键字参数', + `job_trigger` varchar(255) DEFAULT NULL COMMENT '任务触发器', + `job_message` varchar(500) DEFAULT NULL COMMENT '日志信息', + `exception_info` varchar(2000) DEFAULT NULL COMMENT '异常信息', + `job_id` int DEFAULT NULL COMMENT '任务ID', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `ix_app_job_log_uuid` (`uuid`), + KEY `ix_app_job_log_id` (`id`), + KEY `ix_app_job_log_status` (`status`), + KEY `ix_app_job_log_job_id` (`job_id`), + KEY `ix_app_job_log_updated_time` (`updated_time`), + KEY `ix_app_job_log_created_time` (`created_time`), + CONSTRAINT `app_job_log_ibfk_1` FOREIGN KEY (`job_id`) REFERENCES `app_job` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='定时任务调度日志表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `app_job_log` +-- + +/*!40000 ALTER TABLE `app_job_log` DISABLE KEYS */; +/*!40000 ALTER TABLE `app_job_log` ENABLE KEYS */; + +-- +-- Table structure for table `app_myapp` +-- + +DROP TABLE IF EXISTS `app_myapp`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `app_myapp` ( + `name` varchar(64) NOT NULL COMMENT '应用名称', + `access_url` varchar(500) NOT NULL COMMENT '访问地址', + `icon_url` varchar(300) DEFAULT NULL COMMENT '应用图标URL', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + `created_id` int DEFAULT NULL COMMENT '创建人ID', + `updated_id` int DEFAULT NULL COMMENT '更新人ID', + PRIMARY KEY (`id`), + UNIQUE KEY `ix_app_myapp_uuid` (`uuid`), + KEY `ix_app_myapp_created_id` (`created_id`), + KEY `ix_app_myapp_status` (`status`), + KEY `ix_app_myapp_updated_id` (`updated_id`), + KEY `ix_app_myapp_created_time` (`created_time`), + KEY `ix_app_myapp_id` (`id`), + KEY `ix_app_myapp_updated_time` (`updated_time`), + CONSTRAINT `app_myapp_ibfk_1` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `app_myapp_ibfk_2` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='应用系统表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `app_myapp` +-- + +/*!40000 ALTER TABLE `app_myapp` DISABLE KEYS */; +/*!40000 ALTER TABLE `app_myapp` ENABLE KEYS */; + +-- +-- Table structure for table `apscheduler_jobs` +-- + +DROP TABLE IF EXISTS `apscheduler_jobs`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `apscheduler_jobs` ( + `id` varchar(191) NOT NULL, + `next_run_time` double DEFAULT NULL, + `job_state` blob NOT NULL, + PRIMARY KEY (`id`), + KEY `ix_apscheduler_jobs_next_run_time` (`next_run_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `apscheduler_jobs` +-- + +/*!40000 ALTER TABLE `apscheduler_jobs` DISABLE KEYS */; +/*!40000 ALTER TABLE `apscheduler_jobs` ENABLE KEYS */; + +-- +-- Table structure for table `gen_demo` +-- + +DROP TABLE IF EXISTS `gen_demo`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `gen_demo` ( + `name` varchar(64) DEFAULT NULL COMMENT '名称', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + `created_id` int DEFAULT NULL COMMENT '创建人ID', + `updated_id` int DEFAULT NULL COMMENT '更新人ID', + PRIMARY KEY (`id`), + UNIQUE KEY `ix_gen_demo_uuid` (`uuid`), + KEY `ix_gen_demo_created_id` (`created_id`), + KEY `ix_gen_demo_status` (`status`), + KEY `ix_gen_demo_updated_id` (`updated_id`), + KEY `ix_gen_demo_created_time` (`created_time`), + KEY `ix_gen_demo_id` (`id`), + KEY `ix_gen_demo_updated_time` (`updated_time`), + CONSTRAINT `gen_demo_ibfk_1` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `gen_demo_ibfk_2` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='示例表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `gen_demo` +-- + +/*!40000 ALTER TABLE `gen_demo` DISABLE KEYS */; +/*!40000 ALTER TABLE `gen_demo` ENABLE KEYS */; + +-- +-- Table structure for table `gen_table` +-- + +DROP TABLE IF EXISTS `gen_table`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `gen_table` ( + `table_name` varchar(200) NOT NULL COMMENT '表名称', + `table_comment` varchar(500) DEFAULT NULL COMMENT '表描述', + `class_name` varchar(100) NOT NULL COMMENT '实体类名称', + `package_name` varchar(100) DEFAULT NULL COMMENT '生成包路径', + `module_name` varchar(30) DEFAULT NULL COMMENT '生成模块名', + `business_name` varchar(30) DEFAULT NULL COMMENT '生成业务名', + `function_name` varchar(100) DEFAULT NULL COMMENT '生成功能名', + `sub_table_name` varchar(64) DEFAULT NULL COMMENT '关联子表的表名', + `sub_table_fk_name` varchar(64) DEFAULT NULL COMMENT '子表关联的外键名', + `parent_menu_id` int DEFAULT NULL COMMENT '父菜单ID', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + `created_id` int DEFAULT NULL COMMENT '创建人ID', + `updated_id` int DEFAULT NULL COMMENT '更新人ID', + PRIMARY KEY (`id`), + UNIQUE KEY `ix_gen_table_uuid` (`uuid`), + KEY `ix_gen_table_id` (`id`), + KEY `ix_gen_table_status` (`status`), + KEY `ix_gen_table_updated_time` (`updated_time`), + KEY `ix_gen_table_created_id` (`created_id`), + KEY `ix_gen_table_created_time` (`created_time`), + KEY `ix_gen_table_updated_id` (`updated_id`), + CONSTRAINT `gen_table_ibfk_1` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `gen_table_ibfk_2` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='代码生成表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `gen_table` +-- + +/*!40000 ALTER TABLE `gen_table` DISABLE KEYS */; +/*!40000 ALTER TABLE `gen_table` ENABLE KEYS */; + +-- +-- Table structure for table `gen_table_column` +-- + +DROP TABLE IF EXISTS `gen_table_column`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `gen_table_column` ( + `column_name` varchar(200) NOT NULL COMMENT '列名称', + `column_comment` varchar(500) DEFAULT NULL COMMENT '列描述', + `column_type` varchar(100) NOT NULL COMMENT '列类型', + `column_length` varchar(50) DEFAULT NULL COMMENT '列长度', + `column_default` varchar(200) DEFAULT NULL COMMENT '列默认值', + `is_pk` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否主键', + `is_increment` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否自增', + `is_nullable` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否允许为空', + `is_unique` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否唯一', + `python_type` varchar(100) DEFAULT NULL COMMENT 'Python类型', + `python_field` varchar(200) DEFAULT NULL COMMENT 'Python字段名', + `is_insert` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否为新增字段', + `is_edit` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否编辑字段', + `is_list` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否列表字段', + `is_query` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否查询字段', + `query_type` varchar(50) DEFAULT NULL COMMENT '查询方式', + `html_type` varchar(100) DEFAULT NULL COMMENT '显示类型', + `dict_type` varchar(200) DEFAULT NULL COMMENT '字典类型', + `sort` int NOT NULL COMMENT '排序', + `table_id` int NOT NULL COMMENT '归属表编号', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + `created_id` int DEFAULT NULL COMMENT '创建人ID', + `updated_id` int DEFAULT NULL COMMENT '更新人ID', + PRIMARY KEY (`id`), + UNIQUE KEY `ix_gen_table_column_uuid` (`uuid`), + KEY `ix_gen_table_column_updated_id` (`updated_id`), + KEY `ix_gen_table_column_id` (`id`), + KEY `ix_gen_table_column_table_id` (`table_id`), + KEY `ix_gen_table_column_updated_time` (`updated_time`), + KEY `ix_gen_table_column_created_id` (`created_id`), + KEY `ix_gen_table_column_status` (`status`), + KEY `ix_gen_table_column_created_time` (`created_time`), + CONSTRAINT `gen_table_column_ibfk_1` FOREIGN KEY (`table_id`) REFERENCES `gen_table` (`id`) ON DELETE CASCADE, + CONSTRAINT `gen_table_column_ibfk_2` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `gen_table_column_ibfk_3` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='代码生成表字段'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `gen_table_column` +-- + +/*!40000 ALTER TABLE `gen_table_column` DISABLE KEYS */; +/*!40000 ALTER TABLE `gen_table_column` ENABLE KEYS */; + +-- +-- Table structure for table `sys_dept` +-- + +DROP TABLE IF EXISTS `sys_dept`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sys_dept` ( + `name` varchar(64) NOT NULL COMMENT '部门名称', + `order` int NOT NULL COMMENT '显示排序', + `code` varchar(16) DEFAULT NULL COMMENT '部门编码', + `leader` varchar(32) DEFAULT NULL COMMENT '部门负责人', + `phone` varchar(11) DEFAULT NULL COMMENT '手机', + `email` varchar(64) DEFAULT NULL COMMENT '邮箱', + `parent_id` int DEFAULT NULL COMMENT '父级部门ID', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + `created_id` int DEFAULT NULL COMMENT '创建人ID', + `updated_id` int DEFAULT NULL COMMENT '更新人ID', + PRIMARY KEY (`id`), + UNIQUE KEY `ix_sys_dept_uuid` (`uuid`), + KEY `ix_sys_dept_id` (`id`), + KEY `ix_sys_dept_code` (`code`), + KEY `ix_sys_dept_updated_time` (`updated_time`), + KEY `ix_sys_dept_parent_id` (`parent_id`), + KEY `ix_sys_dept_created_id` (`created_id`), + KEY `ix_sys_dept_status` (`status`), + KEY `ix_sys_dept_updated_id` (`updated_id`), + KEY `ix_sys_dept_created_time` (`created_time`), + CONSTRAINT `sys_dept_ibfk_1` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `sys_dept_ibfk_2` FOREIGN KEY (`parent_id`) REFERENCES `sys_dept` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `sys_dept_ibfk_3` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='部门表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sys_dept` +-- + +/*!40000 ALTER TABLE `sys_dept` DISABLE KEYS */; +INSERT INTO `sys_dept` VALUES ('集团总公司',1,'GROUP','部门负责人','1582112620','deptadmin@example.com',NULL,1,'a6edda6b-1430-4dc3-982a-711689f2f2f1','0','集团总公司','2025-12-31 18:43:00','2025-12-31 18:43:00',NULL,NULL); +/*!40000 ALTER TABLE `sys_dept` ENABLE KEYS */; + +-- +-- Table structure for table `sys_dict_data` +-- + +DROP TABLE IF EXISTS `sys_dict_data`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sys_dict_data` ( + `dict_sort` int NOT NULL COMMENT '字典排序', + `dict_label` varchar(255) NOT NULL COMMENT '字典标签', + `dict_value` varchar(255) NOT NULL COMMENT '字典键值', + `css_class` varchar(255) DEFAULT NULL COMMENT '样式属性(其他样式扩展)', + `list_class` varchar(255) DEFAULT NULL COMMENT '表格回显样式', + `is_default` tinyint(1) NOT NULL COMMENT '是否默认(True是 False否)', + `dict_type` varchar(255) NOT NULL COMMENT '字典类型', + `dict_type_id` int NOT NULL COMMENT '字典类型ID', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `ix_sys_dict_data_uuid` (`uuid`), + KEY `dict_type_id` (`dict_type_id`), + KEY `ix_sys_dict_data_created_time` (`created_time`), + KEY `ix_sys_dict_data_status` (`status`), + KEY `ix_sys_dict_data_updated_time` (`updated_time`), + KEY `ix_sys_dict_data_id` (`id`), + CONSTRAINT `sys_dict_data_ibfk_1` FOREIGN KEY (`dict_type_id`) REFERENCES `sys_dict_type` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='字典数据表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sys_dict_data` +-- + +/*!40000 ALTER TABLE `sys_dict_data` DISABLE KEYS */; +INSERT INTO `sys_dict_data` VALUES (1,'男','0','blue',NULL,1,'sys_user_sex',1,1,'1f24361f-7686-4a26-9e07-3e4d1efbb72d','0','性别男','2025-12-31 18:43:00','2025-12-31 18:43:00'),(2,'女','1','pink',NULL,0,'sys_user_sex',1,2,'e0927366-fc64-4181-ad25-eb9ad8b88c0c','0','性别女','2025-12-31 18:43:00','2025-12-31 18:43:00'),(3,'未知','2','red',NULL,0,'sys_user_sex',1,3,'299809dd-2920-4bf8-89da-ad7b4ea0656a','0','性别未知','2025-12-31 18:43:00','2025-12-31 18:43:00'),(1,'是','1','','primary',1,'sys_yes_no',2,4,'19966ee3-5711-46ff-a586-01af44113891','0','是','2025-12-31 18:43:00','2025-12-31 18:43:00'),(2,'否','0','','danger',0,'sys_yes_no',2,5,'a3763e35-2400-46a2-b348-fec764d8d537','0','否','2025-12-31 18:43:00','2025-12-31 18:43:00'),(1,'启用','1','','primary',0,'sys_common_status',3,6,'848ba310-f7b7-4b70-8a1d-ded1202df0c3','0','启用状态','2025-12-31 18:43:00','2025-12-31 18:43:00'),(2,'停用','0','','danger',0,'sys_common_status',3,7,'e367a361-a33e-40d0-84ce-411714c4bf4d','0','停用状态','2025-12-31 18:43:00','2025-12-31 18:43:00'),(1,'通知','1','blue','warning',1,'sys_notice_type',4,8,'3352c0d6-49ae-4214-a86e-631b33c8b879','0','通知','2025-12-31 18:43:00','2025-12-31 18:43:00'),(2,'公告','2','orange','success',0,'sys_notice_type',4,9,'451c034e-9b1f-4364-a9fe-28148872f04b','0','公告','2025-12-31 18:43:00','2025-12-31 18:43:00'),(99,'其他','0','','info',0,'sys_oper_type',5,10,'16ec9efe-344a-44cb-9880-ec051b9f7d58','0','其他操作','2025-12-31 18:43:00','2025-12-31 18:43:00'),(1,'新增','1','','info',0,'sys_oper_type',5,11,'d7faa6c4-4ef4-4d35-a3d8-9df2197396b5','0','新增操作','2025-12-31 18:43:00','2025-12-31 18:43:00'),(2,'修改','2','','info',0,'sys_oper_type',5,12,'559e7a38-0f9f-47c6-97f7-98c16c1a659a','0','修改操作','2025-12-31 18:43:00','2025-12-31 18:43:00'),(3,'删除','3','','danger',0,'sys_oper_type',5,13,'9317b4a8-3958-4fd6-ba95-9932c4778b11','0','删除操作','2025-12-31 18:43:00','2025-12-31 18:43:00'),(4,'分配权限','4','','primary',0,'sys_oper_type',5,14,'7f000c17-18a9-4b5c-baf3-0a11f3eb75e4','0','授权操作','2025-12-31 18:43:00','2025-12-31 18:43:00'),(5,'导出','5','','warning',0,'sys_oper_type',5,15,'aea77c60-c29d-4b67-b269-1c314a8f3437','0','导出操作','2025-12-31 18:43:00','2025-12-31 18:43:00'),(6,'导入','6','','warning',0,'sys_oper_type',5,16,'59d992c8-5be7-4c29-b959-94421bc11dda','0','导入操作','2025-12-31 18:43:00','2025-12-31 18:43:00'),(7,'强退','7','','danger',0,'sys_oper_type',5,17,'c818fb0f-2c1a-49b1-aeac-9de267d0dcd0','0','强退操作','2025-12-31 18:43:00','2025-12-31 18:43:00'),(8,'生成代码','8','','warning',0,'sys_oper_type',5,18,'b2d98b43-92c7-436a-b519-5c75712ba8d7','0','生成操作','2025-12-31 18:43:00','2025-12-31 18:43:00'),(9,'清空数据','9','','danger',0,'sys_oper_type',5,19,'54067f1c-b514-48ba-8d26-52a45c4829eb','0','清空操作','2025-12-31 18:43:00','2025-12-31 18:43:00'),(1,'默认(Memory)','default','',NULL,1,'sys_job_store',6,20,'0a19d103-a7f4-4df6-87d6-2f6dc2c2b9f2','0','默认分组','2025-12-31 18:43:00','2025-12-31 18:43:00'),(2,'数据库(Sqlalchemy)','sqlalchemy','',NULL,0,'sys_job_store',6,21,'e1473279-63d1-4d47-abf8-c135297757e0','0','数据库分组','2025-12-31 18:43:00','2025-12-31 18:43:00'),(3,'数据库(Redis)','redis','',NULL,0,'sys_job_store',6,22,'3b8d56ef-c9ad-4c0b-ad48-cf9b15b22b4e','0','reids分组','2025-12-31 18:43:00','2025-12-31 18:43:00'),(1,'线程池','default','',NULL,0,'sys_job_executor',7,23,'ce52ea44-2faf-485f-bb11-f42819f4d05f','0','线程池','2025-12-31 18:43:00','2025-12-31 18:43:00'),(2,'进程池','processpool','',NULL,0,'sys_job_executor',7,24,'968a5bbd-24de-4987-aefc-739ce917bf2c','0','进程池','2025-12-31 18:43:00','2025-12-31 18:43:00'),(1,'演示函数','scheduler_test.job','',NULL,1,'sys_job_function',8,25,'a6b50ce7-7015-4019-a53f-0456faa15a69','0','演示函数','2025-12-31 18:43:00','2025-12-31 18:43:00'),(1,'指定日期(date)','date','',NULL,1,'sys_job_trigger',9,26,'2637beb2-cc96-4128-82f2-4d819ff1d7e1','0','指定日期任务触发器','2025-12-31 18:43:00','2025-12-31 18:43:00'),(2,'间隔触发器(interval)','interval','',NULL,0,'sys_job_trigger',9,27,'ed4efeed-ad5c-410b-8745-30e928dafe95','0','间隔触发器任务触发器','2025-12-31 18:43:00','2025-12-31 18:43:00'),(3,'cron表达式','cron','',NULL,0,'sys_job_trigger',9,28,'c2b3d7f8-b237-4440-8b74-ce20167d7058','0','间隔触发器任务触发器','2025-12-31 18:43:00','2025-12-31 18:43:00'),(1,'默认(default)','default','',NULL,1,'sys_list_class',10,29,'cca49cc8-f39d-4261-8f6c-1ad8e8371dfd','0','默认表格回显样式','2025-12-31 18:43:00','2025-12-31 18:43:00'),(2,'主要(primary)','primary','',NULL,0,'sys_list_class',10,30,'ddad7b3c-d4e5-4ca4-8533-55a16e73d491','0','主要表格回显样式','2025-12-31 18:43:00','2025-12-31 18:43:00'),(3,'成功(success)','success','',NULL,0,'sys_list_class',10,31,'525a98d1-cf90-4f3d-82bb-66083622e82b','0','成功表格回显样式','2025-12-31 18:43:00','2025-12-31 18:43:00'),(4,'信息(info)','info','',NULL,0,'sys_list_class',10,32,'d909d258-f630-4225-9175-7f399bec97a6','0','信息表格回显样式','2025-12-31 18:43:00','2025-12-31 18:43:00'),(5,'警告(warning)','warning','',NULL,0,'sys_list_class',10,33,'36414fab-4213-468e-9821-f1423c4ea12f','0','警告表格回显样式','2025-12-31 18:43:00','2025-12-31 18:43:00'),(6,'危险(danger)','danger','',NULL,0,'sys_list_class',10,34,'867e7200-e26c-4c2e-940a-2912d2b735ee','0','危险表格回显样式','2025-12-31 18:43:00','2025-12-31 18:43:00'); +/*!40000 ALTER TABLE `sys_dict_data` ENABLE KEYS */; + +-- +-- Table structure for table `sys_dict_type` +-- + +DROP TABLE IF EXISTS `sys_dict_type`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sys_dict_type` ( + `dict_name` varchar(64) NOT NULL COMMENT '字典名称', + `dict_type` varchar(255) NOT NULL COMMENT '字典类型', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `dict_type` (`dict_type`), + UNIQUE KEY `ix_sys_dict_type_uuid` (`uuid`), + KEY `ix_sys_dict_type_id` (`id`), + KEY `ix_sys_dict_type_updated_time` (`updated_time`), + KEY `ix_sys_dict_type_status` (`status`), + KEY `ix_sys_dict_type_created_time` (`created_time`) +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='字典类型表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sys_dict_type` +-- + +/*!40000 ALTER TABLE `sys_dict_type` DISABLE KEYS */; +INSERT INTO `sys_dict_type` VALUES ('用户性别','sys_user_sex',1,'6255832f-f237-45a7-a073-deda25c9ea26','0','用户性别列表','2025-12-31 18:43:00','2025-12-31 18:43:00'),('系统是否','sys_yes_no',2,'22be7b29-f573-41b7-b0d9-56a2227957c6','0','系统是否列表','2025-12-31 18:43:00','2025-12-31 18:43:00'),('系统状态','sys_common_status',3,'2aa43f1d-9982-485f-bb4f-c3ed904e6225','0','系统状态','2025-12-31 18:43:00','2025-12-31 18:43:00'),('通知类型','sys_notice_type',4,'51289e53-2bc3-4c7f-b997-116701e3cc8b','0','通知类型列表','2025-12-31 18:43:00','2025-12-31 18:43:00'),('操作类型','sys_oper_type',5,'4dee7e83-8656-4f1b-ab4e-d0cb93b748de','0','操作类型列表','2025-12-31 18:43:00','2025-12-31 18:43:00'),('任务存储器','sys_job_store',6,'3d386026-b138-41d1-9340-e08f0e9f279c','0','任务分组列表','2025-12-31 18:43:00','2025-12-31 18:43:00'),('任务执行器','sys_job_executor',7,'4fa0ed1f-b530-4518-8f1c-cc1ea0c01c0e','0','任务执行器列表','2025-12-31 18:43:00','2025-12-31 18:43:00'),('任务函数','sys_job_function',8,'14a201b4-cfe0-48ce-8916-bf0f96cb60de','0','任务函数列表','2025-12-31 18:43:00','2025-12-31 18:43:00'),('任务触发器','sys_job_trigger',9,'d568097d-4086-4793-9d36-8815d1e2e4f5','0','任务触发器列表','2025-12-31 18:43:00','2025-12-31 18:43:00'),('表格回显样式','sys_list_class',10,'52b1e307-15cb-4062-ab98-6d2225c80e4f','0','表格回显样式列表','2025-12-31 18:43:00','2025-12-31 18:43:00'); +/*!40000 ALTER TABLE `sys_dict_type` ENABLE KEYS */; + +-- +-- Table structure for table `sys_log` +-- + +DROP TABLE IF EXISTS `sys_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sys_log` ( + `type` int NOT NULL COMMENT '日志类型(1登录日志 2操作日志)', + `request_path` varchar(255) NOT NULL COMMENT '请求路径', + `request_method` varchar(10) NOT NULL COMMENT '请求方式', + `request_payload` text COMMENT '请求体', + `request_ip` varchar(50) DEFAULT NULL COMMENT '请求IP地址', + `login_location` varchar(255) DEFAULT NULL COMMENT '登录位置', + `request_os` varchar(64) DEFAULT NULL COMMENT '操作系统', + `request_browser` varchar(64) DEFAULT NULL COMMENT '浏览器', + `response_code` int NOT NULL COMMENT '响应状态码', + `response_json` text COMMENT '响应体', + `process_time` varchar(20) DEFAULT NULL COMMENT '处理时间', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + `created_id` int DEFAULT NULL COMMENT '创建人ID', + `updated_id` int DEFAULT NULL COMMENT '更新人ID', + PRIMARY KEY (`id`), + UNIQUE KEY `ix_sys_log_uuid` (`uuid`), + KEY `ix_sys_log_id` (`id`), + KEY `ix_sys_log_created_time` (`created_time`), + KEY `ix_sys_log_status` (`status`), + KEY `ix_sys_log_created_id` (`created_id`), + KEY `ix_sys_log_updated_time` (`updated_time`), + KEY `ix_sys_log_updated_id` (`updated_id`), + CONSTRAINT `sys_log_ibfk_1` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `sys_log_ibfk_2` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='系统日志表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sys_log` +-- + +/*!40000 ALTER TABLE `sys_log` DISABLE KEYS */; +/*!40000 ALTER TABLE `sys_log` ENABLE KEYS */; + +-- +-- Table structure for table `sys_menu` +-- + +DROP TABLE IF EXISTS `sys_menu`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sys_menu` ( + `name` varchar(50) NOT NULL COMMENT '菜单名称', + `type` int NOT NULL COMMENT '菜单类型(1:目录 2:菜单 3:按钮/权限 4:链接)', + `order` int NOT NULL COMMENT '显示排序', + `permission` varchar(100) DEFAULT NULL COMMENT '权限标识(如:module_system:user:query)', + `icon` varchar(50) DEFAULT NULL COMMENT '菜单图标', + `route_name` varchar(100) DEFAULT NULL COMMENT '路由名称', + `route_path` varchar(200) DEFAULT NULL COMMENT '路由路径', + `component_path` varchar(200) DEFAULT NULL COMMENT '组件路径', + `redirect` varchar(200) DEFAULT NULL COMMENT '重定向地址', + `hidden` tinyint(1) NOT NULL COMMENT '是否隐藏(True:隐藏 False:显示)', + `keep_alive` tinyint(1) NOT NULL COMMENT '是否缓存(True:是 False:否)', + `always_show` tinyint(1) NOT NULL COMMENT '是否始终显示(True:是 False:否)', + `title` varchar(50) DEFAULT NULL COMMENT '菜单标题', + `params` json DEFAULT NULL COMMENT '路由参数(JSON对象)', + `affix` tinyint(1) NOT NULL COMMENT '是否固定标签页(True:是 False:否)', + `parent_id` int DEFAULT NULL COMMENT '父菜单ID', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `ix_sys_menu_uuid` (`uuid`), + KEY `ix_sys_menu_updated_time` (`updated_time`), + KEY `ix_sys_menu_status` (`status`), + KEY `ix_sys_menu_created_time` (`created_time`), + KEY `ix_sys_menu_id` (`id`), + KEY `ix_sys_menu_parent_id` (`parent_id`), + CONSTRAINT `sys_menu_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `sys_menu` (`id`) ON DELETE SET NULL +) ENGINE=InnoDB AUTO_INCREMENT=138 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='菜单表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sys_menu` +-- + +/*!40000 ALTER TABLE `sys_menu` DISABLE KEYS */; +INSERT INTO `sys_menu` VALUES ('仪表盘',1,1,'','client','Dashboard','/dashboard',NULL,'/dashboard/workplace',0,1,1,'仪表盘','null',0,NULL,1,'92ffc574-0a89-4148-9cdc-c6506493a603','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('系统管理',1,2,NULL,'system','System','/system',NULL,'/system/menu',0,1,0,'系统管理','null',0,NULL,2,'a4ec149e-ca12-4871-8612-e15d59bff533','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('应用管理',1,3,NULL,'el-icon-ShoppingBag','Application','/application',NULL,'/application/myapp',0,0,0,'应用管理','null',0,NULL,3,'27503b37-b92d-4d2c-bae2-811fd0128dc2','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('监控管理',1,4,NULL,'monitor','Monitor','/monitor',NULL,'/monitor/online',0,0,0,'监控管理','null',0,NULL,4,'be1cc2a9-b8d3-47d2-abdb-dd4cf529ebef','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('代码管理',1,5,NULL,'code','Generator','/generator',NULL,'/generator/gencode',0,0,0,'代码管理','null',0,NULL,5,'190697eb-9d03-479e-bb18-aba061b7eb7c','0','代码管理','2025-12-31 18:43:00','2025-12-31 18:43:00'),('接口管理',1,6,NULL,'document','Common','/common',NULL,'/common/docs',0,0,0,'接口管理','null',0,NULL,6,'fd79a02c-f704-4772-ada9-635c531a5149','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('案例管理',1,7,NULL,'menu','Example','/example',NULL,'/example/demo',0,0,0,'案例管理','null',0,NULL,7,'f344d5a9-e1db-4446-9c61-11215967f016','0','案例管理','2025-12-31 18:43:00','2025-12-31 18:43:00'),('工作台',2,1,'dashboard:workplace:query','el-icon-PieChart','Workplace','/dashboard/workplace','dashboard/workplace',NULL,0,1,0,'工作台','null',0,1,8,'d43c4a1e-f87a-43e9-9559-559acaf072fe','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('菜单管理',2,1,'module_system:menu:query','menu','Menu','/system/menu','module_system/menu/index',NULL,0,1,0,'菜单管理','null',0,2,9,'5c3fc283-6350-4887-ad61-2e95584a9a12','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('部门管理',2,2,'module_system:dept:query','tree','Dept','/system/dept','module_system/dept/index',NULL,0,1,0,'部门管理','null',0,2,10,'a7852e29-9b19-4b8b-9e32-2d185d052908','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('岗位管理',2,3,'module_system:position:query','el-icon-Coordinate','Position','/system/position','module_system/position/index',NULL,0,1,0,'岗位管理','null',0,2,11,'866985b5-f022-41d8-89f8-95f13626a0bd','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('角色管理',2,4,'module_system:role:query','role','Role','/system/role','module_system/role/index',NULL,0,1,0,'角色管理','null',0,2,12,'04eab4f1-44b9-49b6-940d-08e006dabde5','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('用户管理',2,5,'module_system:user:query','el-icon-User','User','/system/user','module_system/user/index',NULL,0,1,0,'用户管理','null',0,2,13,'f7926df8-73de-4226-95f8-5d8fab0b93b4','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('日志管理',2,6,'module_system:log:query','el-icon-Aim','Log','/system/log','module_system/log/index',NULL,0,1,0,'日志管理','null',0,2,14,'c38426c2-4aad-42ca-8145-721085f63cb7','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('公告管理',2,7,'module_system:notice:query','bell','Notice','/system/notice','module_system/notice/index',NULL,0,1,0,'公告管理','null',0,2,15,'4d7deaee-0590-413c-bbd7-d3c67a55a096','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('参数管理',2,8,'module_system:param:query','setting','Params','/system/param','module_system/param/index',NULL,0,1,0,'参数管理','null',0,2,16,'022b79c8-759b-4627-9185-513927112947','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('字典管理',2,9,'module_system:dict_type:query','dict','Dict','/system/dict','module_system/dict/index',NULL,0,1,0,'字典管理','null',0,2,17,'20e931e1-dee1-45eb-84f8-27302fe2d72d','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('我的应用',2,1,'module_application:myapp:query','el-icon-ShoppingCartFull','MYAPP','/application/myapp','module_application/myapp/index',NULL,0,1,0,'我的应用','null',0,3,18,'a48138d5-0296-4830-bfc7-9821d1a1de05','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('任务管理',2,2,'module_application:job:query','el-icon-DataLine','Job','/application/job','module_application/job/index',NULL,0,1,0,'任务管理','null',0,3,19,'f559ff26-851f-4865-9231-c24003e8d23a','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('AI智能助手',2,3,'module_application:ai:chat','el-icon-ToiletPaper','AI','/application/ai','module_application/ai/index',NULL,0,1,0,'AI智能助手','null',0,3,20,'a95d3d90-c2ca-43bf-9fb2-5b75e3a03ce0','0','AI智能助手','2025-12-31 18:43:00','2025-12-31 18:43:00'),('流程管理',2,4,'module_application:workflow:query','el-icon-ShoppingBag','Workflow','/application/workflow','module_application/workflow/index',NULL,0,1,0,'我的流程','null',0,3,21,'86f200a1-a8f2-4c2e-bb9e-420924cf3fb4','0','我的流程','2025-12-31 18:43:00','2025-12-31 18:43:00'),('在线用户',2,1,'module_monitor:online:query','el-icon-Headset','MonitorOnline','/monitor/online','module_monitor/online/index',NULL,0,0,0,'在线用户','null',0,4,22,'e62957dc-ba30-4a2e-809f-18d144faf4e2','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('服务器监控',2,2,'module_monitor:server:query','el-icon-Odometer','MonitorServer','/monitor/server','module_monitor/server/index',NULL,0,0,0,'服务器监控','null',0,4,23,'60cf5174-aed1-4eda-8412-65eaa5edb2cc','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('缓存监控',2,3,'module_monitor:cache:query','el-icon-Stopwatch','MonitorCache','/monitor/cache','module_monitor/cache/index',NULL,0,0,0,'缓存监控','null',0,4,24,'cd3804f6-4c8b-4356-bf64-ae7b8ae54bb4','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('文件管理',2,4,'module_monitor:resource:query','el-icon-Files','Resource','/monitor/resource','module_monitor/resource/index',NULL,0,1,0,'文件管理','null',0,4,25,'f4743bbf-1cda-42ec-ab28-c140b9382df2','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('代码生成',2,1,'module_generator:gencode:query','code','GenCode','/generator/gencode','module_generator/gencode/index',NULL,0,1,0,'代码生成','null',0,5,26,'4bf8ae41-ca5b-4dba-afb0-c85fe88b32eb','0','代码生成','2025-12-31 18:43:00','2025-12-31 18:43:00'),('Swagger文档',4,1,'module_common:docs:query','api','Docs','/common/docs','module_common/docs/index',NULL,0,0,0,'Swagger文档','null',0,6,27,'96309d38-78d1-45ee-bd08-86ee65a1161a','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('Redoc文档',4,2,'module_common:redoc:query','el-icon-Document','Redoc','/common/redoc','module_common/redoc/index',NULL,0,0,0,'Redoc文档','null',0,6,28,'18a0ed14-828a-4ecd-a298-c1948f4d8dd9','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('示例管理',2,1,'module_example:demo:query','menu','Demo','/example/demo','module_example/demo/index',NULL,0,1,0,'示例管理','null',0,7,29,'3297a9a6-85d7-441e-8c7c-244329b3a3b8','0','示例管理','2025-12-31 18:43:00','2025-12-31 18:43:00'),('创建菜单',3,1,'module_system:menu:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建菜单','null',0,9,30,'2427a9c4-7c8d-43e9-afb0-b85c454578dd','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('修改菜单',3,2,'module_system:menu:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改菜单','null',0,9,31,'ccab69a8-6162-4b84-8663-a221831bd22d','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('删除菜单',3,3,'module_system:menu:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除菜单','null',0,9,32,'fb4f7ce2-6c64-4fad-aa31-2e843e1550b3','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('批量修改菜单状态',3,4,'module_system:menu:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量修改菜单状态','null',0,9,33,'59d46996-fa85-4618-8db0-25745fc502f0','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('详情改菜',3,5,'module_system:menu:detail',NULL,NULL,NULL,NULL,NULL,0,1,0,'详情改菜','null',0,9,34,'3073d26a-cc8d-40e8-a155-99f15d56a5fa','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('查询菜单',3,6,'module_system:menu:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'查询菜单','null',0,9,35,'c4c99c52-a6b2-4af1-b799-a8a9d516f8af','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('创建部门',3,1,'module_system:dept:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建部门','null',0,10,36,'d7a1677c-a89e-4cd1-83ff-d2f06c1e6682','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('修改部门',3,2,'module_system:dept:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改部门','null',0,10,37,'78473709-9434-4df5-af0a-e3b081c5ef90','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('删除部门',3,3,'module_system:dept:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除部门','null',0,10,38,'6feb287f-5f6d-49c9-9a8b-ed906945aab1','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('批量修改部门状态',3,4,'module_system:dept:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量修改部门状态','null',0,10,39,'8452397f-2d73-4ce5-9f55-f8a924946124','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('详情部门',3,5,'module_system:dept:detail',NULL,NULL,NULL,NULL,NULL,0,1,0,'详情部门','null',0,10,40,'9fb32063-2810-4b03-96d9-d4dbe489e41c','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('查询部门',3,6,'module_system:dept:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'查询部门','null',0,10,41,'58c7d930-116c-4bda-aac8-ce1dfe7a999c','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('创建岗位',3,1,'module_system:position:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建岗位','null',0,11,42,'ce2a12a3-6ee7-4c8f-974e-7bae80df183f','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('修改岗位',3,2,'module_system:position:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改岗位','null',0,11,43,'8105d20b-f2c5-4044-a086-f63fbd6bca1b','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('删除岗位',3,3,'module_system:position:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改岗位','null',0,11,44,'06a892aa-3a3c-4320-ad68-21e144418554','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('批量修改岗位状态',3,4,'module_system:position:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量修改岗位状态','null',0,11,45,'bac27dcf-8c68-416c-9f32-8de10a403bfc','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('岗位导出',3,5,'module_system:position:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'岗位导出','null',0,11,46,'fd04377c-91e4-4006-bb03-c2390320b53e','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('详情岗位',3,6,'module_system:position:detail',NULL,NULL,NULL,NULL,NULL,0,1,0,'详情岗位','null',0,11,47,'b417f870-ec5d-4512-9759-a52ebcb90331','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('查询岗位',3,7,'module_system:position:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'查询岗位','null',0,11,48,'1e88a0c4-4a3f-4752-b1cd-c579ba175479','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('创建角色',3,1,'module_system:role:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建角色','null',0,12,49,'ff384eb6-c96d-48bc-af7b-c3ba57ee3d96','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('修改角色',3,2,'module_system:role:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改角色','null',0,12,50,'ddb46ab4-c77b-4cd5-a187-b2d8cfe88468','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('删除角色',3,3,'module_system:role:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除角色','null',0,12,51,'c6d5037c-fabd-4ae1-abe2-2387138a3cdd','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('批量修改角色状态',3,4,'module_system:role:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量修改角色状态','null',0,12,52,'73cd93ee-e9cc-4a1f-8c80-bca50070c5a7','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('角色导出',3,5,'module_system:role:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'角色导出','null',0,12,53,'b07a0e47-23f3-45e0-a776-8a690fc5cb2d','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('详情角色',3,6,'module_system:role:detail',NULL,NULL,NULL,NULL,NULL,0,1,0,'详情角色','null',0,12,54,'584d5c42-2e30-4e6d-92d0-4cff6f21ac80','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('查询角色',3,7,'module_system:role:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'查询角色','null',0,12,55,'b3191537-b73b-45b2-a089-f9e271e09284','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('创建用户',3,1,'module_system:user:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建用户','null',0,13,56,'cdd1766d-4026-427b-8fb1-d8212ecd3897','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('修改用户',3,2,'module_system:user:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改用户','null',0,13,57,'7b8eec49-4ba1-451e-ba4c-9ac7ea1e2791','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('删除用户',3,3,'module_system:user:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除用户','null',0,13,58,'ce2a7285-5c78-48c0-a013-53cd20938b5b','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('批量修改用户状态',3,4,'module_system:user:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量修改用户状态','null',0,13,59,'48f5f69a-e06d-4edc-b9f1-2d93e9ce3c56','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('导出用户',3,5,'module_system:user:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'导出用户','null',0,13,60,'d3b9bc4c-80e7-4c0f-92e2-cc21b797b258','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('导入用户',3,6,'module_system:user:import',NULL,NULL,NULL,NULL,NULL,0,1,0,'导入用户','null',0,13,61,'f7f83cb2-fcd7-4afc-8316-fe81acdbdf9d','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('下载用户导入模板',3,7,'module_system:user:download',NULL,NULL,NULL,NULL,NULL,0,1,0,'下载用户导入模板','null',0,13,62,'f1558aa4-a855-4499-8da4-569f0bdb8fa1','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('详情用户',3,8,'module_system:user:detail',NULL,NULL,NULL,NULL,NULL,0,1,0,'详情用户','null',0,13,63,'39fd866e-142f-451c-8eba-4647a0c93d5e','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('查询用户',3,9,'module_system:user:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'查询用户','null',0,13,64,'ff9c456d-b02d-473a-bb72-517660b48cc8','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('日志删除',3,1,'module_system:log:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'日志删除','null',0,14,65,'f860d695-a178-46a1-9012-658e2c5201f5','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('日志导出',3,2,'module_system:log:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'日志导出','null',0,14,66,'2d54281d-6b28-4e49-86d1-6d20c4d40410','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('日志详情',3,3,'module_system:log:detail',NULL,NULL,NULL,NULL,NULL,0,1,0,'日志详情','null',0,14,67,'c6e60b1b-6e0f-4f3f-974e-2f5831c9d3ca','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('查询日志',3,4,'module_system:log:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'查询日志','null',0,14,68,'c92aebad-3b68-4729-a315-8bb7e340badc','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('公告创建',3,1,'module_system:notice:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'公告创建','null',0,15,69,'e0ea2d06-ebb3-4bed-87c9-dbd443af0060','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('公告修改',3,2,'module_system:notice:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改用户','null',0,15,70,'5f465df3-12d0-4996-ae2c-2a7ce88d5a7b','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('公告删除',3,3,'module_system:notice:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'公告删除','null',0,15,71,'d2ed27fe-96a7-4d05-bbe6-7d7038500c71','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('公告导出',3,4,'module_system:notice:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'公告导出','null',0,15,72,'f77c6457-260f-4d2a-a84d-07df6f863b16','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('公告批量修改状态',3,5,'module_system:notice:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'公告批量修改状态','null',0,15,73,'d311dc79-0ed4-4973-91a4-86f4d37864c3','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('公告详情',3,6,'module_system:notice:detail',NULL,NULL,NULL,NULL,NULL,0,1,0,'公告详情','null',0,15,74,'0b764de4-6d02-44c5-a9c9-82861883e148','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('查询公告',3,5,'module_system:notice:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'查询公告','null',0,15,75,'cfba0aa8-de67-4605-a573-df0cb4886d1b','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('创建参数',3,1,'module_system:param:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建参数','null',0,16,76,'98e4f246-b406-4a39-b4e0-4929150e93d9','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('修改参数',3,2,'module_system:param:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改参数','null',0,16,77,'c0bfa725-761c-4096-bc2f-3337997e3c20','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('删除参数',3,3,'module_system:param:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除参数','null',0,16,78,'6da7250e-76b7-4154-8163-79188fec4ceb','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('导出参数',3,4,'module_system:param:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'导出参数','null',0,16,79,'28bcaf46-81dd-456f-af4f-1fe1b283ee47','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('参数上传',3,5,'module_system:param:upload',NULL,NULL,NULL,NULL,NULL,0,1,0,'参数上传','null',0,16,80,'41467478-5497-44b3-beb1-226691c06e76','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('参数详情',3,6,'module_system:param:detail',NULL,NULL,NULL,NULL,NULL,0,1,0,'参数详情','null',0,16,81,'8bd36810-bf6f-4529-beb6-b2f37304e100','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('查询参数',3,7,'module_system:param:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'查询参数','null',0,16,82,'70d8c98c-7204-47d3-9bd1-ef355dba2a7f','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('创建字典类型',3,1,'module_system:dict_type:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建字典类型','null',0,17,83,'aad0afaa-5e5f-47c0-b51d-0ba07f504a03','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('修改字典类型',3,2,'module_system:dict_type:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改字典类型','null',0,17,84,'72123c7e-beab-43d8-9778-ae6e5e7bc935','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('删除字典类型',3,3,'module_system:dict_type:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除字典类型','null',0,17,85,'e729dc8b-1739-40f6-8919-13c2473e453d','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('导出字典类型',3,4,'module_system:dict_type:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'导出字典类型','null',0,17,86,'8769d73a-e43a-4b6c-984e-bd656af3b4bb','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('批量修改字典状态',3,5,'module_system:dict_type:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'导出字典类型','null',0,17,87,'689fb4c2-c1f6-4976-b9f6-bc298fad06b2','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('字典数据查询',3,6,'module_system:dict_data:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'字典数据查询','null',0,17,88,'34273044-e5ac-4cb5-8aa7-f4a470df154a','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('创建字典数据',3,7,'module_system:dict_data:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建字典数据','null',0,17,89,'8bd5e480-6ddd-434d-812a-c050f4350724','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('修改字典数据',3,8,'module_system:dict_data:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改字典数据','null',0,17,90,'d06019cc-71a0-4f2b-8b4d-6c7bf099c000','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('删除字典数据',3,9,'module_system:dict_data:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除字典数据','null',0,17,91,'aac9f596-a80e-4a52-9587-dea77c012748','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('导出字典数据',3,10,'module_system:dict_data:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'导出字典数据','null',0,17,92,'ce3d760c-b578-486c-b6f9-eb4659a99d9d','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('批量修改字典数据状态',3,11,'module_system:dict_data:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量修改字典数据状态','null',0,17,93,'b19ec939-e050-48b8-910a-b558eb5bfb0e','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('详情字典类型',3,12,'module_system:dict_type:detail',NULL,NULL,NULL,NULL,NULL,0,1,0,'详情字典类型','null',0,17,94,'dcf1e08b-3bcb-4a07-8c20-2b21d85fef99','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('查询字典类型',3,13,'module_system:dict_type:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'查询字典类型','null',0,17,95,'acbc8959-c3da-4460-b9fc-883a5ad06be6','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('详情字典数据',3,14,'module_system:dict_data:detail',NULL,NULL,NULL,NULL,NULL,0,1,0,'详情字典数据','null',0,17,96,'15446aee-d76d-414c-b5d2-7540e5326cda','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('创建应用',3,1,'module_application:myapp:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建应用','null',0,18,97,'d6dc91c2-455b-4668-93a9-8f155c68c583','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('修改应用',3,2,'module_application:myapp:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改应用','null',0,18,98,'52670419-53b5-4f9a-8337-8bea256c0134','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('删除应用',3,3,'module_application:myapp:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除应用','null',0,18,99,'65c45196-5ba3-43a7-9e8b-003a2d267b41','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('批量修改应用状态',3,4,'module_application:myapp:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量修改应用状态','null',0,18,100,'749ec5c7-b153-4ab5-9cfc-37772fdccd41','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('详情应用',3,5,'module_application:myapp:detail',NULL,NULL,NULL,NULL,NULL,0,1,0,'详情应用','null',0,18,101,'21016807-15a1-4d63-b0fb-586ff1020fd4','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('查询应用',3,6,'module_application:myapp:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'查询应用','null',0,18,102,'477cdf7a-be63-4bce-9e29-eb358ea7e1c7','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('创建任务',3,1,'module_application:job:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建任务','null',0,19,103,'7ef64585-a0cc-46ab-85bd-cd7a4a2efc34','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('修改和操作任务',3,2,'module_application:job:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'修改和操作任务','null',0,19,104,'c1a34a32-15d9-41a5-a164-f377bab6fe41','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('删除和清除任务',3,3,'module_application:job:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除和清除任务','null',0,19,105,'c696ad7b-cbb9-4619-a93d-c4ff9a8f6119','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('导出定时任务',3,4,'module_application:job:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'导出定时任务','null',0,19,106,'6b4ee23f-d928-4a9c-9f3c-37deea4a8304','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('详情定时任务',3,5,'module_application:job:detail',NULL,NULL,NULL,NULL,NULL,0,1,0,'详情任务','null',0,19,107,'7dc2b4af-dece-4b47-a338-f339eb235d3b','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('查询定时任务',3,6,'module_application:job:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'查询定时任务','null',0,19,108,'ab8fc3ee-7dc3-4ddd-b980-5e156658adc1','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('智能对话',3,1,'module_application:ai:chat',NULL,NULL,NULL,NULL,NULL,0,1,0,'智能对话','null',0,20,109,'f2304e3b-3303-4c48-845d-3c961e1972b0','0','智能对话','2025-12-31 18:43:00','2025-12-31 18:43:00'),('在线用户强制下线',3,1,'module_monitor:online:delete',NULL,NULL,NULL,NULL,NULL,0,0,0,'在线用户强制下线','null',0,22,110,'efc507ea-c9ac-4f3f-a4f7-94eff2607cb5','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('清除缓存',3,1,'module_monitor:cache:delete',NULL,NULL,NULL,NULL,NULL,0,0,0,'清除缓存','null',0,24,111,'2a77bdfa-c4bf-4bc8-8a64-d2536960a73f','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('文件上传',3,1,'module_monitor:resource:upload',NULL,NULL,NULL,NULL,NULL,0,1,0,'文件上传','null',0,25,112,'4a4ffc5b-3799-43f0-9457-f17b40751da0','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('文件下载',3,2,'module_monitor:resource:download',NULL,NULL,NULL,NULL,NULL,0,1,0,'文件下载','null',0,25,113,'0e294667-7a44-4f6a-8ee6-bc9c2f41f3f0','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('文件删除',3,3,'module_monitor:resource:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'文件删除','null',0,25,114,'d372c4a7-55af-4027-84ce-81c875e37cd4','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('文件移动',3,4,'module_monitor:resource:move',NULL,NULL,NULL,NULL,NULL,0,1,0,'文件移动','null',0,25,115,'cdd06074-bbeb-4ceb-9572-ae8365ea4e16','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('文件复制',3,5,'module_monitor:resource:copy',NULL,NULL,NULL,NULL,NULL,0,1,0,'文件复制','null',0,25,116,'feb8890c-2dfe-4be3-9760-7334f659bb96','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('文件重命名',3,6,'module_monitor:resource:rename',NULL,NULL,NULL,NULL,NULL,0,1,0,'文件重命名','null',0,25,117,'359df56b-b01b-40d2-947c-dba974ddce17','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('创建目录',3,7,'module_monitor:resource:create_dir',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建目录','null',0,25,118,'766068e2-79aa-412b-bfe4-55ebcdf1dcbc','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('导出文件列表',3,9,'module_monitor:resource:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'导出文件列表','null',0,25,119,'eb2f6d5c-9551-4e6d-8e72-1d29a4486f1b','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('查询代码生成业务表列表',3,1,'module_generator:gencode:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'查询代码生成业务表列表','null',0,26,120,'526fa6ba-d74d-46ea-9647-0f243c32bdfd','0','查询代码生成业务表列表','2025-12-31 18:43:00','2025-12-31 18:43:00'),('创建表结构',3,2,'module_generator:gencode:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建表结构','null',0,26,121,'6b4c9211-7193-4a7a-a16f-718500b35bfa','0','创建表结构','2025-12-31 18:43:00','2025-12-31 18:43:00'),('编辑业务表信息',3,3,'module_generator:gencode:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'编辑业务表信息','null',0,26,122,'69736846-028c-47a2-b28b-71f2f8869e18','0','编辑业务表信息','2025-12-31 18:43:00','2025-12-31 18:43:00'),('删除业务表信息',3,4,'module_generator:gencode:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除业务表信息','null',0,26,123,'ef56dc70-5cc0-4654-8f16-3dab014c69e1','0','删除业务表信息','2025-12-31 18:43:00','2025-12-31 18:43:00'),('导入表结构',3,5,'module_generator:gencode:import',NULL,NULL,NULL,NULL,NULL,0,1,0,'导入表结构','null',0,26,124,'d8ace227-b0aa-4371-86c8-9e779c252e2a','0','导入表结构','2025-12-31 18:43:00','2025-12-31 18:43:00'),('批量生成代码',3,6,'module_generator:gencode:operate',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量生成代码','null',0,26,125,'5636aef5-b46c-4d92-a8ad-e0e72a47f2fd','0','批量生成代码','2025-12-31 18:43:00','2025-12-31 18:43:00'),('生成代码到指定路径',3,7,'module_generator:gencode:code',NULL,NULL,NULL,NULL,NULL,0,1,0,'生成代码到指定路径','null',0,26,126,'3dabe5fb-6938-4e78-b7f6-87f55c8e033c','0','生成代码到指定路径','2025-12-31 18:43:00','2025-12-31 18:43:00'),('查询数据库表列表',3,8,'module_generator:dblist:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'查询数据库表列表','null',0,26,127,'0f86265b-9573-4420-820c-98f73bab7fd7','0','查询数据库表列表','2025-12-31 18:43:00','2025-12-31 18:43:00'),('同步数据库',3,9,'module_generator:db:sync',NULL,NULL,NULL,NULL,NULL,0,1,0,'同步数据库','null',0,26,128,'90e54cc8-69ac-4abd-9658-6df52ded244f','0','同步数据库','2025-12-31 18:43:00','2025-12-31 18:43:00'),('创建示例',3,1,'module_example:demo:create',NULL,NULL,NULL,NULL,NULL,0,1,0,'创建示例','null',0,29,129,'5ae00ed8-3bbc-441a-b957-ae8c1bec18f6','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('更新示例',3,2,'module_example:demo:update',NULL,NULL,NULL,NULL,NULL,0,1,0,'更新示例','null',0,29,130,'1b292df6-8efc-4d37-b457-c6229c569537','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('删除示例',3,3,'module_example:demo:delete',NULL,NULL,NULL,NULL,NULL,0,1,0,'删除示例','null',0,29,131,'b4c14477-747e-412e-a4a8-86db7901889c','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('批量修改示例状态',3,4,'module_example:demo:patch',NULL,NULL,NULL,NULL,NULL,0,1,0,'批量修改示例状态','null',0,29,132,'c9c95e3c-f561-4ed0-a9e6-5a9c80399c90','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('导出示例',3,5,'module_example:demo:export',NULL,NULL,NULL,NULL,NULL,0,1,0,'导出示例','null',0,29,133,'fa65f4f6-d7a3-4649-8b6f-500b0a6ff47f','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('导入示例',3,6,'module_example:demo:import',NULL,NULL,NULL,NULL,NULL,0,1,0,'导入示例','null',0,29,134,'c831ca08-3d39-44b2-85ed-61266f6c85b7','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('下载导入示例模版',3,7,'module_example:demo:download',NULL,NULL,NULL,NULL,NULL,0,1,0,'下载导入示例模版','null',0,29,135,'ad4d47c9-8bbd-41e4-b484-782810946b53','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('详情示例',3,8,'module_example:demo:detail',NULL,NULL,NULL,NULL,NULL,0,1,0,'详情示例','null',0,29,136,'9c74b89c-884e-494f-8137-48da2bcba10d','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('查询示例',3,9,'module_example:demo:query',NULL,NULL,NULL,NULL,NULL,0,1,0,'查询示例','null',0,29,137,'a32777aa-ce05-4870-825f-125c14b81f01','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'); +/*!40000 ALTER TABLE `sys_menu` ENABLE KEYS */; + +-- +-- Table structure for table `sys_notice` +-- + +DROP TABLE IF EXISTS `sys_notice`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sys_notice` ( + `notice_title` varchar(64) NOT NULL COMMENT '公告标题', + `notice_type` varchar(1) NOT NULL COMMENT '公告类型(1通知 2公告)', + `notice_content` text COMMENT '公告内容', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + `created_id` int DEFAULT NULL COMMENT '创建人ID', + `updated_id` int DEFAULT NULL COMMENT '更新人ID', + PRIMARY KEY (`id`), + UNIQUE KEY `ix_sys_notice_uuid` (`uuid`), + KEY `ix_sys_notice_updated_time` (`updated_time`), + KEY `ix_sys_notice_created_id` (`created_id`), + KEY `ix_sys_notice_id` (`id`), + KEY `ix_sys_notice_status` (`status`), + KEY `ix_sys_notice_updated_id` (`updated_id`), + KEY `ix_sys_notice_created_time` (`created_time`), + CONSTRAINT `sys_notice_ibfk_1` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `sys_notice_ibfk_2` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='通知公告表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sys_notice` +-- + +/*!40000 ALTER TABLE `sys_notice` DISABLE KEYS */; +/*!40000 ALTER TABLE `sys_notice` ENABLE KEYS */; + +-- +-- Table structure for table `sys_param` +-- + +DROP TABLE IF EXISTS `sys_param`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sys_param` ( + `config_name` varchar(64) NOT NULL COMMENT '参数名称', + `config_key` varchar(500) NOT NULL COMMENT '参数键名', + `config_value` varchar(500) DEFAULT NULL COMMENT '参数键值', + `config_type` tinyint(1) DEFAULT NULL COMMENT '系统内置(True:是 False:否)', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `ix_sys_param_uuid` (`uuid`), + KEY `ix_sys_param_updated_time` (`updated_time`), + KEY `ix_sys_param_status` (`status`), + KEY `ix_sys_param_id` (`id`), + KEY `ix_sys_param_created_time` (`created_time`) +) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='系统参数表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sys_param` +-- + +/*!40000 ALTER TABLE `sys_param` DISABLE KEYS */; +INSERT INTO `sys_param` VALUES ('网站名称','sys_web_title','FastApiAdmin',1,1,'594ade47-6bdd-44fb-b73c-8cff13024cc3','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('网站描述','sys_web_description','FastApiAdmin 是完全开源的权限管理系统',1,2,'e95e08e1-08af-42e9-a580-a5bf3d965fe4','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('网页图标','sys_web_favicon','https://service.fastapiadmin.com/api/v1/static/image/favicon.png',1,3,'c4d8c001-0d5a-4249-a5dd-f20dbd10b70a','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('网站Logo','sys_web_logo','https://service.fastapiadmin.com/api/v1/static/image/logo.png',1,4,'104405dd-c490-437b-8a38-8dbcecfb913a','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('登录背景','sys_login_background','https://service.fastapiadmin.com/api/v1/static/image/background.svg',1,5,'59184835-bf71-4167-96d3-e1566f2a55e2','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('版权信息','sys_web_copyright','Copyright © 2025-2026 service.fastapiadmin.com 版权所有',1,6,'581e55c2-32a9-44e9-af47-2bf8127b4ca7','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('备案信息','sys_keep_record','陕ICP备2025069493号-1',1,7,'3e435305-b67e-4cfc-bc13-3b850db96fc5','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('帮助文档','sys_help_doc','https://service.fastapiadmin.com',1,8,'42d4cdaa-341f-4487-a4c8-5790e917e1c2','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('隐私政策','sys_web_privacy','https://github.com/1014TaoTao/FastapiAdmin/blob/master/LICENSE',1,9,'a32c7c5e-2100-4f92-85f3-5a9c9dfc61ef','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('用户协议','sys_web_clause','https://github.com/1014TaoTao/FastapiAdmin/blob/master/LICENSE',1,10,'8b914e2d-cf72-49fa-9983-dcf9de75c629','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('源码代码','sys_git_code','https://github.com/1014TaoTao/FastapiAdmin.git',1,11,'7f9dfaab-feae-4a56-98a6-387a3b777554','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('项目版本','sys_web_version','2.0.0',1,12,'8eaed3b2-6f7d-4653-b732-a5528eb324a4','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('演示模式启用','demo_enable','false',1,13,'27495c2a-a7e2-43c2-bb34-2f15dc9ed8ec','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('演示访问IP白名单','ip_white_list','[\"127.0.0.1\"]',1,14,'b4980f8e-fd5e-4a78-aac8-8b850c0ac987','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('接口白名单','white_api_list_path','[\"/api/v1/system/auth/login\", \"/api/v1/system/auth/token/refresh\", \"/api/v1/system/auth/captcha/get\", \"/api/v1/system/auth/logout\", \"/api/v1/system/config/info\", \"/api/v1/system/user/current/info\", \"/api/v1/system/notice/available\"]',1,15,'b8ac8eb3-4ae7-4f29-a51e-f56a92fc9a17','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'),('访问IP黑名单','ip_black_list','[]',1,16,'45512453-e4c9-4a57-abca-a7fbd9e19920','0','初始化数据','2025-12-31 18:43:00','2025-12-31 18:43:00'); +/*!40000 ALTER TABLE `sys_param` ENABLE KEYS */; + +-- +-- Table structure for table `sys_position` +-- + +DROP TABLE IF EXISTS `sys_position`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sys_position` ( + `name` varchar(64) NOT NULL COMMENT '岗位名称', + `order` int NOT NULL COMMENT '显示排序', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + `created_id` int DEFAULT NULL COMMENT '创建人ID', + `updated_id` int DEFAULT NULL COMMENT '更新人ID', + PRIMARY KEY (`id`), + UNIQUE KEY `ix_sys_position_uuid` (`uuid`), + KEY `ix_sys_position_id` (`id`), + KEY `ix_sys_position_updated_time` (`updated_time`), + KEY `ix_sys_position_created_id` (`created_id`), + KEY `ix_sys_position_status` (`status`), + KEY `ix_sys_position_updated_id` (`updated_id`), + KEY `ix_sys_position_created_time` (`created_time`), + CONSTRAINT `sys_position_ibfk_1` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `sys_position_ibfk_2` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='岗位表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sys_position` +-- + +/*!40000 ALTER TABLE `sys_position` DISABLE KEYS */; +/*!40000 ALTER TABLE `sys_position` ENABLE KEYS */; + +-- +-- Table structure for table `sys_role` +-- + +DROP TABLE IF EXISTS `sys_role`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sys_role` ( + `name` varchar(64) NOT NULL COMMENT '角色名称', + `code` varchar(16) DEFAULT NULL COMMENT '角色编码', + `order` int NOT NULL COMMENT '显示排序', + `data_scope` int NOT NULL COMMENT '数据权限范围(1:仅本人 2:本部门 3:本部门及以下 4:全部 5:自定义)', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `ix_sys_role_uuid` (`uuid`), + KEY `ix_sys_role_updated_time` (`updated_time`), + KEY `ix_sys_role_created_time` (`created_time`), + KEY `ix_sys_role_id` (`id`), + KEY `ix_sys_role_code` (`code`), + KEY `ix_sys_role_status` (`status`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sys_role` +-- + +/*!40000 ALTER TABLE `sys_role` DISABLE KEYS */; +INSERT INTO `sys_role` VALUES ('管理员角色','ADMIN',1,4,1,'4078b9ed-0d0b-4747-8f99-b092818a1616','0','初始化角色','2025-12-31 18:43:00','2025-12-31 18:43:00'); +/*!40000 ALTER TABLE `sys_role` ENABLE KEYS */; + +-- +-- Table structure for table `sys_role_depts` +-- + +DROP TABLE IF EXISTS `sys_role_depts`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sys_role_depts` ( + `role_id` int NOT NULL COMMENT '角色ID', + `dept_id` int NOT NULL COMMENT '部门ID', + PRIMARY KEY (`role_id`,`dept_id`), + KEY `dept_id` (`dept_id`), + CONSTRAINT `sys_role_depts_ibfk_1` FOREIGN KEY (`role_id`) REFERENCES `sys_role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `sys_role_depts_ibfk_2` FOREIGN KEY (`dept_id`) REFERENCES `sys_dept` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色部门关联表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sys_role_depts` +-- + +/*!40000 ALTER TABLE `sys_role_depts` DISABLE KEYS */; +/*!40000 ALTER TABLE `sys_role_depts` ENABLE KEYS */; + +-- +-- Table structure for table `sys_role_menus` +-- + +DROP TABLE IF EXISTS `sys_role_menus`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sys_role_menus` ( + `role_id` int NOT NULL COMMENT '角色ID', + `menu_id` int NOT NULL COMMENT '菜单ID', + PRIMARY KEY (`role_id`,`menu_id`), + KEY `menu_id` (`menu_id`), + CONSTRAINT `sys_role_menus_ibfk_1` FOREIGN KEY (`role_id`) REFERENCES `sys_role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `sys_role_menus_ibfk_2` FOREIGN KEY (`menu_id`) REFERENCES `sys_menu` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色菜单关联表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sys_role_menus` +-- + +/*!40000 ALTER TABLE `sys_role_menus` DISABLE KEYS */; +/*!40000 ALTER TABLE `sys_role_menus` ENABLE KEYS */; + +-- +-- Table structure for table `sys_user` +-- + +DROP TABLE IF EXISTS `sys_user`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sys_user` ( + `username` varchar(64) NOT NULL COMMENT '用户名/登录账号', + `password` varchar(255) NOT NULL COMMENT '密码哈希', + `name` varchar(32) NOT NULL COMMENT '昵称', + `mobile` varchar(11) DEFAULT NULL COMMENT '手机号', + `email` varchar(64) DEFAULT NULL COMMENT '邮箱', + `gender` varchar(1) DEFAULT NULL COMMENT '性别(0:男 1:女 2:未知)', + `avatar` varchar(255) DEFAULT NULL COMMENT '头像URL地址', + `is_superuser` tinyint(1) NOT NULL COMMENT '是否超管', + `last_login` datetime DEFAULT NULL COMMENT '最后登录时间', + `gitee_login` varchar(32) DEFAULT NULL COMMENT 'Gitee登录', + `github_login` varchar(32) DEFAULT NULL COMMENT 'Github登录', + `wx_login` varchar(32) DEFAULT NULL COMMENT '微信登录', + `qq_login` varchar(32) DEFAULT NULL COMMENT 'QQ登录', + `dept_id` int DEFAULT NULL COMMENT '部门ID', + `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `uuid` varchar(64) NOT NULL COMMENT 'UUID全局唯一标识', + `status` varchar(10) NOT NULL COMMENT '是否启用(0:启用 1:禁用)', + `description` text COMMENT '备注/描述', + `created_time` datetime NOT NULL COMMENT '创建时间', + `updated_time` datetime NOT NULL COMMENT '更新时间', + `created_id` int DEFAULT NULL COMMENT '创建人ID', + `updated_id` int DEFAULT NULL COMMENT '更新人ID', + PRIMARY KEY (`id`), + UNIQUE KEY `username` (`username`), + UNIQUE KEY `ix_sys_user_uuid` (`uuid`), + UNIQUE KEY `mobile` (`mobile`), + UNIQUE KEY `email` (`email`), + KEY `ix_sys_user_updated_time` (`updated_time`), + KEY `ix_sys_user_dept_id` (`dept_id`), + KEY `ix_sys_user_id` (`id`), + KEY `ix_sys_user_status` (`status`), + KEY `ix_sys_user_created_id` (`created_id`), + KEY `ix_sys_user_created_time` (`created_time`), + KEY `ix_sys_user_updated_id` (`updated_id`), + CONSTRAINT `sys_user_ibfk_1` FOREIGN KEY (`updated_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `sys_user_ibfk_2` FOREIGN KEY (`dept_id`) REFERENCES `sys_dept` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `sys_user_ibfk_3` FOREIGN KEY (`created_id`) REFERENCES `sys_user` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sys_user` +-- + +/*!40000 ALTER TABLE `sys_user` DISABLE KEYS */; +INSERT INTO `sys_user` VALUES ('admin','$2b$12$e2IJgS/cvHgJ0H3G7Xa08OXoXnk6N/NX3IZRtubBDElA0VLZhkNOa','超级管理员',NULL,NULL,'0','https://service.fastapiadmin.com/api/v1/static/image/avatar.png',1,NULL,NULL,NULL,NULL,NULL,1,1,'d2891824-58ec-480b-a5c4-2bf75647d1f4','0','超级管理员','2025-12-31 18:43:00','2025-12-31 18:43:00',NULL,NULL); +/*!40000 ALTER TABLE `sys_user` ENABLE KEYS */; + +-- +-- Table structure for table `sys_user_positions` +-- + +DROP TABLE IF EXISTS `sys_user_positions`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sys_user_positions` ( + `user_id` int NOT NULL COMMENT '用户ID', + `position_id` int NOT NULL COMMENT '岗位ID', + PRIMARY KEY (`user_id`,`position_id`), + KEY `position_id` (`position_id`), + CONSTRAINT `sys_user_positions_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `sys_user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `sys_user_positions_ibfk_2` FOREIGN KEY (`position_id`) REFERENCES `sys_position` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户岗位关联表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sys_user_positions` +-- + +/*!40000 ALTER TABLE `sys_user_positions` DISABLE KEYS */; +/*!40000 ALTER TABLE `sys_user_positions` ENABLE KEYS */; + +-- +-- Table structure for table `sys_user_roles` +-- + +DROP TABLE IF EXISTS `sys_user_roles`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `sys_user_roles` ( + `user_id` int NOT NULL COMMENT '用户ID', + `role_id` int NOT NULL COMMENT '角色ID', + PRIMARY KEY (`user_id`,`role_id`), + KEY `role_id` (`role_id`), + CONSTRAINT `sys_user_roles_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `sys_user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `sys_user_roles_ibfk_2` FOREIGN KEY (`role_id`) REFERENCES `sys_role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户角色关联表'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `sys_user_roles` +-- + +/*!40000 ALTER TABLE `sys_user_roles` DISABLE KEYS */; +INSERT INTO `sys_user_roles` VALUES (1,1); +/*!40000 ALTER TABLE `sys_user_roles` ENABLE KEYS */; + +-- +-- Dumping routines for database 'fastapiadmin' +-- +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2025-12-31 18:43:08 diff --git a/backend/sql/postgres/fastapiadmin_2025-12-04_221155.sql b/backend/sql/postgres/fastapiadmin_2025-12-04_221155.sql deleted file mode 100644 index b3acd491..00000000 --- a/backend/sql/postgres/fastapiadmin_2025-12-04_221155.sql +++ /dev/null @@ -1,4496 +0,0 @@ --- --- PostgreSQL database dump --- - --- Dumped from database version 17.5 (ServBay) --- Dumped by pg_dump version 17.5 (ServBay) - -SET statement_timeout = 0; -SET lock_timeout = 0; -SET idle_in_transaction_session_timeout = 0; -SET transaction_timeout = 0; -SET client_encoding = 'UTF8'; -SET standard_conforming_strings = on; -SELECT pg_catalog.set_config('search_path', '', false); -SET check_function_bodies = false; -SET xmloption = content; -SET client_min_messages = warning; -SET row_security = off; - -SET default_tablespace = ''; - -SET default_table_access_method = heap; - --- --- Name: app_ai_mcp; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.app_ai_mcp ( - name character varying(50) NOT NULL, - type integer NOT NULL, - url character varying(255), - command character varying(255), - args character varying(255), - env json, - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL, - created_id integer, - updated_id integer -); - - -ALTER TABLE public.app_ai_mcp OWNER TO tao; - --- --- Name: TABLE app_ai_mcp; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.app_ai_mcp IS 'MCP 服务器表'; - - --- --- Name: COLUMN app_ai_mcp.name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_ai_mcp.name IS 'MCP 名称'; - - --- --- Name: COLUMN app_ai_mcp.type; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_ai_mcp.type IS 'MCP 类型(0:stdio 1:sse)'; - - --- --- Name: COLUMN app_ai_mcp.url; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_ai_mcp.url IS '远程 SSE 地址'; - - --- --- Name: COLUMN app_ai_mcp.command; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_ai_mcp.command IS 'MCP 命令'; - - --- --- Name: COLUMN app_ai_mcp.args; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_ai_mcp.args IS 'MCP 命令参数'; - - --- --- Name: COLUMN app_ai_mcp.env; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_ai_mcp.env IS 'MCP 环境变量'; - - --- --- Name: COLUMN app_ai_mcp.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_ai_mcp.id IS '主键ID'; - - --- --- Name: COLUMN app_ai_mcp.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_ai_mcp.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN app_ai_mcp.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_ai_mcp.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN app_ai_mcp.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_ai_mcp.description IS '备注/描述'; - - --- --- Name: COLUMN app_ai_mcp.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_ai_mcp.created_time IS '创建时间'; - - --- --- Name: COLUMN app_ai_mcp.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_ai_mcp.updated_time IS '更新时间'; - - --- --- Name: COLUMN app_ai_mcp.created_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_ai_mcp.created_id IS '创建人ID'; - - --- --- Name: COLUMN app_ai_mcp.updated_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_ai_mcp.updated_id IS '更新人ID'; - - --- --- Name: app_ai_mcp_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.app_ai_mcp_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.app_ai_mcp_id_seq OWNER TO tao; - --- --- Name: app_ai_mcp_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.app_ai_mcp_id_seq OWNED BY public.app_ai_mcp.id; - - --- --- Name: app_job; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.app_job ( - name character varying(64), - jobstore character varying(64), - executor character varying(64), - trigger character varying(64) NOT NULL, - trigger_args text, - func text NOT NULL, - args text, - kwargs text, - "coalesce" boolean, - max_instances integer, - start_date character varying(64), - end_date character varying(64), - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL, - created_id integer, - updated_id integer -); - - -ALTER TABLE public.app_job OWNER TO tao; - --- --- Name: TABLE app_job; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.app_job IS '定时任务调度表'; - - --- --- Name: COLUMN app_job.name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.name IS '任务名称'; - - --- --- Name: COLUMN app_job.jobstore; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.jobstore IS '存储器'; - - --- --- Name: COLUMN app_job.executor; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.executor IS '执行器:将运行此作业的执行程序的名称'; - - --- --- Name: COLUMN app_job.trigger; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.trigger IS '触发器:控制此作业计划的 trigger 对象'; - - --- --- Name: COLUMN app_job.trigger_args; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.trigger_args IS '触发器参数'; - - --- --- Name: COLUMN app_job.func; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.func IS '任务函数'; - - --- --- Name: COLUMN app_job.args; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.args IS '位置参数'; - - --- --- Name: COLUMN app_job.kwargs; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.kwargs IS '关键字参数'; - - --- --- Name: COLUMN app_job."coalesce"; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job."coalesce" IS '是否合并运行:是否在多个运行时间到期时仅运行作业一次'; - - --- --- Name: COLUMN app_job.max_instances; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.max_instances IS '最大实例数:允许的最大并发执行实例数'; - - --- --- Name: COLUMN app_job.start_date; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.start_date IS '开始时间'; - - --- --- Name: COLUMN app_job.end_date; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.end_date IS '结束时间'; - - --- --- Name: COLUMN app_job.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.id IS '主键ID'; - - --- --- Name: COLUMN app_job.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN app_job.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN app_job.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.description IS '备注/描述'; - - --- --- Name: COLUMN app_job.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.created_time IS '创建时间'; - - --- --- Name: COLUMN app_job.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.updated_time IS '更新时间'; - - --- --- Name: COLUMN app_job.created_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.created_id IS '创建人ID'; - - --- --- Name: COLUMN app_job.updated_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job.updated_id IS '更新人ID'; - - --- --- Name: app_job_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.app_job_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.app_job_id_seq OWNER TO tao; - --- --- Name: app_job_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.app_job_id_seq OWNED BY public.app_job.id; - - --- --- Name: app_job_log; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.app_job_log ( - job_name character varying(64) NOT NULL, - job_group character varying(64) NOT NULL, - job_executor character varying(64) NOT NULL, - invoke_target character varying(500) NOT NULL, - job_args character varying(255), - job_kwargs character varying(255), - job_trigger character varying(255), - job_message character varying(500), - exception_info character varying(2000), - job_id integer, - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL -); - - -ALTER TABLE public.app_job_log OWNER TO tao; - --- --- Name: TABLE app_job_log; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.app_job_log IS '定时任务调度日志表'; - - --- --- Name: COLUMN app_job_log.job_name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job_log.job_name IS '任务名称'; - - --- --- Name: COLUMN app_job_log.job_group; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job_log.job_group IS '任务组名'; - - --- --- Name: COLUMN app_job_log.job_executor; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job_log.job_executor IS '任务执行器'; - - --- --- Name: COLUMN app_job_log.invoke_target; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job_log.invoke_target IS '调用目标字符串'; - - --- --- Name: COLUMN app_job_log.job_args; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job_log.job_args IS '位置参数'; - - --- --- Name: COLUMN app_job_log.job_kwargs; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job_log.job_kwargs IS '关键字参数'; - - --- --- Name: COLUMN app_job_log.job_trigger; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job_log.job_trigger IS '任务触发器'; - - --- --- Name: COLUMN app_job_log.job_message; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job_log.job_message IS '日志信息'; - - --- --- Name: COLUMN app_job_log.exception_info; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job_log.exception_info IS '异常信息'; - - --- --- Name: COLUMN app_job_log.job_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job_log.job_id IS '任务ID'; - - --- --- Name: COLUMN app_job_log.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job_log.id IS '主键ID'; - - --- --- Name: COLUMN app_job_log.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job_log.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN app_job_log.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job_log.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN app_job_log.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job_log.description IS '备注/描述'; - - --- --- Name: COLUMN app_job_log.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job_log.created_time IS '创建时间'; - - --- --- Name: COLUMN app_job_log.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_job_log.updated_time IS '更新时间'; - - --- --- Name: app_job_log_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.app_job_log_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.app_job_log_id_seq OWNER TO tao; - --- --- Name: app_job_log_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.app_job_log_id_seq OWNED BY public.app_job_log.id; - - --- --- Name: app_myapp; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.app_myapp ( - name character varying(64) NOT NULL, - access_url character varying(500) NOT NULL, - icon_url character varying(300), - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL, - created_id integer, - updated_id integer -); - - -ALTER TABLE public.app_myapp OWNER TO tao; - --- --- Name: TABLE app_myapp; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.app_myapp IS '应用系统表'; - - --- --- Name: COLUMN app_myapp.name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_myapp.name IS '应用名称'; - - --- --- Name: COLUMN app_myapp.access_url; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_myapp.access_url IS '访问地址'; - - --- --- Name: COLUMN app_myapp.icon_url; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_myapp.icon_url IS '应用图标URL'; - - --- --- Name: COLUMN app_myapp.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_myapp.id IS '主键ID'; - - --- --- Name: COLUMN app_myapp.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_myapp.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN app_myapp.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_myapp.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN app_myapp.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_myapp.description IS '备注/描述'; - - --- --- Name: COLUMN app_myapp.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_myapp.created_time IS '创建时间'; - - --- --- Name: COLUMN app_myapp.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_myapp.updated_time IS '更新时间'; - - --- --- Name: COLUMN app_myapp.created_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_myapp.created_id IS '创建人ID'; - - --- --- Name: COLUMN app_myapp.updated_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.app_myapp.updated_id IS '更新人ID'; - - --- --- Name: app_myapp_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.app_myapp_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.app_myapp_id_seq OWNER TO tao; - --- --- Name: app_myapp_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.app_myapp_id_seq OWNED BY public.app_myapp.id; - - --- --- Name: apscheduler_jobs; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.apscheduler_jobs ( - id character varying(191) NOT NULL, - next_run_time double precision, - job_state bytea NOT NULL -); - - -ALTER TABLE public.apscheduler_jobs OWNER TO tao; - --- --- Name: gen_demo; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.gen_demo ( - name character varying(64), - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL, - created_id integer, - updated_id integer -); - - -ALTER TABLE public.gen_demo OWNER TO tao; - --- --- Name: TABLE gen_demo; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.gen_demo IS '示例表'; - - --- --- Name: COLUMN gen_demo.name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_demo.name IS '名称'; - - --- --- Name: COLUMN gen_demo.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_demo.id IS '主键ID'; - - --- --- Name: COLUMN gen_demo.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_demo.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN gen_demo.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_demo.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN gen_demo.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_demo.description IS '备注/描述'; - - --- --- Name: COLUMN gen_demo.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_demo.created_time IS '创建时间'; - - --- --- Name: COLUMN gen_demo.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_demo.updated_time IS '更新时间'; - - --- --- Name: COLUMN gen_demo.created_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_demo.created_id IS '创建人ID'; - - --- --- Name: COLUMN gen_demo.updated_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_demo.updated_id IS '更新人ID'; - - --- --- Name: gen_demo_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.gen_demo_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.gen_demo_id_seq OWNER TO tao; - --- --- Name: gen_demo_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.gen_demo_id_seq OWNED BY public.gen_demo.id; - - --- --- Name: gen_table; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.gen_table ( - table_name character varying(200) NOT NULL, - table_comment character varying(500), - class_name character varying(100) NOT NULL, - package_name character varying(100), - module_name character varying(30), - business_name character varying(30), - function_name character varying(100), - sub_table_name character varying(64) DEFAULT NULL::character varying, - sub_table_fk_name character varying(64) DEFAULT NULL::character varying, - parent_menu_id integer, - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL, - created_id integer, - updated_id integer -); - - -ALTER TABLE public.gen_table OWNER TO tao; - --- --- Name: TABLE gen_table; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.gen_table IS '代码生成表'; - - --- --- Name: COLUMN gen_table.table_name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.table_name IS '表名称'; - - --- --- Name: COLUMN gen_table.table_comment; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.table_comment IS '表描述'; - - --- --- Name: COLUMN gen_table.class_name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.class_name IS '实体类名称'; - - --- --- Name: COLUMN gen_table.package_name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.package_name IS '生成包路径'; - - --- --- Name: COLUMN gen_table.module_name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.module_name IS '生成模块名'; - - --- --- Name: COLUMN gen_table.business_name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.business_name IS '生成业务名'; - - --- --- Name: COLUMN gen_table.function_name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.function_name IS '生成功能名'; - - --- --- Name: COLUMN gen_table.sub_table_name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.sub_table_name IS '关联子表的表名'; - - --- --- Name: COLUMN gen_table.sub_table_fk_name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.sub_table_fk_name IS '子表关联的外键名'; - - --- --- Name: COLUMN gen_table.parent_menu_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.parent_menu_id IS '父菜单ID'; - - --- --- Name: COLUMN gen_table.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.id IS '主键ID'; - - --- --- Name: COLUMN gen_table.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN gen_table.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN gen_table.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.description IS '备注/描述'; - - --- --- Name: COLUMN gen_table.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.created_time IS '创建时间'; - - --- --- Name: COLUMN gen_table.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.updated_time IS '更新时间'; - - --- --- Name: COLUMN gen_table.created_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.created_id IS '创建人ID'; - - --- --- Name: COLUMN gen_table.updated_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table.updated_id IS '更新人ID'; - - --- --- Name: gen_table_column; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.gen_table_column ( - column_name character varying(200) NOT NULL, - column_comment character varying(500), - column_type character varying(100) NOT NULL, - column_length character varying(50), - column_default character varying(200), - is_pk boolean DEFAULT false NOT NULL, - is_increment boolean DEFAULT false NOT NULL, - is_nullable boolean DEFAULT true NOT NULL, - is_unique boolean DEFAULT false NOT NULL, - python_type character varying(100), - python_field character varying(200), - is_insert boolean DEFAULT true NOT NULL, - is_edit boolean DEFAULT true NOT NULL, - is_list boolean DEFAULT true NOT NULL, - is_query boolean DEFAULT false NOT NULL, - query_type character varying(50), - html_type character varying(100), - dict_type character varying(200), - sort integer NOT NULL, - table_id integer NOT NULL, - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL, - created_id integer, - updated_id integer -); - - -ALTER TABLE public.gen_table_column OWNER TO tao; - --- --- Name: TABLE gen_table_column; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.gen_table_column IS '代码生成表字段'; - - --- --- Name: COLUMN gen_table_column.column_name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.column_name IS '列名称'; - - --- --- Name: COLUMN gen_table_column.column_comment; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.column_comment IS '列描述'; - - --- --- Name: COLUMN gen_table_column.column_type; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.column_type IS '列类型'; - - --- --- Name: COLUMN gen_table_column.column_length; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.column_length IS '列长度'; - - --- --- Name: COLUMN gen_table_column.column_default; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.column_default IS '列默认值'; - - --- --- Name: COLUMN gen_table_column.is_pk; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.is_pk IS '是否主键'; - - --- --- Name: COLUMN gen_table_column.is_increment; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.is_increment IS '是否自增'; - - --- --- Name: COLUMN gen_table_column.is_nullable; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.is_nullable IS '是否允许为空'; - - --- --- Name: COLUMN gen_table_column.is_unique; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.is_unique IS '是否唯一'; - - --- --- Name: COLUMN gen_table_column.python_type; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.python_type IS 'Python类型'; - - --- --- Name: COLUMN gen_table_column.python_field; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.python_field IS 'Python字段名'; - - --- --- Name: COLUMN gen_table_column.is_insert; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.is_insert IS '是否为新增字段'; - - --- --- Name: COLUMN gen_table_column.is_edit; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.is_edit IS '是否编辑字段'; - - --- --- Name: COLUMN gen_table_column.is_list; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.is_list IS '是否列表字段'; - - --- --- Name: COLUMN gen_table_column.is_query; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.is_query IS '是否查询字段'; - - --- --- Name: COLUMN gen_table_column.query_type; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.query_type IS '查询方式'; - - --- --- Name: COLUMN gen_table_column.html_type; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.html_type IS '显示类型'; - - --- --- Name: COLUMN gen_table_column.dict_type; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.dict_type IS '字典类型'; - - --- --- Name: COLUMN gen_table_column.sort; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.sort IS '排序'; - - --- --- Name: COLUMN gen_table_column.table_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.table_id IS '归属表编号'; - - --- --- Name: COLUMN gen_table_column.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.id IS '主键ID'; - - --- --- Name: COLUMN gen_table_column.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN gen_table_column.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN gen_table_column.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.description IS '备注/描述'; - - --- --- Name: COLUMN gen_table_column.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.created_time IS '创建时间'; - - --- --- Name: COLUMN gen_table_column.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.updated_time IS '更新时间'; - - --- --- Name: COLUMN gen_table_column.created_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.created_id IS '创建人ID'; - - --- --- Name: COLUMN gen_table_column.updated_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.gen_table_column.updated_id IS '更新人ID'; - - --- --- Name: gen_table_column_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.gen_table_column_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.gen_table_column_id_seq OWNER TO tao; - --- --- Name: gen_table_column_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.gen_table_column_id_seq OWNED BY public.gen_table_column.id; - - --- --- Name: gen_table_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.gen_table_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.gen_table_id_seq OWNER TO tao; - --- --- Name: gen_table_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.gen_table_id_seq OWNED BY public.gen_table.id; - - --- --- Name: sys_dept; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.sys_dept ( - name character varying(40) NOT NULL, - "order" integer NOT NULL, - code character varying(20), - leader character varying(32), - phone character varying(11), - email character varying(64), - parent_id integer, - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL -); - - -ALTER TABLE public.sys_dept OWNER TO tao; - --- --- Name: TABLE sys_dept; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.sys_dept IS '部门表'; - - --- --- Name: COLUMN sys_dept.name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dept.name IS '部门名称'; - - --- --- Name: COLUMN sys_dept."order"; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dept."order" IS '显示排序'; - - --- --- Name: COLUMN sys_dept.code; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dept.code IS '部门编码'; - - --- --- Name: COLUMN sys_dept.leader; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dept.leader IS '部门负责人'; - - --- --- Name: COLUMN sys_dept.phone; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dept.phone IS '手机'; - - --- --- Name: COLUMN sys_dept.email; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dept.email IS '邮箱'; - - --- --- Name: COLUMN sys_dept.parent_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dept.parent_id IS '父级部门ID'; - - --- --- Name: COLUMN sys_dept.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dept.id IS '主键ID'; - - --- --- Name: COLUMN sys_dept.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dept.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN sys_dept.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dept.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN sys_dept.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dept.description IS '备注/描述'; - - --- --- Name: COLUMN sys_dept.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dept.created_time IS '创建时间'; - - --- --- Name: COLUMN sys_dept.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dept.updated_time IS '更新时间'; - - --- --- Name: sys_dept_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.sys_dept_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.sys_dept_id_seq OWNER TO tao; - --- --- Name: sys_dept_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.sys_dept_id_seq OWNED BY public.sys_dept.id; - - --- --- Name: sys_dict_data; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.sys_dict_data ( - dict_sort integer NOT NULL, - dict_label character varying(255) NOT NULL, - dict_value character varying(255) NOT NULL, - css_class character varying(255), - list_class character varying(255), - is_default boolean NOT NULL, - dict_type character varying(255) NOT NULL, - dict_type_id integer NOT NULL, - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL -); - - -ALTER TABLE public.sys_dict_data OWNER TO tao; - --- --- Name: TABLE sys_dict_data; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.sys_dict_data IS '字典数据表'; - - --- --- Name: COLUMN sys_dict_data.dict_sort; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_data.dict_sort IS '字典排序'; - - --- --- Name: COLUMN sys_dict_data.dict_label; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_data.dict_label IS '字典标签'; - - --- --- Name: COLUMN sys_dict_data.dict_value; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_data.dict_value IS '字典键值'; - - --- --- Name: COLUMN sys_dict_data.css_class; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_data.css_class IS '样式属性(其他样式扩展)'; - - --- --- Name: COLUMN sys_dict_data.list_class; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_data.list_class IS '表格回显样式'; - - --- --- Name: COLUMN sys_dict_data.is_default; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_data.is_default IS '是否默认(True是 False否)'; - - --- --- Name: COLUMN sys_dict_data.dict_type; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_data.dict_type IS '字典类型'; - - --- --- Name: COLUMN sys_dict_data.dict_type_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_data.dict_type_id IS '字典类型ID'; - - --- --- Name: COLUMN sys_dict_data.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_data.id IS '主键ID'; - - --- --- Name: COLUMN sys_dict_data.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_data.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN sys_dict_data.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_data.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN sys_dict_data.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_data.description IS '备注/描述'; - - --- --- Name: COLUMN sys_dict_data.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_data.created_time IS '创建时间'; - - --- --- Name: COLUMN sys_dict_data.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_data.updated_time IS '更新时间'; - - --- --- Name: sys_dict_data_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.sys_dict_data_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.sys_dict_data_id_seq OWNER TO tao; - --- --- Name: sys_dict_data_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.sys_dict_data_id_seq OWNED BY public.sys_dict_data.id; - - --- --- Name: sys_dict_type; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.sys_dict_type ( - dict_name character varying(255) NOT NULL, - dict_type character varying(255) NOT NULL, - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL -); - - -ALTER TABLE public.sys_dict_type OWNER TO tao; - --- --- Name: TABLE sys_dict_type; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.sys_dict_type IS '字典类型表'; - - --- --- Name: COLUMN sys_dict_type.dict_name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_type.dict_name IS '字典名称'; - - --- --- Name: COLUMN sys_dict_type.dict_type; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_type.dict_type IS '字典类型'; - - --- --- Name: COLUMN sys_dict_type.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_type.id IS '主键ID'; - - --- --- Name: COLUMN sys_dict_type.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_type.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN sys_dict_type.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_type.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN sys_dict_type.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_type.description IS '备注/描述'; - - --- --- Name: COLUMN sys_dict_type.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_type.created_time IS '创建时间'; - - --- --- Name: COLUMN sys_dict_type.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_dict_type.updated_time IS '更新时间'; - - --- --- Name: sys_dict_type_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.sys_dict_type_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.sys_dict_type_id_seq OWNER TO tao; - --- --- Name: sys_dict_type_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.sys_dict_type_id_seq OWNED BY public.sys_dict_type.id; - - --- --- Name: sys_log; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.sys_log ( - type integer NOT NULL, - request_path character varying(255) NOT NULL, - request_method character varying(10) NOT NULL, - request_payload text, - request_ip character varying(50), - login_location character varying(255), - request_os character varying(64), - request_browser character varying(64), - response_code integer NOT NULL, - response_json text, - process_time character varying(20), - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL, - created_id integer, - updated_id integer -); - - -ALTER TABLE public.sys_log OWNER TO tao; - --- --- Name: TABLE sys_log; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.sys_log IS '系统日志表'; - - --- --- Name: COLUMN sys_log.type; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.type IS '日志类型(1登录日志 2操作日志)'; - - --- --- Name: COLUMN sys_log.request_path; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.request_path IS '请求路径'; - - --- --- Name: COLUMN sys_log.request_method; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.request_method IS '请求方式'; - - --- --- Name: COLUMN sys_log.request_payload; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.request_payload IS '请求体'; - - --- --- Name: COLUMN sys_log.request_ip; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.request_ip IS '请求IP地址'; - - --- --- Name: COLUMN sys_log.login_location; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.login_location IS '登录位置'; - - --- --- Name: COLUMN sys_log.request_os; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.request_os IS '操作系统'; - - --- --- Name: COLUMN sys_log.request_browser; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.request_browser IS '浏览器'; - - --- --- Name: COLUMN sys_log.response_code; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.response_code IS '响应状态码'; - - --- --- Name: COLUMN sys_log.response_json; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.response_json IS '响应体'; - - --- --- Name: COLUMN sys_log.process_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.process_time IS '处理时间'; - - --- --- Name: COLUMN sys_log.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.id IS '主键ID'; - - --- --- Name: COLUMN sys_log.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN sys_log.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN sys_log.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.description IS '备注/描述'; - - --- --- Name: COLUMN sys_log.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.created_time IS '创建时间'; - - --- --- Name: COLUMN sys_log.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.updated_time IS '更新时间'; - - --- --- Name: COLUMN sys_log.created_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.created_id IS '创建人ID'; - - --- --- Name: COLUMN sys_log.updated_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_log.updated_id IS '更新人ID'; - - --- --- Name: sys_log_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.sys_log_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.sys_log_id_seq OWNER TO tao; - --- --- Name: sys_log_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.sys_log_id_seq OWNED BY public.sys_log.id; - - --- --- Name: sys_menu; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.sys_menu ( - name character varying(50) NOT NULL, - type integer NOT NULL, - "order" integer NOT NULL, - permission character varying(100), - icon character varying(50), - route_name character varying(100), - route_path character varying(200), - component_path character varying(200), - redirect character varying(200), - hidden boolean NOT NULL, - keep_alive boolean NOT NULL, - always_show boolean NOT NULL, - title character varying(50), - params json, - affix boolean NOT NULL, - parent_id integer, - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL -); - - -ALTER TABLE public.sys_menu OWNER TO tao; - --- --- Name: TABLE sys_menu; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.sys_menu IS '菜单表'; - - --- --- Name: COLUMN sys_menu.name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.name IS '菜单名称'; - - --- --- Name: COLUMN sys_menu.type; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.type IS '菜单类型(1:目录 2:菜单 3:按钮/权限 4:链接)'; - - --- --- Name: COLUMN sys_menu."order"; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu."order" IS '显示排序'; - - --- --- Name: COLUMN sys_menu.permission; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.permission IS '权限标识(如:module_system:user:query)'; - - --- --- Name: COLUMN sys_menu.icon; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.icon IS '菜单图标'; - - --- --- Name: COLUMN sys_menu.route_name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.route_name IS '路由名称'; - - --- --- Name: COLUMN sys_menu.route_path; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.route_path IS '路由路径'; - - --- --- Name: COLUMN sys_menu.component_path; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.component_path IS '组件路径'; - - --- --- Name: COLUMN sys_menu.redirect; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.redirect IS '重定向地址'; - - --- --- Name: COLUMN sys_menu.hidden; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.hidden IS '是否隐藏(True:隐藏 False:显示)'; - - --- --- Name: COLUMN sys_menu.keep_alive; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.keep_alive IS '是否缓存(True:是 False:否)'; - - --- --- Name: COLUMN sys_menu.always_show; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.always_show IS '是否始终显示(True:是 False:否)'; - - --- --- Name: COLUMN sys_menu.title; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.title IS '菜单标题'; - - --- --- Name: COLUMN sys_menu.params; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.params IS '路由参数(JSON对象)'; - - --- --- Name: COLUMN sys_menu.affix; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.affix IS '是否固定标签页(True:是 False:否)'; - - --- --- Name: COLUMN sys_menu.parent_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.parent_id IS '父菜单ID'; - - --- --- Name: COLUMN sys_menu.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.id IS '主键ID'; - - --- --- Name: COLUMN sys_menu.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN sys_menu.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN sys_menu.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.description IS '备注/描述'; - - --- --- Name: COLUMN sys_menu.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.created_time IS '创建时间'; - - --- --- Name: COLUMN sys_menu.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_menu.updated_time IS '更新时间'; - - --- --- Name: sys_menu_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.sys_menu_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.sys_menu_id_seq OWNER TO tao; - --- --- Name: sys_menu_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.sys_menu_id_seq OWNED BY public.sys_menu.id; - - --- --- Name: sys_notice; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.sys_notice ( - notice_title character varying(50) NOT NULL, - notice_type character varying(50) NOT NULL, - notice_content text, - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL, - created_id integer, - updated_id integer -); - - -ALTER TABLE public.sys_notice OWNER TO tao; - --- --- Name: TABLE sys_notice; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.sys_notice IS '通知公告表'; - - --- --- Name: COLUMN sys_notice.notice_title; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_notice.notice_title IS '公告标题'; - - --- --- Name: COLUMN sys_notice.notice_type; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_notice.notice_type IS '公告类型(1通知 2公告)'; - - --- --- Name: COLUMN sys_notice.notice_content; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_notice.notice_content IS '公告内容'; - - --- --- Name: COLUMN sys_notice.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_notice.id IS '主键ID'; - - --- --- Name: COLUMN sys_notice.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_notice.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN sys_notice.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_notice.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN sys_notice.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_notice.description IS '备注/描述'; - - --- --- Name: COLUMN sys_notice.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_notice.created_time IS '创建时间'; - - --- --- Name: COLUMN sys_notice.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_notice.updated_time IS '更新时间'; - - --- --- Name: COLUMN sys_notice.created_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_notice.created_id IS '创建人ID'; - - --- --- Name: COLUMN sys_notice.updated_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_notice.updated_id IS '更新人ID'; - - --- --- Name: sys_notice_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.sys_notice_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.sys_notice_id_seq OWNER TO tao; - --- --- Name: sys_notice_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.sys_notice_id_seq OWNED BY public.sys_notice.id; - - --- --- Name: sys_param; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.sys_param ( - config_name character varying(500) NOT NULL, - config_key character varying(500) NOT NULL, - config_value character varying(500), - config_type boolean, - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL -); - - -ALTER TABLE public.sys_param OWNER TO tao; - --- --- Name: TABLE sys_param; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.sys_param IS '系统参数表'; - - --- --- Name: COLUMN sys_param.config_name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_param.config_name IS '参数名称'; - - --- --- Name: COLUMN sys_param.config_key; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_param.config_key IS '参数键名'; - - --- --- Name: COLUMN sys_param.config_value; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_param.config_value IS '参数键值'; - - --- --- Name: COLUMN sys_param.config_type; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_param.config_type IS '系统内置(True:是 False:否)'; - - --- --- Name: COLUMN sys_param.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_param.id IS '主键ID'; - - --- --- Name: COLUMN sys_param.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_param.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN sys_param.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_param.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN sys_param.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_param.description IS '备注/描述'; - - --- --- Name: COLUMN sys_param.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_param.created_time IS '创建时间'; - - --- --- Name: COLUMN sys_param.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_param.updated_time IS '更新时间'; - - --- --- Name: sys_param_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.sys_param_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.sys_param_id_seq OWNER TO tao; - --- --- Name: sys_param_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.sys_param_id_seq OWNED BY public.sys_param.id; - - --- --- Name: sys_position; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.sys_position ( - name character varying(40) NOT NULL, - "order" integer NOT NULL, - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL, - created_id integer, - updated_id integer -); - - -ALTER TABLE public.sys_position OWNER TO tao; - --- --- Name: TABLE sys_position; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.sys_position IS '岗位表'; - - --- --- Name: COLUMN sys_position.name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_position.name IS '岗位名称'; - - --- --- Name: COLUMN sys_position."order"; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_position."order" IS '显示排序'; - - --- --- Name: COLUMN sys_position.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_position.id IS '主键ID'; - - --- --- Name: COLUMN sys_position.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_position.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN sys_position.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_position.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN sys_position.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_position.description IS '备注/描述'; - - --- --- Name: COLUMN sys_position.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_position.created_time IS '创建时间'; - - --- --- Name: COLUMN sys_position.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_position.updated_time IS '更新时间'; - - --- --- Name: COLUMN sys_position.created_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_position.created_id IS '创建人ID'; - - --- --- Name: COLUMN sys_position.updated_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_position.updated_id IS '更新人ID'; - - --- --- Name: sys_position_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.sys_position_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.sys_position_id_seq OWNER TO tao; - --- --- Name: sys_position_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.sys_position_id_seq OWNED BY public.sys_position.id; - - --- --- Name: sys_role; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.sys_role ( - name character varying(40) NOT NULL, - code character varying(20), - "order" integer NOT NULL, - data_scope integer NOT NULL, - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL -); - - -ALTER TABLE public.sys_role OWNER TO tao; - --- --- Name: TABLE sys_role; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.sys_role IS '角色表'; - - --- --- Name: COLUMN sys_role.name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_role.name IS '角色名称'; - - --- --- Name: COLUMN sys_role.code; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_role.code IS '角色编码'; - - --- --- Name: COLUMN sys_role."order"; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_role."order" IS '显示排序'; - - --- --- Name: COLUMN sys_role.data_scope; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_role.data_scope IS '数据权限范围(1:仅本人 2:本部门 3:本部门及以下 4:全部 5:自定义)'; - - --- --- Name: COLUMN sys_role.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_role.id IS '主键ID'; - - --- --- Name: COLUMN sys_role.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_role.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN sys_role.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_role.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN sys_role.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_role.description IS '备注/描述'; - - --- --- Name: COLUMN sys_role.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_role.created_time IS '创建时间'; - - --- --- Name: COLUMN sys_role.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_role.updated_time IS '更新时间'; - - --- --- Name: sys_role_depts; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.sys_role_depts ( - role_id integer NOT NULL, - dept_id integer NOT NULL -); - - -ALTER TABLE public.sys_role_depts OWNER TO tao; - --- --- Name: TABLE sys_role_depts; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.sys_role_depts IS '角色部门关联表'; - - --- --- Name: COLUMN sys_role_depts.role_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_role_depts.role_id IS '角色ID'; - - --- --- Name: COLUMN sys_role_depts.dept_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_role_depts.dept_id IS '部门ID'; - - --- --- Name: sys_role_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.sys_role_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.sys_role_id_seq OWNER TO tao; - --- --- Name: sys_role_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.sys_role_id_seq OWNED BY public.sys_role.id; - - --- --- Name: sys_role_menus; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.sys_role_menus ( - role_id integer NOT NULL, - menu_id integer NOT NULL -); - - -ALTER TABLE public.sys_role_menus OWNER TO tao; - --- --- Name: TABLE sys_role_menus; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.sys_role_menus IS '角色菜单关联表'; - - --- --- Name: COLUMN sys_role_menus.role_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_role_menus.role_id IS '角色ID'; - - --- --- Name: COLUMN sys_role_menus.menu_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_role_menus.menu_id IS '菜单ID'; - - --- --- Name: sys_user; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.sys_user ( - username character varying(32) NOT NULL, - password character varying(255) NOT NULL, - name character varying(32) NOT NULL, - mobile character varying(11), - email character varying(64), - gender character varying(1), - avatar character varying(255), - is_superuser boolean NOT NULL, - last_login timestamp with time zone, - gitee_login character varying(32), - github_login character varying(32), - wx_login character varying(32), - qq_login character varying(32), - dept_id integer, - id integer NOT NULL, - uuid character varying(64) NOT NULL, - status character varying(10) NOT NULL, - description text, - created_time timestamp without time zone NOT NULL, - updated_time timestamp without time zone NOT NULL, - created_id integer, - updated_id integer -); - - -ALTER TABLE public.sys_user OWNER TO tao; - --- --- Name: TABLE sys_user; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.sys_user IS '用户表'; - - --- --- Name: COLUMN sys_user.username; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.username IS '用户名/登录账号'; - - --- --- Name: COLUMN sys_user.password; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.password IS '密码哈希'; - - --- --- Name: COLUMN sys_user.name; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.name IS '昵称'; - - --- --- Name: COLUMN sys_user.mobile; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.mobile IS '手机号'; - - --- --- Name: COLUMN sys_user.email; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.email IS '邮箱'; - - --- --- Name: COLUMN sys_user.gender; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.gender IS '性别(0:男 1:女 2:未知)'; - - --- --- Name: COLUMN sys_user.avatar; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.avatar IS '头像URL地址'; - - --- --- Name: COLUMN sys_user.is_superuser; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.is_superuser IS '是否超管'; - - --- --- Name: COLUMN sys_user.last_login; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.last_login IS '最后登录时间'; - - --- --- Name: COLUMN sys_user.gitee_login; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.gitee_login IS 'Gitee登录'; - - --- --- Name: COLUMN sys_user.github_login; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.github_login IS 'Github登录'; - - --- --- Name: COLUMN sys_user.wx_login; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.wx_login IS '微信登录'; - - --- --- Name: COLUMN sys_user.qq_login; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.qq_login IS 'QQ登录'; - - --- --- Name: COLUMN sys_user.dept_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.dept_id IS '部门ID'; - - --- --- Name: COLUMN sys_user.id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.id IS '主键ID'; - - --- --- Name: COLUMN sys_user.uuid; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.uuid IS 'UUID全局唯一标识'; - - --- --- Name: COLUMN sys_user.status; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.status IS '是否启用(0:启用 1:禁用)'; - - --- --- Name: COLUMN sys_user.description; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.description IS '备注/描述'; - - --- --- Name: COLUMN sys_user.created_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.created_time IS '创建时间'; - - --- --- Name: COLUMN sys_user.updated_time; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.updated_time IS '更新时间'; - - --- --- Name: COLUMN sys_user.created_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.created_id IS '创建人ID'; - - --- --- Name: COLUMN sys_user.updated_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user.updated_id IS '更新人ID'; - - --- --- Name: sys_user_id_seq; Type: SEQUENCE; Schema: public; Owner: tao --- - -CREATE SEQUENCE public.sys_user_id_seq - AS integer - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - - -ALTER SEQUENCE public.sys_user_id_seq OWNER TO tao; - --- --- Name: sys_user_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao --- - -ALTER SEQUENCE public.sys_user_id_seq OWNED BY public.sys_user.id; - - --- --- Name: sys_user_positions; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.sys_user_positions ( - user_id integer NOT NULL, - position_id integer NOT NULL -); - - -ALTER TABLE public.sys_user_positions OWNER TO tao; - --- --- Name: TABLE sys_user_positions; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.sys_user_positions IS '用户岗位关联表'; - - --- --- Name: COLUMN sys_user_positions.user_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user_positions.user_id IS '用户ID'; - - --- --- Name: COLUMN sys_user_positions.position_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user_positions.position_id IS '岗位ID'; - - --- --- Name: sys_user_roles; Type: TABLE; Schema: public; Owner: tao --- - -CREATE TABLE public.sys_user_roles ( - user_id integer NOT NULL, - role_id integer NOT NULL -); - - -ALTER TABLE public.sys_user_roles OWNER TO tao; - --- --- Name: TABLE sys_user_roles; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON TABLE public.sys_user_roles IS '用户角色关联表'; - - --- --- Name: COLUMN sys_user_roles.user_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user_roles.user_id IS '用户ID'; - - --- --- Name: COLUMN sys_user_roles.role_id; Type: COMMENT; Schema: public; Owner: tao --- - -COMMENT ON COLUMN public.sys_user_roles.role_id IS '角色ID'; - - --- --- Name: app_ai_mcp id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_ai_mcp ALTER COLUMN id SET DEFAULT nextval('public.app_ai_mcp_id_seq'::regclass); - - --- --- Name: app_job id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_job ALTER COLUMN id SET DEFAULT nextval('public.app_job_id_seq'::regclass); - - --- --- Name: app_job_log id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_job_log ALTER COLUMN id SET DEFAULT nextval('public.app_job_log_id_seq'::regclass); - - --- --- Name: app_myapp id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_myapp ALTER COLUMN id SET DEFAULT nextval('public.app_myapp_id_seq'::regclass); - - --- --- Name: gen_demo id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.gen_demo ALTER COLUMN id SET DEFAULT nextval('public.gen_demo_id_seq'::regclass); - - --- --- Name: gen_table id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.gen_table ALTER COLUMN id SET DEFAULT nextval('public.gen_table_id_seq'::regclass); - - --- --- Name: gen_table_column id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.gen_table_column ALTER COLUMN id SET DEFAULT nextval('public.gen_table_column_id_seq'::regclass); - - --- --- Name: sys_dept id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_dept ALTER COLUMN id SET DEFAULT nextval('public.sys_dept_id_seq'::regclass); - - --- --- Name: sys_dict_data id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_dict_data ALTER COLUMN id SET DEFAULT nextval('public.sys_dict_data_id_seq'::regclass); - - --- --- Name: sys_dict_type id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_dict_type ALTER COLUMN id SET DEFAULT nextval('public.sys_dict_type_id_seq'::regclass); - - --- --- Name: sys_log id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_log ALTER COLUMN id SET DEFAULT nextval('public.sys_log_id_seq'::regclass); - - --- --- Name: sys_menu id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_menu ALTER COLUMN id SET DEFAULT nextval('public.sys_menu_id_seq'::regclass); - - --- --- Name: sys_notice id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_notice ALTER COLUMN id SET DEFAULT nextval('public.sys_notice_id_seq'::regclass); - - --- --- Name: sys_param id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_param ALTER COLUMN id SET DEFAULT nextval('public.sys_param_id_seq'::regclass); - - --- --- Name: sys_position id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_position ALTER COLUMN id SET DEFAULT nextval('public.sys_position_id_seq'::regclass); - - --- --- Name: sys_role id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_role ALTER COLUMN id SET DEFAULT nextval('public.sys_role_id_seq'::regclass); - - --- --- Name: sys_user id; Type: DEFAULT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_user ALTER COLUMN id SET DEFAULT nextval('public.sys_user_id_seq'::regclass); - - --- --- Data for Name: app_ai_mcp; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.app_ai_mcp (name, type, url, command, args, env, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; -\. - - --- --- Data for Name: app_job; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.app_job (name, jobstore, executor, trigger, trigger_args, func, args, kwargs, "coalesce", max_instances, start_date, end_date, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; -\. - - --- --- Data for Name: app_job_log; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.app_job_log (job_name, job_group, job_executor, invoke_target, job_args, job_kwargs, job_trigger, job_message, exception_info, job_id, id, uuid, status, description, created_time, updated_time) FROM stdin; -\. - - --- --- Data for Name: app_myapp; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.app_myapp (name, access_url, icon_url, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; -\. - - --- --- Data for Name: apscheduler_jobs; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.apscheduler_jobs (id, next_run_time, job_state) FROM stdin; -\. - - --- --- Data for Name: gen_demo; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.gen_demo (name, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; -test1 3 7f0e50b5-ed5f-41c0-b6c1-a89e9bf1c33b 0 \N 2025-12-04 21:47:23.974321 2025-12-04 21:47:23.974325 2 2 -test2 4 165c3e41-d9e8-4dcf-b5ad-ca393bb13c38 0 \N 2025-12-04 21:47:47.305899 2025-12-04 21:47:47.305903 3 3 -test101 5 2d02f458-3b78-4e6b-a619-403b406d21f6 0 \N 2025-12-04 21:49:09.231903 2025-12-04 21:49:09.231944 4 4 -test102 6 82437f97-65c0-4c9f-8d49-822e1e3010e9 0 \N 2025-12-04 21:49:39.159823 2025-12-04 21:49:39.15983 5 5 -test201 7 b450605a-354c-4345-ae9c-4296454da490 0 \N 2025-12-04 21:50:19.006998 2025-12-04 21:50:19.007002 6 6 -test202 8 6a340642-aca6-478a-9b8b-16b7f238e16c 0 \N 2025-12-04 21:50:50.105569 2025-12-04 21:50:50.105574 7 7 -test22 9 f20abab2-39bb-4797-8d42-d46707b80c26 0 \N 2025-12-04 22:06:49.45593 2025-12-04 22:06:49.455936 8 8 -\. - - --- --- Data for Name: gen_table; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.gen_table (table_name, table_comment, class_name, package_name, module_name, business_name, function_name, sub_table_name, sub_table_fk_name, parent_menu_id, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; -gen_demo 示例表 GenDemo module_gencode module_gencode gen_demo 示例 \N \N \N 1 ea3370a7-9ffa-472f-a835-a5e787e84a11 0 \N 2025-12-04 20:48:26.212177 2025-12-04 20:48:26.212181 1 1 -\. - - --- --- Data for Name: gen_table_column; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.gen_table_column (column_name, column_comment, column_type, column_length, column_default, is_pk, is_increment, is_nullable, is_unique, python_type, python_field, is_insert, is_edit, is_list, is_query, query_type, html_type, dict_type, sort, table_id, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; -name 名称 varchar 64 f f f f str name t t t t LIKE input 1 1 1 ed471acf-3ea2-410c-9751-ed5fd8b379bf 0 \N 2025-12-04 20:48:26.265731 2025-12-04 20:48:26.265735 1 1 -id 主键ID int4 nextval('gen_demo_id_seq'::regclass) t t t f int id t f f f \N input 2 1 2 9a4f7dd6-912d-498c-b438-1eda1fa3ba9c 0 \N 2025-12-04 20:48:26.274154 2025-12-04 20:48:26.274158 1 1 -uuid UUID全局唯一标识 varchar 64 f f t t str uuid t f f f \N input 3 1 3 ca6e8c47-fb53-48d6-8a96-223738f1341d 0 \N 2025-12-04 20:48:26.276079 2025-12-04 20:48:26.276082 1 1 -description 备注/描述 text f f f f str description t f f f \N input 5 1 5 cc66ab04-d191-496d-950d-1eb252c4dc5e 0 \N 2025-12-04 20:48:26.279785 2025-12-04 20:48:26.279787 1 1 -created_time 创建时间 timestamp f f t f datetime createdTime t f f f \N input 6 1 6 b59fc690-e38a-4467-ac7e-607761be32fd 0 \N 2025-12-04 20:48:26.281612 2025-12-04 20:48:26.281614 1 1 -updated_time 更新时间 timestamp f f t f datetime updatedTime t f f f \N input 7 1 7 0437828b-9418-486b-9730-d80c80676a0f 0 \N 2025-12-04 20:48:26.28338 2025-12-04 20:48:26.283381 1 1 -created_id 创建人ID int4 f f f f int createdId t t t t EQ input 8 1 8 e2f84c36-fe6e-4800-ba85-39bb5c9232b8 0 \N 2025-12-04 20:48:26.28515 2025-12-04 20:48:26.285151 1 1 -updated_id 更新人ID int4 f f f f int updatedId t t t t EQ input 9 1 9 eaf874ef-be0b-44c3-828e-c35e8c3cdd76 0 \N 2025-12-04 20:48:26.287042 2025-12-04 20:48:26.287043 1 1 -status 是否启用(0:启用 1:禁用) varchar 10 f f t f str status t t t t EQ input 4 1 4 5ccd94c8-66cf-4828-a97f-bb22f4adcc03 0 \N 2025-12-04 20:48:26.277905 2025-12-04 21:01:46.549167 1 1 -\. - - --- --- Data for Name: sys_dept; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.sys_dept (name, "order", code, leader, phone, email, parent_id, id, uuid, status, description, created_time, updated_time) FROM stdin; -集团总公司 1 GROUP 部门负责人 1582112620 deptadmin@example.com \N 1 8b0a0481-23fd-45b6-bb77-44090af2db2d 0 集团总公司 2025-12-03 23:23:58.821858 2025-12-03 23:23:58.821859 -test1 1 test1 \N \N \N 1 2 aa1ee42b-7369-49f6-badb-a3784f57bbfa 0 \N 2025-12-04 21:16:25.462323 2025-12-04 21:16:25.462327 -test2 1 test2 \N \N \N 1 3 e765168f-6ade-4c5d-9c3f-7ba94cce5ade 0 \N 2025-12-04 21:16:35.816631 2025-12-04 21:16:35.816638 -test1_1 1 test1_1 \N \N \N 2 4 0e9b15e1-acaa-4de6-974e-f59154ed7dde 0 \N 2025-12-04 21:16:46.521846 2025-12-04 21:16:46.521851 -test1_2 1 test1_2 \N \N \N 2 5 07ef4871-5f55-49f0-87f0-1a9b28017c5c 0 \N 2025-12-04 21:17:23.723122 2025-12-04 21:17:23.723126 -test2_2 1 test2_2 \N \N \N 3 6 8a640047-7c0f-42ef-84a1-0ec7d994d5ce 0 \N 2025-12-04 21:17:36.038884 2025-12-04 21:17:36.038888 -test2_1 1 test2_1 \N \N \N 3 7 fee2602e-77ff-406b-8151-9774f3d99a07 0 \N 2025-12-04 21:17:46.888802 2025-12-04 21:17:46.888806 -\. - - --- --- Data for Name: sys_dict_data; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.sys_dict_data (dict_sort, dict_label, dict_value, css_class, list_class, is_default, dict_type, dict_type_id, id, uuid, status, description, created_time, updated_time) FROM stdin; -1 男 0 blue \N t sys_user_sex 1 1 0b3f0bff-c57a-44c2-881d-4e4ad9f6a398 0 性别男 2025-12-03 23:23:58.832709 2025-12-03 23:23:58.832709 -2 女 1 pink \N f sys_user_sex 1 2 eb49d01b-c395-4be4-88ff-e5797b3a43f9 0 性别女 2025-12-03 23:23:58.832713 2025-12-03 23:23:58.832714 -3 未知 2 red \N f sys_user_sex 1 3 35e1fc6c-98e9-40d6-a7c4-a753014e4115 0 性别未知 2025-12-03 23:23:58.832716 2025-12-03 23:23:58.832717 -1 是 1 primary t sys_yes_no 2 4 174fa595-e079-4c01-9670-65f28c5eba3b 0 是 2025-12-03 23:23:58.83272 2025-12-03 23:23:58.83272 -2 否 0 danger f sys_yes_no 2 5 5b5bb1fd-d760-4c75-9622-96f8de5f2c91 0 否 2025-12-03 23:23:58.832723 2025-12-03 23:23:58.832723 -1 启用 1 primary f sys_common_status 3 6 a812bf73-82b3-4aad-a3e2-609a37addb27 0 启用状态 2025-12-03 23:23:58.832725 2025-12-03 23:23:58.832726 -2 停用 0 danger f sys_common_status 3 7 ef928718-b2cf-42d0-b628-5a9e3cb0dc39 0 停用状态 2025-12-03 23:23:58.832728 2025-12-03 23:23:58.832729 -1 通知 1 blue warning t sys_notice_type 4 8 2654c6fa-8df6-4ab6-8f3d-3d69a099cf61 0 通知 2025-12-03 23:23:58.832731 2025-12-03 23:23:58.832732 -2 公告 2 orange success f sys_notice_type 4 9 57b55dba-9b62-45e6-b833-4f9fac2076cf 0 公告 2025-12-03 23:23:58.832735 2025-12-03 23:23:58.832735 -99 其他 0 info f sys_oper_type 5 10 94c5a5f2-2ea5-4d57-810a-6e251be0813f 0 其他操作 2025-12-03 23:23:58.832738 2025-12-03 23:23:58.832738 -1 新增 1 info f sys_oper_type 5 11 686ea17f-a89c-496e-8f26-61e573a9f59b 0 新增操作 2025-12-03 23:23:58.832741 2025-12-03 23:23:58.832741 -2 修改 2 info f sys_oper_type 5 12 f760f42b-a149-47f0-bded-4de70704caf7 0 修改操作 2025-12-03 23:23:58.832744 2025-12-03 23:23:58.832744 -3 删除 3 danger f sys_oper_type 5 13 203e973c-ff8e-4885-9ea8-5b356582470f 0 删除操作 2025-12-03 23:23:58.832747 2025-12-03 23:23:58.832747 -4 分配权限 4 primary f sys_oper_type 5 14 00ad2e1a-c727-4b8f-b2c8-2cc0d636de0a 0 授权操作 2025-12-03 23:23:58.83275 2025-12-03 23:23:58.83275 -5 导出 5 warning f sys_oper_type 5 15 25fa1c5f-80a5-49bf-aa94-f0dec3f1dab9 0 导出操作 2025-12-03 23:23:58.832753 2025-12-03 23:23:58.832753 -6 导入 6 warning f sys_oper_type 5 16 2fc58ed1-b30a-4d69-893d-c29be1226ea0 0 导入操作 2025-12-03 23:23:58.832756 2025-12-03 23:23:58.832757 -7 强退 7 danger f sys_oper_type 5 17 4b09e884-a551-4010-926d-af82cd844731 0 强退操作 2025-12-03 23:23:58.832759 2025-12-03 23:23:58.832759 -8 生成代码 8 warning f sys_oper_type 5 18 eabcc4f5-3b9e-4e18-88f3-652b96e36ecf 0 生成操作 2025-12-03 23:23:58.832762 2025-12-03 23:23:58.832762 -9 清空数据 9 danger f sys_oper_type 5 19 efba94c1-10c0-4c71-9998-f407a7e3a907 0 清空操作 2025-12-03 23:23:58.832765 2025-12-03 23:23:58.832765 -1 默认(Memory) default \N t sys_job_store 6 20 13868e0a-073e-428d-b2f8-6ad7e9919261 0 默认分组 2025-12-03 23:23:58.832768 2025-12-03 23:23:58.832768 -2 数据库(Sqlalchemy) sqlalchemy \N f sys_job_store 6 21 bc934f0c-0ef6-4ec5-9f79-b3ea8529f9b2 0 数据库分组 2025-12-03 23:23:58.832771 2025-12-03 23:23:58.832771 -3 数据库(Redis) redis \N f sys_job_store 6 22 2749b237-fd04-48bf-a816-31192d286788 0 reids分组 2025-12-03 23:23:58.832774 2025-12-03 23:23:58.832774 -1 线程池 default \N f sys_job_executor 7 23 19faea4e-daf5-4bd5-8d98-0f0c930943b8 0 线程池 2025-12-03 23:23:58.832777 2025-12-03 23:23:58.832777 -2 进程池 processpool \N f sys_job_executor 7 24 3a453e57-982f-4722-b39d-f9884547163e 0 进程池 2025-12-03 23:23:58.83278 2025-12-03 23:23:58.83278 -1 演示函数 scheduler_test.job \N t sys_job_function 8 25 c8c1ff2c-52ba-4057-93d6-23ddec668a28 0 演示函数 2025-12-03 23:23:58.832783 2025-12-03 23:23:58.832783 -1 指定日期(date) date \N t sys_job_trigger 9 26 7a5e96ce-5980-4c16-9776-1ed48de55e3b 0 指定日期任务触发器 2025-12-03 23:23:58.832786 2025-12-03 23:23:58.832786 -2 间隔触发器(interval) interval \N f sys_job_trigger 9 27 66aebdfb-7cea-4dc6-8b2d-bf9add2df341 0 间隔触发器任务触发器 2025-12-03 23:23:58.832789 2025-12-03 23:23:58.832789 -3 cron表达式 cron \N f sys_job_trigger 9 28 5fabdca5-1251-4242-85ac-c08380dd3083 0 间隔触发器任务触发器 2025-12-03 23:23:58.832792 2025-12-03 23:23:58.832792 -1 默认(default) default \N t sys_list_class 10 29 a62aa8b2-1f8f-41e5-960f-6ac19d2b7e1f 0 默认表格回显样式 2025-12-03 23:23:58.832795 2025-12-03 23:23:58.832796 -2 主要(primary) primary \N f sys_list_class 10 30 4c82d704-e93e-4878-85e9-42885ea3ce8d 0 主要表格回显样式 2025-12-03 23:23:58.832798 2025-12-03 23:23:58.832799 -3 成功(success) success \N f sys_list_class 10 31 2b09b4ac-28fe-4b92-9be6-461a973cde3a 0 成功表格回显样式 2025-12-03 23:23:58.832801 2025-12-03 23:23:58.832802 -4 信息(info) info \N f sys_list_class 10 32 c9f61fa5-88fe-406f-898a-7b33c4fd6f6a 0 信息表格回显样式 2025-12-03 23:23:58.832804 2025-12-03 23:23:58.832805 -5 警告(warning) warning \N f sys_list_class 10 33 429886da-72d8-440f-9c48-7d1ffcd63cd3 0 警告表格回显样式 2025-12-03 23:23:58.832807 2025-12-03 23:23:58.832807 -6 危险(danger) danger \N f sys_list_class 10 34 b252ba68-b6cc-408c-bc80-948b55a7ec9c 0 危险表格回显样式 2025-12-03 23:23:58.83281 2025-12-03 23:23:58.83281 -\. - - --- --- Data for Name: sys_dict_type; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.sys_dict_type (dict_name, dict_type, id, uuid, status, description, created_time, updated_time) FROM stdin; -用户性别 sys_user_sex 1 bb817f0f-fe0c-4342-87b7-89bc04c3e329 0 用户性别列表 2025-12-03 23:23:58.828998 2025-12-03 23:23:58.829 -系统是否 sys_yes_no 2 c00c70d7-6a29-4c48-86d4-aab30a833ea0 0 系统是否列表 2025-12-03 23:23:58.829007 2025-12-03 23:23:58.829008 -系统状态 sys_common_status 3 055ce947-24ad-4870-a682-4f6b431b8b95 0 系统状态 2025-12-03 23:23:58.829011 2025-12-03 23:23:58.829012 -通知类型 sys_notice_type 4 abc9709a-0ebe-4f45-a6ca-884d9a23817a 0 通知类型列表 2025-12-03 23:23:58.829015 2025-12-03 23:23:58.829015 -操作类型 sys_oper_type 5 b9b28cf5-5beb-4e73-879f-21cd13baf902 0 操作类型列表 2025-12-03 23:23:58.829018 2025-12-03 23:23:58.829019 -任务存储器 sys_job_store 6 01812c5b-f12c-45bd-b532-edc18f40a0fa 0 任务分组列表 2025-12-03 23:23:58.829021 2025-12-03 23:23:58.829022 -任务执行器 sys_job_executor 7 44abbce0-154c-4633-a105-bfc07588aa44 0 任务执行器列表 2025-12-03 23:23:58.829025 2025-12-03 23:23:58.829025 -任务函数 sys_job_function 8 80fed07a-d3b9-4fef-b204-b4a99b3bcd17 0 任务函数列表 2025-12-03 23:23:58.829028 2025-12-03 23:23:58.829028 -任务触发器 sys_job_trigger 9 cbbca7ef-11c8-469e-855f-da832aab8c1a 0 任务触发器列表 2025-12-03 23:23:58.829031 2025-12-03 23:23:58.829031 -表格回显样式 sys_list_class 10 df8bdf53-bb8a-437f-a3a3-d07e44f08c11 0 表格回显样式列表 2025-12-03 23:23:58.829034 2025-12-03 23:23:58.829035 -\. - - --- --- Data for Name: sys_log; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.sys_log (type, request_path, request_method, request_payload, request_ip, login_location, request_os, request_browser, response_code, response_json, process_time, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; -2 /api/v1/system/user/create POST {"body": {"username": "test1", "name": "test1", "dept_id": 1, "role_ids": [1], "password": "123456", "is_superuser": false, "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建用户成功","data":{"created_id":1,"created_by":null,"updated_id":1,"updated_by":null,"id":2,"uuid":"3ad9aac5-c7e8-49dd-8bc0-ba42660dfa29","status":"0","description":null,"created_time":"2025-12-03 23:24:32","updated_time":"2025-12-03 23:24:32","name":"test1","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1","password":"$2b$12$uq73vy/IxcGdIpVcm1Ktsu2pJh7bRllZk7jn2Yd2Q30DEdbhHLX5a","is_superuser":false,"dept_id":1,"role_ids":[],"position_ids":[],"last_login":null,"gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":1,"name":"集团总公司"},"positions":[],"roles":[{"id":1,"uuid":"f775fc7c-2643-4feb-a647-182f293b7952","status":"0","description":"初始化角色","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"管理员角色","code":"ADMIN","order":1,"data_scope":4,"menus":[],"depts":[]}],"menus":[]},"status_code":200,"success":true} 0.46s 1 63d1aafc-6ac7-46fe-b183-6107d2bd7649 0 创建用户 2025-12-03 23:24:32.800624 2025-12-03 23:24:32.800626 1 1 -2 /api/v1/gencode/demo/create POST {"body": {"name": "test", "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建示例成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":1,"uuid":"a2f932d2-489e-443b-ae09-373b409eb3e9","status":"0","description":null,"created_time":"2025-12-03 23:31:50","updated_time":"2025-12-03 23:31:50","name":"test"},"status_code":200,"success":true} 0.04s 2 bc46e03f-5646-4d10-a0ee-38e5463af6f2 0 创建示例 2025-12-03 23:31:50.158446 2025-12-03 23:31:50.158448 1 1 -2 /api/v1/gencode/demo/create POST {"body": {"name": "test1", "status": "0", "description": ""}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建示例成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":2,"uuid":"412fc32c-50a4-49dd-80eb-3488547e20ae","status":"0","description":"","created_time":"2025-12-03 23:31:59","updated_time":"2025-12-03 23:31:59","name":"test1"},"status_code":200,"success":true} 0.03s 3 f894b32e-3395-462c-9134-9c2d327ea523 0 创建示例 2025-12-03 23:31:59.913139 2025-12-03 23:31:59.913141 1 1 -2 /api/v1/generator/gencode/import POST {"body": ["gen_demo"]} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"导入表结构成功","data":true,"status_code":200,"success":true} 0.14s 4 6a7c4244-dfeb-42ef-b11c-dbd99337eb9c 0 导入表结构 2025-12-04 20:48:26.323453 2025-12-04 20:48:26.323458 1 1 -2 /api/v1/generator/gencode/update/1 PUT 请求参数过长 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"编辑业务表信息成功","data":{"id":1,"uuid":"ea3370a7-9ffa-472f-a835-a5e787e84a11","status":"0","description":null,"created_time":"2025-12-04 20:48:26","updated_time":"2025-12-04 20:48:26","table_name":"gen_demo","table_comment":"示例表","class_name":"GenDemo","package_name":"module_gencode","module_name":"module_gencode","business_name":"gen_demo","function_name":"示例","sub_table_name":null,"sub_table_fk_name":null,"parent_menu_id":null,"columns":[{"id":1,"uuid":"ed471acf-3ea2-410c-9751-ed5fd8b379bf","status":"0","description":null,"created_time":"2025-12-04 20:48:26","updated_time":"2025-12-04 20:48:26","table_id":1,"column_name":"name","column_comment":"名称","column_type":"varchar","column_length":"64","column_default":"","is_pk":false,"is_increment":false,"is_nullable":false,"is_unique":false,"python_type":"str","python_field":"name","is_insert":true,"is_edit":true,"is_list":true,"is_query":true,"query_type":"LIKE","html_type":"input","dict_type":"","sort":1,"super_column":"0"},{"id":2,"uuid":"9a4f7dd6-912d-498c-b438-1eda1fa3ba9c","status":"0","description":null,"created_time":"2025-12-04 20:48:26","updated_time":"2025-12-04 20:48:26","table_id":1,"column_name":"id","column_comment":"主键ID","column_type":"int4","column_length":"","column_default":"nextval('gen_demo_id_seq'::regclass)","is_pk":true,"is_increment":true,"is_nullable":true,"is_unique":false,"python_type":"int","python_field":"id","is_insert":true,"is_edit":false,"is_list":false,"is_query":false,"query_type":null,"html_type":"input","dict_type":"","sort":2,"super_column":"0"},{"id":3,"uuid":"ca6e8c47-fb53-48d6-8a96-223738f1341d","status":"0","description":null,"created_time":"2025-12-04 20:48:26","updated_time":"2025-12-04 20:48:26","table_id":1,"column_name":"uuid","column_comment":"UUID全局唯一标识","column_type":"varchar","column_length":"64","column_default":"","is_pk":false,"is_increment":false,"is_nullable":true,"is_unique":true,"python_type":"str","python_field":"uuid","is_insert":true,"is_edit":false,"is_list":false,"is_query":false,"query_type":null,"html_type":"input","dict_type":"","sort":3,"super_column":"0"},{"id":4,"uuid":"5ccd94c8-66cf-4828-a97f-bb22f4adcc03","status":"0","description":null,"created_time":"2025-12-04 20:48:26","updated_time":"2025-12-04 21:01:46","table_id":1,"column_name":"status","column_comment":"是否启用(0:启用 1:禁用)","column_type":"varchar","column_length":"10","column_default":"","is_pk":false,"is_increment":false,"is_nullable":true,"is_unique":false,"python_type":"str","python_field":"status","is_insert":true,"is_edit":true,"is_list":true,"is_query":true,"query_type":"EQ","html_type":"input","dict_type":"","sort":4,"super_column":"0"},{"id":5,"uuid":"cc66ab04-d191-496d-950d-1eb252c4dc5e","status":"0","description":null,"created_time":"2025-12-04 20:48:26","updated_time":"2025-12-04 20:48:26","table_id":1,"column_name":"description","column_comment":"备注/描述","column_type":"text","column_length":"","column_default":"","is_pk":false,"is_increment":false,"is_nullable":false,"is_unique":false,"python_type":"str","python_field":"description","is_insert":true,"is_edit":false,"is_list":false,"is_query":false,"query_type":null,"html_type":"input","dict_type":"","sort":5,"super_column":"0"},{"id":6,"uuid":"b59fc690-e38a-4467-ac7e-607761be32fd","status":"0","description":null,"created_time":"2025-12-04 20:48:26","updated_time":"2025-12-04 20:48:26","table_id":1,"column_name":"created_time","column_comment":"创建时间","column_type":"timestamp","column_length":"","column_default":"","is_pk":false,"is_increment":false,"is_nullable":true,"is_unique":false,"python_type":"datetime","python_field":"createdTime","is_insert":true,"is_edit":false,"is_list":false,"is_query":false,"query_type":null,"html_type":"input","dict_type":"","sort":6,"super_column":"0"},{"id":7,"uuid":"0437828b-9418-486b-9730-d80c80676a0f","status":"0","description":null,"created_time":"2025-12-04 20:48:26","updated_time":"2025-12-04 20:48:26","table_id":1,"column_name":"updated_time","column_comment":"更新时间","column_type":"timestamp","column_length":"","column_default":"","is_pk":false,"is_increment":false,"is_nullable":true,"is_unique":false,"python_type":"datetime","python_field":"updatedTime","is_insert":true,"is_edit":false,"is_list":false,"is_query":false,"query_type":null,"html_type":"input","dict_type":"","sort":7,"super_column":"0"},{"id":8,"uuid":"e2f84c36-fe6e-4800-ba85-39bb5c9232b8","status":"0","description":null,"created_time":"2025-12-04 20:48:26","updated_time":"2025-12-04 20:48:26","table_id":1,"column_name":"created_id","column_comment":"创建人ID","column_type":"int4","column_length":"","column_default":"","is_pk":false,"is_increment":false,"is_nullable":false,"is_unique":false,"python_type":"int","python_field":"createdId","is_insert":true,"is_edit":true,"is_list":true,"is_query":true,"query_type":"EQ","html_type":"input","dict_type":"","sort":8,"super_column":"0"},{"id":9,"uuid":"eaf874ef-be0b-44c3-828e-c35e8c3cdd76","status":"0","description":null,"created_time":"2025-12-04 20:48:26","updated_time":"2025-12-04 20:48:26","table_id":1,"column_name":"updated_id","column_comment":"更新人ID","column_type":"int4","column_length":"","column_default":"","is_pk":false,"is_increment":false,"is_nullable":false,"is_unique":false,"python_type":"int","python_field":"updatedId","is_insert":true,"is_edit":true,"is_list":true,"is_query":true,"query_type":"EQ","html_type":"input","dict_type":"","sort":9,"super_column":"0"}],"pk_column":null,"sub_table":null,"sub":null},"status_code":200,"success":true} 0.46s 5 6571b782-d579-42cf-89d8-92b005341a53 0 编辑业务表信息 2025-12-04 21:01:46.720077 2025-12-04 21:01:46.72008 1 1 -2 /api/v1/generator/gencode/output/gen_demo POST {"path_params": {"table_name": "gen_demo"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"生成代码到指定路径成功","data":true,"status_code":200,"success":true} 0.11s 6 ec47c313-bb8f-4d0c-bf9c-354c3c20fe1b 0 生成代码到指定路径 2025-12-04 21:03:30.348878 2025-12-04 21:03:30.34888 1 1 -2 /api/v1/system/dept/create POST {"body": {"name": "test1", "code": "test1", "order": 1, "parent_id": 1, "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建部门成功","data":{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},"status_code":200,"success":true} 0.06s 7 a763dd85-3677-4fe3-92dc-382482ca81f2 0 创建部门 2025-12-04 21:16:25.492703 2025-12-04 21:16:25.492707 1 1 -2 /api/v1/system/dept/create POST {"body": {"name": "test2", "code": "test2", "order": 1, "parent_id": 1, "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建部门成功","data":{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},"status_code":200,"success":true} 0.03s 8 b383a314-d6e7-4936-876b-50a025da3fe0 0 创建部门 2025-12-04 21:16:35.828182 2025-12-04 21:16:35.828185 1 1 -2 /api/v1/system/dept/create POST {"body": {"name": "test1_1", "code": "test1_1", "order": 1, "parent_id": 2, "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建部门成功","data":{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},"status_code":200,"success":true} 0.02s 9 952a12a4-c14d-41f4-b95e-3d0979313292 0 创建部门 2025-12-04 21:16:46.528317 2025-12-04 21:16:46.528319 1 1 -2 /api/v1/system/dept/create POST {"body": {"name": "test1_2", "code": "test1_2", "order": 1, "parent_id": 2, "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建部门成功","data":{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},"status_code":200,"success":true} 0.02s 10 5d93ca3f-7087-42a9-9d19-642a48bbae34 0 创建部门 2025-12-04 21:17:23.732432 2025-12-04 21:17:23.732435 1 1 -2 /api/v1/system/role/create POST {"body": {"name": "全部数据", "order": 1, "code": "ALL", "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建角色成功","data":{"id":3,"uuid":"91131798-462f-498a-a4c8-e2df5f8ebdb6","status":"0","description":null,"created_time":"2025-12-04 21:23:11","updated_time":"2025-12-04 21:23:11","name":"全部数据","code":"ALL","order":1,"data_scope":1,"menus":[],"depts":[]},"status_code":200,"success":true} 0.04s 14 c0dda3f6-5181-438e-8370-d5029a4527eb 0 创建角色 2025-12-04 21:23:11.233662 2025-12-04 21:23:11.233667 1 1 -2 /api/v1/system/dept/create POST {"body": {"name": "test2_2", "code": "test2_2", "order": 1, "parent_id": 3, "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建部门成功","data":{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},"status_code":200,"success":true} 0.02s 11 7650697a-bd68-42c1-b5cb-5d7a87b6e580 0 创建部门 2025-12-04 21:17:36.045449 2025-12-04 21:17:36.045452 1 1 -2 /api/v1/system/dept/create POST {"body": {"name": "test2_1", "code": "test2_1", "order": 1, "parent_id": 3, "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建部门成功","data":{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},"status_code":200,"success":true} 0.02s 12 aa848c76-fb46-40cb-8a5a-7e4b5a92d4ac 0 创建部门 2025-12-04 21:17:46.895661 2025-12-04 21:17:46.895663 1 1 -2 /api/v1/system/role/create POST {"body": {"name": "仅个人数据", "order": 1, "code": "MINE", "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建角色成功","data":{"id":2,"uuid":"242f44f5-6faf-4245-aac7-482630ddb6f7","status":"0","description":null,"created_time":"2025-12-04 21:22:35","updated_time":"2025-12-04 21:22:35","name":"仅个人数据","code":"MINE","order":1,"data_scope":1,"menus":[],"depts":[]},"status_code":200,"success":true} 0.06s 13 43e96a15-1371-4c5a-81d4-990a4d8424cb 0 创建角色 2025-12-04 21:22:35.121041 2025-12-04 21:22:35.121044 1 1 -2 /api/v1/system/role/create POST {"body": {"name": "本部门数据", "order": 1, "code": "DEPT", "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建角色成功","data":{"id":4,"uuid":"6a229f0d-7dcb-4b66-9054-987e3c1dfe5d","status":"0","description":null,"created_time":"2025-12-04 21:23:30","updated_time":"2025-12-04 21:23:30","name":"本部门数据","code":"DEPT","order":1,"data_scope":1,"menus":[],"depts":[]},"status_code":200,"success":true} 0.04s 15 c036e52d-4ca2-4dda-a314-f04fbf6d8985 0 创建角色 2025-12-04 21:23:30.480274 2025-12-04 21:23:30.480277 1 1 -2 /api/v1/system/role/create POST {"body": {"name": "本部门及以下", "order": 1, "code": "ALL_DEPT", "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建角色成功","data":{"id":5,"uuid":"b419c2ef-af62-4d93-80e5-4afb24be9289","status":"0","description":null,"created_time":"2025-12-04 21:23:50","updated_time":"2025-12-04 21:23:50","name":"本部门及以下","code":"ALL_DEPT","order":1,"data_scope":1,"menus":[],"depts":[]},"status_code":200,"success":true} 0.03s 16 b567200f-c48d-4569-bfbe-81d0ae893466 0 创建角色 2025-12-04 21:23:50.691965 2025-12-04 21:23:50.691969 1 1 -2 /api/v1/system/role/permission/setting PATCH {"body": {"role_ids": [2], "menu_ids": [7, 29, 106, 107, 108, 109, 110, 111, 112], "data_scope": 1, "dept_ids": []}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"授权角色成功","data":null,"status_code":200,"success":true} 0.09s 17 eed6ed8c-663a-4196-9fe7-0b065751b17c 0 角色授权 2025-12-04 21:29:46.669168 2025-12-04 21:29:46.66917 1 1 -2 /api/v1/system/role/permission/setting PATCH {"body": {"role_ids": [4], "menu_ids": [7, 29, 106, 107, 108, 109, 110, 111, 112], "data_scope": 2, "dept_ids": []}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"授权角色成功","data":null,"status_code":200,"success":true} 0.19s 18 d7e27634-0e25-4d07-a04f-3e959e4a86df 0 角色授权 2025-12-04 21:29:59.12125 2025-12-04 21:29:59.121253 1 1 -2 /api/v1/system/role/permission/setting PATCH {"body": {"role_ids": [5], "menu_ids": [7, 29, 106, 107, 108, 109, 110, 111, 112], "data_scope": 3, "dept_ids": []}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"授权角色成功","data":null,"status_code":200,"success":true} 0.05s 19 64d446ee-33a8-4a10-ac74-b724864b4bae 0 角色授权 2025-12-04 21:30:14.541946 2025-12-04 21:30:14.541948 1 1 -2 /api/v1/system/role/permission/setting PATCH {"body": {"role_ids": [3], "menu_ids": [7, 29, 106, 107, 108, 109, 110, 111, 112], "data_scope": 4, "dept_ids": []}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"授权角色成功","data":null,"status_code":200,"success":true} 0.05s 20 8a09655c-63cb-440a-80b9-079c1127d0cf 0 角色授权 2025-12-04 21:30:37.30874 2025-12-04 21:30:37.308743 1 1 -2 /api/v1/system/role/create POST {"body": {"name": "自定义数据", "order": 1, "code": "ZIDINGYI", "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建角色成功","data":{"id":6,"uuid":"96f6a404-d6b0-4a46-b6fa-5cbd56e42739","status":"0","description":null,"created_time":"2025-12-04 21:32:02","updated_time":"2025-12-04 21:32:02","name":"自定义数据","code":"ZIDINGYI","order":1,"data_scope":1,"menus":[],"depts":[]},"status_code":200,"success":true} 0.06s 21 2093bff2-cf51-40ca-a6df-00cc9f061a0d 0 创建角色 2025-12-04 21:32:02.727037 2025-12-04 21:32:02.727041 1 1 -2 /api/v1/system/role/permission/setting PATCH {"body": {"role_ids": [6], "menu_ids": [7, 29, 106, 107, 108, 109, 110, 111, 112], "data_scope": 5, "dept_ids": [5]}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"授权角色成功","data":null,"status_code":200,"success":true} 0.05s 22 f629d2d3-6bdb-4671-a1e8-058bf979fd39 0 角色授权 2025-12-04 21:32:35.181681 2025-12-04 21:32:35.181683 1 1 -2 /api/v1/system/user/reset/password PUT {"body": {"id": 2, "password": "123456"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"重置密码成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":2,"uuid":"3ad9aac5-c7e8-49dd-8bc0-ba42660dfa29","status":"0","description":null,"created_time":"2025-12-03 23:24:32","updated_time":"2025-12-04 21:40:31","name":"test1","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1","password":"$2b$12$HZazPM6aOg2ZSy3a57qvR.6U7dn4FmuD6KST2.X3Os9D1s4w5iZQu","is_superuser":false,"dept_id":1,"role_ids":[],"position_ids":[],"last_login":null,"gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":1,"name":"集团总公司"},"positions":[],"roles":[{"id":1,"uuid":"f775fc7c-2643-4feb-a647-182f293b7952","status":"0","description":"初始化角色","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"管理员角色","code":"ADMIN","order":1,"data_scope":4,"menus":[],"depts":[]}],"menus":[]},"status_code":200,"success":true} 0.51s 23 dd6c2fb9-6a8a-4da9-bb04-b4cd13d7cf5d 0 重置密码 2025-12-04 21:40:31.170571 2025-12-04 21:40:31.170574 1 1 -2 /api/v1/system/user/update/2 PUT {"body": {"id": 2, "username": "test1", "name": "test1", "dept_id": 2, "dept_name": null, "role_ids": [3], "position_ids": [], "password": "$2b$12$HZazPM6aOg2ZSy3a57qvR.6U7dn4FmuD6KST2.X3Os9D1s4w5iZQu", "gender": "2", "email": null, "mobile": null, "is_superuser": false, "status": "0", "description": null, "created_id": 1, "created_by": {"id": 1, "name": "超级管理员", "username": "admin"}, "updated_id": 1, "updated_by": {"id": 1, "name": "超级管理员", "username": "admin"}, "uuid": "3ad9aac5-c7e8-49dd-8bc0-ba42660dfa29", "created_time": "2025-12-03 23:24:32", "updated_time": "2025-12-04 21:40:31", "avatar": null, "last_login": null, "gitee_login": null, "github_login": null, "wx_login": null, "qq_login": null, "dept": {"id": 1, "name": "集团总公司"}, "positions": [], "roles": [{"id": 1, "uuid": "f775fc7c-2643-4feb-a647-182f293b7952", "status": "0", "description": "初始化角色", "created_time": "2025-12-03 23:23:58", "updated_time": "2025-12-03 23:23:58", "name": "管理员角色", "code": "ADMIN", "order": 1, "data_scope": 4, "menus": [], "depts": []}], "menus": []}, "path_params": {"id": "2"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"修改用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":2,"uuid":"3ad9aac5-c7e8-49dd-8bc0-ba42660dfa29","status":"0","description":null,"created_time":"2025-12-03 23:24:32","updated_time":"2025-12-04 21:40:47","name":"test1","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1","password":"$2b$12$gn.WYUQfWX9NF9MgK/QabuieVJbb5NP2ceuL/AENhze0FQWM7Q8zy","is_superuser":false,"dept_id":2,"role_ids":[],"position_ids":[],"last_login":null,"gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":2,"name":"test1"},"positions":[],"roles":[{"id":3,"uuid":"91131798-462f-498a-a4c8-e2df5f8ebdb6","status":"0","description":null,"created_time":"2025-12-04 21:23:11","updated_time":"2025-12-04 21:30:37","name":"全部数据","code":"ALL","order":1,"data_scope":4,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.45s 24 b1bd6b42-3c68-41d2-b033-b3aae0572eb2 0 修改用户 2025-12-04 21:40:47.653518 2025-12-04 21:40:47.653521 1 1 -2 /api/v1/system/user/reset/password PUT {"body": {"id": 2, "password": "123456"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"重置密码成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":2,"uuid":"3ad9aac5-c7e8-49dd-8bc0-ba42660dfa29","status":"0","description":null,"created_time":"2025-12-03 23:24:32","updated_time":"2025-12-04 21:40:54","name":"test1","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1","password":"$2b$12$akRj6sW1qG4pNP2dqpn58O6bYIK/57K0vqJ4B76puts61qOwsjmwu","is_superuser":false,"dept_id":2,"role_ids":[],"position_ids":[],"last_login":null,"gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":2,"name":"test1"},"positions":[],"roles":[{"id":3,"uuid":"91131798-462f-498a-a4c8-e2df5f8ebdb6","status":"0","description":null,"created_time":"2025-12-04 21:23:11","updated_time":"2025-12-04 21:30:37","name":"全部数据","code":"ALL","order":1,"data_scope":4,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.35s 25 db7598ee-1750-4820-9537-f933330315ff 0 重置密码 2025-12-04 21:40:54.948684 2025-12-04 21:40:54.948686 1 1 -2 /api/v1/system/user/create POST {"body": {"username": "test2", "name": "test2", "dept_id": 3, "role_ids": [3], "password": "123456", "is_superuser": false, "status": "0", "created_id": 1, "created_by": {"id": 1, "name": "超级管理员", "username": "admin"}, "updated_id": 1, "updated_by": {"id": 1, "name": "超级管理员", "username": "admin"}, "uuid": "3ad9aac5-c7e8-49dd-8bc0-ba42660dfa29", "created_time": "2025-12-03 23:24:32", "updated_time": "2025-12-04 21:40:31", "avatar": null, "last_login": null, "gitee_login": null, "github_login": null, "wx_login": null, "qq_login": null, "dept": {"id": 1, "name": "集团总公司"}, "positions": [], "roles": [{"id": 1, "uuid": "f775fc7c-2643-4feb-a647-182f293b7952", "status": "0", "description": "初始化角色", "created_time": "2025-12-03 23:23:58", "updated_time": "2025-12-03 23:23:58", "name": "管理员角色", "code": "ADMIN", "order": 1, "data_scope": 4, "menus": [], "depts": []}], "menus": []}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":3,"uuid":"4c2b0473-3130-4c4d-bebf-94412ea05c7e","status":"0","description":null,"created_time":"2025-12-04 21:41:18","updated_time":"2025-12-04 21:41:18","name":"test2","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test2","password":"$2b$12$J4CW15v/OXHFP9YLdgfeyORJ0krN61G3icmj.EwQPMXzPRsTM56Uq","is_superuser":false,"dept_id":3,"role_ids":[],"position_ids":[],"last_login":null,"gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":3,"name":"test2"},"positions":[],"roles":[{"id":3,"uuid":"91131798-462f-498a-a4c8-e2df5f8ebdb6","status":"0","description":null,"created_time":"2025-12-04 21:23:11","updated_time":"2025-12-04 21:30:37","name":"全部数据","code":"ALL","order":1,"data_scope":4,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.33s 26 b657d505-a4aa-4040-9abd-210c47ef2212 0 创建用户 2025-12-04 21:41:18.609037 2025-12-04 21:41:18.60904 1 1 -2 /api/v1/gencode/demo/create POST {"body": {"name": "test1", "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建示例成功","data":{"created_id":2,"created_by":{"id":2,"name":"test1","username":"test1"},"updated_id":2,"updated_by":{"id":2,"name":"test1","username":"test1"},"id":3,"uuid":"7f0e50b5-ed5f-41c0-b6c1-a89e9bf1c33b","status":"0","description":null,"created_time":"2025-12-04 21:47:23","updated_time":"2025-12-04 21:47:23","name":"test1"},"status_code":200,"success":true} 0.05s 35 b2f0a3cb-f3e6-4a1c-bcec-13e02ce9e258 0 创建示例 2025-12-04 21:47:23.98283 2025-12-04 21:47:23.982833 2 2 -2 /api/v1/system/user/create POST {"body": {"username": "test1_1", "name": "test1_1", "dept_id": 4, "role_ids": [3], "password": "123456", "is_superuser": false, "status": "0", "created_id": 1, "created_by": {"id": 1, "name": "超级管理员", "username": "admin"}, "updated_id": 1, "updated_by": {"id": 1, "name": "超级管理员", "username": "admin"}, "uuid": "3ad9aac5-c7e8-49dd-8bc0-ba42660dfa29", "created_time": "2025-12-03 23:24:32", "updated_time": "2025-12-04 21:40:31", "avatar": null, "last_login": null, "gitee_login": null, "github_login": null, "wx_login": null, "qq_login": null, "dept": {"id": 1, "name": "集团总公司"}, "positions": [], "roles": [{"id": 1, "uuid": "f775fc7c-2643-4feb-a647-182f293b7952", "status": "0", "description": "初始化角色", "created_time": "2025-12-03 23:23:58", "updated_time": "2025-12-03 23:23:58", "name": "管理员角色", "code": "ADMIN", "order": 1, "data_scope": 4, "menus": [], "depts": []}], "menus": []}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":4,"uuid":"0164b4be-69e8-437e-9b37-87727eae3964","status":"0","description":null,"created_time":"2025-12-04 21:41:51","updated_time":"2025-12-04 21:41:51","name":"test1_1","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1_1","password":"$2b$12$XoZkF1kKghOsh8uUVumkse4iI48DfkN1Fz6NTdHWMg3OfaAp71C8i","is_superuser":false,"dept_id":4,"role_ids":[],"position_ids":[],"last_login":null,"gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":4,"name":"test1_1"},"positions":[],"roles":[{"id":3,"uuid":"91131798-462f-498a-a4c8-e2df5f8ebdb6","status":"0","description":null,"created_time":"2025-12-04 21:23:11","updated_time":"2025-12-04 21:30:37","name":"全部数据","code":"ALL","order":1,"data_scope":4,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.31s 27 19660f76-0e9a-4c6d-9e28-8499fd7f7c6d 0 创建用户 2025-12-04 21:41:51.196461 2025-12-04 21:41:51.196465 1 1 -2 /api/v1/system/user/create POST {"body": {"username": "test1_2", "name": "test1_2", "dept_id": 5, "role_ids": [3], "password": "123456", "is_superuser": false, "status": "0", "created_id": 1, "created_by": {"id": 1, "name": "超级管理员", "username": "admin"}, "updated_id": 1, "updated_by": {"id": 1, "name": "超级管理员", "username": "admin"}, "uuid": "3ad9aac5-c7e8-49dd-8bc0-ba42660dfa29", "created_time": "2025-12-03 23:24:32", "updated_time": "2025-12-04 21:40:31", "avatar": null, "last_login": null, "gitee_login": null, "github_login": null, "wx_login": null, "qq_login": null, "dept": {"id": 1, "name": "集团总公司"}, "positions": [], "roles": [{"id": 1, "uuid": "f775fc7c-2643-4feb-a647-182f293b7952", "status": "0", "description": "初始化角色", "created_time": "2025-12-03 23:23:58", "updated_time": "2025-12-03 23:23:58", "name": "管理员角色", "code": "ADMIN", "order": 1, "data_scope": 4, "menus": [], "depts": []}], "menus": []}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":5,"uuid":"b730fcb1-2cff-472c-9809-a4167313e6fb","status":"0","description":null,"created_time":"2025-12-04 21:44:44","updated_time":"2025-12-04 21:44:44","name":"test1_2","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1_2","password":"$2b$12$Bz5XlxBQQ7FzYSLuSMSfle7iR3vBH/hn46LZR.IFzn04lqG7eR7DO","is_superuser":false,"dept_id":5,"role_ids":[],"position_ids":[],"last_login":null,"gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":5,"name":"test1_2"},"positions":[],"roles":[{"id":3,"uuid":"91131798-462f-498a-a4c8-e2df5f8ebdb6","status":"0","description":null,"created_time":"2025-12-04 21:23:11","updated_time":"2025-12-04 21:30:37","name":"全部数据","code":"ALL","order":1,"data_scope":4,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.33s 28 aa32fe05-2936-4cbb-877e-f2fe72ffe339 0 创建用户 2025-12-04 21:44:44.286166 2025-12-04 21:44:44.286168 1 1 -2 /api/v1/system/user/create POST {"body": {"username": "test2_1", "name": "test2_1", "dept_id": 7, "role_ids": [3], "password": "123456", "is_superuser": false, "status": "0", "created_id": 1, "created_by": {"id": 1, "name": "超级管理员", "username": "admin"}, "updated_id": 1, "updated_by": {"id": 1, "name": "超级管理员", "username": "admin"}, "uuid": "3ad9aac5-c7e8-49dd-8bc0-ba42660dfa29", "created_time": "2025-12-03 23:24:32", "updated_time": "2025-12-04 21:40:31", "avatar": null, "last_login": null, "gitee_login": null, "github_login": null, "wx_login": null, "qq_login": null, "dept": {"id": 1, "name": "集团总公司"}, "positions": [], "roles": [{"id": 1, "uuid": "f775fc7c-2643-4feb-a647-182f293b7952", "status": "0", "description": "初始化角色", "created_time": "2025-12-03 23:23:58", "updated_time": "2025-12-03 23:23:58", "name": "管理员角色", "code": "ADMIN", "order": 1, "data_scope": 4, "menus": [], "depts": []}], "menus": []}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":6,"uuid":"46f2a531-af05-423f-a504-cee642327336","status":"0","description":null,"created_time":"2025-12-04 21:46:20","updated_time":"2025-12-04 21:46:20","name":"test2_1","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test2_1","password":"$2b$12$I82W2vdZeAZ9LKy077xHgO8EvjdiyKKMY7K.GcCeY/Xy7QefheKZm","is_superuser":false,"dept_id":7,"role_ids":[],"position_ids":[],"last_login":null,"gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":7,"name":"test2_1"},"positions":[],"roles":[{"id":3,"uuid":"91131798-462f-498a-a4c8-e2df5f8ebdb6","status":"0","description":null,"created_time":"2025-12-04 21:23:11","updated_time":"2025-12-04 21:30:37","name":"全部数据","code":"ALL","order":1,"data_scope":4,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.33s 29 9c8342cd-d813-40c7-80d8-967d3382cb9b 0 创建用户 2025-12-04 21:46:20.560803 2025-12-04 21:46:20.560806 1 1 -2 /api/v1/system/user/create POST {"body": {"username": "test2_2", "name": "test2_2", "dept_id": 6, "role_ids": [3], "password": "123456", "is_superuser": false, "status": "0", "created_id": 1, "created_by": {"id": 1, "name": "超级管理员", "username": "admin"}, "updated_id": 1, "updated_by": {"id": 1, "name": "超级管理员", "username": "admin"}, "uuid": "3ad9aac5-c7e8-49dd-8bc0-ba42660dfa29", "created_time": "2025-12-03 23:24:32", "updated_time": "2025-12-04 21:40:31", "avatar": null, "last_login": null, "gitee_login": null, "github_login": null, "wx_login": null, "qq_login": null, "dept": {"id": 1, "name": "集团总公司"}, "positions": [], "roles": [{"id": 1, "uuid": "f775fc7c-2643-4feb-a647-182f293b7952", "status": "0", "description": "初始化角色", "created_time": "2025-12-03 23:23:58", "updated_time": "2025-12-03 23:23:58", "name": "管理员角色", "code": "ADMIN", "order": 1, "data_scope": 4, "menus": [], "depts": []}], "menus": []}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":7,"uuid":"da0c4cec-c428-4347-ba67-ec6b1878fc2c","status":"0","description":null,"created_time":"2025-12-04 21:46:42","updated_time":"2025-12-04 21:46:42","name":"test2_2","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test2_2","password":"$2b$12$lmd185zT9n2CsfLvta33rOqeLixCFrounwK1dwTFJqZ.tQmu6D0.m","is_superuser":false,"dept_id":6,"role_ids":[],"position_ids":[],"last_login":null,"gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":6,"name":"test2_2"},"positions":[],"roles":[{"id":3,"uuid":"91131798-462f-498a-a4c8-e2df5f8ebdb6","status":"0","description":null,"created_time":"2025-12-04 21:23:11","updated_time":"2025-12-04 21:30:37","name":"全部数据","code":"ALL","order":1,"data_scope":4,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.41s 30 1e465514-c30c-4123-891b-29d94c6daa08 0 创建用户 2025-12-04 21:46:43.010872 2025-12-04 21:46:43.010875 1 1 -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcImY0YTFlZDhiLWFhNmEtNDI3ZC1iMzYxLTk0ZGFjNDMxMTc5NlwiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDMgMTQ6MzY6MzRcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc2OTk4NTM5NH0.52eHi56_lvZYT7LaWI6Xa5Hua3WNteCTgBgHE4fxOj8"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.03s 31 edb02766-d92c-4140-a650-304d7672515e 0 退出登录 2025-12-04 21:46:50.789402 2025-12-04 21:46:50.789404 1 1 -1 /api/v1/system/auth/login POST username: test1\npassword: 123456\ncaptcha: 5\ncaptcha_key: 0ce1bbd218d0493ea2ac3aa15b828720\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0MVwiLFwic2Vzc2lvbl9pZFwiOlwiYjlkNTNlZWYtOWQzMS00NjQ0LTkxZTQtODcxY2YyZDYwY2M3XCIsXCJ1c2VyX2lkXCI6MixcInVzZXJfbmFtZVwiOlwidGVzdDFcIixcImlwYWRkclwiOlwiMTI3LjAuMC4xXCIsXCJsb2dpbl9sb2NhdGlvblwiOlwiXHU1MTg1XHU3ZjUxSVBcIixcIm9zXCI6XCJNYWMgT1MgWFwiLFwiYnJvd3NlclwiOlwiRWRnZVwiLFwibG9naW5fdGltZVwiOlwiMjAyNS0xMi0wNCAxMzo0NzowMFwiLFwibG9naW5fdHlwZVwiOlwiUENcdTdhZWZcIn0iLCJpc19yZWZyZXNoIjpmYWxzZSwiZXhwIjoxNzcwMDY4ODIwfQ.vhTuHoGvc5DvtIcEPqmrc6Pp3uDN3Tsj-wvAwwzH2sY","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0MVwiLFwic2Vzc2lvbl9pZFwiOlwiYjlkNTNlZWYtOWQzMS00NjQ0LTkxZTQtODcxY2YyZDYwY2M3XCIsXCJ1c2VyX2lkXCI6MixcInVzZXJfbmFtZVwiOlwidGVzdDFcIixcImlwYWRkclwiOlwiMTI3LjAuMC4xXCIsXCJsb2dpbl9sb2NhdGlvblwiOlwiXHU1MTg1XHU3ZjUxSVBcIixcIm9zXCI6XCJNYWMgT1MgWFwiLFwiYnJvd3NlclwiOlwiRWRnZVwiLFwibG9naW5fdGltZVwiOlwiMjAyNS0xMi0wNCAxMzo0NzowMFwiLFwibG9naW5fdHlwZVwiOlwiUENcdTdhZWZcIn0iLCJpc19yZWZyZXNoIjp0cnVlLCJleHAiOjE4MDExNzI4MjB9.JmsaiPByupfp6DQVBn4ugunYCoiMzAWtDV1i4BB5mwY","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.41s 32 d3527dfc-1bd6-4e5a-988b-4fb6f3b06295 0 登录 2025-12-04 21:47:00.696208 2025-12-04 21:47:00.696211 \N \N -2 /api/v1/gencode/demo/delete DELETE {"body": [1]} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"删除示例成功","data":null,"status_code":200,"success":true} 0.14s 33 bc869e82-c91b-413e-b838-b52fb07dff73 0 删除示例 2025-12-04 21:47:14.097738 2025-12-04 21:47:14.097741 2 2 -2 /api/v1/gencode/demo/delete DELETE {"body": [2]} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"删除示例成功","data":null,"status_code":200,"success":true} 0.07s 34 23d333f7-a96d-4279-8db2-9845f610eae8 0 删除示例 2025-12-04 21:47:16.469362 2025-12-04 21:47:16.469364 2 2 -2 /api/v1/system/user/create POST {"body": {"username": "test22", "name": "本部门数据2", "dept_id": 3, "role_ids": [4], "password": "123456", "is_superuser": false, "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":8,"uuid":"795f3692-ad0c-44ea-8e36-4bcb6c4dd957","status":"0","description":null,"created_time":"2025-12-04 22:06:19","updated_time":"2025-12-04 22:06:19","name":"本部门数据2","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test22","password":"$2b$12$/0pNNfFW1n3dEJAnPxe6LOmodfU1zHbPmUGsNPOW1ucOOOUbEAHVm","is_superuser":false,"dept_id":3,"role_ids":[],"position_ids":[],"last_login":null,"gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":3,"name":"test2"},"positions":[],"roles":[{"id":4,"uuid":"6a229f0d-7dcb-4b66-9054-987e3c1dfe5d","status":"0","description":null,"created_time":"2025-12-04 21:23:30","updated_time":"2025-12-04 21:29:59","name":"本部门数据","code":"DEPT","order":1,"data_scope":2,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.37s 85 9fd06978-bff8-42ed-a17e-b5b498848d77 0 创建用户 2025-12-04 22:06:19.341551 2025-12-04 22:06:19.341554 1 1 -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0MVwiLFwic2Vzc2lvbl9pZFwiOlwiYjlkNTNlZWYtOWQzMS00NjQ0LTkxZTQtODcxY2YyZDYwY2M3XCIsXCJ1c2VyX2lkXCI6MixcInVzZXJfbmFtZVwiOlwidGVzdDFcIixcImlwYWRkclwiOlwiMTI3LjAuMC4xXCIsXCJsb2dpbl9sb2NhdGlvblwiOlwiXHU1MTg1XHU3ZjUxSVBcIixcIm9zXCI6XCJNYWMgT1MgWFwiLFwiYnJvd3NlclwiOlwiRWRnZVwiLFwibG9naW5fdGltZVwiOlwiMjAyNS0xMi0wNCAxMzo0NzowMFwiLFwibG9naW5fdHlwZVwiOlwiUENcdTdhZWZcIn0iLCJpc19yZWZyZXNoIjpmYWxzZSwiZXhwIjoxNzcwMDY4ODIwfQ.vhTuHoGvc5DvtIcEPqmrc6Pp3uDN3Tsj-wvAwwzH2sY"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.05s 36 843f5e57-ad60-4436-a470-2ec3472e557a 0 退出登录 2025-12-04 21:47:29.05841 2025-12-04 21:47:29.058425 2 2 -1 /api/v1/system/auth/login POST username: test2\npassword: 123456\ncaptcha: 12\ncaptcha_key: 4f4e4d81414d4a819317e7885b686209\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0MlwiLFwic2Vzc2lvbl9pZFwiOlwiYWU0NzI3NWMtYWMyNy00MjYwLWJkMGEtZGFhODg2YjcxOGZlXCIsXCJ1c2VyX2lkXCI6MyxcInVzZXJfbmFtZVwiOlwidGVzdDJcIixcImlwYWRkclwiOlwiMTI3LjAuMC4xXCIsXCJsb2dpbl9sb2NhdGlvblwiOlwiXHU1MTg1XHU3ZjUxSVBcIixcIm9zXCI6XCJNYWMgT1MgWFwiLFwiYnJvd3NlclwiOlwiRWRnZVwiLFwibG9naW5fdGltZVwiOlwiMjAyNS0xMi0wNCAxMzo0NzozN1wiLFwibG9naW5fdHlwZVwiOlwiUENcdTdhZWZcIn0iLCJpc19yZWZyZXNoIjpmYWxzZSwiZXhwIjoxNzcwMDY4ODU3fQ.1o_2cC0oIJX89Wk8m5JWYDZ2sIYP0N3fm3MAKeb33wU","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0MlwiLFwic2Vzc2lvbl9pZFwiOlwiYWU0NzI3NWMtYWMyNy00MjYwLWJkMGEtZGFhODg2YjcxOGZlXCIsXCJ1c2VyX2lkXCI6MyxcInVzZXJfbmFtZVwiOlwidGVzdDJcIixcImlwYWRkclwiOlwiMTI3LjAuMC4xXCIsXCJsb2dpbl9sb2NhdGlvblwiOlwiXHU1MTg1XHU3ZjUxSVBcIixcIm9zXCI6XCJNYWMgT1MgWFwiLFwiYnJvd3NlclwiOlwiRWRnZVwiLFwibG9naW5fdGltZVwiOlwiMjAyNS0xMi0wNCAxMzo0NzozN1wiLFwibG9naW5fdHlwZVwiOlwiUENcdTdhZWZcIn0iLCJpc19yZWZyZXNoIjp0cnVlLCJleHAiOjE4MDExNzI4NTd9.S0P90BfakMTC01dYHt_d8Cu2nQEyONOJ1nPl0aUSXP0","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.35s 37 a1b58771-98f7-4746-8214-f98c57164699 0 登录 2025-12-04 21:47:37.272474 2025-12-04 21:47:37.272475 \N \N -2 /api/v1/gencode/demo/create POST {"body": {"name": "test2", "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建示例成功","data":{"created_id":3,"created_by":{"id":3,"name":"test2","username":"test2"},"updated_id":3,"updated_by":{"id":3,"name":"test2","username":"test2"},"id":4,"uuid":"165c3e41-d9e8-4dcf-b5ad-ca393bb13c38","status":"0","description":null,"created_time":"2025-12-04 21:47:47","updated_time":"2025-12-04 21:47:47","name":"test2"},"status_code":200,"success":true} 0.05s 38 f74b7678-2a1b-4cfd-8255-a2862c403c82 0 创建示例 2025-12-04 21:47:47.310965 2025-12-04 21:47:47.310968 3 3 -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0MlwiLFwic2Vzc2lvbl9pZFwiOlwiYWU0NzI3NWMtYWMyNy00MjYwLWJkMGEtZGFhODg2YjcxOGZlXCIsXCJ1c2VyX2lkXCI6MyxcInVzZXJfbmFtZVwiOlwidGVzdDJcIixcImlwYWRkclwiOlwiMTI3LjAuMC4xXCIsXCJsb2dpbl9sb2NhdGlvblwiOlwiXHU1MTg1XHU3ZjUxSVBcIixcIm9zXCI6XCJNYWMgT1MgWFwiLFwiYnJvd3NlclwiOlwiRWRnZVwiLFwibG9naW5fdGltZVwiOlwiMjAyNS0xMi0wNCAxMzo0NzozN1wiLFwibG9naW5fdHlwZVwiOlwiUENcdTdhZWZcIn0iLCJpc19yZWZyZXNoIjpmYWxzZSwiZXhwIjoxNzcwMDY4ODU3fQ.1o_2cC0oIJX89Wk8m5JWYDZ2sIYP0N3fm3MAKeb33wU"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.11s 39 eb54feff-90db-4742-93d0-79b8b865ec5a 0 退出登录 2025-12-04 21:47:53.149231 2025-12-04 21:47:53.149234 3 3 -1 /api/v1/system/auth/login POST username: admin\npassword: 123456\ncaptcha: 54\ncaptcha_key: 95fc2aa574904a30beb2ba4d36042c15\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcIjE5MDJiNjgzLTI0YzYtNDAzNi04ZjcyLTA0NzQwNjQyNWMyZFwiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NDg6MDJcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2ODg4Mn0.rUfkhVurokfK8beaFd9G0rrbD0y4qMnjK7Il4oo89mc","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcIjE5MDJiNjgzLTI0YzYtNDAzNi04ZjcyLTA0NzQwNjQyNWMyZFwiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NDg6MDJcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6dHJ1ZSwiZXhwIjoxODAxMTcyODgyfQ.kbVvRZT_KrEXzPYRH2AhMXNVO1FuYAoy6gpw0vt6aN4","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.32s 40 6603e655-0f6a-4837-98d5-c09f91f256ab 0 登录 2025-12-04 21:48:02.593539 2025-12-04 21:48:02.59354 \N \N -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcIjE5MDJiNjgzLTI0YzYtNDAzNi04ZjcyLTA0NzQwNjQyNWMyZFwiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NDg6MDJcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2ODg4Mn0.rUfkhVurokfK8beaFd9G0rrbD0y4qMnjK7Il4oo89mc"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.02s 41 db5008d6-7279-4817-8325-9640894613f2 0 退出登录 2025-12-04 21:48:18.903191 2025-12-04 21:48:18.903194 1 1 -1 /api/v1/system/auth/login POST username: test1_1\npassword: 123456\ncaptcha: 5\ncaptcha_key: 7790d6f3cf0541788bd494581647d7a8\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0MV8xXCIsXCJzZXNzaW9uX2lkXCI6XCI5OWFjNThlNy0xYWY1LTRiN2UtOWY1ZS04M2NkMGFmN2FjOGVcIixcInVzZXJfaWRcIjo0LFwidXNlcl9uYW1lXCI6XCJ0ZXN0MV8xXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NDg6MjZcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2ODkwNn0.Q4jhiKcrC21ScXEFSHUlHjtTQjVCI8sUF6VPgcI0N5I","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0MV8xXCIsXCJzZXNzaW9uX2lkXCI6XCI5OWFjNThlNy0xYWY1LTRiN2UtOWY1ZS04M2NkMGFmN2FjOGVcIixcInVzZXJfaWRcIjo0LFwidXNlcl9uYW1lXCI6XCJ0ZXN0MV8xXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NDg6MjZcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6dHJ1ZSwiZXhwIjoxODAxMTcyOTA2fQ.Ug7LmD5eekiIk0VXJkOcVBD-a2MXc5Al5ixNqFyLYeo","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.37s 42 06af859b-e0ce-41da-8971-ff0d58c1126d 0 登录 2025-12-04 21:48:26.651428 2025-12-04 21:48:26.65143 \N \N -2 /api/v1/gencode/demo/create POST {"body": {"name": "test101", "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建示例成功","data":{"created_id":4,"created_by":{"id":4,"name":"test1_1","username":"test1_1"},"updated_id":4,"updated_by":{"id":4,"name":"test1_1","username":"test1_1"},"id":5,"uuid":"2d02f458-3b78-4e6b-a619-403b406d21f6","status":"0","description":null,"created_time":"2025-12-04 21:49:09","updated_time":"2025-12-04 21:49:09","name":"test101"},"status_code":200,"success":true} 0.06s 43 a2cac2e3-bba4-45c6-b9a4-75e346c282c3 0 创建示例 2025-12-04 21:49:09.241275 2025-12-04 21:49:09.24128 4 4 -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0MV8xXCIsXCJzZXNzaW9uX2lkXCI6XCI5OWFjNThlNy0xYWY1LTRiN2UtOWY1ZS04M2NkMGFmN2FjOGVcIixcInVzZXJfaWRcIjo0LFwidXNlcl9uYW1lXCI6XCJ0ZXN0MV8xXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NDg6MjZcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2ODkwNn0.Q4jhiKcrC21ScXEFSHUlHjtTQjVCI8sUF6VPgcI0N5I"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.06s 44 21863ed1-1e5b-40a2-8aea-572c86c15e4b 0 退出登录 2025-12-04 21:49:15.651918 2025-12-04 21:49:15.651921 4 4 -1 /api/v1/system/auth/login POST username: test1_2\npassword: 123456\ncaptcha: 4\ncaptcha_key: 0f5c0189446043bb98cb3bc552394d63\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0MV8yXCIsXCJzZXNzaW9uX2lkXCI6XCI2Mzg1ZjcyOS0wMmQzLTQwMGEtOTM3Zi1kM2MwMDI2ODIyMDBcIixcInVzZXJfaWRcIjo1LFwidXNlcl9uYW1lXCI6XCJ0ZXN0MV8yXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NDk6MjRcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2ODk2NH0.uzcIsT1lsYoAjOF-y_R5042PxcHbqgSFQcq9qNK2-bA","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0MV8yXCIsXCJzZXNzaW9uX2lkXCI6XCI2Mzg1ZjcyOS0wMmQzLTQwMGEtOTM3Zi1kM2MwMDI2ODIyMDBcIixcInVzZXJfaWRcIjo1LFwidXNlcl9uYW1lXCI6XCJ0ZXN0MV8yXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NDk6MjRcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6dHJ1ZSwiZXhwIjoxODAxMTcyOTY0fQ.CreFJrFQepC1E84oK0fAsirXHv-OSaxuQVRtAT08atk","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.36s 45 55747dc9-b08b-420a-8cb4-a71977d3e0d4 0 登录 2025-12-04 21:49:24.102945 2025-12-04 21:49:24.102947 \N \N -2 /api/v1/gencode/demo/create POST {"body": {"name": "test102", "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建示例成功","data":{"created_id":5,"created_by":{"id":5,"name":"test1_2","username":"test1_2"},"updated_id":5,"updated_by":{"id":5,"name":"test1_2","username":"test1_2"},"id":6,"uuid":"82437f97-65c0-4c9f-8d49-822e1e3010e9","status":"0","description":null,"created_time":"2025-12-04 21:49:39","updated_time":"2025-12-04 21:49:39","name":"test102"},"status_code":200,"success":true} 0.05s 46 d75efc27-cf0f-49a3-ac7c-e0042b616bb1 0 创建示例 2025-12-04 21:49:39.165303 2025-12-04 21:49:39.165306 5 5 -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0MV8yXCIsXCJzZXNzaW9uX2lkXCI6XCI2Mzg1ZjcyOS0wMmQzLTQwMGEtOTM3Zi1kM2MwMDI2ODIyMDBcIixcInVzZXJfaWRcIjo1LFwidXNlcl9uYW1lXCI6XCJ0ZXN0MV8yXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NDk6MjRcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2ODk2NH0.uzcIsT1lsYoAjOF-y_R5042PxcHbqgSFQcq9qNK2-bA"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.11s 47 cdb1fcd5-42d5-438c-b908-144739ab51e1 0 退出登录 2025-12-04 21:49:51.551167 2025-12-04 21:49:51.55117 5 5 -1 /api/v1/system/auth/login POST username: test2_1\npassword: 123456\ncaptcha: 14\ncaptcha_key: f79f0693646b4243bef28d4efe3b333d\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0Ml8xXCIsXCJzZXNzaW9uX2lkXCI6XCJiZjRlMDJmZi0wNWVkLTRlMTktYjljYy04MmJlZGNiZGRlYjdcIixcInVzZXJfaWRcIjo2LFwidXNlcl9uYW1lXCI6XCJ0ZXN0Ml8xXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NTA6MDFcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2OTAwMX0.f-9jgxcefzidrLC66O04eLawnodxSDeWy8Vnz6qEqYE","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0Ml8xXCIsXCJzZXNzaW9uX2lkXCI6XCJiZjRlMDJmZi0wNWVkLTRlMTktYjljYy04MmJlZGNiZGRlYjdcIixcInVzZXJfaWRcIjo2LFwidXNlcl9uYW1lXCI6XCJ0ZXN0Ml8xXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NTA6MDFcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6dHJ1ZSwiZXhwIjoxODAxMTczMDAxfQ.m3WqA_NKMa-YX79pVmdi4v4ro7RIvcczQ8pvmW5zYRk","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.37s 48 846f148b-e96d-4035-8002-c1c746c54fd8 0 登录 2025-12-04 21:50:01.797413 2025-12-04 21:50:01.797414 \N \N -2 /api/v1/gencode/demo/create POST {"body": {"name": "test201", "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建示例成功","data":{"created_id":6,"created_by":{"id":6,"name":"test2_1","username":"test2_1"},"updated_id":6,"updated_by":{"id":6,"name":"test2_1","username":"test2_1"},"id":7,"uuid":"b450605a-354c-4345-ae9c-4296454da490","status":"0","description":null,"created_time":"2025-12-04 21:50:19","updated_time":"2025-12-04 21:50:19","name":"test201"},"status_code":200,"success":true} 0.06s 49 11412102-d69a-4421-8272-710989f5ac0f 0 创建示例 2025-12-04 21:50:19.014998 2025-12-04 21:50:19.015001 6 6 -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0Ml8xXCIsXCJzZXNzaW9uX2lkXCI6XCJiZjRlMDJmZi0wNWVkLTRlMTktYjljYy04MmJlZGNiZGRlYjdcIixcInVzZXJfaWRcIjo2LFwidXNlcl9uYW1lXCI6XCJ0ZXN0Ml8xXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NTA6MDFcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2OTAwMX0.f-9jgxcefzidrLC66O04eLawnodxSDeWy8Vnz6qEqYE"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.04s 50 0706ea9b-0af6-4073-ac0b-01aab7b0efbd 0 退出登录 2025-12-04 21:50:25.249621 2025-12-04 21:50:25.249623 6 6 -1 /api/v1/system/auth/login POST username: test2_2\npassword: 123456\ncaptcha: 11\ncaptcha_key: 312109b36ac241dd98c386ddb33f6226\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0Ml8yXCIsXCJzZXNzaW9uX2lkXCI6XCI5YTY3MGY3Ny1jNTdmLTQ5MjgtOTIzOS04NTVlY2Y2MDI3ZTJcIixcInVzZXJfaWRcIjo3LFwidXNlcl9uYW1lXCI6XCJ0ZXN0Ml8yXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NTA6MzZcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2OTAzNn0.5U2ARspgghnE4Dd_7ehdTeu3xJB_AMCC_0XcaV4mN1U","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0Ml8yXCIsXCJzZXNzaW9uX2lkXCI6XCI5YTY3MGY3Ny1jNTdmLTQ5MjgtOTIzOS04NTVlY2Y2MDI3ZTJcIixcInVzZXJfaWRcIjo3LFwidXNlcl9uYW1lXCI6XCJ0ZXN0Ml8yXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NTA6MzZcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6dHJ1ZSwiZXhwIjoxODAxMTczMDM2fQ.HR7EqqgrViRGfED44XKFRGwx8xpUXfg2Cz1GvtPPmoA","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.36s 51 a442b273-d710-4fdc-9c4b-99c425071608 0 登录 2025-12-04 21:50:36.156628 2025-12-04 21:50:36.15663 \N \N -2 /api/v1/gencode/demo/create POST {"body": {"name": "test202", "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建示例成功","data":{"created_id":7,"created_by":{"id":7,"name":"test2_2","username":"test2_2"},"updated_id":7,"updated_by":{"id":7,"name":"test2_2","username":"test2_2"},"id":8,"uuid":"6a340642-aca6-478a-9b8b-16b7f238e16c","status":"0","description":null,"created_time":"2025-12-04 21:50:50","updated_time":"2025-12-04 21:50:50","name":"test202"},"status_code":200,"success":true} 0.05s 52 4113d68f-8a8b-4fde-99f6-370e48630c36 0 创建示例 2025-12-04 21:50:50.110721 2025-12-04 21:50:50.110723 7 7 -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJ0ZXN0Ml8yXCIsXCJzZXNzaW9uX2lkXCI6XCI5YTY3MGY3Ny1jNTdmLTQ5MjgtOTIzOS04NTVlY2Y2MDI3ZTJcIixcInVzZXJfaWRcIjo3LFwidXNlcl9uYW1lXCI6XCJ0ZXN0Ml8yXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NTA6MzZcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2OTAzNn0.5U2ARspgghnE4Dd_7ehdTeu3xJB_AMCC_0XcaV4mN1U"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.05s 53 65fc50c9-68bb-4d63-ac5b-5ed5b7735fb3 0 退出登录 2025-12-04 21:51:06.52789 2025-12-04 21:51:06.527893 7 7 -1 /api/v1/system/auth/login POST username: admin\npassword: 123456\ncaptcha: 10\ncaptcha_key: 910c7f2fabed4ddc927e53d3ca41ac2d\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcIjY4YjZiY2JjLTU5ODItNGI4ZC1iMTlhLWIzMDEwOTg4ODFkM1wiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NTE6MTFcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2OTA3MX0.SjvHPXMlw2GowjGWP8HN7hQiIgWCLR7Oy0Kpchk_zys","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcIjY4YjZiY2JjLTU5ODItNGI4ZC1iMTlhLWIzMDEwOTg4ODFkM1wiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NTE6MTFcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6dHJ1ZSwiZXhwIjoxODAxMTczMDcxfQ.FjNZ4t67G7HocpRacUOAsV6ypWIvLhMMkK1wMN0Lpd0","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.33s 54 7e239c11-92b5-493c-8445-3bf54c0c9a94 0 登录 2025-12-04 21:51:11.349045 2025-12-04 21:51:11.349047 \N \N -2 /api/v1/system/user/update/3 PUT 请求参数过长 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"修改用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":3,"uuid":"4c2b0473-3130-4c4d-bebf-94412ea05c7e","status":"0","description":null,"created_time":"2025-12-04 21:41:18","updated_time":"2025-12-04 21:52:23","name":"test2","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test2","password":"$2b$12$xxPwKicABhRAuiJU.neSzOY0PSiICk5furaZQFt4GgJlgjj2lDeHq","is_superuser":false,"dept_id":3,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:47:37","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":3,"name":"test2"},"positions":[],"roles":[{"id":4,"uuid":"6a229f0d-7dcb-4b66-9054-987e3c1dfe5d","status":"0","description":null,"created_time":"2025-12-04 21:23:30","updated_time":"2025-12-04 21:29:59","name":"本部门数据","code":"DEPT","order":1,"data_scope":2,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.45s 55 0fb1c74b-c93c-4a3d-bd39-e50fac166f58 0 修改用户 2025-12-04 21:52:23.486735 2025-12-04 21:52:23.486737 1 1 -2 /api/v1/system/user/update/3 PUT 请求参数过长 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"修改用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":3,"uuid":"4c2b0473-3130-4c4d-bebf-94412ea05c7e","status":"0","description":null,"created_time":"2025-12-04 21:41:18","updated_time":"2025-12-04 21:52:52","name":"本部门数据","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test2","password":"$2b$12$WvoRI/AmXl.gdvcP.GE9BuRTYYHpQIhFXZ2NTYi6z/3TUCNvZJ0Ou","is_superuser":false,"dept_id":3,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:47:37","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":3,"name":"test2"},"positions":[],"roles":[{"id":4,"uuid":"6a229f0d-7dcb-4b66-9054-987e3c1dfe5d","status":"0","description":null,"created_time":"2025-12-04 21:23:30","updated_time":"2025-12-04 21:29:59","name":"本部门数据","code":"DEPT","order":1,"data_scope":2,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.45s 56 0ca52a4e-4201-45c4-bd60-f0373c0274e8 0 修改用户 2025-12-04 21:52:52.147187 2025-12-04 21:52:52.14719 1 1 -2 /api/v1/system/user/update/2 PUT 请求参数过长 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"修改用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":2,"uuid":"3ad9aac5-c7e8-49dd-8bc0-ba42660dfa29","status":"0","description":null,"created_time":"2025-12-03 23:24:32","updated_time":"2025-12-04 21:53:21","name":"本部门及以下","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1","password":"$2b$12$zNj1mG8Kwfc83TP78lpXPOp4WKILKMEk30fdlW/n7nPfd.C7lAth.","is_superuser":false,"dept_id":2,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:47:00","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":2,"name":"test1"},"positions":[],"roles":[{"id":5,"uuid":"b419c2ef-af62-4d93-80e5-4afb24be9289","status":"0","description":null,"created_time":"2025-12-04 21:23:50","updated_time":"2025-12-04 21:30:14","name":"本部门及以下","code":"ALL_DEPT","order":1,"data_scope":3,"menus":[{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.44s 57 24ff50cb-e471-4050-8191-1faaf6e30b3b 0 修改用户 2025-12-04 21:53:21.820549 2025-12-04 21:53:21.820551 1 1 -2 /api/v1/system/user/update/5 PUT 请求参数过长 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"修改用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":5,"uuid":"b730fcb1-2cff-472c-9809-a4167313e6fb","status":"0","description":null,"created_time":"2025-12-04 21:44:44","updated_time":"2025-12-04 21:54:05","name":"test1_2","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1_2","password":"$2b$12$SDKygdnC.zRYOsWkISOBye/Nu82FJnBzjZlV5AQKFFkpIoIeigqMK","is_superuser":false,"dept_id":5,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:49:24","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":5,"name":"test1_2"},"positions":[],"roles":[{"id":2,"uuid":"242f44f5-6faf-4245-aac7-482630ddb6f7","status":"0","description":null,"created_time":"2025-12-04 21:22:35","updated_time":"2025-12-04 21:29:46","name":"仅个人数据","code":"MINE","order":1,"data_scope":1,"menus":[{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.44s 58 ff3688f7-ca00-46dd-99c6-276a2119e281 0 修改用户 2025-12-04 21:54:05.162402 2025-12-04 21:54:05.162407 1 1 -2 /api/v1/system/user/update/5 PUT 请求参数过长 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"修改用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":5,"uuid":"b730fcb1-2cff-472c-9809-a4167313e6fb","status":"0","description":null,"created_time":"2025-12-04 21:44:44","updated_time":"2025-12-04 21:54:15","name":"仅个人","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1_2","password":"$2b$12$AcDzjk74xdQwfQFf2rbAeeFhmqezt6xetRBalsgJEqMd8pcJcZ/s6","is_superuser":false,"dept_id":5,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:49:24","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":5,"name":"test1_2"},"positions":[],"roles":[{"id":2,"uuid":"242f44f5-6faf-4245-aac7-482630ddb6f7","status":"0","description":null,"created_time":"2025-12-04 21:22:35","updated_time":"2025-12-04 21:29:46","name":"仅个人数据","code":"MINE","order":1,"data_scope":1,"menus":[{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.46s 59 a0536b5f-d1d3-4e09-a273-5c273494784f 0 修改用户 2025-12-04 21:54:15.193675 2025-12-04 21:54:15.193677 1 1 -2 /api/v1/system/user/update/6 PUT 请求参数过长 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"修改用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":6,"uuid":"46f2a531-af05-423f-a504-cee642327336","status":"0","description":null,"created_time":"2025-12-04 21:46:20","updated_time":"2025-12-04 21:55:37","name":"自定义102","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test2_1","password":"$2b$12$pINs3SFXdC3qqu6NiM8Yr.P54ITt1LUMrZ1tljdPpjhwhwK65oQ06","is_superuser":false,"dept_id":7,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:50:01","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":7,"name":"test2_1"},"positions":[],"roles":[{"id":6,"uuid":"96f6a404-d6b0-4a46-b6fa-5cbd56e42739","status":"0","description":null,"created_time":"2025-12-04 21:32:02","updated_time":"2025-12-04 21:32:35","name":"自定义数据","code":"ZIDINGYI","order":1,"data_scope":5,"menus":[{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null}],"depts":[{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.45s 60 43404166-5f24-4cf4-8887-504ec82d52b5 0 修改用户 2025-12-04 21:55:37.143858 2025-12-04 21:55:37.143861 1 1 -2 /api/v1/system/user/update/4 PUT 请求参数过长 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"修改用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":4,"uuid":"0164b4be-69e8-437e-9b37-87727eae3964","status":"0","description":null,"created_time":"2025-12-04 21:41:51","updated_time":"2025-12-04 21:56:47","name":"全部数据","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1_1","password":"$2b$12$LtnJLJi9JP7QcIag70cIxOmkvdIFyZQFNOTbfTZtkBXITSYjmkF7C","is_superuser":false,"dept_id":4,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:48:26","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":4,"name":"test1_1"},"positions":[],"roles":[{"id":3,"uuid":"91131798-462f-498a-a4c8-e2df5f8ebdb6","status":"0","description":null,"created_time":"2025-12-04 21:23:11","updated_time":"2025-12-04 21:30:37","name":"全部数据","code":"ALL","order":1,"data_scope":4,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.52s 61 75959b65-05aa-4a44-a436-05ca7d4646a9 0 修改用户 2025-12-04 21:56:47.579065 2025-12-04 21:56:47.579069 1 1 -2 /api/v1/system/user/update/4 PUT 请求参数过长 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"修改用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":4,"uuid":"0164b4be-69e8-437e-9b37-87727eae3964","status":"0","description":null,"created_time":"2025-12-04 21:41:51","updated_time":"2025-12-04 21:58:06","name":"全部数据","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1_1","password":"$2b$12$vi1piWtcFTJ8IpcbFgGnIOdd/Ab9hGTHxD2jtVDHVQpiFd758BagG","is_superuser":false,"dept_id":4,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:48:26","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":4,"name":"test1_1"},"positions":[],"roles":[{"id":3,"uuid":"91131798-462f-498a-a4c8-e2df5f8ebdb6","status":"0","description":null,"created_time":"2025-12-04 21:23:11","updated_time":"2025-12-04 21:30:37","name":"全部数据","code":"ALL","order":1,"data_scope":4,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.64s 64 cde08641-c508-484c-91b7-3d6ffecb5067 0 修改用户 2025-12-04 21:58:06.450395 2025-12-04 21:58:06.4504 1 1 -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcIjY4YjZiY2JjLTU5ODItNGI4ZC1iMTlhLWIzMDEwOTg4ODFkM1wiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NTE6MTFcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2OTA3MX0.SjvHPXMlw2GowjGWP8HN7hQiIgWCLR7Oy0Kpchk_zys"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.03s 62 fa51d7bb-ddba-4f12-8cc8-e518112ec325 0 退出登录 2025-12-04 21:57:00.324043 2025-12-04 21:57:00.324046 1 1 -1 /api/v1/system/auth/login POST username: admin\npassword: 123456\ncaptcha: 5\ncaptcha_key: 434a3102aeee4253a36cc5b1f03666b0\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcIjYwMTk3NGIwLTUwM2MtNGM1ZS05NmY5LTU5YzRkMTA2YzQ3M1wiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NTc6MzFcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2OTQ1MX0.2-Ptz87wxGbBLi8E-b3kiGOv0vJZ9LX9LP4Do9LY-aA","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcIjYwMTk3NGIwLTUwM2MtNGM1ZS05NmY5LTU5YzRkMTA2YzQ3M1wiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NTc6MzFcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6dHJ1ZSwiZXhwIjoxODAxMTczNDUxfQ.DxhLmq7vS0dsLy4itsPRg1XrnX0THWeZpSM-DDJMWNc","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.32s 63 8692b024-1619-49c1-9ce6-a6658dae84bc 0 登录 2025-12-04 21:57:31.138762 2025-12-04 21:57:31.138764 \N \N -2 /api/v1/system/user/reset/password PUT {"body": {"id": 4, "password": "123456"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"重置密码成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":4,"uuid":"0164b4be-69e8-437e-9b37-87727eae3964","status":"0","description":null,"created_time":"2025-12-04 21:41:51","updated_time":"2025-12-04 22:02:06","name":"全部数据","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1_1","password":"$2b$12$M/KNhjFGMdr0nm0HmZm7JeEc3eb8PZKkX1WCgsqZq.z0Gju6J7UG6","is_superuser":false,"dept_id":4,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:48:26","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":4,"name":"test1_1"},"positions":[],"roles":[{"id":3,"uuid":"91131798-462f-498a-a4c8-e2df5f8ebdb6","status":"0","description":null,"created_time":"2025-12-04 21:23:11","updated_time":"2025-12-04 21:30:37","name":"全部数据","code":"ALL","order":1,"data_scope":4,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.49s 65 5fe11ef0-074d-4e1d-acc0-d7eb4b7e7ab1 0 重置密码 2025-12-04 22:02:06.769181 2025-12-04 22:02:06.769186 1 1 -2 /api/v1/system/user/reset/password PUT {"body": {"id": 6, "password": "123456"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"重置密码成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":6,"uuid":"46f2a531-af05-423f-a504-cee642327336","status":"0","description":null,"created_time":"2025-12-04 21:46:20","updated_time":"2025-12-04 22:02:10","name":"自定义102","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test2_1","password":"$2b$12$QaSuhXtbd32TclDQX.sle.rW2ByUM36ld0t46psEEbYKRIFLiZxWu","is_superuser":false,"dept_id":7,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:50:01","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":7,"name":"test2_1"},"positions":[],"roles":[{"id":6,"uuid":"96f6a404-d6b0-4a46-b6fa-5cbd56e42739","status":"0","description":null,"created_time":"2025-12-04 21:32:02","updated_time":"2025-12-04 21:32:35","name":"自定义数据","code":"ZIDINGYI","order":1,"data_scope":5,"menus":[{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null}],"depts":[{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.40s 66 ccda49c8-8498-4a1f-9b8d-6413e5e4cef6 0 重置密码 2025-12-04 22:02:10.501869 2025-12-04 22:02:10.501871 1 1 -2 /api/v1/system/user/reset/password PUT {"body": {"id": 5, "password": "123456"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"重置密码成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":5,"uuid":"b730fcb1-2cff-472c-9809-a4167313e6fb","status":"0","description":null,"created_time":"2025-12-04 21:44:44","updated_time":"2025-12-04 22:02:15","name":"仅个人","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1_2","password":"$2b$12$ZW6BK1WCEepwRgevC/.9n.TnSwsftYa9tYOiWpiuUEIcFE045Z5ma","is_superuser":false,"dept_id":5,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:49:24","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":5,"name":"test1_2"},"positions":[],"roles":[{"id":2,"uuid":"242f44f5-6faf-4245-aac7-482630ddb6f7","status":"0","description":null,"created_time":"2025-12-04 21:22:35","updated_time":"2025-12-04 21:29:46","name":"仅个人数据","code":"MINE","order":1,"data_scope":1,"menus":[{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.38s 67 9136b4aa-0ee4-4e30-af44-69ef73f305a0 0 重置密码 2025-12-04 22:02:15.737263 2025-12-04 22:02:15.73727 1 1 -2 /api/v1/system/user/reset/password PUT {"body": {"id": 2, "password": "123456"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"重置密码成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":2,"uuid":"3ad9aac5-c7e8-49dd-8bc0-ba42660dfa29","status":"0","description":null,"created_time":"2025-12-03 23:24:32","updated_time":"2025-12-04 22:02:19","name":"本部门及以下","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1","password":"$2b$12$GnAIyhOri8fJjgoCLRUTVOovW6bfIXLdRPh0YYE5RcV3bKdJgVz1S","is_superuser":false,"dept_id":2,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:47:00","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":2,"name":"test1"},"positions":[],"roles":[{"id":5,"uuid":"b419c2ef-af62-4d93-80e5-4afb24be9289","status":"0","description":null,"created_time":"2025-12-04 21:23:50","updated_time":"2025-12-04 21:30:14","name":"本部门及以下","code":"ALL_DEPT","order":1,"data_scope":3,"menus":[{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.38s 68 ff185f8b-ec97-4bb0-bf15-e25f7f6fb721 0 重置密码 2025-12-04 22:02:19.077285 2025-12-04 22:02:19.077288 1 1 -2 /api/v1/system/user/reset/password PUT {"body": {"id": 3, "password": "123456"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"重置密码成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":3,"uuid":"4c2b0473-3130-4c4d-bebf-94412ea05c7e","status":"0","description":null,"created_time":"2025-12-04 21:41:18","updated_time":"2025-12-04 22:02:22","name":"本部门数据","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test2","password":"$2b$12$VF1IjpXM1/Y604M4QE509OqtVHbTaEBkmPO0WfWxEqzm1gdveDBNi","is_superuser":false,"dept_id":3,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:47:37","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":3,"name":"test2"},"positions":[],"roles":[{"id":4,"uuid":"6a229f0d-7dcb-4b66-9054-987e3c1dfe5d","status":"0","description":null,"created_time":"2025-12-04 21:23:30","updated_time":"2025-12-04 21:29:59","name":"本部门数据","code":"DEPT","order":1,"data_scope":2,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.36s 69 0fe0fabc-54bc-4d8b-bfa4-cf967a3ab5a8 0 重置密码 2025-12-04 22:02:22.771204 2025-12-04 22:02:22.77121 1 1 -2 /api/v1/system/user/reset/password PUT {"body": {"id": 7, "password": "123456"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"重置密码成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":7,"uuid":"da0c4cec-c428-4347-ba67-ec6b1878fc2c","status":"0","description":null,"created_time":"2025-12-04 21:46:42","updated_time":"2025-12-04 22:02:26","name":"test2_2","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test2_2","password":"$2b$12$7VjR260GghaKx1BOczedTumXlsdab1iCSt4SiySCwUniAY8XcxAZu","is_superuser":false,"dept_id":6,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:50:36","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":6,"name":"test2_2"},"positions":[],"roles":[{"id":3,"uuid":"91131798-462f-498a-a4c8-e2df5f8ebdb6","status":"0","description":null,"created_time":"2025-12-04 21:23:11","updated_time":"2025-12-04 21:30:37","name":"全部数据","code":"ALL","order":1,"data_scope":4,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.38s 70 f0dc22e8-cd51-4bb7-b44f-8ba213b682c6 0 重置密码 2025-12-04 22:02:26.549021 2025-12-04 22:02:26.549024 1 1 -2 /api/v1/system/user/update/7 PUT 请求参数过长 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"修改用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":7,"uuid":"da0c4cec-c428-4347-ba67-ec6b1878fc2c","status":"0","description":null,"created_time":"2025-12-04 21:46:42","updated_time":"2025-12-04 22:02:26","name":"test2_2","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test2_2","password":"$2b$12$7VjR260GghaKx1BOczedTumXlsdab1iCSt4SiySCwUniAY8XcxAZu","is_superuser":false,"dept_id":6,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:50:36","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":6,"name":"test2_2"},"positions":[],"roles":[{"id":3,"uuid":"91131798-462f-498a-a4c8-e2df5f8ebdb6","status":"0","description":null,"created_time":"2025-12-04 21:23:11","updated_time":"2025-12-04 21:30:37","name":"全部数据","code":"ALL","order":1,"data_scope":4,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.25s 71 a6f94673-8e80-4064-b872-8d927b8945c2 0 修改用户 2025-12-04 22:02:38.245465 2025-12-04 22:02:38.245468 1 1 -2 /api/v1/system/user/update/3 PUT 请求参数过长 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"修改用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":3,"uuid":"4c2b0473-3130-4c4d-bebf-94412ea05c7e","status":"0","description":null,"created_time":"2025-12-04 21:41:18","updated_time":"2025-12-04 22:02:22","name":"本部门数据","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test2","password":"$2b$12$VF1IjpXM1/Y604M4QE509OqtVHbTaEBkmPO0WfWxEqzm1gdveDBNi","is_superuser":false,"dept_id":3,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:47:37","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":3,"name":"test2"},"positions":[],"roles":[{"id":4,"uuid":"6a229f0d-7dcb-4b66-9054-987e3c1dfe5d","status":"0","description":null,"created_time":"2025-12-04 21:23:30","updated_time":"2025-12-04 21:29:59","name":"本部门数据","code":"DEPT","order":1,"data_scope":2,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.19s 72 47b45aff-6bd7-4e40-8631-20fa650944d5 0 修改用户 2025-12-04 22:02:41.636772 2025-12-04 22:02:41.636776 1 1 -2 /api/v1/system/user/update/2 PUT 请求参数过长 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"修改用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":2,"uuid":"3ad9aac5-c7e8-49dd-8bc0-ba42660dfa29","status":"0","description":null,"created_time":"2025-12-03 23:24:32","updated_time":"2025-12-04 22:02:19","name":"本部门及以下","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1","password":"$2b$12$GnAIyhOri8fJjgoCLRUTVOovW6bfIXLdRPh0YYE5RcV3bKdJgVz1S","is_superuser":false,"dept_id":2,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:47:00","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":2,"name":"test1"},"positions":[],"roles":[{"id":5,"uuid":"b419c2ef-af62-4d93-80e5-4afb24be9289","status":"0","description":null,"created_time":"2025-12-04 21:23:50","updated_time":"2025-12-04 21:30:14","name":"本部门及以下","code":"ALL_DEPT","order":1,"data_scope":3,"menus":[{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.19s 73 b40f3fe8-0331-4bf6-a49e-bd11405e5801 0 修改用户 2025-12-04 22:02:44.93788 2025-12-04 22:02:44.937883 1 1 -2 /api/v1/system/user/update/5 PUT 请求参数过长 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"修改用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":5,"uuid":"b730fcb1-2cff-472c-9809-a4167313e6fb","status":"0","description":null,"created_time":"2025-12-04 21:44:44","updated_time":"2025-12-04 22:02:15","name":"仅个人","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1_2","password":"$2b$12$ZW6BK1WCEepwRgevC/.9n.TnSwsftYa9tYOiWpiuUEIcFE045Z5ma","is_superuser":false,"dept_id":5,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:49:24","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":5,"name":"test1_2"},"positions":[],"roles":[{"id":2,"uuid":"242f44f5-6faf-4245-aac7-482630ddb6f7","status":"0","description":null,"created_time":"2025-12-04 21:22:35","updated_time":"2025-12-04 21:29:46","name":"仅个人数据","code":"MINE","order":1,"data_scope":1,"menus":[{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.20s 74 fa3fab6e-3fbc-409c-9088-8e04590de519 0 修改用户 2025-12-04 22:02:47.792483 2025-12-04 22:02:47.792486 1 1 -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcImM4YjZjMjUwLWY2ODQtNGNhNi1iMDcyLTlkMGM5MDYwY2IyYlwiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDU6MjBcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2OTkyMH0.9eMvBVxsZyPyKep6UGgnTwqOMds8clxJe4dqpXfMauA"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.02s 86 32ac18ee-6c90-44e6-9d7c-15ad8181509e 0 退出登录 2025-12-04 22:06:33.040341 2025-12-04 22:06:33.040343 1 1 -2 /api/v1/system/user/update/6 PUT 请求参数过长 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"修改用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":6,"uuid":"46f2a531-af05-423f-a504-cee642327336","status":"0","description":null,"created_time":"2025-12-04 21:46:20","updated_time":"2025-12-04 22:02:10","name":"自定义102","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test2_1","password":"$2b$12$QaSuhXtbd32TclDQX.sle.rW2ByUM36ld0t46psEEbYKRIFLiZxWu","is_superuser":false,"dept_id":7,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:50:01","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":7,"name":"test2_1"},"positions":[],"roles":[{"id":6,"uuid":"96f6a404-d6b0-4a46-b6fa-5cbd56e42739","status":"0","description":null,"created_time":"2025-12-04 21:32:02","updated_time":"2025-12-04 21:32:35","name":"自定义数据","code":"ZIDINGYI","order":1,"data_scope":5,"menus":[{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null}],"depts":[{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.19s 75 0e81ebdb-de0e-43df-b74b-c65c1e6c7494 0 修改用户 2025-12-04 22:02:50.810443 2025-12-04 22:02:50.810446 1 1 -2 /api/v1/system/user/update/4 PUT 请求参数过长 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"修改用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":4,"uuid":"0164b4be-69e8-437e-9b37-87727eae3964","status":"0","description":null,"created_time":"2025-12-04 21:41:51","updated_time":"2025-12-04 22:02:06","name":"全部数据","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test1_1","password":"$2b$12$M/KNhjFGMdr0nm0HmZm7JeEc3eb8PZKkX1WCgsqZq.z0Gju6J7UG6","is_superuser":false,"dept_id":4,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:48:26","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":4,"name":"test1_1"},"positions":[],"roles":[{"id":3,"uuid":"91131798-462f-498a-a4c8-e2df5f8ebdb6","status":"0","description":null,"created_time":"2025-12-04 21:23:11","updated_time":"2025-12-04 21:30:37","name":"全部数据","code":"ALL","order":1,"data_scope":4,"menus":[{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null}],"depts":[{"id":1,"uuid":"8b0a0481-23fd-45b6-bb77-44090af2db2d","status":"0","description":"集团总公司","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"集团总公司","order":1,"code":"GROUP","leader":"部门负责人","phone":"1582112620","email":"deptadmin@example.com","parent_id":null,"parent_name":null},{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":3,"uuid":"e765168f-6ade-4c5d-9c3f-7ba94cce5ade","status":"0","description":null,"created_time":"2025-12-04 21:16:35","updated_time":"2025-12-04 21:16:35","name":"test2","order":1,"code":"test2","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null},{"id":4,"uuid":"0e9b15e1-acaa-4de6-974e-f59154ed7dde","status":"0","description":null,"created_time":"2025-12-04 21:16:46","updated_time":"2025-12-04 21:16:46","name":"test1_1","order":1,"code":"test1_1","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":5,"uuid":"07ef4871-5f55-49f0-87f0-1a9b28017c5c","status":"0","description":null,"created_time":"2025-12-04 21:17:23","updated_time":"2025-12-04 21:17:23","name":"test1_2","order":1,"code":"test1_2","leader":null,"phone":null,"email":null,"parent_id":2,"parent_name":null},{"id":6,"uuid":"8a640047-7c0f-42ef-84a1-0ec7d994d5ce","status":"0","description":null,"created_time":"2025-12-04 21:17:36","updated_time":"2025-12-04 21:17:36","name":"test2_2","order":1,"code":"test2_2","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null},{"id":7,"uuid":"fee2602e-77ff-406b-8151-9774f3d99a07","status":"0","description":null,"created_time":"2025-12-04 21:17:46","updated_time":"2025-12-04 21:17:46","name":"test2_1","order":1,"code":"test2_1","leader":null,"phone":null,"email":null,"parent_id":3,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.19s 76 9c728169-7558-446f-ae89-39b6cdcaf93e 0 修改用户 2025-12-04 22:02:53.607789 2025-12-04 22:02:53.607793 1 1 -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcIjYwMTk3NGIwLTUwM2MtNGM1ZS05NmY5LTU5YzRkMTA2YzQ3M1wiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTM6NTc6MzFcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2OTQ1MX0.2-Ptz87wxGbBLi8E-b3kiGOv0vJZ9LX9LP4Do9LY-aA"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.03s 77 9e14e900-1b30-4c04-85a2-fd3c77ae2c33 0 退出登录 2025-12-04 22:03:10.233995 2025-12-04 22:03:10.233998 1 1 -1 /api/v1/system/auth/login POST username: test1_2\npassword: 123456\ncaptcha: 16\ncaptcha_key: 8d069de2446441b38f1b2bee3fcf83e4\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTRlYzVcdTRlMmFcdTRlYmFcIixcInNlc3Npb25faWRcIjpcImUwM2JlNjRmLTUyOTUtNGY5MC04NjQ2LTk2M2ZiODgwMDY0NVwiLFwidXNlcl9pZFwiOjUsXCJ1c2VyX25hbWVcIjpcInRlc3QxXzJcIixcImlwYWRkclwiOlwiMTI3LjAuMC4xXCIsXCJsb2dpbl9sb2NhdGlvblwiOlwiXHU1MTg1XHU3ZjUxSVBcIixcIm9zXCI6XCJNYWMgT1MgWFwiLFwiYnJvd3NlclwiOlwiRWRnZVwiLFwibG9naW5fdGltZVwiOlwiMjAyNS0xMi0wNCAxNDowMzoyMVwiLFwibG9naW5fdHlwZVwiOlwiUENcdTdhZWZcIn0iLCJpc19yZWZyZXNoIjpmYWxzZSwiZXhwIjoxNzcwMDY5ODAxfQ.wE4kAD1waqi5gczR02xTV61O_pzm20dlcsgaIo8j3qg","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTRlYzVcdTRlMmFcdTRlYmFcIixcInNlc3Npb25faWRcIjpcImUwM2JlNjRmLTUyOTUtNGY5MC04NjQ2LTk2M2ZiODgwMDY0NVwiLFwidXNlcl9pZFwiOjUsXCJ1c2VyX25hbWVcIjpcInRlc3QxXzJcIixcImlwYWRkclwiOlwiMTI3LjAuMC4xXCIsXCJsb2dpbl9sb2NhdGlvblwiOlwiXHU1MTg1XHU3ZjUxSVBcIixcIm9zXCI6XCJNYWMgT1MgWFwiLFwiYnJvd3NlclwiOlwiRWRnZVwiLFwibG9naW5fdGltZVwiOlwiMjAyNS0xMi0wNCAxNDowMzoyMVwiLFwibG9naW5fdHlwZVwiOlwiUENcdTdhZWZcIn0iLCJpc19yZWZyZXNoIjp0cnVlLCJleHAiOjE4MDExNzM4MDF9.FxuWycWCX7Hj3itYp4vgszKmFcSA0pnkMo-gbFjoWmc","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.39s 78 a42241ac-6992-4795-ac68-781495b96c21 0 登录 2025-12-04 22:03:21.875713 2025-12-04 22:03:21.875719 \N \N -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTRlYzVcdTRlMmFcdTRlYmFcIixcInNlc3Npb25faWRcIjpcImUwM2JlNjRmLTUyOTUtNGY5MC04NjQ2LTk2M2ZiODgwMDY0NVwiLFwidXNlcl9pZFwiOjUsXCJ1c2VyX25hbWVcIjpcInRlc3QxXzJcIixcImlwYWRkclwiOlwiMTI3LjAuMC4xXCIsXCJsb2dpbl9sb2NhdGlvblwiOlwiXHU1MTg1XHU3ZjUxSVBcIixcIm9zXCI6XCJNYWMgT1MgWFwiLFwiYnJvd3NlclwiOlwiRWRnZVwiLFwibG9naW5fdGltZVwiOlwiMjAyNS0xMi0wNCAxNDowMzoyMVwiLFwibG9naW5fdHlwZVwiOlwiUENcdTdhZWZcIn0iLCJpc19yZWZyZXNoIjpmYWxzZSwiZXhwIjoxNzcwMDY5ODAxfQ.wE4kAD1waqi5gczR02xTV61O_pzm20dlcsgaIo8j3qg"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.04s 79 57b315b5-b94b-46ee-bfd7-a6ab93c932e0 0 退出登录 2025-12-04 22:03:33.460658 2025-12-04 22:03:33.46066 5 5 -1 /api/v1/system/auth/login POST username: admin\npassword: 123456\ncaptcha: 2\ncaptcha_key: 6c6867b50a454644920ee6610d5d5148\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcIjExOTU0NzQ4LWU0YmQtNGY0Zi1hNTQzLWU4M2U4NTM2YTZhOVwiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDM6MzhcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2OTgxOH0.ElvUIf5kV5gBVPI3_aH_8u4WVhpS0T2eBsDiyNZN44M","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcIjExOTU0NzQ4LWU0YmQtNGY0Zi1hNTQzLWU4M2U4NTM2YTZhOVwiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDM6MzhcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6dHJ1ZSwiZXhwIjoxODAxMTczODE4fQ.OtCIjAZydPF4qdl4z09bf_ibz7EJBTj1WbcnGTyUIqc","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.31s 80 c687c39e-cde8-4366-a86d-051718016c82 0 登录 2025-12-04 22:03:38.094421 2025-12-04 22:03:38.094423 \N \N -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcIjExOTU0NzQ4LWU0YmQtNGY0Zi1hNTQzLWU4M2U4NTM2YTZhOVwiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDM6MzhcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2OTgxOH0.ElvUIf5kV5gBVPI3_aH_8u4WVhpS0T2eBsDiyNZN44M"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.02s 81 092e5601-b4af-4136-ace7-dbf1eb6ac8cd 0 退出登录 2025-12-04 22:03:58.742496 2025-12-04 22:03:58.742498 1 1 -1 /api/v1/system/auth/login POST username: test2\npassword: 123456\ncaptcha: 15\ncaptcha_key: 64d58cb49c3c44c0937b6ac0cb6b932c\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTY3MmNcdTkwZThcdTk1ZThcdTY1NzBcdTYzNmVcIixcInNlc3Npb25faWRcIjpcImYyZTUzOWI5LTc2M2ItNDIzMS1iYTRhLWExMThhOTEyZTM2N1wiLFwidXNlcl9pZFwiOjMsXCJ1c2VyX25hbWVcIjpcInRlc3QyXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDQ6MDRcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2OTg0NH0.c4rueCEkXIOlwstfcxxRaeDzQQ6EwH_1x128Wv0CMxM","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTY3MmNcdTkwZThcdTk1ZThcdTY1NzBcdTYzNmVcIixcInNlc3Npb25faWRcIjpcImYyZTUzOWI5LTc2M2ItNDIzMS1iYTRhLWExMThhOTEyZTM2N1wiLFwidXNlcl9pZFwiOjMsXCJ1c2VyX25hbWVcIjpcInRlc3QyXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDQ6MDRcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6dHJ1ZSwiZXhwIjoxODAxMTczODQ0fQ.wEeTX7zjbkGWvaNrSBK1nMCBxVcTaPBGzN5VwXjAGEw","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.37s 82 b684375b-f387-4f78-b595-786270e53849 0 登录 2025-12-04 22:04:04.660549 2025-12-04 22:04:04.660552 \N \N -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTY3MmNcdTkwZThcdTk1ZThcdTY1NzBcdTYzNmVcIixcInNlc3Npb25faWRcIjpcImYyZTUzOWI5LTc2M2ItNDIzMS1iYTRhLWExMThhOTEyZTM2N1wiLFwidXNlcl9pZFwiOjMsXCJ1c2VyX25hbWVcIjpcInRlc3QyXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDQ6MDRcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2OTg0NH0.c4rueCEkXIOlwstfcxxRaeDzQQ6EwH_1x128Wv0CMxM"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.06s 83 d300cdd0-9b15-486c-9401-97a5b82ca8c8 0 退出登录 2025-12-04 22:05:12.650778 2025-12-04 22:05:12.650782 3 3 -1 /api/v1/system/auth/login POST username: admin\npassword: 123456\ncaptcha: 5\ncaptcha_key: cb7059b126c642709230b732263bcb13\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcImM4YjZjMjUwLWY2ODQtNGNhNi1iMDcyLTlkMGM5MDYwY2IyYlwiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDU6MjBcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA2OTkyMH0.9eMvBVxsZyPyKep6UGgnTwqOMds8clxJe4dqpXfMauA","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcImM4YjZjMjUwLWY2ODQtNGNhNi1iMDcyLTlkMGM5MDYwY2IyYlwiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDU6MjBcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6dHJ1ZSwiZXhwIjoxODAxMTczOTIwfQ.LfdYrQNopsdfCMfb1uQycvv-CAe_NH_HkZ6MbMcFX2k","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.31s 84 3571c67d-48ee-4a8a-8889-b34f4dcb1656 0 登录 2025-12-04 22:05:20.535673 2025-12-04 22:05:20.535679 \N \N -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcIjZiOTM3YWFjLTRjN2YtNGIzNC1hZDE3LWNmMTMyNTVkY2RmNlwiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDc6MjNcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA3MDA0M30.JE5Ed32a6ERCy2Rsn-RNW48Lr24BuQ5Zhncg8YVBW00"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.03s 93 3584cc0a-692e-45f9-975a-259276560d50 0 退出登录 2025-12-04 22:08:06.987687 2025-12-04 22:08:06.987694 1 1 -1 /api/v1/system/auth/login POST username: test1\npassword: 123456\ncaptcha: 6\ncaptcha_key: 9a6882b23e804bf0affdce9011a03c8e\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTY3MmNcdTkwZThcdTk1ZThcdTUzY2FcdTRlZTVcdTRlMGJcIixcInNlc3Npb25faWRcIjpcImUwN2I3Y2JkLThhOGMtNDJiZC04ZDcxLWY1M2M4YmMwZjAwMFwiLFwidXNlcl9pZFwiOjIsXCJ1c2VyX25hbWVcIjpcInRlc3QxXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDg6MTVcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA3MDA5NX0.vjWnIUN0vpO95EjKOXQG8gmYc2JFUmCu4mzjAlDhgno","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTY3MmNcdTkwZThcdTk1ZThcdTUzY2FcdTRlZTVcdTRlMGJcIixcInNlc3Npb25faWRcIjpcImUwN2I3Y2JkLThhOGMtNDJiZC04ZDcxLWY1M2M4YmMwZjAwMFwiLFwidXNlcl9pZFwiOjIsXCJ1c2VyX25hbWVcIjpcInRlc3QxXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDg6MTVcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6dHJ1ZSwiZXhwIjoxODAxMTc0MDk1fQ.sZ17BVKJUjA_5JhB8j0q165ZImK2W2RTRQqm1pkLcWU","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.39s 94 6569502e-d9cc-49e8-9010-f888573234d9 0 登录 2025-12-04 22:08:15.373939 2025-12-04 22:08:15.373941 \N \N -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTY3MmNcdTkwZThcdTk1ZThcdTUzY2FcdTRlZTVcdTRlMGJcIixcInNlc3Npb25faWRcIjpcImUwN2I3Y2JkLThhOGMtNDJiZC04ZDcxLWY1M2M4YmMwZjAwMFwiLFwidXNlcl9pZFwiOjIsXCJ1c2VyX25hbWVcIjpcInRlc3QxXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDg6MTVcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA3MDA5NX0.vjWnIUN0vpO95EjKOXQG8gmYc2JFUmCu4mzjAlDhgno"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.07s 95 16259d76-f23d-4d80-901b-7c751644193e 0 退出登录 2025-12-04 22:08:27.419686 2025-12-04 22:08:27.419689 2 2 -1 /api/v1/system/auth/login POST username: test22\npassword: 123456\ncaptcha: 3\ncaptcha_key: 181a8232308649a8a7bf469cda0b68a2\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTY3MmNcdTkwZThcdTk1ZThcdTY1NzBcdTYzNmUyXCIsXCJzZXNzaW9uX2lkXCI6XCIwZTkyMWVjNi0zNzA3LTRmOTgtODA2MC0yNzdmNmFhMjY2MGRcIixcInVzZXJfaWRcIjo4LFwidXNlcl9uYW1lXCI6XCJ0ZXN0MjJcIixcImlwYWRkclwiOlwiMTI3LjAuMC4xXCIsXCJsb2dpbl9sb2NhdGlvblwiOlwiXHU1MTg1XHU3ZjUxSVBcIixcIm9zXCI6XCJNYWMgT1MgWFwiLFwiYnJvd3NlclwiOlwiRWRnZVwiLFwibG9naW5fdGltZVwiOlwiMjAyNS0xMi0wNCAxNDowNjozN1wiLFwibG9naW5fdHlwZVwiOlwiUENcdTdhZWZcIn0iLCJpc19yZWZyZXNoIjpmYWxzZSwiZXhwIjoxNzcwMDY5OTk3fQ.uNWYal0j-tzgZvG1utd23EeMldbJ93yYGidRMnNiAhc","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTY3MmNcdTkwZThcdTk1ZThcdTY1NzBcdTYzNmUyXCIsXCJzZXNzaW9uX2lkXCI6XCIwZTkyMWVjNi0zNzA3LTRmOTgtODA2MC0yNzdmNmFhMjY2MGRcIixcInVzZXJfaWRcIjo4LFwidXNlcl9uYW1lXCI6XCJ0ZXN0MjJcIixcImlwYWRkclwiOlwiMTI3LjAuMC4xXCIsXCJsb2dpbl9sb2NhdGlvblwiOlwiXHU1MTg1XHU3ZjUxSVBcIixcIm9zXCI6XCJNYWMgT1MgWFwiLFwiYnJvd3NlclwiOlwiRWRnZVwiLFwibG9naW5fdGltZVwiOlwiMjAyNS0xMi0wNCAxNDowNjozN1wiLFwibG9naW5fdHlwZVwiOlwiUENcdTdhZWZcIn0iLCJpc19yZWZyZXNoIjp0cnVlLCJleHAiOjE4MDExNzM5OTd9.6fNBjeOy_XOTgwCCR73aiLQxkJkBpOLqDzFz6jHlTug","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.42s 87 9d46d498-613f-4011-b430-1066f84e397f 0 登录 2025-12-04 22:06:37.735517 2025-12-04 22:06:37.735519 \N \N -2 /api/v1/gencode/demo/create POST {"body": {"name": "test22", "status": "0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"创建示例成功","data":{"created_id":8,"created_by":{"id":8,"name":"本部门数据2","username":"test22"},"updated_id":8,"updated_by":{"id":8,"name":"本部门数据2","username":"test22"},"id":9,"uuid":"f20abab2-39bb-4797-8d42-d46707b80c26","status":"0","description":null,"created_time":"2025-12-04 22:06:49","updated_time":"2025-12-04 22:06:49","name":"test22"},"status_code":200,"success":true} 0.06s 88 f829b7fd-0a85-4f53-9e8a-ebce4d2358f3 0 创建示例 2025-12-04 22:06:49.462366 2025-12-04 22:06:49.462369 8 8 -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTY3MmNcdTkwZThcdTk1ZThcdTY1NzBcdTYzNmUyXCIsXCJzZXNzaW9uX2lkXCI6XCIwZTkyMWVjNi0zNzA3LTRmOTgtODA2MC0yNzdmNmFhMjY2MGRcIixcInVzZXJfaWRcIjo4LFwidXNlcl9uYW1lXCI6XCJ0ZXN0MjJcIixcImlwYWRkclwiOlwiMTI3LjAuMC4xXCIsXCJsb2dpbl9sb2NhdGlvblwiOlwiXHU1MTg1XHU3ZjUxSVBcIixcIm9zXCI6XCJNYWMgT1MgWFwiLFwiYnJvd3NlclwiOlwiRWRnZVwiLFwibG9naW5fdGltZVwiOlwiMjAyNS0xMi0wNCAxNDowNjozN1wiLFwibG9naW5fdHlwZVwiOlwiUENcdTdhZWZcIn0iLCJpc19yZWZyZXNoIjpmYWxzZSwiZXhwIjoxNzcwMDY5OTk3fQ.uNWYal0j-tzgZvG1utd23EeMldbJ93yYGidRMnNiAhc"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.04s 89 b0620f41-1461-49a5-9f76-fb574e4274c7 0 退出登录 2025-12-04 22:07:02.269242 2025-12-04 22:07:02.269244 8 8 -1 /api/v1/system/auth/login POST username: test2\npassword: 123456\ncaptcha: 4\ncaptcha_key: 149511ab75e440a6aefb0e9c28195f5a\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTY3MmNcdTkwZThcdTk1ZThcdTY1NzBcdTYzNmVcIixcInNlc3Npb25faWRcIjpcImRjNTdlZDAyLTZlNWUtNDNmMi1hMWU5LWNjYWEyM2QxYTZiY1wiLFwidXNlcl9pZFwiOjMsXCJ1c2VyX25hbWVcIjpcInRlc3QyXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDc6MTBcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA3MDAzMH0.APwqFnfR-js6TSqSwIYOqX2fjIYj0pX-hq1_eCMcKfs","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTY3MmNcdTkwZThcdTk1ZThcdTY1NzBcdTYzNmVcIixcInNlc3Npb25faWRcIjpcImRjNTdlZDAyLTZlNWUtNDNmMi1hMWU5LWNjYWEyM2QxYTZiY1wiLFwidXNlcl9pZFwiOjMsXCJ1c2VyX25hbWVcIjpcInRlc3QyXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDc6MTBcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6dHJ1ZSwiZXhwIjoxODAxMTc0MDMwfQ.nd7K6kSW0kJBy-xk2a5Nr3aP_vuKikCAsajyjSSPrKs","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.37s 90 e040d153-f77e-4173-b697-17558836e6a5 0 登录 2025-12-04 22:07:10.926981 2025-12-04 22:07:10.926987 \N \N -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTY3MmNcdTkwZThcdTk1ZThcdTY1NzBcdTYzNmVcIixcInNlc3Npb25faWRcIjpcImRjNTdlZDAyLTZlNWUtNDNmMi1hMWU5LWNjYWEyM2QxYTZiY1wiLFwidXNlcl9pZFwiOjMsXCJ1c2VyX25hbWVcIjpcInRlc3QyXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDc6MTBcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA3MDAzMH0.APwqFnfR-js6TSqSwIYOqX2fjIYj0pX-hq1_eCMcKfs"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.06s 91 601ca8ed-8529-4fd8-9eaa-c50925066181 0 退出登录 2025-12-04 22:07:18.866271 2025-12-04 22:07:18.866274 3 3 -1 /api/v1/system/auth/login POST username: admin\npassword: 123456\ncaptcha: 3\ncaptcha_key: 8a2da5da65d840459d0c178e2cfcbcce\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcIjZiOTM3YWFjLTRjN2YtNGIzNC1hZDE3LWNmMTMyNTVkY2RmNlwiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDc6MjNcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA3MDA0M30.JE5Ed32a6ERCy2Rsn-RNW48Lr24BuQ5Zhncg8YVBW00","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcIjZiOTM3YWFjLTRjN2YtNGIzNC1hZDE3LWNmMTMyNTVkY2RmNlwiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDc6MjNcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6dHJ1ZSwiZXhwIjoxODAxMTc0MDQzfQ.5CfK5pRIi6eIoK5rIvyrW47XgZo4S4h51mMmQaiKCZc","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.30s 92 df2aab64-2271-42fb-975f-b4e460a182b5 0 登录 2025-12-04 22:07:23.098292 2025-12-04 22:07:23.098294 \N \N -1 /api/v1/system/auth/login POST username: test1_1\npassword: 123456\ncaptcha: 7\ncaptcha_key: 2335327deb8b499983b2d2480fae4c15\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTUxNjhcdTkwZThcdTY1NzBcdTYzNmVcIixcInNlc3Npb25faWRcIjpcIjY1MWEyZGMwLTFjNWMtNDU5OC1hZmUxLTRhMGQ0NDgxYzFjYVwiLFwidXNlcl9pZFwiOjQsXCJ1c2VyX25hbWVcIjpcInRlc3QxXzFcIixcImlwYWRkclwiOlwiMTI3LjAuMC4xXCIsXCJsb2dpbl9sb2NhdGlvblwiOlwiXHU1MTg1XHU3ZjUxSVBcIixcIm9zXCI6XCJNYWMgT1MgWFwiLFwiYnJvd3NlclwiOlwiRWRnZVwiLFwibG9naW5fdGltZVwiOlwiMjAyNS0xMi0wNCAxNDowODozOFwiLFwibG9naW5fdHlwZVwiOlwiUENcdTdhZWZcIn0iLCJpc19yZWZyZXNoIjpmYWxzZSwiZXhwIjoxNzcwMDcwMTE4fQ.aBYXU5VtOzHQ9ROpMZAke_HFBxexY07yM59WQ7yEt7A","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTUxNjhcdTkwZThcdTY1NzBcdTYzNmVcIixcInNlc3Npb25faWRcIjpcIjY1MWEyZGMwLTFjNWMtNDU5OC1hZmUxLTRhMGQ0NDgxYzFjYVwiLFwidXNlcl9pZFwiOjQsXCJ1c2VyX25hbWVcIjpcInRlc3QxXzFcIixcImlwYWRkclwiOlwiMTI3LjAuMC4xXCIsXCJsb2dpbl9sb2NhdGlvblwiOlwiXHU1MTg1XHU3ZjUxSVBcIixcIm9zXCI6XCJNYWMgT1MgWFwiLFwiYnJvd3NlclwiOlwiRWRnZVwiLFwibG9naW5fdGltZVwiOlwiMjAyNS0xMi0wNCAxNDowODozOFwiLFwibG9naW5fdHlwZVwiOlwiUENcdTdhZWZcIn0iLCJpc19yZWZyZXNoIjp0cnVlLCJleHAiOjE4MDExNzQxMTh9.ScsjeZPEqK7Lfq9XXpRVjl8IKA7Y01oPKF49_jsCs2Q","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.36s 96 89e174f7-9d3f-432a-88f7-b4bb8eb4842a 0 登录 2025-12-04 22:08:38.604704 2025-12-04 22:08:38.604706 \N \N -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTUxNjhcdTkwZThcdTY1NzBcdTYzNmVcIixcInNlc3Npb25faWRcIjpcIjY1MWEyZGMwLTFjNWMtNDU5OC1hZmUxLTRhMGQ0NDgxYzFjYVwiLFwidXNlcl9pZFwiOjQsXCJ1c2VyX25hbWVcIjpcInRlc3QxXzFcIixcImlwYWRkclwiOlwiMTI3LjAuMC4xXCIsXCJsb2dpbl9sb2NhdGlvblwiOlwiXHU1MTg1XHU3ZjUxSVBcIixcIm9zXCI6XCJNYWMgT1MgWFwiLFwiYnJvd3NlclwiOlwiRWRnZVwiLFwibG9naW5fdGltZVwiOlwiMjAyNS0xMi0wNCAxNDowODozOFwiLFwibG9naW5fdHlwZVwiOlwiUENcdTdhZWZcIn0iLCJpc19yZWZyZXNoIjpmYWxzZSwiZXhwIjoxNzcwMDcwMTE4fQ.aBYXU5VtOzHQ9ROpMZAke_HFBxexY07yM59WQ7yEt7A"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.05s 97 11a3111c-eeeb-4c1c-a98c-e379e62860e0 0 退出登录 2025-12-04 22:08:59.947727 2025-12-04 22:08:59.94773 4 4 -1 /api/v1/system/auth/login POST username: admin\npassword: 123456\ncaptcha: 16\ncaptcha_key: 0fb09d52d04e424c98df878499108983\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcImI1ZTMzMmFmLWRhMTctNGU4NS1iMGE5LTNkYzI5YzViNjIxY1wiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDk6MDhcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA3MDE0OH0.oEjEQrmg5UwlvRBJwSvmsPI8HZR3voEYkPeUj_eE9q0","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcImI1ZTMzMmFmLWRhMTctNGU4NS1iMGE5LTNkYzI5YzViNjIxY1wiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDk6MDhcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6dHJ1ZSwiZXhwIjoxODAxMTc0MTQ4fQ.zkjo3YJpjomvxwl91UQfk4zTIdCmrg0UELxODfMekuY","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.35s 98 e926846f-16d1-41f0-82d7-9fbe246a4fff 0 登录 2025-12-04 22:09:08.054737 2025-12-04 22:09:08.05474 \N \N -2 /api/v1/system/role/permission/setting PATCH {"body": {"role_ids": [6], "menu_ids": [7, 29, 106, 107, 108, 109, 110, 111, 112], "data_scope": 5, "dept_ids": [2]}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"授权角色成功","data":null,"status_code":200,"success":true} 0.11s 99 2d5a8486-7b50-4893-a3af-583397e94c70 0 角色授权 2025-12-04 22:10:03.401169 2025-12-04 22:10:03.401172 1 1 -2 /api/v1/system/user/update/6 PUT 请求参数过长 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"修改用户成功","data":{"created_id":1,"created_by":{"id":1,"name":"超级管理员","username":"admin"},"updated_id":1,"updated_by":{"id":1,"name":"超级管理员","username":"admin"},"id":6,"uuid":"46f2a531-af05-423f-a504-cee642327336","status":"0","description":null,"created_time":"2025-12-04 21:46:20","updated_time":"2025-12-04 22:10:33","name":"自定义1","mobile":null,"email":null,"gender":"2","avatar":null,"username":"test2_1","password":"$2b$12$QaSuhXtbd32TclDQX.sle.rW2ByUM36ld0t46psEEbYKRIFLiZxWu","is_superuser":false,"dept_id":7,"role_ids":[],"position_ids":[],"last_login":"2025-12-04 13:50:01","gitee_login":null,"github_login":null,"wx_login":null,"qq_login":null,"dept_name":null,"dept":{"id":7,"name":"test2_1"},"positions":[],"roles":[{"id":6,"uuid":"96f6a404-d6b0-4a46-b6fa-5cbd56e42739","status":"0","description":null,"created_time":"2025-12-04 21:32:02","updated_time":"2025-12-04 22:10:03","name":"自定义数据","code":"ZIDINGYI","order":1,"data_scope":5,"menus":[{"id":106,"uuid":"0765e72d-cc91-49b9-bdc5-147868f00f1e","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"创建示例","type":3,"order":1,"permission":"module_gencode:demo:create","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"创建示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":29,"uuid":"73f4654d-16aa-404d-8319-043f4e237c70","status":"0","description":"示例管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"示例管理","type":2,"order":1,"permission":"module_gencode:demo:query","icon":"menu","route_name":"Demo","route_path":"/gencode/demo","component_path":"module_gencode/demo/index","redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"示例管理","params":null,"affix":false,"parent_id":7,"parent_name":null},{"id":107,"uuid":"0d9973c9-bf73-4f8a-a0c8-0b7477e955c5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"更新示例","type":3,"order":2,"permission":"module_gencode:demo:update","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"更新示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":108,"uuid":"c10732c4-7d4d-4a18-b55a-e879915e7821","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"删除示例","type":3,"order":3,"permission":"module_gencode:demo:delete","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"删除示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":109,"uuid":"46a710af-cc8a-4c84-8628-cfecde988dd9","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"批量修改示例状态","type":3,"order":4,"permission":"module_gencode:demo:patch","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"批量修改示例状态","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":110,"uuid":"64ca18eb-01c8-492c-a828-2beae7805de5","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导出示例","type":3,"order":5,"permission":"module_gencode:demo:export","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导出示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":111,"uuid":"b83aa5af-9acc-43a8-874f-b5042ac10875","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"导入示例","type":3,"order":6,"permission":"module_gencode:demo:import","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"导入示例","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":112,"uuid":"9a32c6b9-705b-45f5-92d8-583d7dca1b96","status":"0","description":"初始化数据","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"下载导入示例模版","type":3,"order":7,"permission":"module_gencode:demo:download","icon":null,"route_name":null,"route_path":null,"component_path":null,"redirect":null,"hidden":false,"keep_alive":true,"always_show":false,"title":"下载导入示例模版","params":null,"affix":false,"parent_id":29,"parent_name":null},{"id":7,"uuid":"3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a","status":"0","description":"模块管理","created_time":"2025-12-03 23:23:58","updated_time":"2025-12-03 23:23:58","name":"模块管理","type":1,"order":7,"permission":null,"icon":"menu","route_name":"Gencode","route_path":"/gencode","component_path":null,"redirect":"/gencode/demo","hidden":false,"keep_alive":false,"always_show":false,"title":"模块管理","params":null,"affix":false,"parent_id":null,"parent_name":null}],"depts":[{"id":2,"uuid":"aa1ee42b-7369-49f6-badb-a3784f57bbfa","status":"0","description":null,"created_time":"2025-12-04 21:16:25","updated_time":"2025-12-04 21:16:25","name":"test1","order":1,"code":"test1","leader":null,"phone":null,"email":null,"parent_id":1,"parent_name":null}]}],"menus":[]},"status_code":200,"success":true} 0.22s 100 6dced810-ec9c-4314-986f-00c961ce2c40 0 修改用户 2025-12-04 22:10:33.430339 2025-12-04 22:10:33.430343 1 1 -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdThkODVcdTdlYTdcdTdiYTFcdTc0MDZcdTU0NThcIixcInNlc3Npb25faWRcIjpcImI1ZTMzMmFmLWRhMTctNGU4NS1iMGE5LTNkYzI5YzViNjIxY1wiLFwidXNlcl9pZFwiOjEsXCJ1c2VyX25hbWVcIjpcImFkbWluXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MDk6MDhcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA3MDE0OH0.oEjEQrmg5UwlvRBJwSvmsPI8HZR3voEYkPeUj_eE9q0"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.02s 101 c55730de-0dc7-434b-a9f3-0db0e01f1c09 0 退出登录 2025-12-04 22:10:40.037882 2025-12-04 22:10:40.037884 1 1 -1 /api/v1/system/auth/login POST username: test2_1\npassword: 123456\ncaptcha: 11\ncaptcha_key: 12c159ac8a1a4efd9b0486cb2516a659\nremember: true\nlogin_type: PC端 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"登录成功","data":{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTgxZWFcdTViOWFcdTRlNDkxXCIsXCJzZXNzaW9uX2lkXCI6XCI3YjgzNDUzNi01OGYzLTQ2MzktYjA4My1jY2M2YTI1YjQzMGJcIixcInVzZXJfaWRcIjo2LFwidXNlcl9uYW1lXCI6XCJ0ZXN0Ml8xXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MTA6NDVcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA3MDI0NX0.gBhS7Q2YYhOxlSS8sZBlrKu8gUaMn8OaWyUvRyQckCY","refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTgxZWFcdTViOWFcdTRlNDkxXCIsXCJzZXNzaW9uX2lkXCI6XCI3YjgzNDUzNi01OGYzLTQ2MzktYjA4My1jY2M2YTI1YjQzMGJcIixcInVzZXJfaWRcIjo2LFwidXNlcl9uYW1lXCI6XCJ0ZXN0Ml8xXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MTA6NDVcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6dHJ1ZSwiZXhwIjoxODAxMTc0MjQ1fQ.97R7iXDZmWOZaTmuW1N8v6L-hrQ-AjLOhwmGk7THGkY","token_type":"bearer","expires_in":5184000},"status_code":200,"success":true} 0.36s 102 08f22b12-7392-4c66-be49-ebf783d6f3d6 0 登录 2025-12-04 22:10:45.631242 2025-12-04 22:10:45.631244 \N \N -2 /api/v1/system/auth/logout POST {"body": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ7XCJuYW1lXCI6XCJcdTgxZWFcdTViOWFcdTRlNDkxXCIsXCJzZXNzaW9uX2lkXCI6XCI3YjgzNDUzNi01OGYzLTQ2MzktYjA4My1jY2M2YTI1YjQzMGJcIixcInVzZXJfaWRcIjo2LFwidXNlcl9uYW1lXCI6XCJ0ZXN0Ml8xXCIsXCJpcGFkZHJcIjpcIjEyNy4wLjAuMVwiLFwibG9naW5fbG9jYXRpb25cIjpcIlx1NTE4NVx1N2Y1MUlQXCIsXCJvc1wiOlwiTWFjIE9TIFhcIixcImJyb3dzZXJcIjpcIkVkZ2VcIixcImxvZ2luX3RpbWVcIjpcIjIwMjUtMTItMDQgMTQ6MTA6NDVcIixcImxvZ2luX3R5cGVcIjpcIlBDXHU3YWVmXCJ9IiwiaXNfcmVmcmVzaCI6ZmFsc2UsImV4cCI6MTc3MDA3MDI0NX0.gBhS7Q2YYhOxlSS8sZBlrKu8gUaMn8OaWyUvRyQckCY"}} 127.0.0.1 内网IP Mac OS X Edge 200 {"code":0,"msg":"退出成功","data":null,"status_code":200,"success":true} 0.04s 103 e1f4d6e1-825d-42e6-b67e-582bdd7af989 0 退出登录 2025-12-04 22:11:07.222027 2025-12-04 22:11:07.22203 6 6 -\. - - --- --- Data for Name: sys_menu; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.sys_menu (name, type, "order", permission, icon, route_name, route_path, component_path, redirect, hidden, keep_alive, always_show, title, params, affix, parent_id, id, uuid, status, description, created_time, updated_time) FROM stdin; -仪表盘 1 1 client Dashboard /dashboard \N /dashboard/workplace f t t 仪表盘 null f \N 1 3dd77516-9e2b-4f34-86e1-a6dc775d8b40 0 初始化数据 2025-12-03 23:23:58.803639 2025-12-03 23:23:58.803643 -系统管理 1 2 \N system System /system \N /system/menu f t f 系统管理 null f \N 2 4a6b04ae-4311-4b2e-8970-ea37c62d3751 0 初始化数据 2025-12-03 23:23:58.803647 2025-12-03 23:23:58.803648 -应用管理 1 3 \N el-icon-ShoppingBag Application /application \N /application/myapp f f f 应用管理 null f \N 3 8e21fcc8-2bbf-447c-9c6d-a2c5eafdbd5e 0 初始化数据 2025-12-03 23:23:58.803651 2025-12-03 23:23:58.803651 -监控管理 1 4 \N monitor Monitor /monitor \N /monitor/online f f f 监控管理 null f \N 4 7f4871de-352a-4950-9325-6af49f46c4c3 0 初始化数据 2025-12-03 23:23:58.803654 2025-12-03 23:23:58.803654 -代码管理 1 5 \N code Generator /generator \N /generator/gencode f f f 代码管理 null f \N 5 a75dc354-cbc9-4bed-97be-03ef91b6626b 0 代码管理 2025-12-03 23:23:58.803657 2025-12-03 23:23:58.803657 -接口管理 1 6 \N document Common /common \N /common/docs f f f 接口管理 null f \N 6 9f00a26f-97ee-43f2-889f-edf3f78e3954 0 初始化数据 2025-12-03 23:23:58.80366 2025-12-03 23:23:58.803661 -模块管理 1 7 \N menu Gencode /gencode \N /gencode/demo f f f 模块管理 null f \N 7 3a3e0c3f-7ffd-438b-b165-f0fa889f6a0a 0 模块管理 2025-12-03 23:23:58.803664 2025-12-03 23:23:58.803664 -工作台 2 1 dashboard:workplace:query el-icon-PieChart Workplace /dashboard/workplace dashboard/workplace \N f t f 工作台 null f 1 8 7b907334-cb97-4ccb-a82d-8d8f62a4f0ce 0 初始化数据 2025-12-03 23:23:58.80771 2025-12-03 23:23:58.807712 -菜单管理 2 1 module_system:menu:query menu Menu /system/menu module_system/menu/index \N f t f 菜单管理 null f 2 9 03d248ae-2c66-4d5a-b378-b8c69297f908 0 初始化数据 2025-12-03 23:23:58.807716 2025-12-03 23:23:58.807717 -部门管理 2 2 module_system:dept:query tree Dept /system/dept module_system/dept/index \N f t f 部门管理 null f 2 10 d5adb4e4-bb9f-4573-bcef-c41da3f9483f 0 初始化数据 2025-12-03 23:23:58.80772 2025-12-03 23:23:58.80772 -岗位管理 2 3 module_system:position:query el-icon-Coordinate Position /system/position module_system/position/index \N f t f 岗位管理 null f 2 11 63ecfb57-8fa1-4195-8154-2e46a8292bfa 0 初始化数据 2025-12-03 23:23:58.807723 2025-12-03 23:23:58.807723 -角色管理 2 4 module_system:role:query role Role /system/role module_system/role/index \N f t f 角色管理 null f 2 12 8c353e4d-db05-4b09-ae93-f0a7cca6b8ea 0 初始化数据 2025-12-03 23:23:58.807726 2025-12-03 23:23:58.807726 -用户管理 2 5 module_system:user:query el-icon-User User /system/user module_system/user/index \N f t f 用户管理 null f 2 13 5140f36e-60d0-49f1-89b5-4c7abfc7bda1 0 初始化数据 2025-12-03 23:23:58.807728 2025-12-03 23:23:58.807729 -日志管理 2 6 module_system:log:query el-icon-Aim Log /system/log module_system/log/index \N f t f 日志管理 null f 2 14 e6d102d7-a63e-4ff6-a4f4-cbb9b04053b9 0 初始化数据 2025-12-03 23:23:58.807731 2025-12-03 23:23:58.807732 -公告管理 2 7 module_system:notice:query bell Notice /system/notice module_system/notice/index \N f t f 公告管理 null f 2 15 e635b6d3-fed3-4da9-941a-5989eadb80ae 0 初始化数据 2025-12-03 23:23:58.807734 2025-12-03 23:23:58.807735 -参数管理 2 8 module_system:param:query setting Params /system/param module_system/param/index \N f t f 参数管理 null f 2 16 841ba259-e06d-4ad2-94fd-54ded653f96b 0 初始化数据 2025-12-03 23:23:58.807737 2025-12-03 23:23:58.807737 -字典管理 2 9 module_system:dict_type:query dict Dict /system/dict module_system/dict/index \N f t f 字典管理 null f 2 17 2e4a843f-cfd8-48cd-8465-de94d3735a54 0 初始化数据 2025-12-03 23:23:58.80774 2025-12-03 23:23:58.80774 -我的应用 2 1 module_application:myapp:query el-icon-ShoppingCartFull MYAPP /application/myapp module_application/myapp/index \N f t f 我的应用 null f 3 18 bc43d664-cd07-4c13-a634-2106590ed455 0 初始化数据 2025-12-03 23:23:58.807743 2025-12-03 23:23:58.807743 -任务管理 2 2 module_application:job:query el-icon-DataLine Job /application/job module_application/job/index \N f t f 任务管理 null f 3 19 b46d0101-88d5-49d2-9839-e4e5019de495 0 初始化数据 2025-12-03 23:23:58.807746 2025-12-03 23:23:58.807746 -AI智能助手 2 3 module_application:ai:chat el-icon-ToiletPaper AI /application/ai module_application/ai/index \N f t f AI智能助手 null f 3 20 4f45a110-89a4-421d-b977-aa0eefb26094 0 AI智能助手 2025-12-03 23:23:58.807748 2025-12-03 23:23:58.807749 -流程管理 2 4 module_application:workflow:query el-icon-ShoppingBag Workflow /application/workflow module_application/workflow/index \N f t f 我的流程 null f 3 21 d35b6cde-9472-4689-a9f8-69b34154f080 0 我的流程 2025-12-03 23:23:58.807751 2025-12-03 23:23:58.807752 -在线用户 2 1 module_monitor:online:query el-icon-Headset MonitorOnline /monitor/online module_monitor/online/index \N f f f 在线用户 null f 4 22 de046a76-d0ed-43b7-bf56-e88535a25e00 0 初始化数据 2025-12-03 23:23:58.807754 2025-12-03 23:23:58.807755 -服务器监控 2 2 module_monitor:server:query el-icon-Odometer MonitorServer /monitor/server module_monitor/server/index \N f f f 服务器监控 null f 4 23 f1c5eb19-6cd1-4cac-9c91-7dd3ba63794b 0 初始化数据 2025-12-03 23:23:58.807757 2025-12-03 23:23:58.807758 -缓存监控 2 3 module_monitor:cache:query el-icon-Stopwatch MonitorCache /monitor/cache module_monitor/cache/index \N f f f 缓存监控 null f 4 24 361cdc57-e239-4dec-9e04-5ea48ccfe93d 0 初始化数据 2025-12-03 23:23:58.80776 2025-12-03 23:23:58.807761 -文件管理 2 4 module_monitor:resource:query el-icon-Files Resource /monitor/resource module_monitor/resource/index \N f t f 文件管理 null f 4 25 04e1a5a1-56cd-4b03-8ba6-05fa04612b71 0 初始化数据 2025-12-03 23:23:58.807763 2025-12-03 23:23:58.807764 -代码生成 2 1 module_generator:gencode:query code GenCode /generator/gencode module_generator/gencode/index \N f t f 代码生成 null f 5 26 0ee66e61-2909-49d8-bbc9-d16ed4c20dbe 0 代码生成 2025-12-03 23:23:58.807766 2025-12-03 23:23:58.807766 -Swagger文档 4 1 module_common:docs:query api Docs /common/docs module_common/docs/index \N f f f Swagger文档 null f 6 27 277e7c9e-a6f0-4888-ae5d-5d2c7102be44 0 初始化数据 2025-12-03 23:23:58.807769 2025-12-03 23:23:58.807769 -Redoc文档 4 2 module_common:redoc:query el-icon-Document Redoc /common/redoc module_common/redoc/index \N f f f Redoc文档 null f 6 28 e686eb9e-7c01-4aac-bb48-47231acfb226 0 初始化数据 2025-12-03 23:23:58.807772 2025-12-03 23:23:58.807772 -示例管理 2 1 module_gencode:demo:query menu Demo /gencode/demo module_gencode/demo/index \N f t f 示例管理 null f 7 29 73f4654d-16aa-404d-8319-043f4e237c70 0 示例管理 2025-12-03 23:23:58.807775 2025-12-03 23:23:58.807775 -创建菜单 3 1 module_system:menu:create \N \N \N \N \N f t f 创建菜单 null f 9 30 67b6a22d-adb9-4c4b-8977-d25d74b8ffcb 0 初始化数据 2025-12-03 23:23:58.810893 2025-12-03 23:23:58.810894 -修改菜单 3 2 module_system:menu:update \N \N \N \N \N f t f 修改菜单 null f 9 31 36125a38-0e1e-434d-b272-43c886d3e00c 0 初始化数据 2025-12-03 23:23:58.810897 2025-12-03 23:23:58.810898 -删除菜单 3 3 module_system:menu:delete \N \N \N \N \N f t f 删除菜单 null f 9 32 70187dbe-d98b-4cdd-af3f-9fb493393418 0 初始化数据 2025-12-03 23:23:58.810901 2025-12-03 23:23:58.810901 -批量修改菜单状态 3 4 module_system:menu:patch \N \N \N \N \N f t f 批量修改菜单状态 null f 9 33 0c66e39f-9f00-4b5f-af22-4abbf9e7c5d7 0 初始化数据 2025-12-03 23:23:58.810904 2025-12-03 23:23:58.810904 -创建部门 3 1 module_system:dept:create \N \N \N \N \N f t f 创建部门 null f 10 34 c0dc880c-d19b-481d-a0a4-9b3bcc8df987 0 初始化数据 2025-12-03 23:23:58.810907 2025-12-03 23:23:58.810907 -修改部门 3 2 module_system:dept:update \N \N \N \N \N f t f 修改部门 null f 10 35 d2c912fa-61bb-44b4-8b3d-ffec7e122705 0 初始化数据 2025-12-03 23:23:58.81091 2025-12-03 23:23:58.810911 -删除部门 3 3 module_system:dept:delete \N \N \N \N \N f t f 删除部门 null f 10 36 4d36dbae-8d1c-4f5d-862a-3bf645260f9e 0 初始化数据 2025-12-03 23:23:58.810913 2025-12-03 23:23:58.810914 -批量修改部门状态 3 4 module_system:dept:patch \N \N \N \N \N f t f 批量修改部门状态 null f 10 37 3da971f2-95cf-4424-a433-f82e1a01d3cc 0 初始化数据 2025-12-03 23:23:58.810916 2025-12-03 23:23:58.810917 -创建岗位 3 1 module_system:position:create \N \N \N \N \N f t f 创建岗位 null f 11 38 43cfe7c5-5bd6-491f-9426-8dd3dae795f1 0 初始化数据 2025-12-03 23:23:58.810919 2025-12-03 23:23:58.81092 -修改岗位 3 2 module_system:position:update \N \N \N \N \N f t f 修改岗位 null f 11 39 5e0172b3-8c9b-4789-ad2e-33ce89fbe40f 0 初始化数据 2025-12-03 23:23:58.810922 2025-12-03 23:23:58.810923 -删除岗位 3 3 module_system:position:delete \N \N \N \N \N f t f 修改岗位 null f 11 40 eccc20a4-a332-4712-9eea-87e85c2ca110 0 初始化数据 2025-12-03 23:23:58.810925 2025-12-03 23:23:58.810926 -批量修改岗位状态 3 4 module_system:position:patch \N \N \N \N \N f t f 批量修改岗位状态 null f 11 41 338ca31f-39ee-4bc0-98ff-0fe762138720 0 初始化数据 2025-12-03 23:23:58.810928 2025-12-03 23:23:58.810929 -岗位导出 3 5 module_system:position:export \N \N \N \N \N f t f 岗位导出 null f 11 42 82f3d790-6678-42ba-88a4-4f35e795ff77 0 初始化数据 2025-12-03 23:23:58.810931 2025-12-03 23:23:58.810932 -设置角色权限 3 8 module_system:role:permission \N \N \N \N \N f t f 设置角色权限 null f 11 43 501781a7-4224-4a6f-81da-d103b5570d16 0 初始化数据 2025-12-03 23:23:58.810934 2025-12-03 23:23:58.810935 -创建角色 3 1 module_system:role:create \N \N \N \N \N f t f 创建角色 null f 12 44 8160d56c-9a38-4678-9cdc-6126189fdeeb 0 初始化数据 2025-12-03 23:23:58.810937 2025-12-03 23:23:58.810938 -修改角色 3 2 module_system:role:update \N \N \N \N \N f t f 修改角色 null f 12 45 3da00e69-bc16-4ce2-ab3c-97d6b859f791 0 初始化数据 2025-12-03 23:23:58.81094 2025-12-03 23:23:58.810941 -删除角色 3 3 module_system:role:delete \N \N \N \N \N f t f 删除角色 null f 12 46 8cc1d822-e060-4b3f-a133-c823291b95de 0 初始化数据 2025-12-03 23:23:58.810943 2025-12-03 23:23:58.810944 -批量修改角色状态 3 4 module_system:role:patch \N \N \N \N \N f t f 批量修改角色状态 null f 12 47 a2dad3ad-c1a6-4777-bcf0-4588931a076a 0 初始化数据 2025-12-03 23:23:58.810946 2025-12-03 23:23:58.810946 -角色导出 3 6 module_system:role:export \N \N \N \N \N f t f 角色导出 null f 12 48 eae60536-fb8d-45f3-bd64-b99daceaa4fb 0 初始化数据 2025-12-03 23:23:58.810949 2025-12-03 23:23:58.810949 -创建用户 3 1 module_system:user:create \N \N \N \N \N f t f 创建用户 null f 13 49 729e5612-2cc5-4028-b0ef-0bcc6b5181be 0 初始化数据 2025-12-03 23:23:58.810952 2025-12-03 23:23:58.810953 -修改用户 3 2 module_system:user:update \N \N \N \N \N f t f 修改用户 null f 13 50 0ad33c79-ffb6-41c7-96e6-19baf3262c9c 0 初始化数据 2025-12-03 23:23:58.810955 2025-12-03 23:23:58.810956 -删除用户 3 3 module_system:user:delete \N \N \N \N \N f t f 删除用户 null f 13 51 d29d3284-da9c-4fc9-a131-9a6f4ac49017 0 初始化数据 2025-12-03 23:23:58.810958 2025-12-03 23:23:58.810959 -批量修改用户状态 3 4 module_system:user:patch \N \N \N \N \N f t f 批量修改用户状态 null f 13 52 6dfd4aac-1846-4ddb-af52-13e5a62e309e 0 初始化数据 2025-12-03 23:23:58.810961 2025-12-03 23:23:58.810961 -导出用户 3 5 module_system:user:export \N \N \N \N \N f t f 导出用户 null f 13 53 1a1c6883-00aa-4faf-8199-eec67444d6a7 0 初始化数据 2025-12-03 23:23:58.810964 2025-12-03 23:23:58.810964 -导入用户 3 6 module_system:user:import \N \N \N \N \N f t f 导入用户 null f 13 54 2b0ae021-a36d-4c32-891a-13bcabcd255d 0 初始化数据 2025-12-03 23:23:58.810967 2025-12-03 23:23:58.810967 -日志删除 3 1 module_system:log:delete \N \N \N \N \N f t f 日志删除 null f 14 55 4d7e3572-ec3e-4bf9-984e-3cfc232f567e 0 初始化数据 2025-12-03 23:23:58.81097 2025-12-03 23:23:58.810971 -日志导出 3 2 module_system:log:export \N \N \N \N \N f t f 日志导出 null f 14 56 80c5d203-757b-4dfd-921b-759b2c145b70 0 初始化数据 2025-12-03 23:23:58.810973 2025-12-03 23:23:58.810973 -公告创建 3 1 module_system:notice:create \N \N \N \N \N f t f 公告创建 null f 15 57 35385f33-0ef6-4f7a-b277-086c6e02b5fc 0 初始化数据 2025-12-03 23:23:58.810976 2025-12-03 23:23:58.810976 -公告修改 3 2 module_system:notice:update \N \N \N \N \N f t f 修改用户 null f 15 58 4ae3c260-97e1-42f6-921b-725eda3bc0b5 0 初始化数据 2025-12-03 23:23:58.810979 2025-12-03 23:23:58.810979 -公告删除 3 3 module_system:notice:delete \N \N \N \N \N f t f 公告删除 null f 15 59 ceb36c4a-f330-4f52-be9f-74d8652a21c3 0 初始化数据 2025-12-03 23:23:58.810982 2025-12-03 23:23:58.810982 -公告导出 3 4 module_system:notice:export \N \N \N \N \N f t f 公告导出 null f 15 60 1d1775cd-91e2-43cc-b2f1-e72907e1dcf5 0 初始化数据 2025-12-03 23:23:58.810985 2025-12-03 23:23:58.810985 -公告批量修改状态 3 5 module_system:notice:patch \N \N \N \N \N f t f 公告批量修改状态 null f 15 61 1a0b7abe-6268-4a37-aa6c-a0b28b022ab9 0 初始化数据 2025-12-03 23:23:58.810988 2025-12-03 23:23:58.810988 -创建参数 3 1 module_system:param:create \N \N \N \N \N f t f 创建参数 null f 16 62 e709d5f5-d02b-47be-91a9-2b1baf8a66c0 0 初始化数据 2025-12-03 23:23:58.810991 2025-12-03 23:23:58.810991 -修改参数 3 2 module_system:param:update \N \N \N \N \N f t f 修改参数 null f 16 63 1cb1d892-d635-4153-b99a-12e083703f17 0 初始化数据 2025-12-03 23:23:58.810994 2025-12-03 23:23:58.810994 -删除参数 3 3 module_system:param:delete \N \N \N \N \N f t f 删除参数 null f 16 64 10850c4c-b5bd-4f38-ae27-3f328119051a 0 初始化数据 2025-12-03 23:23:58.810997 2025-12-03 23:23:58.810997 -导出参数 3 4 module_system:param:export \N \N \N \N \N f t f 导出参数 null f 16 65 53d9dccf-b40b-4516-a95d-082b6a1b26e5 0 初始化数据 2025-12-03 23:23:58.811 2025-12-03 23:23:58.811 -参数上传 3 5 module_system:param:upload \N \N \N \N \N f t f 参数上传 null f 16 66 c6b4e368-891e-41bd-98f5-7a3c3fd8581d 0 初始化数据 2025-12-03 23:23:58.811003 2025-12-03 23:23:58.811003 -创建字典类型 3 1 module_system:dict_type:create \N \N \N \N \N f t f 创建字典类型 null f 17 67 95d270e7-acad-452c-a081-acb7ff38fb98 0 初始化数据 2025-12-03 23:23:58.811005 2025-12-03 23:23:58.811006 -修改字典类型 3 2 module_system:dict_type:update \N \N \N \N \N f t f 修改字典类型 null f 17 68 b0b6c19a-7d93-457a-b384-6f7c487b1563 0 初始化数据 2025-12-03 23:23:58.811008 2025-12-03 23:23:58.811009 -删除字典类型 3 3 module_system:dict_type:delete \N \N \N \N \N f t f 删除字典类型 null f 17 69 208a6cf0-3f93-477c-9f36-cdbc68c64905 0 初始化数据 2025-12-03 23:23:58.811011 2025-12-03 23:23:58.811012 -导出字典类型 3 4 module_system:dict_type:export \N \N \N \N \N f t f 导出字典类型 null f 17 70 97d21ceb-107a-478c-b9a2-d8cdbe053032 0 初始化数据 2025-12-03 23:23:58.811014 2025-12-03 23:23:58.811015 -批量修改字典状态 3 5 module_system:dict_type:patch \N \N \N \N \N f t f 导出字典类型 null f 17 71 438f612c-d9a3-43d7-a251-7e077975717b 0 初始化数据 2025-12-03 23:23:58.811017 2025-12-03 23:23:58.811017 -字典数据查询 3 6 module_system:dict_data:query \N \N \N \N \N f t f 字典数据查询 null f 17 72 18e90646-1d7c-4ee0-8931-9849847c1262 0 初始化数据 2025-12-03 23:23:58.81102 2025-12-03 23:23:58.81102 -创建字典数据 3 7 module_system:dict_data:create \N \N \N \N \N f t f 创建字典数据 null f 17 73 54938b41-39dd-4be8-93f5-2657ce1fe163 0 初始化数据 2025-12-03 23:23:58.811023 2025-12-03 23:23:58.811023 -修改字典数据 3 8 module_system:dict_data:update \N \N \N \N \N f t f 修改字典数据 null f 17 74 b8b55835-47d6-4c3e-8fb4-a75fc26f2b01 0 初始化数据 2025-12-03 23:23:58.811026 2025-12-03 23:23:58.811026 -删除字典数据 3 9 module_system:dict_data:delete \N \N \N \N \N f t f 删除字典数据 null f 17 75 223c4dfb-c423-40ac-8bef-f23f4b3287c5 0 初始化数据 2025-12-03 23:23:58.811029 2025-12-03 23:23:58.811029 -导出字典数据 3 10 module_system:dict_data:export \N \N \N \N \N f t f 导出字典数据 null f 17 76 4725b3b4-9307-4c12-901b-8addc9dabb89 0 初始化数据 2025-12-03 23:23:58.811032 2025-12-03 23:23:58.811032 -批量修改字典数据状态 3 11 module_system:dict_data:patch \N \N \N \N \N f t f 批量修改字典数据状态 null f 17 77 412fa6ce-123b-4cf8-aecf-303a6b6f28bf 0 初始化数据 2025-12-03 23:23:58.811035 2025-12-03 23:23:58.811035 -创建应用 3 1 module_application:myapp:create \N \N \N \N \N f t f 创建应用 null f 18 78 c52c9499-b3f0-43c0-9956-6faaf9ddb2b0 0 初始化数据 2025-12-03 23:23:58.811038 2025-12-03 23:23:58.811038 -修改应用 3 2 module_application:myapp:update \N \N \N \N \N f t f 修改应用 null f 18 79 2828ec0e-f8eb-46f4-b8df-85257f67e040 0 初始化数据 2025-12-03 23:23:58.811041 2025-12-03 23:23:58.811041 -删除应用 3 3 module_application:myapp:delete \N \N \N \N \N f t f 删除应用 null f 18 80 aa3ade39-3e53-4680-acb8-886cae652c43 0 初始化数据 2025-12-03 23:23:58.811044 2025-12-03 23:23:58.811044 -批量修改应用状态 3 4 module_application:myapp:patch \N \N \N \N \N f t f 批量修改应用状态 null f 18 81 719f76b0-9c68-4568-8d3a-a78679c7973c 0 初始化数据 2025-12-03 23:23:58.811047 2025-12-03 23:23:58.811047 -创建任务 3 1 module_application:job:create \N \N \N \N \N f t f 创建任务 null f 19 82 0208ff70-b1d4-42ca-a0c5-7a2ec429c197 0 初始化数据 2025-12-03 23:23:58.81105 2025-12-03 23:23:58.81105 -修改和操作任务 3 2 module_application:job:update \N \N \N \N \N f t f 修改和操作任务 null f 19 83 0d2ab394-c6f1-46e0-9159-c6d8fd021eba 0 初始化数据 2025-12-03 23:23:58.811053 2025-12-03 23:23:58.811053 -删除和清除任务 3 3 module_application:job:delete \N \N \N \N \N f t f 删除和清除任务 null f 19 84 cb37719a-d6e6-4f76-a7da-08ab6af975cf 0 初始化数据 2025-12-03 23:23:58.811056 2025-12-03 23:23:58.811056 -导出定时任务 3 4 module_application:job:export \N \N \N \N \N f t f 导出定时任务 null f 19 85 ad74d994-f247-4315-8e47-9a2d0e3b37fc 0 初始化数据 2025-12-03 23:23:58.811059 2025-12-03 23:23:58.811059 -智能对话 3 1 module_application:ai:chat \N \N \N \N \N f t f 智能对话 null f 20 86 2f2dc701-9dc4-4a67-a1b2-dc79ac8d4688 0 智能对话 2025-12-03 23:23:58.811062 2025-12-03 23:23:58.811062 -在线用户强制下线 3 1 module_monitor:online:delete \N \N \N \N \N f f f 在线用户强制下线 null f 22 87 47bca5dd-c9ef-4fa5-a13a-9bd5edd10fdd 0 初始化数据 2025-12-03 23:23:58.811065 2025-12-03 23:23:58.811065 -清除缓存 3 1 module_monitor:cache:delete \N \N \N \N \N f f f 清除缓存 null f 24 88 a66c47cb-35b6-47da-98fc-bdd95cac1d13 0 初始化数据 2025-12-03 23:23:58.811067 2025-12-03 23:23:58.811068 -文件上传 3 1 module_monitor:resource:upload \N \N \N \N \N f t f 文件上传 null f 25 89 27112be6-014c-4f03-9e31-34db8f86c077 0 初始化数据 2025-12-03 23:23:58.81107 2025-12-03 23:23:58.811071 -文件下载 3 2 module_monitor:resource:download \N \N \N \N \N f t f 文件下载 null f 25 90 3f5e895a-7a09-47c8-877f-7d0d9279e796 0 初始化数据 2025-12-03 23:23:58.811073 2025-12-03 23:23:58.811074 -文件删除 3 3 module_monitor:resource:delete \N \N \N \N \N f t f 文件删除 null f 25 91 de8a3457-ffa3-4a0c-b019-4c4ddc739d20 0 初始化数据 2025-12-03 23:23:58.811076 2025-12-03 23:23:58.811077 -文件移动 3 4 module_monitor:resource:move \N \N \N \N \N f t f 文件移动 null f 25 92 1a583db4-906d-4f6a-b5a8-f06f8718f284 0 初始化数据 2025-12-03 23:23:58.811079 2025-12-03 23:23:58.81108 -文件复制 3 5 module_monitor:resource:copy \N \N \N \N \N f t f 文件复制 null f 25 93 41c7d0f1-c0e7-4366-8de4-790226ea4790 0 初始化数据 2025-12-03 23:23:58.811082 2025-12-03 23:23:58.811083 -文件重命名 3 6 module_monitor:resource:rename \N \N \N \N \N f t f 文件重命名 null f 25 94 b831c56c-9f55-4f2a-ad03-3e6fd32d143f 0 初始化数据 2025-12-03 23:23:58.811085 2025-12-03 23:23:58.811086 -创建目录 3 7 module_monitor:resource:create_dir \N \N \N \N \N f t f 创建目录 null f 25 95 e6afcdb4-eb8c-4915-b9a5-16e4b2f78421 0 初始化数据 2025-12-03 23:23:58.811088 2025-12-03 23:23:58.811089 -导出文件列表 3 9 module_monitor:resource:export \N \N \N \N \N f t f 导出文件列表 null f 25 96 6eb9ec7e-b64e-41a2-9752-5d7078ec986d 0 初始化数据 2025-12-03 23:23:58.811091 2025-12-03 23:23:58.811091 -查询代码生成业务表列表 3 1 module_generator:gencode:query \N \N \N \N \N f t f 查询代码生成业务表列表 null f 26 97 c53586c3-a7ca-4d93-a143-9c50f8693385 0 查询代码生成业务表列表 2025-12-03 23:23:58.811094 2025-12-03 23:23:58.811094 -创建表结构 3 2 module_generator:gencode:create \N \N \N \N \N f t f 创建表结构 null f 26 98 ac95cea8-e27a-4082-a5f4-6e7cf30f3dc8 0 创建表结构 2025-12-03 23:23:58.811097 2025-12-03 23:23:58.811097 -编辑业务表信息 3 3 module_generator:gencode:update \N \N \N \N \N f t f 编辑业务表信息 null f 26 99 fb110aae-f963-418b-9a5b-d7d354d99faf 0 编辑业务表信息 2025-12-03 23:23:58.8111 2025-12-03 23:23:58.8111 -删除业务表信息 3 4 module_generator:gencode:delete \N \N \N \N \N f t f 删除业务表信息 null f 26 100 a4e1ce58-8ea7-4259-bbac-352dd05bd720 0 删除业务表信息 2025-12-03 23:23:58.811103 2025-12-03 23:23:58.811103 -导入表结构 3 5 module_generator:gencode:import \N \N \N \N \N f t f 导入表结构 null f 26 101 f1602bc5-46fc-438b-aa65-74be1c47de53 0 导入表结构 2025-12-03 23:23:58.811106 2025-12-03 23:23:58.811106 -批量生成代码 3 6 module_generator:gencode:operate \N \N \N \N \N f t f 批量生成代码 null f 26 102 ffc99866-fa60-4629-ad17-1a551ac15caa 0 批量生成代码 2025-12-03 23:23:58.811109 2025-12-03 23:23:58.811109 -生成代码到指定路径 3 7 module_generator:gencode:code \N \N \N \N \N f t f 生成代码到指定路径 null f 26 103 b26f1689-2040-4ee8-9d38-4d70e21e177d 0 生成代码到指定路径 2025-12-03 23:23:58.811112 2025-12-03 23:23:58.811112 -查询数据库表列表 3 8 module_generator:dblist:query \N \N \N \N \N f t f 查询数据库表列表 null f 26 104 b12ca981-57f3-48c9-abe5-8f021379260b 0 查询数据库表列表 2025-12-03 23:23:58.811115 2025-12-03 23:23:58.811115 -同步数据库 3 9 module_generator:db:sync \N \N \N \N \N f t f 同步数据库 null f 26 105 f2695e07-46e6-4474-ba3c-2423985b393b 0 同步数据库 2025-12-03 23:23:58.811118 2025-12-03 23:23:58.811118 -创建示例 3 1 module_gencode:demo:create \N \N \N \N \N f t f 创建示例 null f 29 106 0765e72d-cc91-49b9-bdc5-147868f00f1e 0 初始化数据 2025-12-03 23:23:58.811121 2025-12-03 23:23:58.811121 -更新示例 3 2 module_gencode:demo:update \N \N \N \N \N f t f 更新示例 null f 29 107 0d9973c9-bf73-4f8a-a0c8-0b7477e955c5 0 初始化数据 2025-12-03 23:23:58.811124 2025-12-03 23:23:58.811124 -删除示例 3 3 module_gencode:demo:delete \N \N \N \N \N f t f 删除示例 null f 29 108 c10732c4-7d4d-4a18-b55a-e879915e7821 0 初始化数据 2025-12-03 23:23:58.811127 2025-12-03 23:23:58.811127 -批量修改示例状态 3 4 module_gencode:demo:patch \N \N \N \N \N f t f 批量修改示例状态 null f 29 109 46a710af-cc8a-4c84-8628-cfecde988dd9 0 初始化数据 2025-12-03 23:23:58.81113 2025-12-03 23:23:58.81113 -导出示例 3 5 module_gencode:demo:export \N \N \N \N \N f t f 导出示例 null f 29 110 64ca18eb-01c8-492c-a828-2beae7805de5 0 初始化数据 2025-12-03 23:23:58.811133 2025-12-03 23:23:58.811133 -导入示例 3 6 module_gencode:demo:import \N \N \N \N \N f t f 导入示例 null f 29 111 b83aa5af-9acc-43a8-874f-b5042ac10875 0 初始化数据 2025-12-03 23:23:58.811136 2025-12-03 23:23:58.811136 -下载导入示例模版 3 7 module_gencode:demo:download \N \N \N \N \N f t f 下载导入示例模版 null f 29 112 9a32c6b9-705b-45f5-92d8-583d7dca1b96 0 初始化数据 2025-12-03 23:23:58.811139 2025-12-03 23:23:58.811139 -\. - - --- --- Data for Name: sys_notice; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.sys_notice (notice_title, notice_type, notice_content, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; -\. - - --- --- Data for Name: sys_param; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.sys_param (config_name, config_key, config_value, config_type, id, uuid, status, description, created_time, updated_time) FROM stdin; -网站名称 sys_web_title FastApiAdmin t 1 c05e093f-af86-4a84-b090-f1a260afe2c6 0 初始化数据 2025-12-03 23:23:58.817316 2025-12-03 23:23:58.817316 -网站描述 sys_web_description FastApiAdmin 是完全开源的权限管理系统 t 2 b2b531a6-8164-4205-b2a1-b786807e3220 0 初始化数据 2025-12-03 23:23:58.81732 2025-12-03 23:23:58.817321 -网页图标 sys_web_favicon https://service.fastapiadmin.com/api/v1/static/image/favicon.png t 3 a5cc723e-b6d3-4f60-ac73-bda6b9144a7b 0 初始化数据 2025-12-03 23:23:58.817324 2025-12-03 23:23:58.817324 -网站Logo sys_web_logo https://service.fastapiadmin.com/api/v1/static/image/logo.png t 4 67a2dad5-26a0-4b56-9ba5-19606f3acbe4 0 初始化数据 2025-12-03 23:23:58.817327 2025-12-03 23:23:58.817327 -登录背景 sys_login_background https://service.fastapiadmin.com/api/v1/static/image/background.svg t 5 d950b25d-ab42-4785-8816-6ba10c5537b0 0 初始化数据 2025-12-03 23:23:58.81733 2025-12-03 23:23:58.81733 -版权信息 sys_web_copyright Copyright © 2025-2026 service.fastapiadmin.com 版权所有 t 6 bfd17119-2d6b-4a91-9c94-682c1aa7621e 0 初始化数据 2025-12-03 23:23:58.817333 2025-12-03 23:23:58.817333 -备案信息 sys_keep_record 陕ICP备2025069493号-1 t 7 92730d60-fdcb-4d9d-b4cd-de1456966e95 0 初始化数据 2025-12-03 23:23:58.817336 2025-12-03 23:23:58.817336 -帮助文档 sys_help_doc https://service.fastapiadmin.com t 8 5548caa0-4be2-4fc1-a2ba-1149a7d4df20 0 初始化数据 2025-12-03 23:23:58.817339 2025-12-03 23:23:58.817339 -隐私政策 sys_web_privacy https://github.com/1014TaoTao/FastapiAdmin/blob/master/LICENSE t 9 c54afbf9-e545-48e9-8261-87cc65f201f8 0 初始化数据 2025-12-03 23:23:58.817342 2025-12-03 23:23:58.817342 -用户协议 sys_web_clause https://github.com/1014TaoTao/FastapiAdmin/blob/master/LICENSE t 10 4f6279ae-d1e9-446a-b6ac-30ea74a99b19 0 初始化数据 2025-12-03 23:23:58.817345 2025-12-03 23:23:58.817345 -源码代码 sys_git_code https://github.com/1014TaoTao/FastapiAdmin.git t 11 97d2c838-0828-4827-9185-cb543683d460 0 初始化数据 2025-12-03 23:23:58.817348 2025-12-03 23:23:58.817348 -项目版本 sys_web_version 2.0.0 t 12 2630675b-71c7-4417-b334-aec5b73a3680 0 初始化数据 2025-12-03 23:23:58.817351 2025-12-03 23:23:58.817351 -演示模式启用 demo_enable false t 13 03775492-3475-4ccd-9009-c1d8730d55ca 0 初始化数据 2025-12-03 23:23:58.817354 2025-12-03 23:23:58.817354 -演示访问IP白名单 ip_white_list ["127.0.0.1"] t 14 fcf49a0c-7bc9-413e-8cb2-6e11b5af1db4 0 初始化数据 2025-12-03 23:23:58.817357 2025-12-03 23:23:58.817357 -接口白名单 white_api_list_path ["/api/v1/system/auth/login", "/api/v1/system/auth/token/refresh", "/api/v1/system/auth/captcha/get", "/api/v1/system/auth/logout", "/api/v1/system/config/info", "/api/v1/system/user/current/info", "/api/v1/system/notice/available"] t 15 0f3cc21a-3d1e-436c-9eb6-3624ac430ca8 0 初始化数据 2025-12-03 23:23:58.81736 2025-12-03 23:23:58.81736 -访问IP黑名单 ip_black_list [] t 16 7f3b2e72-df33-45a5-bc5a-a6533b43c96d 0 初始化数据 2025-12-03 23:23:58.817363 2025-12-03 23:23:58.817363 -\. - - --- --- Data for Name: sys_position; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.sys_position (name, "order", id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; -\. - - --- --- Data for Name: sys_role; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.sys_role (name, code, "order", data_scope, id, uuid, status, description, created_time, updated_time) FROM stdin; -管理员角色 ADMIN 1 4 1 f775fc7c-2643-4feb-a647-182f293b7952 0 初始化角色 2025-12-03 23:23:58.825334 2025-12-03 23:23:58.825335 -仅个人数据 MINE 1 1 2 242f44f5-6faf-4245-aac7-482630ddb6f7 0 \N 2025-12-04 21:22:35.101163 2025-12-04 21:29:46.636526 -本部门数据 DEPT 1 2 4 6a229f0d-7dcb-4b66-9054-987e3c1dfe5d 0 \N 2025-12-04 21:23:30.471024 2025-12-04 21:29:59.097303 -本部门及以下 ALL_DEPT 1 3 5 b419c2ef-af62-4d93-80e5-4afb24be9289 0 \N 2025-12-04 21:23:50.681785 2025-12-04 21:30:14.524507 -全部数据 ALL 1 4 3 91131798-462f-498a-a4c8-e2df5f8ebdb6 0 \N 2025-12-04 21:23:11.221725 2025-12-04 21:30:37.290914 -自定义数据 ZIDINGYI 1 5 6 96f6a404-d6b0-4a46-b6fa-5cbd56e42739 0 \N 2025-12-04 21:32:02.7182 2025-12-04 22:10:03.370597 -\. - - --- --- Data for Name: sys_role_depts; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.sys_role_depts (role_id, dept_id) FROM stdin; -2 4 -2 5 -2 2 -2 3 -2 1 -2 6 -2 7 -4 5 -4 4 -4 6 -4 2 -4 7 -4 1 -4 3 -5 6 -5 1 -5 3 -5 4 -5 7 -5 5 -5 2 -3 3 -3 7 -3 1 -3 6 -3 4 -3 5 -3 2 -6 2 -\. - - --- --- Data for Name: sys_role_menus; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.sys_role_menus (role_id, menu_id) FROM stdin; -2 109 -2 107 -2 108 -2 111 -2 7 -2 110 -2 112 -2 106 -2 29 -4 7 -4 29 -4 107 -4 108 -4 110 -4 111 -4 106 -4 109 -4 112 -5 29 -5 107 -5 112 -5 106 -5 109 -5 7 -5 108 -5 111 -5 110 -3 107 -3 29 -3 111 -3 7 -3 110 -3 108 -3 109 -3 106 -3 112 -6 106 -6 107 -6 109 -6 110 -6 112 -6 108 -6 7 -6 29 -6 111 -\. - - --- --- Data for Name: sys_user; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.sys_user (username, password, name, mobile, email, gender, avatar, is_superuser, last_login, gitee_login, github_login, wx_login, qq_login, dept_id, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; -test22 $2b$12$/0pNNfFW1n3dEJAnPxe6LOmodfU1zHbPmUGsNPOW1ucOOOUbEAHVm 本部门数据2 \N \N 2 \N f 2025-12-04 14:06:37.659308+00 \N \N \N \N 3 8 795f3692-ad0c-44ea-8e36-4bcb6c4dd957 0 \N 2025-12-04 22:06:19.287286 2025-12-04 22:06:37.69025 1 1 -test2 $2b$12$VF1IjpXM1/Y604M4QE509OqtVHbTaEBkmPO0WfWxEqzm1gdveDBNi 本部门数据 \N \N 2 \N f 2025-12-04 14:07:10.846327+00 \N \N \N \N 3 3 4c2b0473-3130-4c4d-bebf-94412ea05c7e 0 \N 2025-12-04 21:41:18.554796 2025-12-04 22:07:10.877735 1 1 -test1 $2b$12$GnAIyhOri8fJjgoCLRUTVOovW6bfIXLdRPh0YYE5RcV3bKdJgVz1S 本部门及以下 \N \N 2 \N f 2025-12-04 14:08:15.28931+00 \N \N \N \N 2 2 3ad9aac5-c7e8-49dd-8bc0-ba42660dfa29 0 \N 2025-12-03 23:24:32.770483 2025-12-04 22:08:15.324536 1 1 -test1_1 $2b$12$M/KNhjFGMdr0nm0HmZm7JeEc3eb8PZKkX1WCgsqZq.z0Gju6J7UG6 全部数据 \N \N 2 \N f 2025-12-04 14:08:38.530361+00 \N \N \N \N 4 4 0164b4be-69e8-437e-9b37-87727eae3964 0 \N 2025-12-04 21:41:51.147687 2025-12-04 22:08:38.560298 1 1 -admin $2b$12$e2IJgS/cvHgJ0H3G7Xa08OXoXnk6N/NX3IZRtubBDElA0VLZhkNOa 超级管理员 \N \N 0 https://service.fastapiadmin.com/api/v1/static/image/avatar.png t 2025-12-04 14:09:08.017972+00 \N \N \N \N 1 1 5e8d00aa-2b53-409d-88df-82e713f2360d 0 超级管理员 2025-12-03 23:23:58.837235 2025-12-04 22:09:08.030298 \N \N -test2_1 $2b$12$QaSuhXtbd32TclDQX.sle.rW2ByUM36ld0t46psEEbYKRIFLiZxWu 自定义1 \N \N 2 \N f 2025-12-04 14:10:45.546955+00 \N \N \N \N 7 6 46f2a531-af05-423f-a504-cee642327336 0 \N 2025-12-04 21:46:20.511536 2025-12-04 22:10:45.5783 1 1 -test2_2 $2b$12$7VjR260GghaKx1BOczedTumXlsdab1iCSt4SiySCwUniAY8XcxAZu test2_2 \N \N 2 \N f 2025-12-04 13:50:36.078774+00 \N \N \N \N 6 7 da0c4cec-c428-4347-ba67-ec6b1878fc2c 0 \N 2025-12-04 21:46:42.948817 2025-12-04 22:02:26.511693 1 1 -test1_2 $2b$12$ZW6BK1WCEepwRgevC/.9n.TnSwsftYa9tYOiWpiuUEIcFE045Z5ma 仅个人 \N \N 2 \N f 2025-12-04 14:03:21.792954+00 \N \N \N \N 5 5 b730fcb1-2cff-472c-9809-a4167313e6fb 0 \N 2025-12-04 21:44:44.234721 2025-12-04 22:03:21.826152 1 1 -\. - - --- --- Data for Name: sys_user_positions; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.sys_user_positions (user_id, position_id) FROM stdin; -\. - - --- --- Data for Name: sys_user_roles; Type: TABLE DATA; Schema: public; Owner: tao --- - -COPY public.sys_user_roles (user_id, role_id) FROM stdin; -1 1 -4 3 -7 3 -3 4 -2 5 -5 2 -6 6 -8 4 -\. - - --- --- Name: app_ai_mcp_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.app_ai_mcp_id_seq', 1, false); - - --- --- Name: app_job_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.app_job_id_seq', 1, false); - - --- --- Name: app_job_log_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.app_job_log_id_seq', 1, false); - - --- --- Name: app_myapp_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.app_myapp_id_seq', 1, false); - - --- --- Name: gen_demo_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.gen_demo_id_seq', 9, true); - - --- --- Name: gen_table_column_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.gen_table_column_id_seq', 9, true); - - --- --- Name: gen_table_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.gen_table_id_seq', 1, true); - - --- --- Name: sys_dept_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.sys_dept_id_seq', 7, true); - - --- --- Name: sys_dict_data_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.sys_dict_data_id_seq', 34, true); - - --- --- Name: sys_dict_type_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.sys_dict_type_id_seq', 10, true); - - --- --- Name: sys_log_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.sys_log_id_seq', 103, true); - - --- --- Name: sys_menu_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.sys_menu_id_seq', 112, true); - - --- --- Name: sys_notice_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.sys_notice_id_seq', 1, false); - - --- --- Name: sys_param_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.sys_param_id_seq', 16, true); - - --- --- Name: sys_position_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.sys_position_id_seq', 1, false); - - --- --- Name: sys_role_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.sys_role_id_seq', 6, true); - - --- --- Name: sys_user_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao --- - -SELECT pg_catalog.setval('public.sys_user_id_seq', 8, true); - - --- --- Name: app_ai_mcp app_ai_mcp_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_ai_mcp - ADD CONSTRAINT app_ai_mcp_pkey PRIMARY KEY (id); - - --- --- Name: app_ai_mcp app_ai_mcp_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_ai_mcp - ADD CONSTRAINT app_ai_mcp_uuid_key UNIQUE (uuid); - - --- --- Name: app_job_log app_job_log_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_job_log - ADD CONSTRAINT app_job_log_pkey PRIMARY KEY (id); - - --- --- Name: app_job_log app_job_log_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_job_log - ADD CONSTRAINT app_job_log_uuid_key UNIQUE (uuid); - - --- --- Name: app_job app_job_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_job - ADD CONSTRAINT app_job_pkey PRIMARY KEY (id); - - --- --- Name: app_job app_job_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_job - ADD CONSTRAINT app_job_uuid_key UNIQUE (uuid); - - --- --- Name: app_myapp app_myapp_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_myapp - ADD CONSTRAINT app_myapp_pkey PRIMARY KEY (id); - - --- --- Name: app_myapp app_myapp_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_myapp - ADD CONSTRAINT app_myapp_uuid_key UNIQUE (uuid); - - --- --- Name: apscheduler_jobs apscheduler_jobs_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.apscheduler_jobs - ADD CONSTRAINT apscheduler_jobs_pkey PRIMARY KEY (id); - - --- --- Name: gen_demo gen_demo_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.gen_demo - ADD CONSTRAINT gen_demo_pkey PRIMARY KEY (id); - - --- --- Name: gen_demo gen_demo_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.gen_demo - ADD CONSTRAINT gen_demo_uuid_key UNIQUE (uuid); - - --- --- Name: gen_table_column gen_table_column_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.gen_table_column - ADD CONSTRAINT gen_table_column_pkey PRIMARY KEY (id); - - --- --- Name: gen_table_column gen_table_column_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.gen_table_column - ADD CONSTRAINT gen_table_column_uuid_key UNIQUE (uuid); - - --- --- Name: gen_table gen_table_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.gen_table - ADD CONSTRAINT gen_table_pkey PRIMARY KEY (id); - - --- --- Name: gen_table gen_table_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.gen_table - ADD CONSTRAINT gen_table_uuid_key UNIQUE (uuid); - - --- --- Name: sys_dept sys_dept_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_dept - ADD CONSTRAINT sys_dept_pkey PRIMARY KEY (id); - - --- --- Name: sys_dept sys_dept_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_dept - ADD CONSTRAINT sys_dept_uuid_key UNIQUE (uuid); - - --- --- Name: sys_dict_data sys_dict_data_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_dict_data - ADD CONSTRAINT sys_dict_data_pkey PRIMARY KEY (id); - - --- --- Name: sys_dict_data sys_dict_data_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_dict_data - ADD CONSTRAINT sys_dict_data_uuid_key UNIQUE (uuid); - - --- --- Name: sys_dict_type sys_dict_type_dict_type_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_dict_type - ADD CONSTRAINT sys_dict_type_dict_type_key UNIQUE (dict_type); - - --- --- Name: sys_dict_type sys_dict_type_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_dict_type - ADD CONSTRAINT sys_dict_type_pkey PRIMARY KEY (id); - - --- --- Name: sys_dict_type sys_dict_type_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_dict_type - ADD CONSTRAINT sys_dict_type_uuid_key UNIQUE (uuid); - - --- --- Name: sys_log sys_log_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_log - ADD CONSTRAINT sys_log_pkey PRIMARY KEY (id); - - --- --- Name: sys_log sys_log_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_log - ADD CONSTRAINT sys_log_uuid_key UNIQUE (uuid); - - --- --- Name: sys_menu sys_menu_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_menu - ADD CONSTRAINT sys_menu_pkey PRIMARY KEY (id); - - --- --- Name: sys_menu sys_menu_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_menu - ADD CONSTRAINT sys_menu_uuid_key UNIQUE (uuid); - - --- --- Name: sys_notice sys_notice_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_notice - ADD CONSTRAINT sys_notice_pkey PRIMARY KEY (id); - - --- --- Name: sys_notice sys_notice_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_notice - ADD CONSTRAINT sys_notice_uuid_key UNIQUE (uuid); - - --- --- Name: sys_param sys_param_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_param - ADD CONSTRAINT sys_param_pkey PRIMARY KEY (id); - - --- --- Name: sys_param sys_param_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_param - ADD CONSTRAINT sys_param_uuid_key UNIQUE (uuid); - - --- --- Name: sys_position sys_position_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_position - ADD CONSTRAINT sys_position_pkey PRIMARY KEY (id); - - --- --- Name: sys_position sys_position_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_position - ADD CONSTRAINT sys_position_uuid_key UNIQUE (uuid); - - --- --- Name: sys_role_depts sys_role_depts_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_role_depts - ADD CONSTRAINT sys_role_depts_pkey PRIMARY KEY (role_id, dept_id); - - --- --- Name: sys_role_menus sys_role_menus_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_role_menus - ADD CONSTRAINT sys_role_menus_pkey PRIMARY KEY (role_id, menu_id); - - --- --- Name: sys_role sys_role_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_role - ADD CONSTRAINT sys_role_pkey PRIMARY KEY (id); - - --- --- Name: sys_role sys_role_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_role - ADD CONSTRAINT sys_role_uuid_key UNIQUE (uuid); - - --- --- Name: sys_user sys_user_email_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_user - ADD CONSTRAINT sys_user_email_key UNIQUE (email); - - --- --- Name: sys_user sys_user_mobile_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_user - ADD CONSTRAINT sys_user_mobile_key UNIQUE (mobile); - - --- --- Name: sys_user sys_user_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_user - ADD CONSTRAINT sys_user_pkey PRIMARY KEY (id); - - --- --- Name: sys_user_positions sys_user_positions_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_user_positions - ADD CONSTRAINT sys_user_positions_pkey PRIMARY KEY (user_id, position_id); - - --- --- Name: sys_user_roles sys_user_roles_pkey; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_user_roles - ADD CONSTRAINT sys_user_roles_pkey PRIMARY KEY (user_id, role_id); - - --- --- Name: sys_user sys_user_username_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_user - ADD CONSTRAINT sys_user_username_key UNIQUE (username); - - --- --- Name: sys_user sys_user_uuid_key; Type: CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_user - ADD CONSTRAINT sys_user_uuid_key UNIQUE (uuid); - - --- --- Name: ix_app_ai_mcp_created_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_app_ai_mcp_created_id ON public.app_ai_mcp USING btree (created_id); - - --- --- Name: ix_app_ai_mcp_updated_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_app_ai_mcp_updated_id ON public.app_ai_mcp USING btree (updated_id); - - --- --- Name: ix_app_job_created_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_app_job_created_id ON public.app_job USING btree (created_id); - - --- --- Name: ix_app_job_log_job_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_app_job_log_job_id ON public.app_job_log USING btree (job_id); - - --- --- Name: ix_app_job_updated_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_app_job_updated_id ON public.app_job USING btree (updated_id); - - --- --- Name: ix_app_myapp_created_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_app_myapp_created_id ON public.app_myapp USING btree (created_id); - - --- --- Name: ix_app_myapp_updated_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_app_myapp_updated_id ON public.app_myapp USING btree (updated_id); - - --- --- Name: ix_apscheduler_jobs_next_run_time; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_apscheduler_jobs_next_run_time ON public.apscheduler_jobs USING btree (next_run_time); - - --- --- Name: ix_gen_demo_created_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_gen_demo_created_id ON public.gen_demo USING btree (created_id); - - --- --- Name: ix_gen_demo_updated_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_gen_demo_updated_id ON public.gen_demo USING btree (updated_id); - - --- --- Name: ix_gen_table_column_created_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_gen_table_column_created_id ON public.gen_table_column USING btree (created_id); - - --- --- Name: ix_gen_table_column_table_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_gen_table_column_table_id ON public.gen_table_column USING btree (table_id); - - --- --- Name: ix_gen_table_column_updated_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_gen_table_column_updated_id ON public.gen_table_column USING btree (updated_id); - - --- --- Name: ix_gen_table_created_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_gen_table_created_id ON public.gen_table USING btree (created_id); - - --- --- Name: ix_gen_table_updated_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_gen_table_updated_id ON public.gen_table USING btree (updated_id); - - --- --- Name: ix_sys_dept_code; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_sys_dept_code ON public.sys_dept USING btree (code); - - --- --- Name: ix_sys_dept_parent_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_sys_dept_parent_id ON public.sys_dept USING btree (parent_id); - - --- --- Name: ix_sys_log_created_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_sys_log_created_id ON public.sys_log USING btree (created_id); - - --- --- Name: ix_sys_log_updated_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_sys_log_updated_id ON public.sys_log USING btree (updated_id); - - --- --- Name: ix_sys_menu_parent_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_sys_menu_parent_id ON public.sys_menu USING btree (parent_id); - - --- --- Name: ix_sys_notice_created_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_sys_notice_created_id ON public.sys_notice USING btree (created_id); - - --- --- Name: ix_sys_notice_updated_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_sys_notice_updated_id ON public.sys_notice USING btree (updated_id); - - --- --- Name: ix_sys_position_created_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_sys_position_created_id ON public.sys_position USING btree (created_id); - - --- --- Name: ix_sys_position_updated_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_sys_position_updated_id ON public.sys_position USING btree (updated_id); - - --- --- Name: ix_sys_role_code; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_sys_role_code ON public.sys_role USING btree (code); - - --- --- Name: ix_sys_user_created_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_sys_user_created_id ON public.sys_user USING btree (created_id); - - --- --- Name: ix_sys_user_dept_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_sys_user_dept_id ON public.sys_user USING btree (dept_id); - - --- --- Name: ix_sys_user_updated_id; Type: INDEX; Schema: public; Owner: tao --- - -CREATE INDEX ix_sys_user_updated_id ON public.sys_user USING btree (updated_id); - - --- --- Name: app_ai_mcp app_ai_mcp_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_ai_mcp - ADD CONSTRAINT app_ai_mcp_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: app_ai_mcp app_ai_mcp_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_ai_mcp - ADD CONSTRAINT app_ai_mcp_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: app_job app_job_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_job - ADD CONSTRAINT app_job_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: app_job_log app_job_log_job_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_job_log - ADD CONSTRAINT app_job_log_job_id_fkey FOREIGN KEY (job_id) REFERENCES public.app_job(id) ON DELETE CASCADE; - - --- --- Name: app_job app_job_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_job - ADD CONSTRAINT app_job_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: app_myapp app_myapp_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_myapp - ADD CONSTRAINT app_myapp_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: app_myapp app_myapp_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.app_myapp - ADD CONSTRAINT app_myapp_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: gen_demo gen_demo_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.gen_demo - ADD CONSTRAINT gen_demo_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: gen_demo gen_demo_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.gen_demo - ADD CONSTRAINT gen_demo_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: gen_table_column gen_table_column_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.gen_table_column - ADD CONSTRAINT gen_table_column_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: gen_table_column gen_table_column_table_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.gen_table_column - ADD CONSTRAINT gen_table_column_table_id_fkey FOREIGN KEY (table_id) REFERENCES public.gen_table(id) ON DELETE CASCADE; - - --- --- Name: gen_table_column gen_table_column_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.gen_table_column - ADD CONSTRAINT gen_table_column_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: gen_table gen_table_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.gen_table - ADD CONSTRAINT gen_table_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: gen_table gen_table_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.gen_table - ADD CONSTRAINT gen_table_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: sys_dept sys_dept_parent_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_dept - ADD CONSTRAINT sys_dept_parent_id_fkey FOREIGN KEY (parent_id) REFERENCES public.sys_dept(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: sys_dict_data sys_dict_data_dict_type_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_dict_data - ADD CONSTRAINT sys_dict_data_dict_type_id_fkey FOREIGN KEY (dict_type_id) REFERENCES public.sys_dict_type(id) ON DELETE CASCADE; - - --- --- Name: sys_log sys_log_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_log - ADD CONSTRAINT sys_log_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: sys_log sys_log_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_log - ADD CONSTRAINT sys_log_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: sys_menu sys_menu_parent_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_menu - ADD CONSTRAINT sys_menu_parent_id_fkey FOREIGN KEY (parent_id) REFERENCES public.sys_menu(id) ON DELETE SET NULL; - - --- --- Name: sys_notice sys_notice_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_notice - ADD CONSTRAINT sys_notice_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: sys_notice sys_notice_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_notice - ADD CONSTRAINT sys_notice_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: sys_position sys_position_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_position - ADD CONSTRAINT sys_position_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: sys_position sys_position_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_position - ADD CONSTRAINT sys_position_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: sys_role_depts sys_role_depts_dept_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_role_depts - ADD CONSTRAINT sys_role_depts_dept_id_fkey FOREIGN KEY (dept_id) REFERENCES public.sys_dept(id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: sys_role_depts sys_role_depts_role_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_role_depts - ADD CONSTRAINT sys_role_depts_role_id_fkey FOREIGN KEY (role_id) REFERENCES public.sys_role(id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: sys_role_menus sys_role_menus_menu_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_role_menus - ADD CONSTRAINT sys_role_menus_menu_id_fkey FOREIGN KEY (menu_id) REFERENCES public.sys_menu(id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: sys_role_menus sys_role_menus_role_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_role_menus - ADD CONSTRAINT sys_role_menus_role_id_fkey FOREIGN KEY (role_id) REFERENCES public.sys_role(id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: sys_user sys_user_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_user - ADD CONSTRAINT sys_user_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: sys_user sys_user_dept_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_user - ADD CONSTRAINT sys_user_dept_id_fkey FOREIGN KEY (dept_id) REFERENCES public.sys_dept(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- Name: sys_user_positions sys_user_positions_position_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_user_positions - ADD CONSTRAINT sys_user_positions_position_id_fkey FOREIGN KEY (position_id) REFERENCES public.sys_position(id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: sys_user_positions sys_user_positions_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_user_positions - ADD CONSTRAINT sys_user_positions_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: sys_user_roles sys_user_roles_role_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_user_roles - ADD CONSTRAINT sys_user_roles_role_id_fkey FOREIGN KEY (role_id) REFERENCES public.sys_role(id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: sys_user_roles sys_user_roles_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_user_roles - ADD CONSTRAINT sys_user_roles_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE CASCADE; - - --- --- Name: sys_user sys_user_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao --- - -ALTER TABLE ONLY public.sys_user - ADD CONSTRAINT sys_user_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; - - --- --- PostgreSQL database dump complete --- - diff --git a/backend/sql/postgres/fastapiadmin_2025-12-31_184557.sql b/backend/sql/postgres/fastapiadmin_2025-12-31_184557.sql new file mode 100644 index 00000000..ee4e51bd --- /dev/null +++ b/backend/sql/postgres/fastapiadmin_2025-12-31_184557.sql @@ -0,0 +1,4807 @@ +-- +-- PostgreSQL database dump +-- + +-- Dumped from database version 17.5 (ServBay) +-- Dumped by pg_dump version 17.5 (ServBay) + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET idle_in_transaction_session_timeout = 0; +SET transaction_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +SELECT pg_catalog.set_config('search_path', '', false); +SET check_function_bodies = false; +SET xmloption = content; +SET client_min_messages = warning; +SET row_security = off; + +SET default_tablespace = ''; + +SET default_table_access_method = heap; + +-- +-- Name: app_ai_mcp; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.app_ai_mcp ( + name character varying(50) NOT NULL, + type integer NOT NULL, + url character varying(255), + command character varying(255), + args character varying(255), + env json, + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL, + created_id integer, + updated_id integer +); + + +ALTER TABLE public.app_ai_mcp OWNER TO tao; + +-- +-- Name: TABLE app_ai_mcp; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.app_ai_mcp IS 'MCP 服务器表'; + + +-- +-- Name: COLUMN app_ai_mcp.name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_ai_mcp.name IS 'MCP 名称'; + + +-- +-- Name: COLUMN app_ai_mcp.type; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_ai_mcp.type IS 'MCP 类型(0:stdio 1:sse)'; + + +-- +-- Name: COLUMN app_ai_mcp.url; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_ai_mcp.url IS '远程 SSE 地址'; + + +-- +-- Name: COLUMN app_ai_mcp.command; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_ai_mcp.command IS 'MCP 命令'; + + +-- +-- Name: COLUMN app_ai_mcp.args; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_ai_mcp.args IS 'MCP 命令参数'; + + +-- +-- Name: COLUMN app_ai_mcp.env; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_ai_mcp.env IS 'MCP 环境变量'; + + +-- +-- Name: COLUMN app_ai_mcp.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_ai_mcp.id IS '主键ID'; + + +-- +-- Name: COLUMN app_ai_mcp.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_ai_mcp.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN app_ai_mcp.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_ai_mcp.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN app_ai_mcp.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_ai_mcp.description IS '备注/描述'; + + +-- +-- Name: COLUMN app_ai_mcp.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_ai_mcp.created_time IS '创建时间'; + + +-- +-- Name: COLUMN app_ai_mcp.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_ai_mcp.updated_time IS '更新时间'; + + +-- +-- Name: COLUMN app_ai_mcp.created_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_ai_mcp.created_id IS '创建人ID'; + + +-- +-- Name: COLUMN app_ai_mcp.updated_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_ai_mcp.updated_id IS '更新人ID'; + + +-- +-- Name: app_ai_mcp_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.app_ai_mcp_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.app_ai_mcp_id_seq OWNER TO tao; + +-- +-- Name: app_ai_mcp_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.app_ai_mcp_id_seq OWNED BY public.app_ai_mcp.id; + + +-- +-- Name: app_job; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.app_job ( + name character varying(64), + jobstore character varying(64), + executor character varying(64), + trigger character varying(64) NOT NULL, + trigger_args text, + func text NOT NULL, + args text, + kwargs text, + "coalesce" boolean, + max_instances integer, + start_date character varying(64), + end_date character varying(64), + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL, + created_id integer, + updated_id integer +); + + +ALTER TABLE public.app_job OWNER TO tao; + +-- +-- Name: TABLE app_job; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.app_job IS '定时任务调度表'; + + +-- +-- Name: COLUMN app_job.name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.name IS '任务名称'; + + +-- +-- Name: COLUMN app_job.jobstore; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.jobstore IS '存储器'; + + +-- +-- Name: COLUMN app_job.executor; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.executor IS '执行器:将运行此作业的执行程序的名称'; + + +-- +-- Name: COLUMN app_job.trigger; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.trigger IS '触发器:控制此作业计划的 trigger 对象'; + + +-- +-- Name: COLUMN app_job.trigger_args; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.trigger_args IS '触发器参数'; + + +-- +-- Name: COLUMN app_job.func; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.func IS '任务函数'; + + +-- +-- Name: COLUMN app_job.args; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.args IS '位置参数'; + + +-- +-- Name: COLUMN app_job.kwargs; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.kwargs IS '关键字参数'; + + +-- +-- Name: COLUMN app_job."coalesce"; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job."coalesce" IS '是否合并运行:是否在多个运行时间到期时仅运行作业一次'; + + +-- +-- Name: COLUMN app_job.max_instances; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.max_instances IS '最大实例数:允许的最大并发执行实例数'; + + +-- +-- Name: COLUMN app_job.start_date; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.start_date IS '开始时间'; + + +-- +-- Name: COLUMN app_job.end_date; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.end_date IS '结束时间'; + + +-- +-- Name: COLUMN app_job.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.id IS '主键ID'; + + +-- +-- Name: COLUMN app_job.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN app_job.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN app_job.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.description IS '备注/描述'; + + +-- +-- Name: COLUMN app_job.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.created_time IS '创建时间'; + + +-- +-- Name: COLUMN app_job.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.updated_time IS '更新时间'; + + +-- +-- Name: COLUMN app_job.created_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.created_id IS '创建人ID'; + + +-- +-- Name: COLUMN app_job.updated_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job.updated_id IS '更新人ID'; + + +-- +-- Name: app_job_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.app_job_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.app_job_id_seq OWNER TO tao; + +-- +-- Name: app_job_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.app_job_id_seq OWNED BY public.app_job.id; + + +-- +-- Name: app_job_log; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.app_job_log ( + job_name character varying(64) NOT NULL, + job_group character varying(64) NOT NULL, + job_executor character varying(64) NOT NULL, + invoke_target character varying(500) NOT NULL, + job_args character varying(255), + job_kwargs character varying(255), + job_trigger character varying(255), + job_message character varying(500), + exception_info character varying(2000), + job_id integer, + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL +); + + +ALTER TABLE public.app_job_log OWNER TO tao; + +-- +-- Name: TABLE app_job_log; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.app_job_log IS '定时任务调度日志表'; + + +-- +-- Name: COLUMN app_job_log.job_name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job_log.job_name IS '任务名称'; + + +-- +-- Name: COLUMN app_job_log.job_group; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job_log.job_group IS '任务组名'; + + +-- +-- Name: COLUMN app_job_log.job_executor; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job_log.job_executor IS '任务执行器'; + + +-- +-- Name: COLUMN app_job_log.invoke_target; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job_log.invoke_target IS '调用目标字符串'; + + +-- +-- Name: COLUMN app_job_log.job_args; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job_log.job_args IS '位置参数'; + + +-- +-- Name: COLUMN app_job_log.job_kwargs; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job_log.job_kwargs IS '关键字参数'; + + +-- +-- Name: COLUMN app_job_log.job_trigger; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job_log.job_trigger IS '任务触发器'; + + +-- +-- Name: COLUMN app_job_log.job_message; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job_log.job_message IS '日志信息'; + + +-- +-- Name: COLUMN app_job_log.exception_info; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job_log.exception_info IS '异常信息'; + + +-- +-- Name: COLUMN app_job_log.job_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job_log.job_id IS '任务ID'; + + +-- +-- Name: COLUMN app_job_log.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job_log.id IS '主键ID'; + + +-- +-- Name: COLUMN app_job_log.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job_log.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN app_job_log.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job_log.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN app_job_log.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job_log.description IS '备注/描述'; + + +-- +-- Name: COLUMN app_job_log.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job_log.created_time IS '创建时间'; + + +-- +-- Name: COLUMN app_job_log.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_job_log.updated_time IS '更新时间'; + + +-- +-- Name: app_job_log_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.app_job_log_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.app_job_log_id_seq OWNER TO tao; + +-- +-- Name: app_job_log_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.app_job_log_id_seq OWNED BY public.app_job_log.id; + + +-- +-- Name: app_myapp; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.app_myapp ( + name character varying(64) NOT NULL, + access_url character varying(500) NOT NULL, + icon_url character varying(300), + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL, + created_id integer, + updated_id integer +); + + +ALTER TABLE public.app_myapp OWNER TO tao; + +-- +-- Name: TABLE app_myapp; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.app_myapp IS '应用系统表'; + + +-- +-- Name: COLUMN app_myapp.name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_myapp.name IS '应用名称'; + + +-- +-- Name: COLUMN app_myapp.access_url; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_myapp.access_url IS '访问地址'; + + +-- +-- Name: COLUMN app_myapp.icon_url; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_myapp.icon_url IS '应用图标URL'; + + +-- +-- Name: COLUMN app_myapp.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_myapp.id IS '主键ID'; + + +-- +-- Name: COLUMN app_myapp.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_myapp.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN app_myapp.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_myapp.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN app_myapp.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_myapp.description IS '备注/描述'; + + +-- +-- Name: COLUMN app_myapp.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_myapp.created_time IS '创建时间'; + + +-- +-- Name: COLUMN app_myapp.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_myapp.updated_time IS '更新时间'; + + +-- +-- Name: COLUMN app_myapp.created_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_myapp.created_id IS '创建人ID'; + + +-- +-- Name: COLUMN app_myapp.updated_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.app_myapp.updated_id IS '更新人ID'; + + +-- +-- Name: app_myapp_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.app_myapp_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.app_myapp_id_seq OWNER TO tao; + +-- +-- Name: app_myapp_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.app_myapp_id_seq OWNED BY public.app_myapp.id; + + +-- +-- Name: apscheduler_jobs; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.apscheduler_jobs ( + id character varying(191) NOT NULL, + next_run_time double precision, + job_state bytea NOT NULL +); + + +ALTER TABLE public.apscheduler_jobs OWNER TO tao; + +-- +-- Name: gen_demo; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.gen_demo ( + name character varying(64), + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL, + created_id integer, + updated_id integer +); + + +ALTER TABLE public.gen_demo OWNER TO tao; + +-- +-- Name: TABLE gen_demo; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.gen_demo IS '示例表'; + + +-- +-- Name: COLUMN gen_demo.name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_demo.name IS '名称'; + + +-- +-- Name: COLUMN gen_demo.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_demo.id IS '主键ID'; + + +-- +-- Name: COLUMN gen_demo.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_demo.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN gen_demo.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_demo.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN gen_demo.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_demo.description IS '备注/描述'; + + +-- +-- Name: COLUMN gen_demo.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_demo.created_time IS '创建时间'; + + +-- +-- Name: COLUMN gen_demo.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_demo.updated_time IS '更新时间'; + + +-- +-- Name: COLUMN gen_demo.created_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_demo.created_id IS '创建人ID'; + + +-- +-- Name: COLUMN gen_demo.updated_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_demo.updated_id IS '更新人ID'; + + +-- +-- Name: gen_demo_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.gen_demo_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.gen_demo_id_seq OWNER TO tao; + +-- +-- Name: gen_demo_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.gen_demo_id_seq OWNED BY public.gen_demo.id; + + +-- +-- Name: gen_table; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.gen_table ( + table_name character varying(200) NOT NULL, + table_comment character varying(500), + class_name character varying(100) NOT NULL, + package_name character varying(100), + module_name character varying(30), + business_name character varying(30), + function_name character varying(100), + sub_table_name character varying(64) DEFAULT NULL::character varying, + sub_table_fk_name character varying(64) DEFAULT NULL::character varying, + parent_menu_id integer, + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL, + created_id integer, + updated_id integer +); + + +ALTER TABLE public.gen_table OWNER TO tao; + +-- +-- Name: TABLE gen_table; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.gen_table IS '代码生成表'; + + +-- +-- Name: COLUMN gen_table.table_name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.table_name IS '表名称'; + + +-- +-- Name: COLUMN gen_table.table_comment; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.table_comment IS '表描述'; + + +-- +-- Name: COLUMN gen_table.class_name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.class_name IS '实体类名称'; + + +-- +-- Name: COLUMN gen_table.package_name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.package_name IS '生成包路径'; + + +-- +-- Name: COLUMN gen_table.module_name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.module_name IS '生成模块名'; + + +-- +-- Name: COLUMN gen_table.business_name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.business_name IS '生成业务名'; + + +-- +-- Name: COLUMN gen_table.function_name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.function_name IS '生成功能名'; + + +-- +-- Name: COLUMN gen_table.sub_table_name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.sub_table_name IS '关联子表的表名'; + + +-- +-- Name: COLUMN gen_table.sub_table_fk_name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.sub_table_fk_name IS '子表关联的外键名'; + + +-- +-- Name: COLUMN gen_table.parent_menu_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.parent_menu_id IS '父菜单ID'; + + +-- +-- Name: COLUMN gen_table.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.id IS '主键ID'; + + +-- +-- Name: COLUMN gen_table.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN gen_table.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN gen_table.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.description IS '备注/描述'; + + +-- +-- Name: COLUMN gen_table.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.created_time IS '创建时间'; + + +-- +-- Name: COLUMN gen_table.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.updated_time IS '更新时间'; + + +-- +-- Name: COLUMN gen_table.created_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.created_id IS '创建人ID'; + + +-- +-- Name: COLUMN gen_table.updated_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table.updated_id IS '更新人ID'; + + +-- +-- Name: gen_table_column; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.gen_table_column ( + column_name character varying(200) NOT NULL, + column_comment character varying(500), + column_type character varying(100) NOT NULL, + column_length character varying(50), + column_default character varying(200), + is_pk boolean DEFAULT false NOT NULL, + is_increment boolean DEFAULT false NOT NULL, + is_nullable boolean DEFAULT true NOT NULL, + is_unique boolean DEFAULT false NOT NULL, + python_type character varying(100), + python_field character varying(200), + is_insert boolean DEFAULT true NOT NULL, + is_edit boolean DEFAULT true NOT NULL, + is_list boolean DEFAULT true NOT NULL, + is_query boolean DEFAULT false NOT NULL, + query_type character varying(50), + html_type character varying(100), + dict_type character varying(200), + sort integer NOT NULL, + table_id integer NOT NULL, + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL, + created_id integer, + updated_id integer +); + + +ALTER TABLE public.gen_table_column OWNER TO tao; + +-- +-- Name: TABLE gen_table_column; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.gen_table_column IS '代码生成表字段'; + + +-- +-- Name: COLUMN gen_table_column.column_name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.column_name IS '列名称'; + + +-- +-- Name: COLUMN gen_table_column.column_comment; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.column_comment IS '列描述'; + + +-- +-- Name: COLUMN gen_table_column.column_type; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.column_type IS '列类型'; + + +-- +-- Name: COLUMN gen_table_column.column_length; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.column_length IS '列长度'; + + +-- +-- Name: COLUMN gen_table_column.column_default; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.column_default IS '列默认值'; + + +-- +-- Name: COLUMN gen_table_column.is_pk; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.is_pk IS '是否主键'; + + +-- +-- Name: COLUMN gen_table_column.is_increment; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.is_increment IS '是否自增'; + + +-- +-- Name: COLUMN gen_table_column.is_nullable; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.is_nullable IS '是否允许为空'; + + +-- +-- Name: COLUMN gen_table_column.is_unique; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.is_unique IS '是否唯一'; + + +-- +-- Name: COLUMN gen_table_column.python_type; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.python_type IS 'Python类型'; + + +-- +-- Name: COLUMN gen_table_column.python_field; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.python_field IS 'Python字段名'; + + +-- +-- Name: COLUMN gen_table_column.is_insert; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.is_insert IS '是否为新增字段'; + + +-- +-- Name: COLUMN gen_table_column.is_edit; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.is_edit IS '是否编辑字段'; + + +-- +-- Name: COLUMN gen_table_column.is_list; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.is_list IS '是否列表字段'; + + +-- +-- Name: COLUMN gen_table_column.is_query; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.is_query IS '是否查询字段'; + + +-- +-- Name: COLUMN gen_table_column.query_type; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.query_type IS '查询方式'; + + +-- +-- Name: COLUMN gen_table_column.html_type; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.html_type IS '显示类型'; + + +-- +-- Name: COLUMN gen_table_column.dict_type; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.dict_type IS '字典类型'; + + +-- +-- Name: COLUMN gen_table_column.sort; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.sort IS '排序'; + + +-- +-- Name: COLUMN gen_table_column.table_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.table_id IS '归属表编号'; + + +-- +-- Name: COLUMN gen_table_column.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.id IS '主键ID'; + + +-- +-- Name: COLUMN gen_table_column.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN gen_table_column.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN gen_table_column.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.description IS '备注/描述'; + + +-- +-- Name: COLUMN gen_table_column.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.created_time IS '创建时间'; + + +-- +-- Name: COLUMN gen_table_column.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.updated_time IS '更新时间'; + + +-- +-- Name: COLUMN gen_table_column.created_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.created_id IS '创建人ID'; + + +-- +-- Name: COLUMN gen_table_column.updated_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.gen_table_column.updated_id IS '更新人ID'; + + +-- +-- Name: gen_table_column_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.gen_table_column_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.gen_table_column_id_seq OWNER TO tao; + +-- +-- Name: gen_table_column_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.gen_table_column_id_seq OWNED BY public.gen_table_column.id; + + +-- +-- Name: gen_table_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.gen_table_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.gen_table_id_seq OWNER TO tao; + +-- +-- Name: gen_table_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.gen_table_id_seq OWNED BY public.gen_table.id; + + +-- +-- Name: sys_dept; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.sys_dept ( + name character varying(64) NOT NULL, + "order" integer NOT NULL, + code character varying(16), + leader character varying(32), + phone character varying(11), + email character varying(64), + parent_id integer, + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL, + created_id integer, + updated_id integer +); + + +ALTER TABLE public.sys_dept OWNER TO tao; + +-- +-- Name: TABLE sys_dept; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.sys_dept IS '部门表'; + + +-- +-- Name: COLUMN sys_dept.name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dept.name IS '部门名称'; + + +-- +-- Name: COLUMN sys_dept."order"; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dept."order" IS '显示排序'; + + +-- +-- Name: COLUMN sys_dept.code; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dept.code IS '部门编码'; + + +-- +-- Name: COLUMN sys_dept.leader; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dept.leader IS '部门负责人'; + + +-- +-- Name: COLUMN sys_dept.phone; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dept.phone IS '手机'; + + +-- +-- Name: COLUMN sys_dept.email; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dept.email IS '邮箱'; + + +-- +-- Name: COLUMN sys_dept.parent_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dept.parent_id IS '父级部门ID'; + + +-- +-- Name: COLUMN sys_dept.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dept.id IS '主键ID'; + + +-- +-- Name: COLUMN sys_dept.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dept.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN sys_dept.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dept.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN sys_dept.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dept.description IS '备注/描述'; + + +-- +-- Name: COLUMN sys_dept.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dept.created_time IS '创建时间'; + + +-- +-- Name: COLUMN sys_dept.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dept.updated_time IS '更新时间'; + + +-- +-- Name: COLUMN sys_dept.created_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dept.created_id IS '创建人ID'; + + +-- +-- Name: COLUMN sys_dept.updated_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dept.updated_id IS '更新人ID'; + + +-- +-- Name: sys_dept_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.sys_dept_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.sys_dept_id_seq OWNER TO tao; + +-- +-- Name: sys_dept_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.sys_dept_id_seq OWNED BY public.sys_dept.id; + + +-- +-- Name: sys_dict_data; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.sys_dict_data ( + dict_sort integer NOT NULL, + dict_label character varying(255) NOT NULL, + dict_value character varying(255) NOT NULL, + css_class character varying(255), + list_class character varying(255), + is_default boolean NOT NULL, + dict_type character varying(255) NOT NULL, + dict_type_id integer NOT NULL, + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL +); + + +ALTER TABLE public.sys_dict_data OWNER TO tao; + +-- +-- Name: TABLE sys_dict_data; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.sys_dict_data IS '字典数据表'; + + +-- +-- Name: COLUMN sys_dict_data.dict_sort; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_data.dict_sort IS '字典排序'; + + +-- +-- Name: COLUMN sys_dict_data.dict_label; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_data.dict_label IS '字典标签'; + + +-- +-- Name: COLUMN sys_dict_data.dict_value; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_data.dict_value IS '字典键值'; + + +-- +-- Name: COLUMN sys_dict_data.css_class; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_data.css_class IS '样式属性(其他样式扩展)'; + + +-- +-- Name: COLUMN sys_dict_data.list_class; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_data.list_class IS '表格回显样式'; + + +-- +-- Name: COLUMN sys_dict_data.is_default; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_data.is_default IS '是否默认(True是 False否)'; + + +-- +-- Name: COLUMN sys_dict_data.dict_type; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_data.dict_type IS '字典类型'; + + +-- +-- Name: COLUMN sys_dict_data.dict_type_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_data.dict_type_id IS '字典类型ID'; + + +-- +-- Name: COLUMN sys_dict_data.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_data.id IS '主键ID'; + + +-- +-- Name: COLUMN sys_dict_data.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_data.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN sys_dict_data.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_data.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN sys_dict_data.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_data.description IS '备注/描述'; + + +-- +-- Name: COLUMN sys_dict_data.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_data.created_time IS '创建时间'; + + +-- +-- Name: COLUMN sys_dict_data.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_data.updated_time IS '更新时间'; + + +-- +-- Name: sys_dict_data_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.sys_dict_data_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.sys_dict_data_id_seq OWNER TO tao; + +-- +-- Name: sys_dict_data_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.sys_dict_data_id_seq OWNED BY public.sys_dict_data.id; + + +-- +-- Name: sys_dict_type; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.sys_dict_type ( + dict_name character varying(64) NOT NULL, + dict_type character varying(255) NOT NULL, + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL +); + + +ALTER TABLE public.sys_dict_type OWNER TO tao; + +-- +-- Name: TABLE sys_dict_type; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.sys_dict_type IS '字典类型表'; + + +-- +-- Name: COLUMN sys_dict_type.dict_name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_type.dict_name IS '字典名称'; + + +-- +-- Name: COLUMN sys_dict_type.dict_type; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_type.dict_type IS '字典类型'; + + +-- +-- Name: COLUMN sys_dict_type.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_type.id IS '主键ID'; + + +-- +-- Name: COLUMN sys_dict_type.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_type.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN sys_dict_type.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_type.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN sys_dict_type.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_type.description IS '备注/描述'; + + +-- +-- Name: COLUMN sys_dict_type.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_type.created_time IS '创建时间'; + + +-- +-- Name: COLUMN sys_dict_type.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_dict_type.updated_time IS '更新时间'; + + +-- +-- Name: sys_dict_type_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.sys_dict_type_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.sys_dict_type_id_seq OWNER TO tao; + +-- +-- Name: sys_dict_type_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.sys_dict_type_id_seq OWNED BY public.sys_dict_type.id; + + +-- +-- Name: sys_log; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.sys_log ( + type integer NOT NULL, + request_path character varying(255) NOT NULL, + request_method character varying(10) NOT NULL, + request_payload text, + request_ip character varying(50), + login_location character varying(255), + request_os character varying(64), + request_browser character varying(64), + response_code integer NOT NULL, + response_json text, + process_time character varying(20), + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL, + created_id integer, + updated_id integer +); + + +ALTER TABLE public.sys_log OWNER TO tao; + +-- +-- Name: TABLE sys_log; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.sys_log IS '系统日志表'; + + +-- +-- Name: COLUMN sys_log.type; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.type IS '日志类型(1登录日志 2操作日志)'; + + +-- +-- Name: COLUMN sys_log.request_path; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.request_path IS '请求路径'; + + +-- +-- Name: COLUMN sys_log.request_method; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.request_method IS '请求方式'; + + +-- +-- Name: COLUMN sys_log.request_payload; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.request_payload IS '请求体'; + + +-- +-- Name: COLUMN sys_log.request_ip; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.request_ip IS '请求IP地址'; + + +-- +-- Name: COLUMN sys_log.login_location; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.login_location IS '登录位置'; + + +-- +-- Name: COLUMN sys_log.request_os; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.request_os IS '操作系统'; + + +-- +-- Name: COLUMN sys_log.request_browser; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.request_browser IS '浏览器'; + + +-- +-- Name: COLUMN sys_log.response_code; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.response_code IS '响应状态码'; + + +-- +-- Name: COLUMN sys_log.response_json; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.response_json IS '响应体'; + + +-- +-- Name: COLUMN sys_log.process_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.process_time IS '处理时间'; + + +-- +-- Name: COLUMN sys_log.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.id IS '主键ID'; + + +-- +-- Name: COLUMN sys_log.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN sys_log.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN sys_log.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.description IS '备注/描述'; + + +-- +-- Name: COLUMN sys_log.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.created_time IS '创建时间'; + + +-- +-- Name: COLUMN sys_log.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.updated_time IS '更新时间'; + + +-- +-- Name: COLUMN sys_log.created_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.created_id IS '创建人ID'; + + +-- +-- Name: COLUMN sys_log.updated_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_log.updated_id IS '更新人ID'; + + +-- +-- Name: sys_log_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.sys_log_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.sys_log_id_seq OWNER TO tao; + +-- +-- Name: sys_log_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.sys_log_id_seq OWNED BY public.sys_log.id; + + +-- +-- Name: sys_menu; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.sys_menu ( + name character varying(50) NOT NULL, + type integer NOT NULL, + "order" integer NOT NULL, + permission character varying(100), + icon character varying(50), + route_name character varying(100), + route_path character varying(200), + component_path character varying(200), + redirect character varying(200), + hidden boolean NOT NULL, + keep_alive boolean NOT NULL, + always_show boolean NOT NULL, + title character varying(50), + params json, + affix boolean NOT NULL, + parent_id integer, + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL +); + + +ALTER TABLE public.sys_menu OWNER TO tao; + +-- +-- Name: TABLE sys_menu; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.sys_menu IS '菜单表'; + + +-- +-- Name: COLUMN sys_menu.name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.name IS '菜单名称'; + + +-- +-- Name: COLUMN sys_menu.type; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.type IS '菜单类型(1:目录 2:菜单 3:按钮/权限 4:链接)'; + + +-- +-- Name: COLUMN sys_menu."order"; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu."order" IS '显示排序'; + + +-- +-- Name: COLUMN sys_menu.permission; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.permission IS '权限标识(如:module_system:user:query)'; + + +-- +-- Name: COLUMN sys_menu.icon; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.icon IS '菜单图标'; + + +-- +-- Name: COLUMN sys_menu.route_name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.route_name IS '路由名称'; + + +-- +-- Name: COLUMN sys_menu.route_path; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.route_path IS '路由路径'; + + +-- +-- Name: COLUMN sys_menu.component_path; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.component_path IS '组件路径'; + + +-- +-- Name: COLUMN sys_menu.redirect; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.redirect IS '重定向地址'; + + +-- +-- Name: COLUMN sys_menu.hidden; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.hidden IS '是否隐藏(True:隐藏 False:显示)'; + + +-- +-- Name: COLUMN sys_menu.keep_alive; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.keep_alive IS '是否缓存(True:是 False:否)'; + + +-- +-- Name: COLUMN sys_menu.always_show; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.always_show IS '是否始终显示(True:是 False:否)'; + + +-- +-- Name: COLUMN sys_menu.title; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.title IS '菜单标题'; + + +-- +-- Name: COLUMN sys_menu.params; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.params IS '路由参数(JSON对象)'; + + +-- +-- Name: COLUMN sys_menu.affix; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.affix IS '是否固定标签页(True:是 False:否)'; + + +-- +-- Name: COLUMN sys_menu.parent_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.parent_id IS '父菜单ID'; + + +-- +-- Name: COLUMN sys_menu.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.id IS '主键ID'; + + +-- +-- Name: COLUMN sys_menu.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN sys_menu.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN sys_menu.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.description IS '备注/描述'; + + +-- +-- Name: COLUMN sys_menu.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.created_time IS '创建时间'; + + +-- +-- Name: COLUMN sys_menu.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_menu.updated_time IS '更新时间'; + + +-- +-- Name: sys_menu_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.sys_menu_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.sys_menu_id_seq OWNER TO tao; + +-- +-- Name: sys_menu_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.sys_menu_id_seq OWNED BY public.sys_menu.id; + + +-- +-- Name: sys_notice; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.sys_notice ( + notice_title character varying(64) NOT NULL, + notice_type character varying(1) NOT NULL, + notice_content text, + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL, + created_id integer, + updated_id integer +); + + +ALTER TABLE public.sys_notice OWNER TO tao; + +-- +-- Name: TABLE sys_notice; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.sys_notice IS '通知公告表'; + + +-- +-- Name: COLUMN sys_notice.notice_title; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_notice.notice_title IS '公告标题'; + + +-- +-- Name: COLUMN sys_notice.notice_type; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_notice.notice_type IS '公告类型(1通知 2公告)'; + + +-- +-- Name: COLUMN sys_notice.notice_content; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_notice.notice_content IS '公告内容'; + + +-- +-- Name: COLUMN sys_notice.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_notice.id IS '主键ID'; + + +-- +-- Name: COLUMN sys_notice.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_notice.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN sys_notice.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_notice.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN sys_notice.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_notice.description IS '备注/描述'; + + +-- +-- Name: COLUMN sys_notice.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_notice.created_time IS '创建时间'; + + +-- +-- Name: COLUMN sys_notice.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_notice.updated_time IS '更新时间'; + + +-- +-- Name: COLUMN sys_notice.created_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_notice.created_id IS '创建人ID'; + + +-- +-- Name: COLUMN sys_notice.updated_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_notice.updated_id IS '更新人ID'; + + +-- +-- Name: sys_notice_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.sys_notice_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.sys_notice_id_seq OWNER TO tao; + +-- +-- Name: sys_notice_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.sys_notice_id_seq OWNED BY public.sys_notice.id; + + +-- +-- Name: sys_param; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.sys_param ( + config_name character varying(64) NOT NULL, + config_key character varying(500) NOT NULL, + config_value character varying(500), + config_type boolean, + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL +); + + +ALTER TABLE public.sys_param OWNER TO tao; + +-- +-- Name: TABLE sys_param; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.sys_param IS '系统参数表'; + + +-- +-- Name: COLUMN sys_param.config_name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_param.config_name IS '参数名称'; + + +-- +-- Name: COLUMN sys_param.config_key; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_param.config_key IS '参数键名'; + + +-- +-- Name: COLUMN sys_param.config_value; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_param.config_value IS '参数键值'; + + +-- +-- Name: COLUMN sys_param.config_type; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_param.config_type IS '系统内置(True:是 False:否)'; + + +-- +-- Name: COLUMN sys_param.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_param.id IS '主键ID'; + + +-- +-- Name: COLUMN sys_param.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_param.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN sys_param.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_param.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN sys_param.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_param.description IS '备注/描述'; + + +-- +-- Name: COLUMN sys_param.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_param.created_time IS '创建时间'; + + +-- +-- Name: COLUMN sys_param.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_param.updated_time IS '更新时间'; + + +-- +-- Name: sys_param_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.sys_param_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.sys_param_id_seq OWNER TO tao; + +-- +-- Name: sys_param_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.sys_param_id_seq OWNED BY public.sys_param.id; + + +-- +-- Name: sys_position; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.sys_position ( + name character varying(64) NOT NULL, + "order" integer NOT NULL, + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL, + created_id integer, + updated_id integer +); + + +ALTER TABLE public.sys_position OWNER TO tao; + +-- +-- Name: TABLE sys_position; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.sys_position IS '岗位表'; + + +-- +-- Name: COLUMN sys_position.name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_position.name IS '岗位名称'; + + +-- +-- Name: COLUMN sys_position."order"; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_position."order" IS '显示排序'; + + +-- +-- Name: COLUMN sys_position.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_position.id IS '主键ID'; + + +-- +-- Name: COLUMN sys_position.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_position.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN sys_position.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_position.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN sys_position.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_position.description IS '备注/描述'; + + +-- +-- Name: COLUMN sys_position.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_position.created_time IS '创建时间'; + + +-- +-- Name: COLUMN sys_position.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_position.updated_time IS '更新时间'; + + +-- +-- Name: COLUMN sys_position.created_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_position.created_id IS '创建人ID'; + + +-- +-- Name: COLUMN sys_position.updated_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_position.updated_id IS '更新人ID'; + + +-- +-- Name: sys_position_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.sys_position_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.sys_position_id_seq OWNER TO tao; + +-- +-- Name: sys_position_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.sys_position_id_seq OWNED BY public.sys_position.id; + + +-- +-- Name: sys_role; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.sys_role ( + name character varying(64) NOT NULL, + code character varying(16), + "order" integer NOT NULL, + data_scope integer NOT NULL, + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL +); + + +ALTER TABLE public.sys_role OWNER TO tao; + +-- +-- Name: TABLE sys_role; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.sys_role IS '角色表'; + + +-- +-- Name: COLUMN sys_role.name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_role.name IS '角色名称'; + + +-- +-- Name: COLUMN sys_role.code; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_role.code IS '角色编码'; + + +-- +-- Name: COLUMN sys_role."order"; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_role."order" IS '显示排序'; + + +-- +-- Name: COLUMN sys_role.data_scope; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_role.data_scope IS '数据权限范围(1:仅本人 2:本部门 3:本部门及以下 4:全部 5:自定义)'; + + +-- +-- Name: COLUMN sys_role.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_role.id IS '主键ID'; + + +-- +-- Name: COLUMN sys_role.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_role.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN sys_role.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_role.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN sys_role.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_role.description IS '备注/描述'; + + +-- +-- Name: COLUMN sys_role.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_role.created_time IS '创建时间'; + + +-- +-- Name: COLUMN sys_role.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_role.updated_time IS '更新时间'; + + +-- +-- Name: sys_role_depts; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.sys_role_depts ( + role_id integer NOT NULL, + dept_id integer NOT NULL +); + + +ALTER TABLE public.sys_role_depts OWNER TO tao; + +-- +-- Name: TABLE sys_role_depts; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.sys_role_depts IS '角色部门关联表'; + + +-- +-- Name: COLUMN sys_role_depts.role_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_role_depts.role_id IS '角色ID'; + + +-- +-- Name: COLUMN sys_role_depts.dept_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_role_depts.dept_id IS '部门ID'; + + +-- +-- Name: sys_role_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.sys_role_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.sys_role_id_seq OWNER TO tao; + +-- +-- Name: sys_role_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.sys_role_id_seq OWNED BY public.sys_role.id; + + +-- +-- Name: sys_role_menus; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.sys_role_menus ( + role_id integer NOT NULL, + menu_id integer NOT NULL +); + + +ALTER TABLE public.sys_role_menus OWNER TO tao; + +-- +-- Name: TABLE sys_role_menus; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.sys_role_menus IS '角色菜单关联表'; + + +-- +-- Name: COLUMN sys_role_menus.role_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_role_menus.role_id IS '角色ID'; + + +-- +-- Name: COLUMN sys_role_menus.menu_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_role_menus.menu_id IS '菜单ID'; + + +-- +-- Name: sys_user; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.sys_user ( + username character varying(64) NOT NULL, + password character varying(255) NOT NULL, + name character varying(32) NOT NULL, + mobile character varying(11), + email character varying(64), + gender character varying(1), + avatar character varying(255), + is_superuser boolean NOT NULL, + last_login timestamp with time zone, + gitee_login character varying(32), + github_login character varying(32), + wx_login character varying(32), + qq_login character varying(32), + dept_id integer, + id integer NOT NULL, + uuid character varying(64) NOT NULL, + status character varying(10) NOT NULL, + description text, + created_time timestamp without time zone NOT NULL, + updated_time timestamp without time zone NOT NULL, + created_id integer, + updated_id integer +); + + +ALTER TABLE public.sys_user OWNER TO tao; + +-- +-- Name: TABLE sys_user; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.sys_user IS '用户表'; + + +-- +-- Name: COLUMN sys_user.username; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.username IS '用户名/登录账号'; + + +-- +-- Name: COLUMN sys_user.password; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.password IS '密码哈希'; + + +-- +-- Name: COLUMN sys_user.name; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.name IS '昵称'; + + +-- +-- Name: COLUMN sys_user.mobile; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.mobile IS '手机号'; + + +-- +-- Name: COLUMN sys_user.email; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.email IS '邮箱'; + + +-- +-- Name: COLUMN sys_user.gender; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.gender IS '性别(0:男 1:女 2:未知)'; + + +-- +-- Name: COLUMN sys_user.avatar; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.avatar IS '头像URL地址'; + + +-- +-- Name: COLUMN sys_user.is_superuser; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.is_superuser IS '是否超管'; + + +-- +-- Name: COLUMN sys_user.last_login; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.last_login IS '最后登录时间'; + + +-- +-- Name: COLUMN sys_user.gitee_login; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.gitee_login IS 'Gitee登录'; + + +-- +-- Name: COLUMN sys_user.github_login; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.github_login IS 'Github登录'; + + +-- +-- Name: COLUMN sys_user.wx_login; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.wx_login IS '微信登录'; + + +-- +-- Name: COLUMN sys_user.qq_login; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.qq_login IS 'QQ登录'; + + +-- +-- Name: COLUMN sys_user.dept_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.dept_id IS '部门ID'; + + +-- +-- Name: COLUMN sys_user.id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.id IS '主键ID'; + + +-- +-- Name: COLUMN sys_user.uuid; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.uuid IS 'UUID全局唯一标识'; + + +-- +-- Name: COLUMN sys_user.status; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.status IS '是否启用(0:启用 1:禁用)'; + + +-- +-- Name: COLUMN sys_user.description; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.description IS '备注/描述'; + + +-- +-- Name: COLUMN sys_user.created_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.created_time IS '创建时间'; + + +-- +-- Name: COLUMN sys_user.updated_time; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.updated_time IS '更新时间'; + + +-- +-- Name: COLUMN sys_user.created_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.created_id IS '创建人ID'; + + +-- +-- Name: COLUMN sys_user.updated_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user.updated_id IS '更新人ID'; + + +-- +-- Name: sys_user_id_seq; Type: SEQUENCE; Schema: public; Owner: tao +-- + +CREATE SEQUENCE public.sys_user_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER SEQUENCE public.sys_user_id_seq OWNER TO tao; + +-- +-- Name: sys_user_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: tao +-- + +ALTER SEQUENCE public.sys_user_id_seq OWNED BY public.sys_user.id; + + +-- +-- Name: sys_user_positions; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.sys_user_positions ( + user_id integer NOT NULL, + position_id integer NOT NULL +); + + +ALTER TABLE public.sys_user_positions OWNER TO tao; + +-- +-- Name: TABLE sys_user_positions; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.sys_user_positions IS '用户岗位关联表'; + + +-- +-- Name: COLUMN sys_user_positions.user_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user_positions.user_id IS '用户ID'; + + +-- +-- Name: COLUMN sys_user_positions.position_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user_positions.position_id IS '岗位ID'; + + +-- +-- Name: sys_user_roles; Type: TABLE; Schema: public; Owner: tao +-- + +CREATE TABLE public.sys_user_roles ( + user_id integer NOT NULL, + role_id integer NOT NULL +); + + +ALTER TABLE public.sys_user_roles OWNER TO tao; + +-- +-- Name: TABLE sys_user_roles; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON TABLE public.sys_user_roles IS '用户角色关联表'; + + +-- +-- Name: COLUMN sys_user_roles.user_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user_roles.user_id IS '用户ID'; + + +-- +-- Name: COLUMN sys_user_roles.role_id; Type: COMMENT; Schema: public; Owner: tao +-- + +COMMENT ON COLUMN public.sys_user_roles.role_id IS '角色ID'; + + +-- +-- Name: app_ai_mcp id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.app_ai_mcp ALTER COLUMN id SET DEFAULT nextval('public.app_ai_mcp_id_seq'::regclass); + + +-- +-- Name: app_job id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.app_job ALTER COLUMN id SET DEFAULT nextval('public.app_job_id_seq'::regclass); + + +-- +-- Name: app_job_log id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.app_job_log ALTER COLUMN id SET DEFAULT nextval('public.app_job_log_id_seq'::regclass); + + +-- +-- Name: app_myapp id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.app_myapp ALTER COLUMN id SET DEFAULT nextval('public.app_myapp_id_seq'::regclass); + + +-- +-- Name: gen_demo id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.gen_demo ALTER COLUMN id SET DEFAULT nextval('public.gen_demo_id_seq'::regclass); + + +-- +-- Name: gen_table id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.gen_table ALTER COLUMN id SET DEFAULT nextval('public.gen_table_id_seq'::regclass); + + +-- +-- Name: gen_table_column id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.gen_table_column ALTER COLUMN id SET DEFAULT nextval('public.gen_table_column_id_seq'::regclass); + + +-- +-- Name: sys_dept id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_dept ALTER COLUMN id SET DEFAULT nextval('public.sys_dept_id_seq'::regclass); + + +-- +-- Name: sys_dict_data id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_dict_data ALTER COLUMN id SET DEFAULT nextval('public.sys_dict_data_id_seq'::regclass); + + +-- +-- Name: sys_dict_type id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_dict_type ALTER COLUMN id SET DEFAULT nextval('public.sys_dict_type_id_seq'::regclass); + + +-- +-- Name: sys_log id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_log ALTER COLUMN id SET DEFAULT nextval('public.sys_log_id_seq'::regclass); + + +-- +-- Name: sys_menu id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_menu ALTER COLUMN id SET DEFAULT nextval('public.sys_menu_id_seq'::regclass); + + +-- +-- Name: sys_notice id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_notice ALTER COLUMN id SET DEFAULT nextval('public.sys_notice_id_seq'::regclass); + + +-- +-- Name: sys_param id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_param ALTER COLUMN id SET DEFAULT nextval('public.sys_param_id_seq'::regclass); + + +-- +-- Name: sys_position id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_position ALTER COLUMN id SET DEFAULT nextval('public.sys_position_id_seq'::regclass); + + +-- +-- Name: sys_role id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_role ALTER COLUMN id SET DEFAULT nextval('public.sys_role_id_seq'::regclass); + + +-- +-- Name: sys_user id; Type: DEFAULT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_user ALTER COLUMN id SET DEFAULT nextval('public.sys_user_id_seq'::regclass); + + +-- +-- Data for Name: app_ai_mcp; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.app_ai_mcp (name, type, url, command, args, env, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; +\. + + +-- +-- Data for Name: app_job; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.app_job (name, jobstore, executor, trigger, trigger_args, func, args, kwargs, "coalesce", max_instances, start_date, end_date, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; +\. + + +-- +-- Data for Name: app_job_log; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.app_job_log (job_name, job_group, job_executor, invoke_target, job_args, job_kwargs, job_trigger, job_message, exception_info, job_id, id, uuid, status, description, created_time, updated_time) FROM stdin; +\. + + +-- +-- Data for Name: app_myapp; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.app_myapp (name, access_url, icon_url, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; +\. + + +-- +-- Data for Name: apscheduler_jobs; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.apscheduler_jobs (id, next_run_time, job_state) FROM stdin; +\. + + +-- +-- Data for Name: gen_demo; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.gen_demo (name, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; +\. + + +-- +-- Data for Name: gen_table; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.gen_table (table_name, table_comment, class_name, package_name, module_name, business_name, function_name, sub_table_name, sub_table_fk_name, parent_menu_id, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; +\. + + +-- +-- Data for Name: gen_table_column; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.gen_table_column (column_name, column_comment, column_type, column_length, column_default, is_pk, is_increment, is_nullable, is_unique, python_type, python_field, is_insert, is_edit, is_list, is_query, query_type, html_type, dict_type, sort, table_id, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; +\. + + +-- +-- Data for Name: sys_dept; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.sys_dept (name, "order", code, leader, phone, email, parent_id, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; +集团总公司 1 GROUP 部门负责人 1582112620 deptadmin@example.com \N 1 0145b7e5-6c2a-4f54-b106-e65e34fa0d69 0 集团总公司 2025-12-31 18:45:46.303574 2025-12-31 18:45:46.303575 \N \N +\. + + +-- +-- Data for Name: sys_dict_data; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.sys_dict_data (dict_sort, dict_label, dict_value, css_class, list_class, is_default, dict_type, dict_type_id, id, uuid, status, description, created_time, updated_time) FROM stdin; +1 男 0 blue \N t sys_user_sex 1 1 45f88999-98f1-4a6d-8beb-1228ec76b1b7 0 性别男 2025-12-31 18:45:46.313333 2025-12-31 18:45:46.313335 +2 女 1 pink \N f sys_user_sex 1 2 86001879-eadf-4c63-ba22-000e7cda8faf 0 性别女 2025-12-31 18:45:46.313339 2025-12-31 18:45:46.31334 +3 未知 2 red \N f sys_user_sex 1 3 5b8039f1-fd12-4c63-8f39-354f40bdb825 0 性别未知 2025-12-31 18:45:46.313343 2025-12-31 18:45:46.313343 +1 是 1 primary t sys_yes_no 2 4 c82242d3-7deb-4735-8e20-77cdb841b558 0 是 2025-12-31 18:45:46.313346 2025-12-31 18:45:46.313346 +2 否 0 danger f sys_yes_no 2 5 b3b12d65-c8d6-4f86-bc0a-54526b305659 0 否 2025-12-31 18:45:46.313349 2025-12-31 18:45:46.31335 +1 启用 1 primary f sys_common_status 3 6 082d1b6b-a26e-4fb7-95d3-4432808ff9ff 0 启用状态 2025-12-31 18:45:46.313353 2025-12-31 18:45:46.313353 +2 停用 0 danger f sys_common_status 3 7 5ce59668-1a13-4b27-8683-2439b3a823d6 0 停用状态 2025-12-31 18:45:46.313356 2025-12-31 18:45:46.313357 +1 通知 1 blue warning t sys_notice_type 4 8 984c4888-f2bf-4c5e-ae22-34101ec06c5e 0 通知 2025-12-31 18:45:46.313359 2025-12-31 18:45:46.31336 +2 公告 2 orange success f sys_notice_type 4 9 9b9799ce-6993-4277-a95d-5352bbd7b533 0 公告 2025-12-31 18:45:46.313363 2025-12-31 18:45:46.313363 +99 其他 0 info f sys_oper_type 5 10 3fc86898-676a-45ea-815a-bea1737277fd 0 其他操作 2025-12-31 18:45:46.313366 2025-12-31 18:45:46.313367 +1 新增 1 info f sys_oper_type 5 11 fc563de5-b34a-45ed-a3e1-e934ac4b8623 0 新增操作 2025-12-31 18:45:46.313369 2025-12-31 18:45:46.31337 +2 修改 2 info f sys_oper_type 5 12 2f81625a-f21d-4296-835a-4b20c94ce9d5 0 修改操作 2025-12-31 18:45:46.313373 2025-12-31 18:45:46.313373 +3 删除 3 danger f sys_oper_type 5 13 0603e2d6-37c1-4c00-a5c9-51531e5486f0 0 删除操作 2025-12-31 18:45:46.313376 2025-12-31 18:45:46.313376 +4 分配权限 4 primary f sys_oper_type 5 14 c7915277-c00b-4a45-b977-f035ef89a0cd 0 授权操作 2025-12-31 18:45:46.313379 2025-12-31 18:45:46.31338 +5 导出 5 warning f sys_oper_type 5 15 c5f47e01-97ac-4400-a806-cbf4a4024669 0 导出操作 2025-12-31 18:45:46.313382 2025-12-31 18:45:46.313383 +6 导入 6 warning f sys_oper_type 5 16 7fad01c6-6fc8-4ad9-967d-03e6ce2f0816 0 导入操作 2025-12-31 18:45:46.313386 2025-12-31 18:45:46.313386 +7 强退 7 danger f sys_oper_type 5 17 81fdd881-bb39-4311-a654-ce9533ed608c 0 强退操作 2025-12-31 18:45:46.313389 2025-12-31 18:45:46.313389 +8 生成代码 8 warning f sys_oper_type 5 18 10764ecd-d433-47c7-a158-f0f2ca00f1f3 0 生成操作 2025-12-31 18:45:46.313392 2025-12-31 18:45:46.313393 +9 清空数据 9 danger f sys_oper_type 5 19 d10e04df-a494-48ff-a5c8-ae33b1780686 0 清空操作 2025-12-31 18:45:46.313396 2025-12-31 18:45:46.313396 +1 默认(Memory) default \N t sys_job_store 6 20 6f9fbafb-2e1d-4631-905a-4cd5f0901601 0 默认分组 2025-12-31 18:45:46.313399 2025-12-31 18:45:46.313399 +2 数据库(Sqlalchemy) sqlalchemy \N f sys_job_store 6 21 f71f7067-6ed5-414a-b9fc-d6c7ce91b999 0 数据库分组 2025-12-31 18:45:46.313402 2025-12-31 18:45:46.313402 +3 数据库(Redis) redis \N f sys_job_store 6 22 c5f184c0-6f5a-490a-971a-802702667d5c 0 reids分组 2025-12-31 18:45:46.313405 2025-12-31 18:45:46.313406 +1 线程池 default \N f sys_job_executor 7 23 9d3975de-0ff7-4f64-a315-04cac2badfed 0 线程池 2025-12-31 18:45:46.313408 2025-12-31 18:45:46.313409 +2 进程池 processpool \N f sys_job_executor 7 24 1ba854ac-2506-4001-803f-6d09ac69b9f1 0 进程池 2025-12-31 18:45:46.313412 2025-12-31 18:45:46.313412 +1 演示函数 scheduler_test.job \N t sys_job_function 8 25 274f8a25-3b73-4ca7-919e-7141d2c961ea 0 演示函数 2025-12-31 18:45:46.313415 2025-12-31 18:45:46.313415 +1 指定日期(date) date \N t sys_job_trigger 9 26 bc634fb5-70c7-47cc-8d74-a0f99cdc2a01 0 指定日期任务触发器 2025-12-31 18:45:46.313418 2025-12-31 18:45:46.313419 +2 间隔触发器(interval) interval \N f sys_job_trigger 9 27 af7368e0-be6f-495f-a617-8a659d985c41 0 间隔触发器任务触发器 2025-12-31 18:45:46.313421 2025-12-31 18:45:46.313422 +3 cron表达式 cron \N f sys_job_trigger 9 28 f663e3e4-f1ac-46ca-bb66-ccd7aae460bd 0 间隔触发器任务触发器 2025-12-31 18:45:46.313425 2025-12-31 18:45:46.313425 +1 默认(default) default \N t sys_list_class 10 29 e80b96a9-3a20-482f-a136-6ceff9b5f440 0 默认表格回显样式 2025-12-31 18:45:46.313428 2025-12-31 18:45:46.313428 +2 主要(primary) primary \N f sys_list_class 10 30 fcca2f87-7219-40a2-ad99-07b50a99515e 0 主要表格回显样式 2025-12-31 18:45:46.313431 2025-12-31 18:45:46.313431 +3 成功(success) success \N f sys_list_class 10 31 79770307-e0ce-4b82-8102-400522052360 0 成功表格回显样式 2025-12-31 18:45:46.313434 2025-12-31 18:45:46.313435 +4 信息(info) info \N f sys_list_class 10 32 28a24d90-3b49-494d-8b78-3c94ecfce187 0 信息表格回显样式 2025-12-31 18:45:46.313437 2025-12-31 18:45:46.313438 +5 警告(warning) warning \N f sys_list_class 10 33 9f12764b-2533-4b9b-824e-d52b71c5aa1b 0 警告表格回显样式 2025-12-31 18:45:46.31344 2025-12-31 18:45:46.313441 +6 危险(danger) danger \N f sys_list_class 10 34 c5ad3ead-35bb-4ace-adb8-1feda60d9892 0 危险表格回显样式 2025-12-31 18:45:46.313444 2025-12-31 18:45:46.313444 +\. + + +-- +-- Data for Name: sys_dict_type; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.sys_dict_type (dict_name, dict_type, id, uuid, status, description, created_time, updated_time) FROM stdin; +用户性别 sys_user_sex 1 3d901b06-1fd1-41b4-b39d-593f34db5879 0 用户性别列表 2025-12-31 18:45:46.308893 2025-12-31 18:45:46.308894 +系统是否 sys_yes_no 2 879c555a-2c33-4484-81ae-844a47e5429e 0 系统是否列表 2025-12-31 18:45:46.308898 2025-12-31 18:45:46.308899 +系统状态 sys_common_status 3 e9d59ad8-d2d5-44b1-b3bc-71809c5c6a7c 0 系统状态 2025-12-31 18:45:46.308902 2025-12-31 18:45:46.308902 +通知类型 sys_notice_type 4 b45dc463-e765-4309-a999-442769853774 0 通知类型列表 2025-12-31 18:45:46.308905 2025-12-31 18:45:46.308906 +操作类型 sys_oper_type 5 7c46e8b9-cef2-4475-9959-35bf5b95655e 0 操作类型列表 2025-12-31 18:45:46.308908 2025-12-31 18:45:46.308909 +任务存储器 sys_job_store 6 c03dfd08-c8e6-4d5b-898e-28ed2ba84fa9 0 任务分组列表 2025-12-31 18:45:46.308912 2025-12-31 18:45:46.308912 +任务执行器 sys_job_executor 7 4950520d-c9da-40c9-b1ed-32d0bbf1e65f 0 任务执行器列表 2025-12-31 18:45:46.308915 2025-12-31 18:45:46.308915 +任务函数 sys_job_function 8 22326315-30d8-443c-9060-42cad0419791 0 任务函数列表 2025-12-31 18:45:46.308918 2025-12-31 18:45:46.308918 +任务触发器 sys_job_trigger 9 e44e8ea6-8cf1-43cf-8cb7-bf86d24c555a 0 任务触发器列表 2025-12-31 18:45:46.308921 2025-12-31 18:45:46.308922 +表格回显样式 sys_list_class 10 d05de1f4-ddf3-447f-ba10-a6fcee2f7920 0 表格回显样式列表 2025-12-31 18:45:46.308925 2025-12-31 18:45:46.308925 +\. + + +-- +-- Data for Name: sys_log; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.sys_log (type, request_path, request_method, request_payload, request_ip, login_location, request_os, request_browser, response_code, response_json, process_time, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; +\. + + +-- +-- Data for Name: sys_menu; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.sys_menu (name, type, "order", permission, icon, route_name, route_path, component_path, redirect, hidden, keep_alive, always_show, title, params, affix, parent_id, id, uuid, status, description, created_time, updated_time) FROM stdin; +仪表盘 1 1 client Dashboard /dashboard \N /dashboard/workplace f t t 仪表盘 null f \N 1 a36f0d7f-7a36-44cb-833e-6fd4df3cf84c 0 初始化数据 2025-12-31 18:45:46.283165 2025-12-31 18:45:46.283168 +系统管理 1 2 \N system System /system \N /system/menu f t f 系统管理 null f \N 2 83d0aa67-1732-4286-a9d4-64af6a775bd2 0 初始化数据 2025-12-31 18:45:46.283173 2025-12-31 18:45:46.283173 +应用管理 1 3 \N el-icon-ShoppingBag Application /application \N /application/myapp f f f 应用管理 null f \N 3 33572918-5fc0-4f08-acdd-0d0fe09be6f2 0 初始化数据 2025-12-31 18:45:46.283176 2025-12-31 18:45:46.283177 +监控管理 1 4 \N monitor Monitor /monitor \N /monitor/online f f f 监控管理 null f \N 4 f042e0e4-fb07-4541-bb3f-e8428c6034d4 0 初始化数据 2025-12-31 18:45:46.28318 2025-12-31 18:45:46.28318 +代码管理 1 5 \N code Generator /generator \N /generator/gencode f f f 代码管理 null f \N 5 bef1868e-e143-4b00-b627-27cf6f0ff3c6 0 代码管理 2025-12-31 18:45:46.283183 2025-12-31 18:45:46.283183 +接口管理 1 6 \N document Common /common \N /common/docs f f f 接口管理 null f \N 6 d2a90e3a-899b-4ced-bcf5-99dd60d2b0b0 0 初始化数据 2025-12-31 18:45:46.283186 2025-12-31 18:45:46.283187 +案例管理 1 7 \N menu Example /example \N /example/demo f f f 案例管理 null f \N 7 bd4ef0ac-403f-487d-b6be-be18575c474c 0 案例管理 2025-12-31 18:45:46.283189 2025-12-31 18:45:46.28319 +工作台 2 1 dashboard:workplace:query el-icon-PieChart Workplace /dashboard/workplace dashboard/workplace \N f t f 工作台 null f 1 8 d43a5272-3dbe-4d52-b907-d8bad4815534 0 初始化数据 2025-12-31 18:45:46.287286 2025-12-31 18:45:46.287288 +菜单管理 2 1 module_system:menu:query menu Menu /system/menu module_system/menu/index \N f t f 菜单管理 null f 2 9 45073436-fe47-4ef6-88d8-956cd9b8c6c1 0 初始化数据 2025-12-31 18:45:46.287293 2025-12-31 18:45:46.287293 +部门管理 2 2 module_system:dept:query tree Dept /system/dept module_system/dept/index \N f t f 部门管理 null f 2 10 396a2469-1ff7-40f6-a325-07b4fefb400e 0 初始化数据 2025-12-31 18:45:46.287297 2025-12-31 18:45:46.287297 +岗位管理 2 3 module_system:position:query el-icon-Coordinate Position /system/position module_system/position/index \N f t f 岗位管理 null f 2 11 c94f7747-3e03-429d-9c2b-3d37dc1157ad 0 初始化数据 2025-12-31 18:45:46.2873 2025-12-31 18:45:46.2873 +角色管理 2 4 module_system:role:query role Role /system/role module_system/role/index \N f t f 角色管理 null f 2 12 5b4b1b62-8f52-4f45-98ad-3e33c6731441 0 初始化数据 2025-12-31 18:45:46.287303 2025-12-31 18:45:46.287304 +用户管理 2 5 module_system:user:query el-icon-User User /system/user module_system/user/index \N f t f 用户管理 null f 2 13 5cd296d2-9c46-45e0-b3d2-096f00767aa4 0 初始化数据 2025-12-31 18:45:46.287307 2025-12-31 18:45:46.287307 +日志管理 2 6 module_system:log:query el-icon-Aim Log /system/log module_system/log/index \N f t f 日志管理 null f 2 14 0455bebb-4647-4bf1-87e0-bb2eb5622074 0 初始化数据 2025-12-31 18:45:46.28731 2025-12-31 18:45:46.287311 +公告管理 2 7 module_system:notice:query bell Notice /system/notice module_system/notice/index \N f t f 公告管理 null f 2 15 a7354c8b-fb3a-447a-ba86-5acd5591590d 0 初始化数据 2025-12-31 18:45:46.287314 2025-12-31 18:45:46.287314 +参数管理 2 8 module_system:param:query setting Params /system/param module_system/param/index \N f t f 参数管理 null f 2 16 633e2d23-674c-481d-b50b-af789422e96f 0 初始化数据 2025-12-31 18:45:46.287317 2025-12-31 18:45:46.287317 +字典管理 2 9 module_system:dict_type:query dict Dict /system/dict module_system/dict/index \N f t f 字典管理 null f 2 17 22f76f6a-7654-44c4-9840-c01ee942ee60 0 初始化数据 2025-12-31 18:45:46.287321 2025-12-31 18:45:46.287321 +我的应用 2 1 module_application:myapp:query el-icon-ShoppingCartFull MYAPP /application/myapp module_application/myapp/index \N f t f 我的应用 null f 3 18 b6583f61-3c47-4ebb-8228-7035d44b76e0 0 初始化数据 2025-12-31 18:45:46.287324 2025-12-31 18:45:46.287324 +任务管理 2 2 module_application:job:query el-icon-DataLine Job /application/job module_application/job/index \N f t f 任务管理 null f 3 19 adb50998-8351-4275-96f2-5d4fbf0ba433 0 初始化数据 2025-12-31 18:45:46.287328 2025-12-31 18:45:46.287328 +AI智能助手 2 3 module_application:ai:chat el-icon-ToiletPaper AI /application/ai module_application/ai/index \N f t f AI智能助手 null f 3 20 ff8c052b-4d80-42d0-99c7-1fc965d069df 0 AI智能助手 2025-12-31 18:45:46.287331 2025-12-31 18:45:46.287332 +流程管理 2 4 module_application:workflow:query el-icon-ShoppingBag Workflow /application/workflow module_application/workflow/index \N f t f 我的流程 null f 3 21 a6275885-471a-4c0e-8dea-378115214836 0 我的流程 2025-12-31 18:45:46.287335 2025-12-31 18:45:46.287335 +在线用户 2 1 module_monitor:online:query el-icon-Headset MonitorOnline /monitor/online module_monitor/online/index \N f f f 在线用户 null f 4 22 41a364b2-7057-4063-a291-2632ec6b761d 0 初始化数据 2025-12-31 18:45:46.287338 2025-12-31 18:45:46.287338 +服务器监控 2 2 module_monitor:server:query el-icon-Odometer MonitorServer /monitor/server module_monitor/server/index \N f f f 服务器监控 null f 4 23 41988393-dc41-451f-a37e-19aede11c56c 0 初始化数据 2025-12-31 18:45:46.287343 2025-12-31 18:45:46.287344 +缓存监控 2 3 module_monitor:cache:query el-icon-Stopwatch MonitorCache /monitor/cache module_monitor/cache/index \N f f f 缓存监控 null f 4 24 afcb43e4-8cf3-49c5-93f8-948d5ecc28db 0 初始化数据 2025-12-31 18:45:46.287347 2025-12-31 18:45:46.287347 +文件管理 2 4 module_monitor:resource:query el-icon-Files Resource /monitor/resource module_monitor/resource/index \N f t f 文件管理 null f 4 25 1b628ba6-00c1-4569-a8ed-658792fc7330 0 初始化数据 2025-12-31 18:45:46.28735 2025-12-31 18:45:46.287351 +代码生成 2 1 module_generator:gencode:query code GenCode /generator/gencode module_generator/gencode/index \N f t f 代码生成 null f 5 26 e3d30324-f8c9-4b83-9218-a1f5d7f01e2e 0 代码生成 2025-12-31 18:45:46.287354 2025-12-31 18:45:46.287354 +Swagger文档 4 1 module_common:docs:query api Docs /common/docs module_common/docs/index \N f f f Swagger文档 null f 6 27 ead8de32-6a5a-4920-8c79-f3097504a42e 0 初始化数据 2025-12-31 18:45:46.287357 2025-12-31 18:45:46.287357 +Redoc文档 4 2 module_common:redoc:query el-icon-Document Redoc /common/redoc module_common/redoc/index \N f f f Redoc文档 null f 6 28 979404b6-57c6-4ad4-a409-b092c6cefc4e 0 初始化数据 2025-12-31 18:45:46.28736 2025-12-31 18:45:46.28736 +示例管理 2 1 module_example:demo:query menu Demo /example/demo module_example/demo/index \N f t f 示例管理 null f 7 29 a4353621-4f0f-4b31-a3db-c57839eb83f8 0 示例管理 2025-12-31 18:45:46.287363 2025-12-31 18:45:46.287364 +创建菜单 3 1 module_system:menu:create \N \N \N \N \N f t f 创建菜单 null f 9 30 911d8f13-d07a-413b-b084-4646b22d9337 0 初始化数据 2025-12-31 18:45:46.29147 2025-12-31 18:45:46.291472 +修改菜单 3 2 module_system:menu:update \N \N \N \N \N f t f 修改菜单 null f 9 31 32d2df46-62e5-42af-9b6c-9a5728aca04b 0 初始化数据 2025-12-31 18:45:46.291476 2025-12-31 18:45:46.291476 +删除菜单 3 3 module_system:menu:delete \N \N \N \N \N f t f 删除菜单 null f 9 32 bcf0491b-5a1c-4800-8fad-4dd0c1c6d113 0 初始化数据 2025-12-31 18:45:46.291479 2025-12-31 18:45:46.29148 +批量修改菜单状态 3 4 module_system:menu:patch \N \N \N \N \N f t f 批量修改菜单状态 null f 9 33 67567ae4-1b78-4070-a01b-e89925baa0be 0 初始化数据 2025-12-31 18:45:46.291483 2025-12-31 18:45:46.291483 +详情改菜 3 5 module_system:menu:detail \N \N \N \N \N f t f 详情改菜 null f 9 34 2829cf85-eff9-4dbc-9724-1b4c035907fd 0 初始化数据 2025-12-31 18:45:46.291486 2025-12-31 18:45:46.291486 +查询菜单 3 6 module_system:menu:query \N \N \N \N \N f t f 查询菜单 null f 9 35 038f5adb-a416-40a3-b8dc-10b07ca9a67e 0 初始化数据 2025-12-31 18:45:46.291489 2025-12-31 18:45:46.29149 +创建部门 3 1 module_system:dept:create \N \N \N \N \N f t f 创建部门 null f 10 36 b33ffcb9-53e6-41a9-90f4-0ca9e3585b10 0 初始化数据 2025-12-31 18:45:46.291493 2025-12-31 18:45:46.291493 +修改部门 3 2 module_system:dept:update \N \N \N \N \N f t f 修改部门 null f 10 37 6b81bcc0-20c0-4fad-8091-93386ce54ded 0 初始化数据 2025-12-31 18:45:46.291496 2025-12-31 18:45:46.291496 +删除部门 3 3 module_system:dept:delete \N \N \N \N \N f t f 删除部门 null f 10 38 d27fd07c-d510-4438-98b9-87bab84e81e6 0 初始化数据 2025-12-31 18:45:46.291499 2025-12-31 18:45:46.2915 +批量修改部门状态 3 4 module_system:dept:patch \N \N \N \N \N f t f 批量修改部门状态 null f 10 39 97a8c6ad-573c-48eb-8c04-248254c2d6b8 0 初始化数据 2025-12-31 18:45:46.291503 2025-12-31 18:45:46.291503 +详情部门 3 5 module_system:dept:detail \N \N \N \N \N f t f 详情部门 null f 10 40 6d38d2e3-a54f-41a9-ad56-cac645a82455 0 初始化数据 2025-12-31 18:45:46.291506 2025-12-31 18:45:46.291506 +查询部门 3 6 module_system:dept:query \N \N \N \N \N f t f 查询部门 null f 10 41 170a1213-599a-4d2d-bbfb-f837f6f8a2eb 0 初始化数据 2025-12-31 18:45:46.291509 2025-12-31 18:45:46.291509 +创建岗位 3 1 module_system:position:create \N \N \N \N \N f t f 创建岗位 null f 11 42 e960bfae-b38a-44db-a62c-e064143490a0 0 初始化数据 2025-12-31 18:45:46.291512 2025-12-31 18:45:46.291513 +修改岗位 3 2 module_system:position:update \N \N \N \N \N f t f 修改岗位 null f 11 43 b14f5dd1-a5f7-4db9-9fc9-fb02aecb3d88 0 初始化数据 2025-12-31 18:45:46.291515 2025-12-31 18:45:46.291516 +删除岗位 3 3 module_system:position:delete \N \N \N \N \N f t f 修改岗位 null f 11 44 b755ef27-9d9c-4cf0-87fa-00cafa346bcc 0 初始化数据 2025-12-31 18:45:46.291519 2025-12-31 18:45:46.291519 +批量修改岗位状态 3 4 module_system:position:patch \N \N \N \N \N f t f 批量修改岗位状态 null f 11 45 41dc6aa4-3de1-427d-9a0f-8b6fce54aa52 0 初始化数据 2025-12-31 18:45:46.291522 2025-12-31 18:45:46.291522 +岗位导出 3 5 module_system:position:export \N \N \N \N \N f t f 岗位导出 null f 11 46 31341705-ad32-4f5e-9963-c4b90bacb800 0 初始化数据 2025-12-31 18:45:46.291525 2025-12-31 18:45:46.291525 +详情岗位 3 6 module_system:position:detail \N \N \N \N \N f t f 详情岗位 null f 11 47 a0290d06-b8d2-408b-8f03-bb1548330a7b 0 初始化数据 2025-12-31 18:45:46.291528 2025-12-31 18:45:46.291529 +查询岗位 3 7 module_system:position:query \N \N \N \N \N f t f 查询岗位 null f 11 48 604ca0f6-f61b-4863-8560-80f2be3e8f69 0 初始化数据 2025-12-31 18:45:46.291531 2025-12-31 18:45:46.291532 +创建角色 3 1 module_system:role:create \N \N \N \N \N f t f 创建角色 null f 12 49 5e2baafa-0afc-42a3-9430-205d59482e81 0 初始化数据 2025-12-31 18:45:46.291535 2025-12-31 18:45:46.291535 +修改角色 3 2 module_system:role:update \N \N \N \N \N f t f 修改角色 null f 12 50 47f343fe-8639-4ee7-a0b5-8c10b0402848 0 初始化数据 2025-12-31 18:45:46.291538 2025-12-31 18:45:46.291538 +删除角色 3 3 module_system:role:delete \N \N \N \N \N f t f 删除角色 null f 12 51 435e771b-c643-4dbc-a53d-804db2d25aaa 0 初始化数据 2025-12-31 18:45:46.291541 2025-12-31 18:45:46.291541 +批量修改角色状态 3 4 module_system:role:patch \N \N \N \N \N f t f 批量修改角色状态 null f 12 52 d3613339-6f79-4189-8a61-b64cb42e028e 0 初始化数据 2025-12-31 18:45:46.291544 2025-12-31 18:45:46.291544 +角色导出 3 5 module_system:role:export \N \N \N \N \N f t f 角色导出 null f 12 53 5d0b9ff3-e936-41ee-b697-e34f26ea0297 0 初始化数据 2025-12-31 18:45:46.291547 2025-12-31 18:45:46.291548 +详情角色 3 6 module_system:role:detail \N \N \N \N \N f t f 详情角色 null f 12 54 2a5da910-a814-4c96-b021-c25a2b576a3a 0 初始化数据 2025-12-31 18:45:46.29155 2025-12-31 18:45:46.291551 +查询角色 3 7 module_system:role:query \N \N \N \N \N f t f 查询角色 null f 12 55 265a43ce-584f-4b75-aa8b-068e03d21764 0 初始化数据 2025-12-31 18:45:46.291553 2025-12-31 18:45:46.291554 +创建用户 3 1 module_system:user:create \N \N \N \N \N f t f 创建用户 null f 13 56 cf6652a2-8af6-4590-9973-c92cffe7922e 0 初始化数据 2025-12-31 18:45:46.291557 2025-12-31 18:45:46.291557 +修改用户 3 2 module_system:user:update \N \N \N \N \N f t f 修改用户 null f 13 57 c9da25cb-b1a9-41ef-836a-a597bf996b4d 0 初始化数据 2025-12-31 18:45:46.29156 2025-12-31 18:45:46.29156 +删除用户 3 3 module_system:user:delete \N \N \N \N \N f t f 删除用户 null f 13 58 465911d3-fabc-43f4-b81f-1bf795ed8997 0 初始化数据 2025-12-31 18:45:46.291563 2025-12-31 18:45:46.291564 +批量修改用户状态 3 4 module_system:user:patch \N \N \N \N \N f t f 批量修改用户状态 null f 13 59 6fe0a73e-3eb7-4526-b6dc-98f1acc30ed7 0 初始化数据 2025-12-31 18:45:46.291567 2025-12-31 18:45:46.291568 +导出用户 3 5 module_system:user:export \N \N \N \N \N f t f 导出用户 null f 13 60 3c510e9e-3a8a-496c-a6c6-095b0758e86d 0 初始化数据 2025-12-31 18:45:46.291571 2025-12-31 18:45:46.291571 +导入用户 3 6 module_system:user:import \N \N \N \N \N f t f 导入用户 null f 13 61 a484ab1c-dc38-431f-92e4-d56490785e6a 0 初始化数据 2025-12-31 18:45:46.291574 2025-12-31 18:45:46.291574 +下载用户导入模板 3 7 module_system:user:download \N \N \N \N \N f t f 下载用户导入模板 null f 13 62 b0c8eaed-8b1b-4529-99f1-f84c4af21a9b 0 初始化数据 2025-12-31 18:45:46.291577 2025-12-31 18:45:46.291578 +详情用户 3 8 module_system:user:detail \N \N \N \N \N f t f 详情用户 null f 13 63 51297a3b-82cf-4b98-916b-e73fb108cdcb 0 初始化数据 2025-12-31 18:45:46.29158 2025-12-31 18:45:46.291581 +查询用户 3 9 module_system:user:query \N \N \N \N \N f t f 查询用户 null f 13 64 78319154-ceae-406d-93b0-58e8c15199ff 0 初始化数据 2025-12-31 18:45:46.291584 2025-12-31 18:45:46.291584 +日志删除 3 1 module_system:log:delete \N \N \N \N \N f t f 日志删除 null f 14 65 226ff32a-10f1-45e1-af83-7512906ef8b2 0 初始化数据 2025-12-31 18:45:46.291587 2025-12-31 18:45:46.291587 +日志导出 3 2 module_system:log:export \N \N \N \N \N f t f 日志导出 null f 14 66 4199edc1-9b50-45e3-93c7-52ff7b33e927 0 初始化数据 2025-12-31 18:45:46.29159 2025-12-31 18:45:46.29159 +日志详情 3 3 module_system:log:detail \N \N \N \N \N f t f 日志详情 null f 14 67 531b91bb-d3f7-4963-99c4-1a2299b5b7e7 0 初始化数据 2025-12-31 18:45:46.291593 2025-12-31 18:45:46.291593 +查询日志 3 4 module_system:log:query \N \N \N \N \N f t f 查询日志 null f 14 68 2715e59e-81c3-4f51-8296-5b0a955f90bd 0 初始化数据 2025-12-31 18:45:46.291596 2025-12-31 18:45:46.291597 +公告创建 3 1 module_system:notice:create \N \N \N \N \N f t f 公告创建 null f 15 69 c40d0036-8725-44c2-9a59-e9c1d30404e3 0 初始化数据 2025-12-31 18:45:46.291599 2025-12-31 18:45:46.2916 +公告修改 3 2 module_system:notice:update \N \N \N \N \N f t f 修改用户 null f 15 70 3a91e640-54d4-4d6f-b486-2b216e571c2d 0 初始化数据 2025-12-31 18:45:46.291603 2025-12-31 18:45:46.291603 +公告删除 3 3 module_system:notice:delete \N \N \N \N \N f t f 公告删除 null f 15 71 0e4e9577-5f10-4e5d-b46f-bf4f16e77f01 0 初始化数据 2025-12-31 18:45:46.291606 2025-12-31 18:45:46.291606 +公告导出 3 4 module_system:notice:export \N \N \N \N \N f t f 公告导出 null f 15 72 85f7377b-6f3d-4645-9fe6-78a3196b0ef1 0 初始化数据 2025-12-31 18:45:46.291609 2025-12-31 18:45:46.291609 +公告批量修改状态 3 5 module_system:notice:patch \N \N \N \N \N f t f 公告批量修改状态 null f 15 73 49be698f-47e8-4f27-9bb6-9cd8bae3b9ae 0 初始化数据 2025-12-31 18:45:46.291612 2025-12-31 18:45:46.291613 +公告详情 3 6 module_system:notice:detail \N \N \N \N \N f t f 公告详情 null f 15 74 be54d14a-0c41-497a-acb8-40eb0c976c07 0 初始化数据 2025-12-31 18:45:46.291615 2025-12-31 18:45:46.291616 +查询公告 3 5 module_system:notice:query \N \N \N \N \N f t f 查询公告 null f 15 75 e496fd06-cf11-4f5b-aaa1-0113af736386 0 初始化数据 2025-12-31 18:45:46.291619 2025-12-31 18:45:46.291619 +创建参数 3 1 module_system:param:create \N \N \N \N \N f t f 创建参数 null f 16 76 345fc1db-e0f3-4f78-9edc-7d7be705c5bb 0 初始化数据 2025-12-31 18:45:46.291622 2025-12-31 18:45:46.291622 +修改参数 3 2 module_system:param:update \N \N \N \N \N f t f 修改参数 null f 16 77 fb63482b-1f39-45db-84e8-183580a84164 0 初始化数据 2025-12-31 18:45:46.291625 2025-12-31 18:45:46.291625 +删除参数 3 3 module_system:param:delete \N \N \N \N \N f t f 删除参数 null f 16 78 2b74aad8-0b99-4a3e-9601-578a9bb66df0 0 初始化数据 2025-12-31 18:45:46.291628 2025-12-31 18:45:46.291628 +导出参数 3 4 module_system:param:export \N \N \N \N \N f t f 导出参数 null f 16 79 5a37e623-4a65-49e8-bc0a-b5c73d789e5b 0 初始化数据 2025-12-31 18:45:46.291635 2025-12-31 18:45:46.291635 +参数上传 3 5 module_system:param:upload \N \N \N \N \N f t f 参数上传 null f 16 80 2b6680c1-0f1c-4e33-b8bc-cd456c60cd20 0 初始化数据 2025-12-31 18:45:46.291638 2025-12-31 18:45:46.291639 +参数详情 3 6 module_system:param:detail \N \N \N \N \N f t f 参数详情 null f 16 81 911afd36-18e0-4292-9b7d-1dfa4d289a8b 0 初始化数据 2025-12-31 18:45:46.291642 2025-12-31 18:45:46.291643 +查询参数 3 7 module_system:param:query \N \N \N \N \N f t f 查询参数 null f 16 82 cd2d1652-f6bd-44b9-a013-9f11852b4d29 0 初始化数据 2025-12-31 18:45:46.291646 2025-12-31 18:45:46.291646 +创建字典类型 3 1 module_system:dict_type:create \N \N \N \N \N f t f 创建字典类型 null f 17 83 5b7ad918-6469-4e09-8f0f-f04ed00bc9d5 0 初始化数据 2025-12-31 18:45:46.291649 2025-12-31 18:45:46.291649 +修改字典类型 3 2 module_system:dict_type:update \N \N \N \N \N f t f 修改字典类型 null f 17 84 0b7787d6-3692-4e23-a89d-5dfd7dc27bd6 0 初始化数据 2025-12-31 18:45:46.291652 2025-12-31 18:45:46.291653 +删除字典类型 3 3 module_system:dict_type:delete \N \N \N \N \N f t f 删除字典类型 null f 17 85 b1602875-1ec3-44fc-8ce0-64caae17ad98 0 初始化数据 2025-12-31 18:45:46.291656 2025-12-31 18:45:46.291656 +导出字典类型 3 4 module_system:dict_type:export \N \N \N \N \N f t f 导出字典类型 null f 17 86 1d3c1f8a-5cb0-4ed1-876b-f019f7f8a881 0 初始化数据 2025-12-31 18:45:46.291659 2025-12-31 18:45:46.291659 +批量修改字典状态 3 5 module_system:dict_type:patch \N \N \N \N \N f t f 导出字典类型 null f 17 87 56ff47c8-d46e-459b-a398-c1d7aae9ce12 0 初始化数据 2025-12-31 18:45:46.291662 2025-12-31 18:45:46.291662 +字典数据查询 3 6 module_system:dict_data:query \N \N \N \N \N f t f 字典数据查询 null f 17 88 9542655e-acc9-4386-bd86-63f84421ec47 0 初始化数据 2025-12-31 18:45:46.291665 2025-12-31 18:45:46.291665 +创建字典数据 3 7 module_system:dict_data:create \N \N \N \N \N f t f 创建字典数据 null f 17 89 6bb10423-011f-4420-b638-233219be7594 0 初始化数据 2025-12-31 18:45:46.291668 2025-12-31 18:45:46.291669 +修改字典数据 3 8 module_system:dict_data:update \N \N \N \N \N f t f 修改字典数据 null f 17 90 aaa521de-b473-4460-9fe2-461d4fd418b3 0 初始化数据 2025-12-31 18:45:46.291671 2025-12-31 18:45:46.291672 +删除字典数据 3 9 module_system:dict_data:delete \N \N \N \N \N f t f 删除字典数据 null f 17 91 a4cc7645-9371-4ecd-bcb4-a0704ffc8647 0 初始化数据 2025-12-31 18:45:46.291674 2025-12-31 18:45:46.291675 +导出字典数据 3 10 module_system:dict_data:export \N \N \N \N \N f t f 导出字典数据 null f 17 92 d57bb378-0092-434b-816e-08a8da4d83a3 0 初始化数据 2025-12-31 18:45:46.291678 2025-12-31 18:45:46.291678 +批量修改字典数据状态 3 11 module_system:dict_data:patch \N \N \N \N \N f t f 批量修改字典数据状态 null f 17 93 7553f26f-03f8-449a-a57a-67ce80c55790 0 初始化数据 2025-12-31 18:45:46.291681 2025-12-31 18:45:46.291681 +详情字典类型 3 12 module_system:dict_type:detail \N \N \N \N \N f t f 详情字典类型 null f 17 94 50da7a6d-fc3c-432f-916b-17a443f8785e 0 初始化数据 2025-12-31 18:45:46.291684 2025-12-31 18:45:46.291684 +查询字典类型 3 13 module_system:dict_type:query \N \N \N \N \N f t f 查询字典类型 null f 17 95 f5e1a01b-7ac7-490f-a132-f03cf8507489 0 初始化数据 2025-12-31 18:45:46.291687 2025-12-31 18:45:46.291688 +详情字典数据 3 14 module_system:dict_data:detail \N \N \N \N \N f t f 详情字典数据 null f 17 96 da285556-7705-455a-8877-5163f6760ea2 0 初始化数据 2025-12-31 18:45:46.29169 2025-12-31 18:45:46.291691 +创建应用 3 1 module_application:myapp:create \N \N \N \N \N f t f 创建应用 null f 18 97 2e31673e-6e8a-43b6-adf4-43d711ff4108 0 初始化数据 2025-12-31 18:45:46.291694 2025-12-31 18:45:46.291694 +修改应用 3 2 module_application:myapp:update \N \N \N \N \N f t f 修改应用 null f 18 98 01e29861-bf04-4a2c-aeaa-2955bedd9d4b 0 初始化数据 2025-12-31 18:45:46.291697 2025-12-31 18:45:46.291697 +删除应用 3 3 module_application:myapp:delete \N \N \N \N \N f t f 删除应用 null f 18 99 15f3d8a9-ca07-4b30-b28b-bfb06ad2ab3f 0 初始化数据 2025-12-31 18:45:46.2917 2025-12-31 18:45:46.291701 +批量修改应用状态 3 4 module_application:myapp:patch \N \N \N \N \N f t f 批量修改应用状态 null f 18 100 1fa8f4a7-3b76-428f-84fc-a4029b036a6d 0 初始化数据 2025-12-31 18:45:46.291703 2025-12-31 18:45:46.291704 +详情应用 3 5 module_application:myapp:detail \N \N \N \N \N f t f 详情应用 null f 18 101 e7930091-8d95-4444-8d89-c58cc3290010 0 初始化数据 2025-12-31 18:45:46.291707 2025-12-31 18:45:46.291707 +查询应用 3 6 module_application:myapp:query \N \N \N \N \N f t f 查询应用 null f 18 102 9086b321-326f-446b-aaae-b6b8a85cc9bb 0 初始化数据 2025-12-31 18:45:46.29171 2025-12-31 18:45:46.29171 +创建任务 3 1 module_application:job:create \N \N \N \N \N f t f 创建任务 null f 19 103 1a0a7f43-8adc-4783-8bb9-18c1cfa1b26a 0 初始化数据 2025-12-31 18:45:46.291713 2025-12-31 18:45:46.291713 +修改和操作任务 3 2 module_application:job:update \N \N \N \N \N f t f 修改和操作任务 null f 19 104 a2ba0bb6-e634-42c9-98fc-be662c9422cd 0 初始化数据 2025-12-31 18:45:46.291716 2025-12-31 18:45:46.291717 +删除和清除任务 3 3 module_application:job:delete \N \N \N \N \N f t f 删除和清除任务 null f 19 105 e7e916cf-65af-4792-9bea-82d519da353c 0 初始化数据 2025-12-31 18:45:46.291719 2025-12-31 18:45:46.29172 +导出定时任务 3 4 module_application:job:export \N \N \N \N \N f t f 导出定时任务 null f 19 106 ff637557-cc74-4686-9c21-ae3d344091e4 0 初始化数据 2025-12-31 18:45:46.291723 2025-12-31 18:45:46.291723 +详情定时任务 3 5 module_application:job:detail \N \N \N \N \N f t f 详情任务 null f 19 107 bf8bbca4-94b4-4544-8610-1fe669605de4 0 初始化数据 2025-12-31 18:45:46.291726 2025-12-31 18:45:46.291726 +查询定时任务 3 6 module_application:job:query \N \N \N \N \N f t f 查询定时任务 null f 19 108 08d860a6-2904-4f49-9455-f5e226833802 0 初始化数据 2025-12-31 18:45:46.291729 2025-12-31 18:45:46.291729 +智能对话 3 1 module_application:ai:chat \N \N \N \N \N f t f 智能对话 null f 20 109 2b43e286-02cb-41d5-a84a-bba3785cc82c 0 智能对话 2025-12-31 18:45:46.291732 2025-12-31 18:45:46.291733 +在线用户强制下线 3 1 module_monitor:online:delete \N \N \N \N \N f f f 在线用户强制下线 null f 22 110 5bde9f0c-45db-4f84-b419-1100ac28b768 0 初始化数据 2025-12-31 18:45:46.291735 2025-12-31 18:45:46.291736 +清除缓存 3 1 module_monitor:cache:delete \N \N \N \N \N f f f 清除缓存 null f 24 111 208e4ebc-d99e-47c8-8f60-5c7c6199ed08 0 初始化数据 2025-12-31 18:45:46.291739 2025-12-31 18:45:46.291739 +文件上传 3 1 module_monitor:resource:upload \N \N \N \N \N f t f 文件上传 null f 25 112 2197b2f5-48e3-44d4-acea-3b85b3dde15a 0 初始化数据 2025-12-31 18:45:46.291742 2025-12-31 18:45:46.291742 +文件下载 3 2 module_monitor:resource:download \N \N \N \N \N f t f 文件下载 null f 25 113 fa9f0627-7815-409d-88ad-aabe9d5e4252 0 初始化数据 2025-12-31 18:45:46.291747 2025-12-31 18:45:46.291747 +文件删除 3 3 module_monitor:resource:delete \N \N \N \N \N f t f 文件删除 null f 25 114 6280f8fb-63cb-4e96-9579-3ff0dfa8a1ba 0 初始化数据 2025-12-31 18:45:46.29175 2025-12-31 18:45:46.29175 +文件移动 3 4 module_monitor:resource:move \N \N \N \N \N f t f 文件移动 null f 25 115 4c1253a9-80cf-443e-a4aa-12143c2e48b1 0 初始化数据 2025-12-31 18:45:46.291753 2025-12-31 18:45:46.291754 +文件复制 3 5 module_monitor:resource:copy \N \N \N \N \N f t f 文件复制 null f 25 116 21c741da-55fa-492b-9d95-154d29dff646 0 初始化数据 2025-12-31 18:45:46.291756 2025-12-31 18:45:46.291757 +文件重命名 3 6 module_monitor:resource:rename \N \N \N \N \N f t f 文件重命名 null f 25 117 1b998f72-37f8-47b7-8c13-85667831d3ff 0 初始化数据 2025-12-31 18:45:46.29176 2025-12-31 18:45:46.29176 +创建目录 3 7 module_monitor:resource:create_dir \N \N \N \N \N f t f 创建目录 null f 25 118 56dba606-32ab-49e7-8e53-2604888f2163 0 初始化数据 2025-12-31 18:45:46.291763 2025-12-31 18:45:46.291763 +导出文件列表 3 9 module_monitor:resource:export \N \N \N \N \N f t f 导出文件列表 null f 25 119 f9d8448f-e759-4e0b-b5cf-57ad3849e23d 0 初始化数据 2025-12-31 18:45:46.291766 2025-12-31 18:45:46.291766 +查询代码生成业务表列表 3 1 module_generator:gencode:query \N \N \N \N \N f t f 查询代码生成业务表列表 null f 26 120 1f388dd8-d1a6-4388-bff9-792e56602075 0 查询代码生成业务表列表 2025-12-31 18:45:46.291769 2025-12-31 18:45:46.291769 +创建表结构 3 2 module_generator:gencode:create \N \N \N \N \N f t f 创建表结构 null f 26 121 e7c18daf-aa5f-467c-96f3-7abe889ea97b 0 创建表结构 2025-12-31 18:45:46.291772 2025-12-31 18:45:46.291773 +编辑业务表信息 3 3 module_generator:gencode:update \N \N \N \N \N f t f 编辑业务表信息 null f 26 122 981ccc25-7f16-4064-a3cc-e4b6f83432d0 0 编辑业务表信息 2025-12-31 18:45:46.291775 2025-12-31 18:45:46.291776 +删除业务表信息 3 4 module_generator:gencode:delete \N \N \N \N \N f t f 删除业务表信息 null f 26 123 ca01b726-b1f9-481e-be48-5a5935e2c775 0 删除业务表信息 2025-12-31 18:45:46.291779 2025-12-31 18:45:46.291779 +导入表结构 3 5 module_generator:gencode:import \N \N \N \N \N f t f 导入表结构 null f 26 124 7f871746-6351-46e5-8f58-8197f78edb7b 0 导入表结构 2025-12-31 18:45:46.291782 2025-12-31 18:45:46.291782 +批量生成代码 3 6 module_generator:gencode:operate \N \N \N \N \N f t f 批量生成代码 null f 26 125 fcd4048a-ab09-4103-9878-e902d61c7d60 0 批量生成代码 2025-12-31 18:45:46.291785 2025-12-31 18:45:46.291786 +生成代码到指定路径 3 7 module_generator:gencode:code \N \N \N \N \N f t f 生成代码到指定路径 null f 26 126 02ccb0fd-0749-439c-9bcb-9143033379ee 0 生成代码到指定路径 2025-12-31 18:45:46.291789 2025-12-31 18:45:46.291789 +查询数据库表列表 3 8 module_generator:dblist:query \N \N \N \N \N f t f 查询数据库表列表 null f 26 127 a68d9a0c-bab8-4f3a-80f0-8a6fe8e410f8 0 查询数据库表列表 2025-12-31 18:45:46.291792 2025-12-31 18:45:46.291792 +同步数据库 3 9 module_generator:db:sync \N \N \N \N \N f t f 同步数据库 null f 26 128 057ad1cc-b852-4c61-bf08-0e6c18c6ac94 0 同步数据库 2025-12-31 18:45:46.291795 2025-12-31 18:45:46.291795 +创建示例 3 1 module_example:demo:create \N \N \N \N \N f t f 创建示例 null f 29 129 17290b3c-ba33-4c10-8809-b98cff7102bf 0 初始化数据 2025-12-31 18:45:46.291798 2025-12-31 18:45:46.291799 +更新示例 3 2 module_example:demo:update \N \N \N \N \N f t f 更新示例 null f 29 130 16d7cd64-d1d7-4c87-a56c-35b061979ae0 0 初始化数据 2025-12-31 18:45:46.291801 2025-12-31 18:45:46.291802 +删除示例 3 3 module_example:demo:delete \N \N \N \N \N f t f 删除示例 null f 29 131 17412f3a-8d76-4d0b-a7de-61198aed64ea 0 初始化数据 2025-12-31 18:45:46.291805 2025-12-31 18:45:46.291805 +批量修改示例状态 3 4 module_example:demo:patch \N \N \N \N \N f t f 批量修改示例状态 null f 29 132 ac521c78-0e19-4655-88f7-e5ffa571fa55 0 初始化数据 2025-12-31 18:45:46.291808 2025-12-31 18:45:46.291808 +导出示例 3 5 module_example:demo:export \N \N \N \N \N f t f 导出示例 null f 29 133 5d135d69-0cb5-448a-a900-ec88f5e47741 0 初始化数据 2025-12-31 18:45:46.291811 2025-12-31 18:45:46.291812 +导入示例 3 6 module_example:demo:import \N \N \N \N \N f t f 导入示例 null f 29 134 0d5ab2a6-1e60-46c6-8569-55d742228adf 0 初始化数据 2025-12-31 18:45:46.291814 2025-12-31 18:45:46.291815 +下载导入示例模版 3 7 module_example:demo:download \N \N \N \N \N f t f 下载导入示例模版 null f 29 135 f14848b1-4d64-4151-9fbe-6fc047486c73 0 初始化数据 2025-12-31 18:45:46.291818 2025-12-31 18:45:46.291818 +详情示例 3 8 module_example:demo:detail \N \N \N \N \N f t f 详情示例 null f 29 136 21b0eff0-f5a5-475b-839b-7ae86701b269 0 初始化数据 2025-12-31 18:45:46.291821 2025-12-31 18:45:46.291821 +查询示例 3 9 module_example:demo:query \N \N \N \N \N f t f 查询示例 null f 29 137 181a245c-d621-48d0-951f-cb5f995161f8 0 初始化数据 2025-12-31 18:45:46.291824 2025-12-31 18:45:46.291825 +\. + + +-- +-- Data for Name: sys_notice; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.sys_notice (notice_title, notice_type, notice_content, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; +\. + + +-- +-- Data for Name: sys_param; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.sys_param (config_name, config_key, config_value, config_type, id, uuid, status, description, created_time, updated_time) FROM stdin; +网站名称 sys_web_title FastApiAdmin t 1 9d7fc0c5-4c0e-4b9b-955a-815ae790ff88 0 初始化数据 2025-12-31 18:45:46.300449 2025-12-31 18:45:46.30045 +网站描述 sys_web_description FastApiAdmin 是完全开源的权限管理系统 t 2 a16ac823-902d-411c-ab20-640ca846b7f3 0 初始化数据 2025-12-31 18:45:46.300454 2025-12-31 18:45:46.300455 +网页图标 sys_web_favicon https://service.fastapiadmin.com/api/v1/static/image/favicon.png t 3 49a63953-b40c-462a-ac8c-ba24bacf121d 0 初始化数据 2025-12-31 18:45:46.300458 2025-12-31 18:45:46.300458 +网站Logo sys_web_logo https://service.fastapiadmin.com/api/v1/static/image/logo.png t 4 8b8e2e9c-115a-4037-b9b6-0b31669a0d27 0 初始化数据 2025-12-31 18:45:46.300461 2025-12-31 18:45:46.300462 +登录背景 sys_login_background https://service.fastapiadmin.com/api/v1/static/image/background.svg t 5 44351db5-0cd7-4456-b9a3-03b3a26cc549 0 初始化数据 2025-12-31 18:45:46.300465 2025-12-31 18:45:46.300465 +版权信息 sys_web_copyright Copyright © 2025-2026 service.fastapiadmin.com 版权所有 t 6 6cad2472-d090-475a-a2d7-884073f340dd 0 初始化数据 2025-12-31 18:45:46.300468 2025-12-31 18:45:46.300468 +备案信息 sys_keep_record 陕ICP备2025069493号-1 t 7 405f1d3d-2470-4a92-88fa-0f184e79d84f 0 初始化数据 2025-12-31 18:45:46.300471 2025-12-31 18:45:46.300472 +帮助文档 sys_help_doc https://service.fastapiadmin.com t 8 f6a2f3fb-2a7c-4238-9cb0-0d2597300581 0 初始化数据 2025-12-31 18:45:46.300474 2025-12-31 18:45:46.300475 +隐私政策 sys_web_privacy https://github.com/1014TaoTao/FastapiAdmin/blob/master/LICENSE t 9 0c7797d6-83af-4272-8694-b62cb4447a31 0 初始化数据 2025-12-31 18:45:46.300478 2025-12-31 18:45:46.300478 +用户协议 sys_web_clause https://github.com/1014TaoTao/FastapiAdmin/blob/master/LICENSE t 10 76442180-e43a-4cf2-b922-8b28a9e2d404 0 初始化数据 2025-12-31 18:45:46.300481 2025-12-31 18:45:46.300481 +源码代码 sys_git_code https://github.com/1014TaoTao/FastapiAdmin.git t 11 134919d5-37fb-4645-938e-4c1f402b8551 0 初始化数据 2025-12-31 18:45:46.300484 2025-12-31 18:45:46.300485 +项目版本 sys_web_version 2.0.0 t 12 5970e39a-22bd-47bc-947d-6bad6f269fda 0 初始化数据 2025-12-31 18:45:46.300487 2025-12-31 18:45:46.300488 +演示模式启用 demo_enable false t 13 2d7e521f-1e7b-4d38-82c8-2aff2d9462d2 0 初始化数据 2025-12-31 18:45:46.30049 2025-12-31 18:45:46.300491 +演示访问IP白名单 ip_white_list ["127.0.0.1"] t 14 c0910f29-7712-4fc4-a9b0-8009ba2714cc 0 初始化数据 2025-12-31 18:45:46.300494 2025-12-31 18:45:46.300494 +接口白名单 white_api_list_path ["/api/v1/system/auth/login", "/api/v1/system/auth/token/refresh", "/api/v1/system/auth/captcha/get", "/api/v1/system/auth/logout", "/api/v1/system/config/info", "/api/v1/system/user/current/info", "/api/v1/system/notice/available"] t 15 ba6eb4be-cb2a-43bc-9060-be6dccfc0694 0 初始化数据 2025-12-31 18:45:46.300497 2025-12-31 18:45:46.300497 +访问IP黑名单 ip_black_list [] t 16 382ffea9-f3cf-4fe6-914d-56beec35a57a 0 初始化数据 2025-12-31 18:45:46.3005 2025-12-31 18:45:46.3005 +\. + + +-- +-- Data for Name: sys_position; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.sys_position (name, "order", id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; +\. + + +-- +-- Data for Name: sys_role; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.sys_role (name, code, "order", data_scope, id, uuid, status, description, created_time, updated_time) FROM stdin; +管理员角色 ADMIN 1 4 1 833a61c5-92ff-493f-8dbe-83a7ce0b6c99 0 初始化角色 2025-12-31 18:45:46.306439 2025-12-31 18:45:46.306441 +\. + + +-- +-- Data for Name: sys_role_depts; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.sys_role_depts (role_id, dept_id) FROM stdin; +\. + + +-- +-- Data for Name: sys_role_menus; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.sys_role_menus (role_id, menu_id) FROM stdin; +\. + + +-- +-- Data for Name: sys_user; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.sys_user (username, password, name, mobile, email, gender, avatar, is_superuser, last_login, gitee_login, github_login, wx_login, qq_login, dept_id, id, uuid, status, description, created_time, updated_time, created_id, updated_id) FROM stdin; +admin $2b$12$e2IJgS/cvHgJ0H3G7Xa08OXoXnk6N/NX3IZRtubBDElA0VLZhkNOa 超级管理员 \N \N 0 https://service.fastapiadmin.com/api/v1/static/image/avatar.png t \N \N \N \N \N 1 1 1fbed989-7a61-43be-bfce-d470c7919b74 0 超级管理员 2025-12-31 18:45:46.319695 2025-12-31 18:45:46.319696 \N \N +\. + + +-- +-- Data for Name: sys_user_positions; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.sys_user_positions (user_id, position_id) FROM stdin; +\. + + +-- +-- Data for Name: sys_user_roles; Type: TABLE DATA; Schema: public; Owner: tao +-- + +COPY public.sys_user_roles (user_id, role_id) FROM stdin; +1 1 +\. + + +-- +-- Name: app_ai_mcp_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.app_ai_mcp_id_seq', 1, false); + + +-- +-- Name: app_job_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.app_job_id_seq', 1, false); + + +-- +-- Name: app_job_log_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.app_job_log_id_seq', 1, false); + + +-- +-- Name: app_myapp_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.app_myapp_id_seq', 1, false); + + +-- +-- Name: gen_demo_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.gen_demo_id_seq', 1, false); + + +-- +-- Name: gen_table_column_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.gen_table_column_id_seq', 1, false); + + +-- +-- Name: gen_table_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.gen_table_id_seq', 1, false); + + +-- +-- Name: sys_dept_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.sys_dept_id_seq', 1, true); + + +-- +-- Name: sys_dict_data_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.sys_dict_data_id_seq', 34, true); + + +-- +-- Name: sys_dict_type_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.sys_dict_type_id_seq', 10, true); + + +-- +-- Name: sys_log_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.sys_log_id_seq', 1, false); + + +-- +-- Name: sys_menu_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.sys_menu_id_seq', 137, true); + + +-- +-- Name: sys_notice_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.sys_notice_id_seq', 1, false); + + +-- +-- Name: sys_param_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.sys_param_id_seq', 16, true); + + +-- +-- Name: sys_position_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.sys_position_id_seq', 1, false); + + +-- +-- Name: sys_role_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.sys_role_id_seq', 1, true); + + +-- +-- Name: sys_user_id_seq; Type: SEQUENCE SET; Schema: public; Owner: tao +-- + +SELECT pg_catalog.setval('public.sys_user_id_seq', 1, true); + + +-- +-- Name: app_ai_mcp app_ai_mcp_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.app_ai_mcp + ADD CONSTRAINT app_ai_mcp_pkey PRIMARY KEY (id); + + +-- +-- Name: app_job_log app_job_log_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.app_job_log + ADD CONSTRAINT app_job_log_pkey PRIMARY KEY (id); + + +-- +-- Name: app_job app_job_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.app_job + ADD CONSTRAINT app_job_pkey PRIMARY KEY (id); + + +-- +-- Name: app_myapp app_myapp_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.app_myapp + ADD CONSTRAINT app_myapp_pkey PRIMARY KEY (id); + + +-- +-- Name: apscheduler_jobs apscheduler_jobs_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.apscheduler_jobs + ADD CONSTRAINT apscheduler_jobs_pkey PRIMARY KEY (id); + + +-- +-- Name: gen_demo gen_demo_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.gen_demo + ADD CONSTRAINT gen_demo_pkey PRIMARY KEY (id); + + +-- +-- Name: gen_table_column gen_table_column_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.gen_table_column + ADD CONSTRAINT gen_table_column_pkey PRIMARY KEY (id); + + +-- +-- Name: gen_table gen_table_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.gen_table + ADD CONSTRAINT gen_table_pkey PRIMARY KEY (id); + + +-- +-- Name: sys_dept sys_dept_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_dept + ADD CONSTRAINT sys_dept_pkey PRIMARY KEY (id); + + +-- +-- Name: sys_dict_data sys_dict_data_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_dict_data + ADD CONSTRAINT sys_dict_data_pkey PRIMARY KEY (id); + + +-- +-- Name: sys_dict_type sys_dict_type_dict_type_key; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_dict_type + ADD CONSTRAINT sys_dict_type_dict_type_key UNIQUE (dict_type); + + +-- +-- Name: sys_dict_type sys_dict_type_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_dict_type + ADD CONSTRAINT sys_dict_type_pkey PRIMARY KEY (id); + + +-- +-- Name: sys_log sys_log_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_log + ADD CONSTRAINT sys_log_pkey PRIMARY KEY (id); + + +-- +-- Name: sys_menu sys_menu_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_menu + ADD CONSTRAINT sys_menu_pkey PRIMARY KEY (id); + + +-- +-- Name: sys_notice sys_notice_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_notice + ADD CONSTRAINT sys_notice_pkey PRIMARY KEY (id); + + +-- +-- Name: sys_param sys_param_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_param + ADD CONSTRAINT sys_param_pkey PRIMARY KEY (id); + + +-- +-- Name: sys_position sys_position_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_position + ADD CONSTRAINT sys_position_pkey PRIMARY KEY (id); + + +-- +-- Name: sys_role_depts sys_role_depts_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_role_depts + ADD CONSTRAINT sys_role_depts_pkey PRIMARY KEY (role_id, dept_id); + + +-- +-- Name: sys_role_menus sys_role_menus_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_role_menus + ADD CONSTRAINT sys_role_menus_pkey PRIMARY KEY (role_id, menu_id); + + +-- +-- Name: sys_role sys_role_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_role + ADD CONSTRAINT sys_role_pkey PRIMARY KEY (id); + + +-- +-- Name: sys_user sys_user_email_key; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_user + ADD CONSTRAINT sys_user_email_key UNIQUE (email); + + +-- +-- Name: sys_user sys_user_mobile_key; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_user + ADD CONSTRAINT sys_user_mobile_key UNIQUE (mobile); + + +-- +-- Name: sys_user sys_user_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_user + ADD CONSTRAINT sys_user_pkey PRIMARY KEY (id); + + +-- +-- Name: sys_user_positions sys_user_positions_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_user_positions + ADD CONSTRAINT sys_user_positions_pkey PRIMARY KEY (user_id, position_id); + + +-- +-- Name: sys_user_roles sys_user_roles_pkey; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_user_roles + ADD CONSTRAINT sys_user_roles_pkey PRIMARY KEY (user_id, role_id); + + +-- +-- Name: sys_user sys_user_username_key; Type: CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_user + ADD CONSTRAINT sys_user_username_key UNIQUE (username); + + +-- +-- Name: ix_app_ai_mcp_created_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_ai_mcp_created_id ON public.app_ai_mcp USING btree (created_id); + + +-- +-- Name: ix_app_ai_mcp_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_ai_mcp_created_time ON public.app_ai_mcp USING btree (created_time); + + +-- +-- Name: ix_app_ai_mcp_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_ai_mcp_id ON public.app_ai_mcp USING btree (id); + + +-- +-- Name: ix_app_ai_mcp_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_ai_mcp_status ON public.app_ai_mcp USING btree (status); + + +-- +-- Name: ix_app_ai_mcp_updated_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_ai_mcp_updated_id ON public.app_ai_mcp USING btree (updated_id); + + +-- +-- Name: ix_app_ai_mcp_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_ai_mcp_updated_time ON public.app_ai_mcp USING btree (updated_time); + + +-- +-- Name: ix_app_ai_mcp_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_app_ai_mcp_uuid ON public.app_ai_mcp USING btree (uuid); + + +-- +-- Name: ix_app_job_created_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_job_created_id ON public.app_job USING btree (created_id); + + +-- +-- Name: ix_app_job_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_job_created_time ON public.app_job USING btree (created_time); + + +-- +-- Name: ix_app_job_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_job_id ON public.app_job USING btree (id); + + +-- +-- Name: ix_app_job_log_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_job_log_created_time ON public.app_job_log USING btree (created_time); + + +-- +-- Name: ix_app_job_log_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_job_log_id ON public.app_job_log USING btree (id); + + +-- +-- Name: ix_app_job_log_job_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_job_log_job_id ON public.app_job_log USING btree (job_id); + + +-- +-- Name: ix_app_job_log_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_job_log_status ON public.app_job_log USING btree (status); + + +-- +-- Name: ix_app_job_log_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_job_log_updated_time ON public.app_job_log USING btree (updated_time); + + +-- +-- Name: ix_app_job_log_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_app_job_log_uuid ON public.app_job_log USING btree (uuid); + + +-- +-- Name: ix_app_job_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_job_status ON public.app_job USING btree (status); + + +-- +-- Name: ix_app_job_updated_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_job_updated_id ON public.app_job USING btree (updated_id); + + +-- +-- Name: ix_app_job_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_job_updated_time ON public.app_job USING btree (updated_time); + + +-- +-- Name: ix_app_job_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_app_job_uuid ON public.app_job USING btree (uuid); + + +-- +-- Name: ix_app_myapp_created_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_myapp_created_id ON public.app_myapp USING btree (created_id); + + +-- +-- Name: ix_app_myapp_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_myapp_created_time ON public.app_myapp USING btree (created_time); + + +-- +-- Name: ix_app_myapp_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_myapp_id ON public.app_myapp USING btree (id); + + +-- +-- Name: ix_app_myapp_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_myapp_status ON public.app_myapp USING btree (status); + + +-- +-- Name: ix_app_myapp_updated_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_myapp_updated_id ON public.app_myapp USING btree (updated_id); + + +-- +-- Name: ix_app_myapp_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_app_myapp_updated_time ON public.app_myapp USING btree (updated_time); + + +-- +-- Name: ix_app_myapp_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_app_myapp_uuid ON public.app_myapp USING btree (uuid); + + +-- +-- Name: ix_apscheduler_jobs_next_run_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_apscheduler_jobs_next_run_time ON public.apscheduler_jobs USING btree (next_run_time); + + +-- +-- Name: ix_gen_demo_created_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_demo_created_id ON public.gen_demo USING btree (created_id); + + +-- +-- Name: ix_gen_demo_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_demo_created_time ON public.gen_demo USING btree (created_time); + + +-- +-- Name: ix_gen_demo_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_demo_id ON public.gen_demo USING btree (id); + + +-- +-- Name: ix_gen_demo_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_demo_status ON public.gen_demo USING btree (status); + + +-- +-- Name: ix_gen_demo_updated_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_demo_updated_id ON public.gen_demo USING btree (updated_id); + + +-- +-- Name: ix_gen_demo_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_demo_updated_time ON public.gen_demo USING btree (updated_time); + + +-- +-- Name: ix_gen_demo_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_gen_demo_uuid ON public.gen_demo USING btree (uuid); + + +-- +-- Name: ix_gen_table_column_created_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_table_column_created_id ON public.gen_table_column USING btree (created_id); + + +-- +-- Name: ix_gen_table_column_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_table_column_created_time ON public.gen_table_column USING btree (created_time); + + +-- +-- Name: ix_gen_table_column_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_table_column_id ON public.gen_table_column USING btree (id); + + +-- +-- Name: ix_gen_table_column_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_table_column_status ON public.gen_table_column USING btree (status); + + +-- +-- Name: ix_gen_table_column_table_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_table_column_table_id ON public.gen_table_column USING btree (table_id); + + +-- +-- Name: ix_gen_table_column_updated_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_table_column_updated_id ON public.gen_table_column USING btree (updated_id); + + +-- +-- Name: ix_gen_table_column_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_table_column_updated_time ON public.gen_table_column USING btree (updated_time); + + +-- +-- Name: ix_gen_table_column_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_gen_table_column_uuid ON public.gen_table_column USING btree (uuid); + + +-- +-- Name: ix_gen_table_created_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_table_created_id ON public.gen_table USING btree (created_id); + + +-- +-- Name: ix_gen_table_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_table_created_time ON public.gen_table USING btree (created_time); + + +-- +-- Name: ix_gen_table_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_table_id ON public.gen_table USING btree (id); + + +-- +-- Name: ix_gen_table_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_table_status ON public.gen_table USING btree (status); + + +-- +-- Name: ix_gen_table_updated_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_table_updated_id ON public.gen_table USING btree (updated_id); + + +-- +-- Name: ix_gen_table_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_gen_table_updated_time ON public.gen_table USING btree (updated_time); + + +-- +-- Name: ix_gen_table_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_gen_table_uuid ON public.gen_table USING btree (uuid); + + +-- +-- Name: ix_sys_dept_code; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_dept_code ON public.sys_dept USING btree (code); + + +-- +-- Name: ix_sys_dept_created_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_dept_created_id ON public.sys_dept USING btree (created_id); + + +-- +-- Name: ix_sys_dept_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_dept_created_time ON public.sys_dept USING btree (created_time); + + +-- +-- Name: ix_sys_dept_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_dept_id ON public.sys_dept USING btree (id); + + +-- +-- Name: ix_sys_dept_parent_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_dept_parent_id ON public.sys_dept USING btree (parent_id); + + +-- +-- Name: ix_sys_dept_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_dept_status ON public.sys_dept USING btree (status); + + +-- +-- Name: ix_sys_dept_updated_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_dept_updated_id ON public.sys_dept USING btree (updated_id); + + +-- +-- Name: ix_sys_dept_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_dept_updated_time ON public.sys_dept USING btree (updated_time); + + +-- +-- Name: ix_sys_dept_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_sys_dept_uuid ON public.sys_dept USING btree (uuid); + + +-- +-- Name: ix_sys_dict_data_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_dict_data_created_time ON public.sys_dict_data USING btree (created_time); + + +-- +-- Name: ix_sys_dict_data_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_dict_data_id ON public.sys_dict_data USING btree (id); + + +-- +-- Name: ix_sys_dict_data_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_dict_data_status ON public.sys_dict_data USING btree (status); + + +-- +-- Name: ix_sys_dict_data_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_dict_data_updated_time ON public.sys_dict_data USING btree (updated_time); + + +-- +-- Name: ix_sys_dict_data_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_sys_dict_data_uuid ON public.sys_dict_data USING btree (uuid); + + +-- +-- Name: ix_sys_dict_type_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_dict_type_created_time ON public.sys_dict_type USING btree (created_time); + + +-- +-- Name: ix_sys_dict_type_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_dict_type_id ON public.sys_dict_type USING btree (id); + + +-- +-- Name: ix_sys_dict_type_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_dict_type_status ON public.sys_dict_type USING btree (status); + + +-- +-- Name: ix_sys_dict_type_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_dict_type_updated_time ON public.sys_dict_type USING btree (updated_time); + + +-- +-- Name: ix_sys_dict_type_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_sys_dict_type_uuid ON public.sys_dict_type USING btree (uuid); + + +-- +-- Name: ix_sys_log_created_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_log_created_id ON public.sys_log USING btree (created_id); + + +-- +-- Name: ix_sys_log_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_log_created_time ON public.sys_log USING btree (created_time); + + +-- +-- Name: ix_sys_log_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_log_id ON public.sys_log USING btree (id); + + +-- +-- Name: ix_sys_log_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_log_status ON public.sys_log USING btree (status); + + +-- +-- Name: ix_sys_log_updated_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_log_updated_id ON public.sys_log USING btree (updated_id); + + +-- +-- Name: ix_sys_log_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_log_updated_time ON public.sys_log USING btree (updated_time); + + +-- +-- Name: ix_sys_log_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_sys_log_uuid ON public.sys_log USING btree (uuid); + + +-- +-- Name: ix_sys_menu_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_menu_created_time ON public.sys_menu USING btree (created_time); + + +-- +-- Name: ix_sys_menu_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_menu_id ON public.sys_menu USING btree (id); + + +-- +-- Name: ix_sys_menu_parent_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_menu_parent_id ON public.sys_menu USING btree (parent_id); + + +-- +-- Name: ix_sys_menu_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_menu_status ON public.sys_menu USING btree (status); + + +-- +-- Name: ix_sys_menu_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_menu_updated_time ON public.sys_menu USING btree (updated_time); + + +-- +-- Name: ix_sys_menu_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_sys_menu_uuid ON public.sys_menu USING btree (uuid); + + +-- +-- Name: ix_sys_notice_created_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_notice_created_id ON public.sys_notice USING btree (created_id); + + +-- +-- Name: ix_sys_notice_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_notice_created_time ON public.sys_notice USING btree (created_time); + + +-- +-- Name: ix_sys_notice_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_notice_id ON public.sys_notice USING btree (id); + + +-- +-- Name: ix_sys_notice_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_notice_status ON public.sys_notice USING btree (status); + + +-- +-- Name: ix_sys_notice_updated_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_notice_updated_id ON public.sys_notice USING btree (updated_id); + + +-- +-- Name: ix_sys_notice_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_notice_updated_time ON public.sys_notice USING btree (updated_time); + + +-- +-- Name: ix_sys_notice_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_sys_notice_uuid ON public.sys_notice USING btree (uuid); + + +-- +-- Name: ix_sys_param_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_param_created_time ON public.sys_param USING btree (created_time); + + +-- +-- Name: ix_sys_param_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_param_id ON public.sys_param USING btree (id); + + +-- +-- Name: ix_sys_param_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_param_status ON public.sys_param USING btree (status); + + +-- +-- Name: ix_sys_param_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_param_updated_time ON public.sys_param USING btree (updated_time); + + +-- +-- Name: ix_sys_param_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_sys_param_uuid ON public.sys_param USING btree (uuid); + + +-- +-- Name: ix_sys_position_created_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_position_created_id ON public.sys_position USING btree (created_id); + + +-- +-- Name: ix_sys_position_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_position_created_time ON public.sys_position USING btree (created_time); + + +-- +-- Name: ix_sys_position_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_position_id ON public.sys_position USING btree (id); + + +-- +-- Name: ix_sys_position_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_position_status ON public.sys_position USING btree (status); + + +-- +-- Name: ix_sys_position_updated_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_position_updated_id ON public.sys_position USING btree (updated_id); + + +-- +-- Name: ix_sys_position_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_position_updated_time ON public.sys_position USING btree (updated_time); + + +-- +-- Name: ix_sys_position_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_sys_position_uuid ON public.sys_position USING btree (uuid); + + +-- +-- Name: ix_sys_role_code; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_role_code ON public.sys_role USING btree (code); + + +-- +-- Name: ix_sys_role_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_role_created_time ON public.sys_role USING btree (created_time); + + +-- +-- Name: ix_sys_role_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_role_id ON public.sys_role USING btree (id); + + +-- +-- Name: ix_sys_role_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_role_status ON public.sys_role USING btree (status); + + +-- +-- Name: ix_sys_role_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_role_updated_time ON public.sys_role USING btree (updated_time); + + +-- +-- Name: ix_sys_role_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_sys_role_uuid ON public.sys_role USING btree (uuid); + + +-- +-- Name: ix_sys_user_created_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_user_created_id ON public.sys_user USING btree (created_id); + + +-- +-- Name: ix_sys_user_created_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_user_created_time ON public.sys_user USING btree (created_time); + + +-- +-- Name: ix_sys_user_dept_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_user_dept_id ON public.sys_user USING btree (dept_id); + + +-- +-- Name: ix_sys_user_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_user_id ON public.sys_user USING btree (id); + + +-- +-- Name: ix_sys_user_status; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_user_status ON public.sys_user USING btree (status); + + +-- +-- Name: ix_sys_user_updated_id; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_user_updated_id ON public.sys_user USING btree (updated_id); + + +-- +-- Name: ix_sys_user_updated_time; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE INDEX ix_sys_user_updated_time ON public.sys_user USING btree (updated_time); + + +-- +-- Name: ix_sys_user_uuid; Type: INDEX; Schema: public; Owner: tao +-- + +CREATE UNIQUE INDEX ix_sys_user_uuid ON public.sys_user USING btree (uuid); + + +-- +-- Name: app_ai_mcp app_ai_mcp_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.app_ai_mcp + ADD CONSTRAINT app_ai_mcp_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: app_ai_mcp app_ai_mcp_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.app_ai_mcp + ADD CONSTRAINT app_ai_mcp_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: app_job app_job_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.app_job + ADD CONSTRAINT app_job_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: app_job_log app_job_log_job_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.app_job_log + ADD CONSTRAINT app_job_log_job_id_fkey FOREIGN KEY (job_id) REFERENCES public.app_job(id) ON DELETE CASCADE; + + +-- +-- Name: app_job app_job_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.app_job + ADD CONSTRAINT app_job_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: app_myapp app_myapp_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.app_myapp + ADD CONSTRAINT app_myapp_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: app_myapp app_myapp_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.app_myapp + ADD CONSTRAINT app_myapp_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: gen_demo gen_demo_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.gen_demo + ADD CONSTRAINT gen_demo_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: gen_demo gen_demo_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.gen_demo + ADD CONSTRAINT gen_demo_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: gen_table_column gen_table_column_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.gen_table_column + ADD CONSTRAINT gen_table_column_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: gen_table_column gen_table_column_table_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.gen_table_column + ADD CONSTRAINT gen_table_column_table_id_fkey FOREIGN KEY (table_id) REFERENCES public.gen_table(id) ON DELETE CASCADE; + + +-- +-- Name: gen_table_column gen_table_column_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.gen_table_column + ADD CONSTRAINT gen_table_column_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: gen_table gen_table_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.gen_table + ADD CONSTRAINT gen_table_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: gen_table gen_table_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.gen_table + ADD CONSTRAINT gen_table_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: sys_dept sys_dept_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_dept + ADD CONSTRAINT sys_dept_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: sys_dept sys_dept_parent_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_dept + ADD CONSTRAINT sys_dept_parent_id_fkey FOREIGN KEY (parent_id) REFERENCES public.sys_dept(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: sys_dept sys_dept_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_dept + ADD CONSTRAINT sys_dept_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: sys_dict_data sys_dict_data_dict_type_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_dict_data + ADD CONSTRAINT sys_dict_data_dict_type_id_fkey FOREIGN KEY (dict_type_id) REFERENCES public.sys_dict_type(id) ON DELETE CASCADE; + + +-- +-- Name: sys_log sys_log_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_log + ADD CONSTRAINT sys_log_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: sys_log sys_log_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_log + ADD CONSTRAINT sys_log_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: sys_menu sys_menu_parent_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_menu + ADD CONSTRAINT sys_menu_parent_id_fkey FOREIGN KEY (parent_id) REFERENCES public.sys_menu(id) ON DELETE SET NULL; + + +-- +-- Name: sys_notice sys_notice_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_notice + ADD CONSTRAINT sys_notice_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: sys_notice sys_notice_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_notice + ADD CONSTRAINT sys_notice_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: sys_position sys_position_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_position + ADD CONSTRAINT sys_position_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: sys_position sys_position_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_position + ADD CONSTRAINT sys_position_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: sys_role_depts sys_role_depts_dept_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_role_depts + ADD CONSTRAINT sys_role_depts_dept_id_fkey FOREIGN KEY (dept_id) REFERENCES public.sys_dept(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- Name: sys_role_depts sys_role_depts_role_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_role_depts + ADD CONSTRAINT sys_role_depts_role_id_fkey FOREIGN KEY (role_id) REFERENCES public.sys_role(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- Name: sys_role_menus sys_role_menus_menu_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_role_menus + ADD CONSTRAINT sys_role_menus_menu_id_fkey FOREIGN KEY (menu_id) REFERENCES public.sys_menu(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- Name: sys_role_menus sys_role_menus_role_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_role_menus + ADD CONSTRAINT sys_role_menus_role_id_fkey FOREIGN KEY (role_id) REFERENCES public.sys_role(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- Name: sys_user sys_user_created_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_user + ADD CONSTRAINT sys_user_created_id_fkey FOREIGN KEY (created_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: sys_user sys_user_dept_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_user + ADD CONSTRAINT sys_user_dept_id_fkey FOREIGN KEY (dept_id) REFERENCES public.sys_dept(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: sys_user_positions sys_user_positions_position_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_user_positions + ADD CONSTRAINT sys_user_positions_position_id_fkey FOREIGN KEY (position_id) REFERENCES public.sys_position(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- Name: sys_user_positions sys_user_positions_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_user_positions + ADD CONSTRAINT sys_user_positions_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- Name: sys_user_roles sys_user_roles_role_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_user_roles + ADD CONSTRAINT sys_user_roles_role_id_fkey FOREIGN KEY (role_id) REFERENCES public.sys_role(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- Name: sys_user_roles sys_user_roles_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_user_roles + ADD CONSTRAINT sys_user_roles_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- Name: sys_user sys_user_updated_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: tao +-- + +ALTER TABLE ONLY public.sys_user + ADD CONSTRAINT sys_user_updated_id_fkey FOREIGN KEY (updated_id) REFERENCES public.sys_user(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- PostgreSQL database dump complete +-- + diff --git a/frontend/src/api/module_gencode/demo.ts b/frontend/src/api/module_example/demo.ts similarity index 86% rename from frontend/src/api/module_gencode/demo.ts rename to frontend/src/api/module_example/demo.ts index cc679d28..be5b728d 100644 --- a/frontend/src/api/module_gencode/demo.ts +++ b/frontend/src/api/module_example/demo.ts @@ -1,6 +1,6 @@ import request from "@/utils/request"; -const API_PATH = "/gencode/demo"; +const API_PATH = "/example/demo"; const DemoAPI = { getDemoList(query: DemoPageQuery) { @@ -94,8 +94,26 @@ export interface DemoTable extends BaseType { name?: string; created_by?: CommonType; updated_by?: CommonType; + a?: number; + b?: number; + c?: number; + d?: boolean; + e?: string; + f?: string; + g?: string; + h?: string; + i?: Record; } export interface DemoForm extends BaseFormType { name?: string; + a?: number; + b?: number; + c?: number; + d?: boolean; + e?: string; + f?: string; + g?: string; + h?: string; + i?: Record; } diff --git a/frontend/src/views/module_gencode/demo/index.vue b/frontend/src/views/module_example/demo/index.vue similarity index 71% rename from frontend/src/views/module_gencode/demo/index.vue rename to frontend/src/views/module_example/demo/index.vue index f40fba2b..07cca141 100644 --- a/frontend/src/views/module_gencode/demo/index.vue +++ b/frontend/src/views/module_example/demo/index.vue @@ -54,7 +54,7 @@ @@ -105,7 +105,7 @@ - + 更多 @@ -148,7 +148,7 @@ + + + + + + + + {{ scope.row.d ? "是" : "否" }} + + + + + + + + + + + {{ JSON.stringify(scope.row.i) }} + + + {{ detailFormData.name }} + + {{ detailFormData.uuid }} + {{ detailFormData.status ? "启用" : "停用" }} + + {{ detailFormData.a }} + + + {{ detailFormData.b }} + + + {{ detailFormData.c }} + + + + {{ detailFormData.d ? "是" : "否" }} + + + + {{ detailFormData.e }} + + + {{ detailFormData.f }} + + + {{ detailFormData.g }} + + + {{ detailFormData.h }} + + + + {{ JSON.stringify(detailFormData.i) }} + + {{ detailFormData.description }} @@ -399,6 +505,54 @@ 停用 + + + + + + + + + + + + + + + + + + + + + + + + + + (formData.i = val ? JSON.parse(val) : undefined)" + /> + DemoAPI.downloadTemplateDemo(), exportsAction: async (params: any) => { @@ -564,6 +738,15 @@ const formData = reactive({ name: "", status: "0", description: undefined, + a: undefined, + b: undefined, + c: undefined, + d: true, + e: undefined, + f: undefined, + g: undefined, + h: undefined, + i: undefined, }); // 弹窗状态 @@ -642,7 +825,16 @@ const initialFormData: DemoForm = { id: undefined, name: "", status: "0", - description: "", + description: undefined, + a: undefined, + b: undefined, + c: undefined, + d: true, + e: undefined, + f: undefined, + g: undefined, + h: undefined, + i: undefined, }; // 重置表单 @@ -692,11 +884,48 @@ async function handleSubmit() { dataFormRef.value.validate(async (valid: any) => { if (valid) { loading.value = true; + // 处理元数据字段,将字符串转换为JSON对象 + const submitData = { ...formData }; + if (submitData.i && typeof submitData.i === "string") { + try { + submitData.i = JSON.parse(submitData.i); + } catch (error: any) { + ElMessage.error("元数据格式错误,请输入有效的JSON字符串" + error.message); + loading.value = false; + return; + } + } + + // 处理时间字段格式 + const formatDate = (date: Date | string | undefined): string | undefined => { + if (!date) return undefined; + const d = typeof date === "string" ? new Date(date) : date; + return d.toISOString().split("T")[0]; // 只保留日期部分 YYYY-MM-DD + }; + + const formatTime = (time: Date | string | undefined): string | undefined => { + if (!time) return undefined; + const t = typeof time === "string" ? new Date(time) : time; + return t.toTimeString().split(" ")[0]; // 只保留时间部分 HH:MM:SS + }; + + const formatDateTime = (datetime: Date | string | undefined): string | undefined => { + if (!datetime) return undefined; + const dt = typeof datetime === "string" ? new Date(datetime) : datetime; + const datePart = dt.toISOString().split("T")[0]; + const timePart = dt.toTimeString().split(" ")[0]; + return `${datePart} ${timePart}`; // 日期时间格式 YYYY-MM-DD HH:MM:SS + }; + + // 应用格式化 + submitData.e = formatDate(submitData.e); + submitData.f = formatTime(submitData.f); + submitData.g = formatDateTime(submitData.g); // 根据弹窗传入的参数(deatil\create\update)判断走什么逻辑 const id = formData.id; if (id) { try { - await DemoAPI.updateDemo(id, { id, ...formData }); + await DemoAPI.updateDemo(id, { id, ...submitData }); dialogVisible.visible = false; resetForm(); handleCloseDialog(); @@ -708,7 +937,7 @@ async function handleSubmit() { } } else { try { - await DemoAPI.createDemo(formData); + await DemoAPI.createDemo(submitData); dialogVisible.visible = false; resetForm(); handleCloseDialog(); diff --git a/frontend/src/views/module_generator/gencode/index.vue b/frontend/src/views/module_generator/gencode/index.vue index 7ee18c94..7b452f3b 100644 --- a/frontend/src/views/module_generator/gencode/index.vue +++ b/frontend/src/views/module_generator/gencode/index.vue @@ -435,9 +435,9 @@ - - 默认不允许修改 - 目的为简化生成代码 + + 接口路径: api/v1/ + /{{ info.business_name }} @@ -449,10 +449,7 @@ - - 默认不允许修改 - 目的为简化生成代码 - + @@ -488,10 +485,12 @@ @@ -520,8 +519,8 @@ backend/app/api/v1/{{ info.module_name }}/{{ info.business_name }}/schema.py - - backend/sql/menu/{{ info.module_name }}.{{ info.business_name }}.sql + + backend/app/api/v1/{{ info.module_name }}/{{ info.business_name }}/__init__.py frontend/src/api/{{ info.module_name }}/{{ info.business_name }}.ts @@ -748,7 +747,6 @@ 全部 前端 后端 - 数据库 类型 @@ -965,8 +963,8 @@ const preview = reactive({ active_name: "controller.py", }); -const previewScope = ref<"all" | "frontend" | "backend" | "sql">("all"); -const previewTypeOptions = ["ts", "vue", "python", "sql"]; +const previewScope = ref<"all" | "frontend" | "backend">("all"); +const previewTypeOptions = ["ts", "vue", "python"]; const previewTypes = ref([...previewTypeOptions]); const code = ref(""); const treeData = ref([]); @@ -1054,16 +1052,13 @@ const filteredTreeData = computed(() => { parentPath.some((part) => part === "frontend" || part === "vue") || label.includes(".vue") || label.includes(".ts"); - const isSqlDatabase = parentPath.some((part) => part === "sql") || label.includes(".sql"); if (previewScope.value === "backend" && !isPythonBackend) return false; if (previewScope.value === "frontend" && !isVueFrontend) return false; - if (previewScope.value === "sql" && !isSqlDatabase) return false; } // 类型过滤:根据文件内容特征判断类型 if (label.endsWith(".py")) return previewTypes.value.includes("python"); - if (label.endsWith(".sql")) return previewTypes.value.includes("sql"); if (label.endsWith(".vue")) return previewTypes.value.includes("vue"); if (label.endsWith(".ts")) return previewTypes.value.includes("ts"); @@ -1104,7 +1099,6 @@ const handleCopyCode = () => { /** 获取文件树节点图标 */ function getFileTreeNodeIcon(label: string): string { if (label.endsWith(".py")) return "python"; - if (label.endsWith(".sql")) return "sql"; if (label.endsWith(".vue")) return "vue"; if (label.endsWith(".ts")) return "typescript"; return "file"; @@ -1589,9 +1583,10 @@ async function submitForm() { return; } - // 提交表单数据,确保columns是必需的 + // 提交表单数据,确保columns是必需的,并且parent_menu_id总是被包含 const tableData = { ...info, + parent_menu_id: info.parent_menu_id ?? null, // 将undefined转换为null,确保属性被传输 columns: info.columns || [], // 确保columns存在 };