21:21:37 - article_server - INFO - 日志系统已启动 - 记录器: article_server 21:21:37 - article_server - INFO - 主日志文件: logs/article_server.log 21:21:37 - article_server - INFO - 错误日志文件: logs/article_error.log 21:21:37 - article_server - INFO - 日志保留策略: 每天午夜分割,主日志保留3天 21:21:37 - article_server - INFO - 错误日志保留策略: 每天午夜分割,保留9天 21:21:38 - article_server - INFO - 万花筒API服务模块已加载 21:22:05 - article_server - INFO - 日志系统已启动 - 记录器: article_server 21:22:05 - article_server - INFO - 主日志文件: logs/article_server.log 21:22:05 - article_server - INFO - 错误日志文件: logs/article_error.log 21:22:05 - article_server - INFO - 日志保留策略: 每天午夜分割,主日志保留3天 21:22:05 - article_server - INFO - 错误日志保留策略: 每天午夜分割,保留9天 21:22:05 - article_server - INFO - 万花筒API服务模块已加载 21:22:28 - article_server - INFO - [API访问] GET /api/employees/list - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:22:28 - article_server - INFO - [Token验证成功] 用户ID: 10 21:22:28 - article_server - INFO - [API访问] GET /api/employees/stats - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:22:28 - article_server - INFO - [Token验证成功] 用户ID: 10 21:22:28 - article_server - INFO - 数据库连接成功,字符集设置完成 21:22:28 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:28 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_users u WHERE u.enterprise_id = %s AND u.status != 'deleted' AND u.role != 'enterprise' 21:22:28 - article_server - INFO - [SQL参数] [1] 21:22:28 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:22:28 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}] 21:22:28 - article_server - INFO - 数据库连接成功,字符集设置完成 21:22:28 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:28 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total_count, SUM(CASE WHEN status = 'active' THEN 1 ELSE 0 END) as active_count, SUM(CASE WHEN is_bound_xhs = 1 THEN 1 ELSE 0 END) as bound_xhs_count FROM ai_users WHERE enterprise_id = %s AND status != 'deleted' AND role != 'enterprise' 21:22:28 - article_server - INFO - [SQL参数] (1,) 21:22:28 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:28 - article_server - INFO - [SQL语句] SELECT u.id, u.enterprise_id, u.real_name as name, u.username, u.phone, u.role, u.department, u.is_bound_xhs, a.xhs_account, u.status, u.created_at, u.updated_at FROM ai_users u LEFT JOIN ai_authors a ON u.id = a.created_user_id AND a.status = 'active' WHERE u.enterprise_id = %s AND u.status != 'deleted' AND u.role != 'enterprise' ORDER BY u.created_at DESC LIMIT %s OFFSET %s 21:22:28 - article_server - INFO - [SQL参数] [1, 10, 0] 21:22:28 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:22:28 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 6, 'active_count': Decimal('6'), 'bound_xhs_count': Decimal('2')}] 21:22:28 - article_server - INFO - [SQL结果] 查询完成,返回 6 条记录 21:22:28 - article_server - INFO - 获取员工统计成功 21:22:28 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200 21:22:28 - article_server - INFO - 获取员工列表成功,总数: 6 21:22:28 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200 21:22:28 - article_server - INFO - [API访问] GET /api/users/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:22:28 - article_server - INFO - [Token验证成功] 用户ID: 10 21:22:28 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:22:28 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:22:28 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:28 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:22:28 - article_server - INFO - [SQL参数] (10,) 21:22:28 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:22:28 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '测试企业10号', 'username': '饶文龙', 'real_name': '测试用户10', 'email': None, 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'is_bound_xhs': 1, 'department': '运营部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 11, 47, 10)}] 21:22:28 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:22:28 - article_server - INFO - [SQL语句] INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, request_data, response_data, status, error_message, created_at) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW()) 21:22:28 - article_server - INFO - [SQL参数] (10, 'get_user_info', 'user', 10, '查询用户信息: 饶文龙, action=', '104.244.91.212', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None) 21:22:28 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66134 21:22:28 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66134 21:22:28 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:22:30 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:22:30 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:22:30 - article_server - INFO - [Token验证成功] 用户ID: 10 21:22:30 - article_server - INFO - [Token验证成功] 用户ID: 10 21:22:30 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:22:30 - article_server - INFO - [Token验证成功] 用户ID: 10 21:22:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:30 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:22:30 - article_server - INFO - [SQL参数] (1,) 21:22:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:22:30 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0}] 21:22:30 - article_server - INFO - 数据库连接成功,字符集设置完成 21:22:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:30 - article_server - INFO - [SQL语句] SELECT r.product_id, p.name as product_name, COUNT(*) as publishes, ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage FROM ai_article_published_records r LEFT JOIN ai_products p ON r.product_id = p.id WHERE r.enterprise_id = %s GROUP BY r.product_id, p.name ORDER BY publishes DESC LIMIT %s 21:22:30 - article_server - INFO - [SQL参数] (1, 1, 4) 21:22:30 - article_server - INFO - 数据库连接成功,字符集设置完成 21:22:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:30 - article_server - INFO - [SQL语句] SELECT r.id, r.publish_time, u.real_name as employee_name, p.name as product_name, 'success' as status FROM ai_article_published_records r LEFT JOIN ai_users u ON r.created_user_id = u.id LEFT JOIN ai_products p ON r.product_id = p.id WHERE r.enterprise_id = %s ORDER BY r.publish_time DESC LIMIT %s 21:22:30 - article_server - INFO - [SQL参数] (1, 5) 21:22:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:30 - article_server - INFO - [SQL语句] SELECT COUNT(*) as month_published FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(CURDATE()) AND MONTH(publish_time) = MONTH(CURDATE()) 21:22:30 - article_server - INFO - [SQL参数] (1,) 21:22:30 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:22:30 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:22:30 - article_server - INFO - 获取热门产品成功 21:22:30 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:22:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:22:30 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:22:30 - article_server - INFO - 获取最近发布成功 21:22:30 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:22:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:30 - article_server - INFO - [SQL语句] SELECT COUNT(*) as last_month_published FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) 21:22:30 - article_server - INFO - [SQL参数] (1,) 21:22:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:22:30 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:22:30 - article_server - INFO - 获取工作台概览成功 21:22:30 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:22:32 - article_server - INFO - [API访问] GET /api/enterprises/list - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:22:32 - article_server - INFO - [Token验证成功] 用户ID: 10 21:22:32 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:22:32 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:22:32 - article_server - INFO - 数据库连接成功,字符集设置完成 21:22:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:32 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:22:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:22:32 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 21:22:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:32 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total, created_at, updated_at FROM ai_enterprises WHERE 1=1 ORDER BY created_at DESC LIMIT %s OFFSET %s 21:22:32 - article_server - INFO - [SQL参数] [10, 0] 21:22:32 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:22:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:32 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:22:32 - article_server - INFO - [SQL参数] (14,) 21:22:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:22:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:32 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:22:32 - article_server - INFO - [SQL参数] (1,) 21:22:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:22:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:32 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:22:32 - article_server - INFO - [SQL参数] (7,) 21:22:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:22:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:32 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:22:32 - article_server - INFO - [SQL参数] (8,) 21:22:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:22:32 - article_server - INFO - [获取企业列表] 查询成功, 总数: 4, 当前页: 1, 每页: 10, 返回数量: 4, IP: 104.244.91.212 21:22:32 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:22:43 - article_server - INFO - [API访问] GET /api/employees/stats - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:22:43 - article_server - INFO - [Token验证成功] 用户ID: 10 21:22:43 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:43 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total_count, SUM(CASE WHEN status = 'active' THEN 1 ELSE 0 END) as active_count, SUM(CASE WHEN is_bound_xhs = 1 THEN 1 ELSE 0 END) as bound_xhs_count FROM ai_users WHERE enterprise_id = %s AND status != 'deleted' AND role != 'enterprise' 21:22:43 - article_server - INFO - [SQL参数] (1,) 21:22:43 - article_server - INFO - [API访问] GET /api/employees/list - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:22:43 - article_server - INFO - [Token验证成功] 用户ID: 10 21:22:43 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:22:43 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 6, 'active_count': Decimal('6'), 'bound_xhs_count': Decimal('2')}] 21:22:44 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:44 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_users u WHERE u.enterprise_id = %s AND u.status != 'deleted' AND u.role != 'enterprise' 21:22:44 - article_server - INFO - [SQL参数] [1] 21:22:44 - article_server - INFO - 获取员工统计成功 21:22:44 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200 21:22:44 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:22:44 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}] 21:22:44 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:44 - article_server - INFO - [SQL语句] SELECT u.id, u.enterprise_id, u.real_name as name, u.username, u.phone, u.role, u.department, u.is_bound_xhs, a.xhs_account, u.status, u.created_at, u.updated_at FROM ai_users u LEFT JOIN ai_authors a ON u.id = a.created_user_id AND a.status = 'active' WHERE u.enterprise_id = %s AND u.status != 'deleted' AND u.role != 'enterprise' ORDER BY u.created_at DESC LIMIT %s OFFSET %s 21:22:44 - article_server - INFO - [SQL参数] [1, 10, 0] 21:22:44 - article_server - INFO - [SQL结果] 查询完成,返回 6 条记录 21:22:44 - article_server - INFO - 获取员工列表成功,总数: 6 21:22:44 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200 21:22:51 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:22:51 - article_server - INFO - [Token验证成功] 用户ID: 10 21:22:51 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:22:51 - article_server - INFO - [Token验证成功] 用户ID: 10 21:22:51 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:51 - article_server - INFO - [SQL语句] SELECT r.id, r.publish_time, u.real_name as employee_name, p.name as product_name, 'success' as status FROM ai_article_published_records r LEFT JOIN ai_users u ON r.created_user_id = u.id LEFT JOIN ai_products p ON r.product_id = p.id WHERE r.enterprise_id = %s ORDER BY r.publish_time DESC LIMIT %s 21:22:51 - article_server - INFO - [SQL参数] (1, 5) 21:22:51 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:51 - article_server - INFO - [SQL语句] SELECT r.product_id, p.name as product_name, COUNT(*) as publishes, ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage FROM ai_article_published_records r LEFT JOIN ai_products p ON r.product_id = p.id WHERE r.enterprise_id = %s GROUP BY r.product_id, p.name ORDER BY publishes DESC LIMIT %s 21:22:51 - article_server - INFO - [SQL参数] (1, 1, 4) 21:22:51 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:22:51 - article_server - INFO - [Token验证成功] 用户ID: 10 21:22:51 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:22:51 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:22:51 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:51 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:22:51 - article_server - INFO - [SQL参数] (1,) 21:22:51 - article_server - INFO - 获取最近发布成功 21:22:51 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:22:51 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:22:51 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0}] 21:22:51 - article_server - INFO - 获取热门产品成功 21:22:51 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:22:51 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:51 - article_server - INFO - [SQL语句] SELECT COUNT(*) as month_published FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(CURDATE()) AND MONTH(publish_time) = MONTH(CURDATE()) 21:22:51 - article_server - INFO - [SQL参数] (1,) 21:22:51 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:22:51 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:22:51 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:51 - article_server - INFO - [SQL语句] SELECT COUNT(*) as last_month_published FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) 21:22:51 - article_server - INFO - [SQL参数] (1,) 21:22:51 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:22:51 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:22:51 - article_server - INFO - 获取工作台概览成功 21:22:51 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:22:58 - article_server - INFO - [API访问] GET /api/enterprises/list - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:22:58 - article_server - INFO - [Token验证成功] 用户ID: 10 21:22:58 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:22:58 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:22:58 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:58 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:22:58 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:22:58 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 21:22:58 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:58 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total, created_at, updated_at FROM ai_enterprises WHERE 1=1 ORDER BY created_at DESC LIMIT %s OFFSET %s 21:22:58 - article_server - INFO - [SQL参数] [10, 0] 21:22:58 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:22:58 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:58 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:22:58 - article_server - INFO - [SQL参数] (14,) 21:22:58 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:22:58 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:58 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:22:58 - article_server - INFO - [SQL参数] (1,) 21:22:58 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:22:58 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:58 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:22:58 - article_server - INFO - [SQL参数] (7,) 21:22:58 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:22:59 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:22:59 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:22:59 - article_server - INFO - [SQL参数] (8,) 21:22:59 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:22:59 - article_server - INFO - [获取企业列表] 查询成功, 总数: 4, 当前页: 1, 每页: 10, 返回数量: 4, IP: 104.244.91.212 21:22:59 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:23:07 - article_server - INFO - [API访问] GET /api/enterprises/list - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:23:07 - article_server - INFO - [Token验证成功] 用户ID: 10 21:23:07 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:23:07 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:23:07 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:07 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:23:07 - article_server - INFO - [API访问] GET /api/users/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:23:07 - article_server - INFO - [Token验证成功] 用户ID: 10 21:23:07 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:23:07 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:23:07 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:07 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:23:07 - article_server - INFO - [SQL参数] (10,) 21:23:07 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:23:07 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 21:23:07 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:23:07 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '测试企业10号', 'username': '饶文龙', 'real_name': '测试用户10', 'email': None, 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'is_bound_xhs': 1, 'department': '运营部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 11, 47, 10)}] 21:23:07 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:07 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total, created_at, updated_at FROM ai_enterprises WHERE 1=1 ORDER BY created_at DESC LIMIT %s OFFSET %s 21:23:07 - article_server - INFO - [SQL参数] [10, 0] 21:23:07 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:23:07 - article_server - INFO - [SQL语句] INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, request_data, response_data, status, error_message, created_at) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW()) 21:23:07 - article_server - INFO - [SQL参数] (10, 'get_user_info', 'user', 10, '查询用户信息: 饶文龙, action=', '104.244.91.212', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None) 21:23:07 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:23:07 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66135 21:23:07 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66135 21:23:07 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:23:07 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:07 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:23:07 - article_server - INFO - [SQL参数] (14,) 21:23:07 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:23:07 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:07 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:23:07 - article_server - INFO - [SQL参数] (1,) 21:23:07 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:23:07 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:07 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:23:07 - article_server - INFO - [SQL参数] (7,) 21:23:07 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:23:07 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:07 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:23:07 - article_server - INFO - [SQL参数] (8,) 21:23:07 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:23:07 - article_server - INFO - [获取企业列表] 查询成功, 总数: 4, 当前页: 1, 每页: 10, 返回数量: 4, IP: 104.244.91.212 21:23:07 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:23:12 - article_server - INFO - [API访问] GET /api/enterprises/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:23:12 - article_server - INFO - [Token验证成功] 用户ID: 10 21:23:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:12 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total, created_at, updated_at FROM ai_enterprises WHERE id = %s 21:23:12 - article_server - INFO - [SQL参数] (1,) 21:23:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:23:12 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业122你们好', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 11, 51, 57)}] 21:23:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:12 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:23:12 - article_server - INFO - [SQL参数] (1,) 21:23:12 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:23:12 - article_server - INFO - 获取企业信息成功(含密码): ID 1 21:23:12 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200 21:23:21 - article_server - INFO - [API访问] POST /api/auth/login - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:23:21 - article_server - INFO - [用户登录] 开始处理登录请求, IP: 104.244.91.212 21:23:21 - article_server - INFO - [用户登录] 收到登录请求, 账号: 13621242430, IP: 104.244.91.212 21:23:21 - article_server - INFO - [用户登录] 开始在ai_users表查询用户, 账号: 13621242430 21:23:21 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:21 - article_server - INFO - [SQL语句] SELECT u.id, u.enterprise_id, u.enterprise_name, u.username, u.phone, u.password, u.real_name, u.role, u.status, u.is_bound_xhs, a.xhs_account FROM ai_users u LEFT JOIN ai_authors a ON u.id = a.created_user_id AND a.status = 'active' WHERE (u.phone = %s OR u.username = %s) AND u.status = 'active' 21:23:21 - article_server - INFO - [SQL参数] ('13621242430', '13621242430') 21:23:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:23:21 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '测试企业10号', 'username': '饶文龙', 'phone': '13621242430', 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 'real_name': '测试用户10', 'role': 'enterprise', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': None}] 21:23:21 - article_server - INFO - [用户登录] 查询到用户信息, 用户名: 饶文龙, 角色: enterprise, 企业: 测试企业10号, 企业ID: 1 21:23:21 - article_server - INFO - [用户登录] 开始验证密码, 账号: 13621242430 21:23:21 - article_server - INFO - [用户登录] 密码验证成功, 用户名: 饶文龙, 角色: enterprise 21:23:21 - article_server - INFO - [用户登录] 检测到企业角色, 开始获取企业详细信息, 企业ID: 1 21:23:21 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:21 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s AND status = 'active' 21:23:21 - article_server - INFO - [SQL参数] (1,) 21:23:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:23:21 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业122你们好', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0}] 21:23:21 - article_server - INFO - [用户登录] 获取企业信息成功, 企业名称: 乐航, 企业编号: ENT-2024-0001 21:23:21 - article_server - INFO - [用户登录] 开始生成token, 用户ID: 10, 角色: enterprise 21:23:21 - article_server - INFO - [Token生成] 用户: 13621242430, ID: 10, 角色: enterprise 21:23:21 - article_server - INFO - [用户登录成功] Token生成成功, 用户: 饶文龙, 角色: enterprise, 企业: 测试企业10号, IP: 104.244.91.212 21:23:21 - article_server - INFO - [API响应] POST /api/auth/login - IP: 104.244.91.212 - 状态码: 200 21:23:22 - article_server - INFO - [API访问] GET /api/users/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:23:22 - article_server - INFO - [Token验证成功] 用户ID: 10 21:23:22 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:23:22 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:23:22 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:23:22 - article_server - INFO - [Token验证成功] 用户ID: 10 21:23:22 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:22 - article_server - INFO - [SQL语句] SELECT r.id, r.publish_time, u.real_name as employee_name, p.name as product_name, 'success' as status FROM ai_article_published_records r LEFT JOIN ai_users u ON r.created_user_id = u.id LEFT JOIN ai_products p ON r.product_id = p.id WHERE r.enterprise_id = %s ORDER BY r.publish_time DESC LIMIT %s 21:23:22 - article_server - INFO - [SQL参数] (1, 5) 21:23:22 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:23:22 - article_server - INFO - [Token验证成功] 用户ID: 10 21:23:22 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:23:22 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:22 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:23:22 - article_server - INFO - [SQL参数] (1,) 21:23:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:23:22 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0}] 21:23:22 - article_server - INFO - 获取最近发布成功 21:23:22 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:23:22 - article_server - INFO - 数据库连接成功,字符集设置完成 21:23:22 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:22 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:23:22 - article_server - INFO - [SQL参数] (10,) 21:23:22 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:22 - article_server - INFO - [SQL语句] SELECT COUNT(*) as month_published FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(CURDATE()) AND MONTH(publish_time) = MONTH(CURDATE()) 21:23:22 - article_server - INFO - [SQL参数] (1,) 21:23:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:23:22 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '测试企业10号', 'username': '饶文龙', 'real_name': '测试用户10', 'email': None, 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'is_bound_xhs': 1, 'department': '运营部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 11, 47, 10)}] 21:23:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:23:22 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:23:22 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:23:22 - article_server - INFO - [SQL语句] INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, request_data, response_data, status, error_message, created_at) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW()) 21:23:22 - article_server - INFO - [SQL参数] (10, 'get_user_info', 'user', 10, '查询用户信息: 饶文龙, action=', '104.244.91.212', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None) 21:23:22 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66136 21:23:22 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:22 - article_server - INFO - [SQL语句] SELECT COUNT(*) as last_month_published FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) 21:23:22 - article_server - INFO - [SQL参数] (1,) 21:23:22 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66136 21:23:22 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:23:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:23:22 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:23:22 - article_server - INFO - 获取工作台概览成功 21:23:22 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:23:22 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:23:22 - article_server - INFO - [Token验证成功] 用户ID: 10 21:23:22 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:22 - article_server - INFO - [SQL语句] SELECT r.product_id, p.name as product_name, COUNT(*) as publishes, ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage FROM ai_article_published_records r LEFT JOIN ai_products p ON r.product_id = p.id WHERE r.enterprise_id = %s GROUP BY r.product_id, p.name ORDER BY publishes DESC LIMIT %s 21:23:22 - article_server - INFO - [SQL参数] (1, 1, 4) 21:23:22 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:23:23 - article_server - INFO - 获取热门产品成功 21:23:23 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:23:24 - article_server - INFO - [API访问] GET /api/enterprises/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:23:24 - article_server - INFO - [Token验证成功] 用户ID: 10 21:23:24 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:24 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total, created_at, updated_at FROM ai_enterprises WHERE id = %s 21:23:24 - article_server - INFO - [SQL参数] (1,) 21:23:24 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:23:24 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业122你们好', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 11, 51, 57)}] 21:23:24 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:24 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:23:24 - article_server - INFO - [SQL参数] (1,) 21:23:24 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:23:24 - article_server - INFO - 获取企业信息成功(含密码): ID 1 21:23:24 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200 21:23:34 - article_server - INFO - [API访问] GET /api/enterprises/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:23:34 - article_server - INFO - [Token验证成功] 用户ID: 10 21:23:34 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:34 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total, created_at, updated_at FROM ai_enterprises WHERE id = %s 21:23:34 - article_server - INFO - [SQL参数] (1,) 21:23:34 - article_server - INFO - [API访问] GET /api/users/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:23:34 - article_server - INFO - [Token验证成功] 用户ID: 10 21:23:34 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:23:34 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:23:34 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:23:34 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业122你们好', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 11, 51, 57)}] 21:23:34 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:34 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:23:34 - article_server - INFO - [SQL参数] (10,) 21:23:34 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:23:34 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:23:34 - article_server - INFO - [SQL参数] (1,) 21:23:34 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:23:34 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '测试企业10号', 'username': '饶文龙', 'real_name': '测试用户10', 'email': None, 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'is_bound_xhs': 1, 'department': '运营部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 11, 47, 10)}] 21:23:34 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:23:34 - article_server - INFO - 获取企业信息成功(含密码): ID 1 21:23:34 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200 21:23:34 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:23:34 - article_server - INFO - [SQL语句] INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, request_data, response_data, status, error_message, created_at) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW()) 21:23:34 - article_server - INFO - [SQL参数] (10, 'get_user_info', 'user', 10, '查询用户信息: 饶文龙, action=', '104.244.91.212', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None) 21:23:34 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66137 21:23:34 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66137 21:23:34 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:26:45 - article_server - INFO - [API访问] POST /api/auth/login - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:26:45 - article_server - INFO - [用户登录] 开始处理登录请求, IP: 104.244.91.212 21:26:45 - article_server - INFO - [用户登录] 收到登录请求, 账号: 13621242430, IP: 104.244.91.212 21:26:45 - article_server - INFO - [用户登录] 开始在ai_users表查询用户, 账号: 13621242430 21:26:45 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:26:45 - article_server - INFO - [SQL语句] SELECT u.id, u.enterprise_id, u.enterprise_name, u.username, u.phone, u.password, u.real_name, u.role, u.status, u.is_bound_xhs, a.xhs_account FROM ai_users u LEFT JOIN ai_authors a ON u.id = a.created_user_id AND a.status = 'active' WHERE (u.phone = %s OR u.username = %s) AND u.status = 'active' 21:26:45 - article_server - INFO - [SQL参数] ('13621242430', '13621242430') 21:26:45 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:26:45 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '测试企业10号', 'username': '饶文龙', 'phone': '13621242430', 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 'real_name': '测试用户10', 'role': 'enterprise', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': None}] 21:26:45 - article_server - INFO - [用户登录] 查询到用户信息, 用户名: 饶文龙, 角色: enterprise, 企业: 测试企业10号, 企业ID: 1 21:26:45 - article_server - INFO - [用户登录] 开始验证密码, 账号: 13621242430 21:26:45 - article_server - INFO - [用户登录] 密码验证成功, 用户名: 饶文龙, 角色: enterprise 21:26:45 - article_server - INFO - [用户登录] 检测到企业角色, 开始获取企业详细信息, 企业ID: 1 21:26:45 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:26:45 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s AND status = 'active' 21:26:45 - article_server - INFO - [SQL参数] (1,) 21:26:45 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:26:45 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业122你们好', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0}] 21:26:45 - article_server - INFO - [用户登录] 获取企业信息成功, 企业名称: 乐航, 企业编号: ENT-2024-0001 21:26:45 - article_server - INFO - [用户登录] 开始生成token, 用户ID: 10, 角色: enterprise 21:26:45 - article_server - INFO - [Token生成] 用户: 13621242430, ID: 10, 角色: enterprise 21:26:45 - article_server - INFO - [用户登录成功] Token生成成功, 用户: 饶文龙, 角色: enterprise, 企业: 测试企业10号, IP: 104.244.91.212 21:26:45 - article_server - INFO - [API响应] POST /api/auth/login - IP: 104.244.91.212 - 状态码: 200 21:26:45 - article_server - INFO - [API访问] GET /api/users/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:26:45 - article_server - INFO - [Token验证成功] 用户ID: 10 21:26:45 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:26:45 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:26:45 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:26:45 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:26:45 - article_server - INFO - [SQL参数] (10,) 21:26:45 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:26:45 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '测试企业10号', 'username': '饶文龙', 'real_name': '测试用户10', 'email': None, 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'is_bound_xhs': 1, 'department': '运营部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 13, 26, 1)}] 21:26:45 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:26:45 - article_server - INFO - [SQL语句] INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, request_data, response_data, status, error_message, created_at) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW()) 21:26:45 - article_server - INFO - [SQL参数] (10, 'get_user_info', 'user', 10, '查询用户信息: 饶文龙, action=', '104.244.91.212', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None) 21:26:45 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66138 21:26:45 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66138 21:26:45 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:26:46 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:26:46 - article_server - INFO - [Token验证成功] 用户ID: 10 21:26:46 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:26:46 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:26:46 - article_server - INFO - [SQL参数] (1,) 21:26:46 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:26:46 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0}] 21:26:46 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:26:46 - article_server - INFO - [SQL语句] SELECT COUNT(*) as month_published FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(CURDATE()) AND MONTH(publish_time) = MONTH(CURDATE()) 21:26:46 - article_server - INFO - [SQL参数] (1,) 21:26:46 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:26:46 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:26:46 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:26:46 - article_server - INFO - [SQL语句] SELECT COUNT(*) as last_month_published FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) 21:26:46 - article_server - INFO - [SQL参数] (1,) 21:26:46 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:26:46 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:26:46 - article_server - INFO - 获取工作台概览成功 21:26:46 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:26:46 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:26:46 - article_server - INFO - [Token验证成功] 用户ID: 10 21:26:46 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:26:46 - article_server - INFO - [SQL语句] SELECT r.id, r.publish_time, u.real_name as employee_name, p.name as product_name, 'success' as status FROM ai_article_published_records r LEFT JOIN ai_users u ON r.created_user_id = u.id LEFT JOIN ai_products p ON r.product_id = p.id WHERE r.enterprise_id = %s ORDER BY r.publish_time DESC LIMIT %s 21:26:46 - article_server - INFO - [SQL参数] (1, 5) 21:26:46 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:26:46 - article_server - INFO - 获取最近发布成功 21:26:46 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:26:47 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:26:47 - article_server - INFO - [Token验证成功] 用户ID: 10 21:26:47 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:26:47 - article_server - INFO - [SQL语句] SELECT r.product_id, p.name as product_name, COUNT(*) as publishes, ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage FROM ai_article_published_records r LEFT JOIN ai_products p ON r.product_id = p.id WHERE r.enterprise_id = %s GROUP BY r.product_id, p.name ORDER BY publishes DESC LIMIT %s 21:26:47 - article_server - INFO - [SQL参数] (1, 1, 4) 21:26:47 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:26:47 - article_server - INFO - 获取热门产品成功 21:26:47 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:26:48 - article_server - INFO - [API访问] GET /api/enterprises/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:26:48 - article_server - INFO - [Token验证成功] 用户ID: 10 21:26:48 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:26:48 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total, created_at, updated_at FROM ai_enterprises WHERE id = %s 21:26:48 - article_server - INFO - [SQL参数] (1,) 21:26:48 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:26:48 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业122你们好', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 11, 51, 57)}] 21:26:48 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:26:48 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:26:48 - article_server - INFO - [SQL参数] (1,) 21:26:48 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:26:48 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:26:48 - article_server - INFO - 获取企业信息成功(含密码): ID 1 21:26:48 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200 21:26:52 - article_server - INFO - [API访问] GET /api/users/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:26:52 - article_server - INFO - [Token验证成功] 用户ID: 10 21:26:52 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:26:52 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:26:52 - article_server - INFO - [API访问] GET /api/enterprises/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:26:52 - article_server - INFO - [Token验证成功] 用户ID: 10 21:26:52 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:26:52 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:26:52 - article_server - INFO - [SQL参数] (10,) 21:26:52 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:26:52 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total, created_at, updated_at FROM ai_enterprises WHERE id = %s 21:26:52 - article_server - INFO - [SQL参数] (1,) 21:26:52 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:26:52 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '测试企业10号', 'username': '饶文龙', 'real_name': '测试用户10', 'email': None, 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'is_bound_xhs': 1, 'department': '运营部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 13, 26, 1)}] 21:26:52 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:26:52 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业122你们好', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 11, 51, 57)}] 21:26:52 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:26:52 - article_server - INFO - [SQL语句] INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, request_data, response_data, status, error_message, created_at) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW()) 21:26:52 - article_server - INFO - [SQL参数] (10, 'get_user_info', 'user', 10, '查询用户信息: 饶文龙, action=', '104.244.91.212', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None) 21:26:52 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:26:52 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:26:52 - article_server - INFO - [SQL参数] (1,) 21:26:52 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:26:52 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:26:52 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66139 21:26:52 - article_server - INFO - 获取企业信息成功(含密码): ID 1 21:26:52 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200 21:26:52 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66139 21:26:52 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:27:21 - article_server - INFO - [API访问] GET /api/users/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:27:21 - article_server - INFO - [Token验证成功] 用户ID: 10 21:27:21 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:27:21 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:27:21 - article_server - INFO - [API访问] GET /api/enterprises/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:27:21 - article_server - INFO - [Token验证成功] 用户ID: 10 21:27:21 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:21 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:27:21 - article_server - INFO - [SQL参数] (10,) 21:27:21 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:21 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total, created_at, updated_at FROM ai_enterprises WHERE id = %s 21:27:21 - article_server - INFO - [SQL参数] (1,) 21:27:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:27:21 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '乐航', 'username': '饶文龙', 'real_name': '测试用户10', 'email': None, 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'is_bound_xhs': 1, 'department': '运营部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 13, 27, 17)}] 21:27:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:27:21 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业122你们好', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 11, 51, 57)}] 21:27:21 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:27:21 - article_server - INFO - [SQL语句] INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, request_data, response_data, status, error_message, created_at) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW()) 21:27:21 - article_server - INFO - [SQL参数] (10, 'get_user_info', 'user', 10, '查询用户信息: 饶文龙, action=', '104.244.91.212', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None) 21:27:21 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:21 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:27:21 - article_server - INFO - [SQL参数] (1,) 21:27:21 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66140 21:27:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:27:21 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:27:21 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66140 21:27:21 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:27:21 - article_server - INFO - 获取企业信息成功(含密码): ID 1 21:27:21 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200 21:27:22 - article_server - INFO - [API访问] GET /api/users/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:27:22 - article_server - INFO - [Token验证成功] 用户ID: 10 21:27:22 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:27:22 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:27:22 - article_server - INFO - [API访问] GET /api/enterprises/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:27:22 - article_server - INFO - [Token验证成功] 用户ID: 10 21:27:23 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:23 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total, created_at, updated_at FROM ai_enterprises WHERE id = %s 21:27:23 - article_server - INFO - [SQL参数] (1,) 21:27:23 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:23 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:27:23 - article_server - INFO - [SQL参数] (10,) 21:27:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:27:23 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业122你们好', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 11, 51, 57)}] 21:27:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:27:23 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '乐航', 'username': '饶文龙', 'real_name': '测试用户10', 'email': None, 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'is_bound_xhs': 1, 'department': '运营部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 13, 27, 17)}] 21:27:23 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:23 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:27:23 - article_server - INFO - [SQL参数] (1,) 21:27:23 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:27:23 - article_server - INFO - [SQL语句] INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, request_data, response_data, status, error_message, created_at) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW()) 21:27:23 - article_server - INFO - [SQL参数] (10, 'get_user_info', 'user', 10, '查询用户信息: 饶文龙, action=', '104.244.91.212', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None) 21:27:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:27:23 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:27:23 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66141 21:27:23 - article_server - INFO - 获取企业信息成功(含密码): ID 1 21:27:23 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200 21:27:23 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66141 21:27:23 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:27:47 - article_server - INFO - [API访问] POST /api/auth/login - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:27:47 - article_server - INFO - [用户登录] 开始处理登录请求, IP: 104.244.91.212 21:27:47 - article_server - INFO - [用户登录] 收到登录请求, 账号: 13621242430, IP: 104.244.91.212 21:27:47 - article_server - INFO - [用户登录] 开始在ai_users表查询用户, 账号: 13621242430 21:27:47 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:47 - article_server - INFO - [SQL语句] SELECT u.id, u.enterprise_id, u.enterprise_name, u.username, u.phone, u.password, u.real_name, u.role, u.status, u.is_bound_xhs, a.xhs_account FROM ai_users u LEFT JOIN ai_authors a ON u.id = a.created_user_id AND a.status = 'active' WHERE (u.phone = %s OR u.username = %s) AND u.status = 'active' 21:27:47 - article_server - INFO - [SQL参数] ('13621242430', '13621242430') 21:27:47 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:27:47 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '乐航', 'username': '饶文龙', 'phone': '13621242430', 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 'real_name': '测试用户10', 'role': 'enterprise', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': None}] 21:27:47 - article_server - INFO - [用户登录] 查询到用户信息, 用户名: 饶文龙, 角色: enterprise, 企业: 乐航, 企业ID: 1 21:27:47 - article_server - INFO - [用户登录] 开始验证密码, 账号: 13621242430 21:27:47 - article_server - INFO - [用户登录] 密码验证成功, 用户名: 饶文龙, 角色: enterprise 21:27:47 - article_server - INFO - [用户登录] 检测到企业角色, 开始获取企业详细信息, 企业ID: 1 21:27:47 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:47 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s AND status = 'active' 21:27:47 - article_server - INFO - [SQL参数] (1,) 21:27:47 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:27:47 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业122你们好', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0}] 21:27:48 - article_server - INFO - [用户登录] 获取企业信息成功, 企业名称: 乐航, 企业编号: ENT-2024-0001 21:27:48 - article_server - INFO - [用户登录] 开始生成token, 用户ID: 10, 角色: enterprise 21:27:48 - article_server - INFO - [Token生成] 用户: 13621242430, ID: 10, 角色: enterprise 21:27:48 - article_server - INFO - [用户登录成功] Token生成成功, 用户: 饶文龙, 角色: enterprise, 企业: 乐航, IP: 104.244.91.212 21:27:48 - article_server - INFO - [API响应] POST /api/auth/login - IP: 104.244.91.212 - 状态码: 200 21:27:48 - article_server - INFO - [API访问] GET /api/users/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:27:48 - article_server - INFO - [Token验证成功] 用户ID: 10 21:27:48 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:27:48 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:27:48 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:27:48 - article_server - INFO - [Token验证成功] 用户ID: 10 21:27:48 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:48 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:27:48 - article_server - INFO - [SQL参数] (1,) 21:27:48 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:48 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:27:48 - article_server - INFO - [SQL参数] (10,) 21:27:48 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:27:48 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0}] 21:27:48 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:27:48 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '乐航', 'username': '饶文龙', 'real_name': '测试用户10', 'email': None, 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'is_bound_xhs': 1, 'department': '运营部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 13, 27, 17)}] 21:27:48 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:48 - article_server - INFO - [SQL语句] SELECT COUNT(*) as month_published FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(CURDATE()) AND MONTH(publish_time) = MONTH(CURDATE()) 21:27:48 - article_server - INFO - [SQL参数] (1,) 21:27:48 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:27:48 - article_server - INFO - [SQL语句] INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, request_data, response_data, status, error_message, created_at) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW()) 21:27:48 - article_server - INFO - [SQL参数] (10, 'get_user_info', 'user', 10, '查询用户信息: 饶文龙, action=', '104.244.91.212', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None) 21:27:48 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:27:48 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:27:48 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66142 21:27:48 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66142 21:27:48 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:27:48 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:48 - article_server - INFO - [SQL语句] SELECT COUNT(*) as last_month_published FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) 21:27:48 - article_server - INFO - [SQL参数] (1,) 21:27:48 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:27:48 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:27:48 - article_server - INFO - 获取工作台概览成功 21:27:48 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:27:49 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:27:49 - article_server - INFO - [Token验证成功] 用户ID: 10 21:27:49 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:27:49 - article_server - INFO - [Token验证成功] 用户ID: 10 21:27:49 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:49 - article_server - INFO - [SQL语句] SELECT r.id, r.publish_time, u.real_name as employee_name, p.name as product_name, 'success' as status FROM ai_article_published_records r LEFT JOIN ai_users u ON r.created_user_id = u.id LEFT JOIN ai_products p ON r.product_id = p.id WHERE r.enterprise_id = %s ORDER BY r.publish_time DESC LIMIT %s 21:27:49 - article_server - INFO - [SQL参数] (1, 5) 21:27:49 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:49 - article_server - INFO - [SQL语句] SELECT r.product_id, p.name as product_name, COUNT(*) as publishes, ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage FROM ai_article_published_records r LEFT JOIN ai_products p ON r.product_id = p.id WHERE r.enterprise_id = %s GROUP BY r.product_id, p.name ORDER BY publishes DESC LIMIT %s 21:27:49 - article_server - INFO - [SQL参数] (1, 1, 4) 21:27:49 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:27:49 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:27:49 - article_server - INFO - 获取最近发布成功 21:27:49 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:27:49 - article_server - INFO - 获取热门产品成功 21:27:49 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:27:59 - article_server - INFO - [API访问] GET /api/users/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:27:59 - article_server - INFO - [Token验证成功] 用户ID: 10 21:27:59 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:27:59 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:27:59 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:27:59 - article_server - INFO - [Token验证成功] 用户ID: 10 21:27:59 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:27:59 - article_server - INFO - [Token验证成功] 用户ID: 10 21:27:59 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:27:59 - article_server - INFO - [Token验证成功] 用户ID: 10 21:27:59 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:59 - article_server - INFO - [SQL语句] SELECT r.product_id, p.name as product_name, COUNT(*) as publishes, ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage FROM ai_article_published_records r LEFT JOIN ai_products p ON r.product_id = p.id WHERE r.enterprise_id = %s GROUP BY r.product_id, p.name ORDER BY publishes DESC LIMIT %s 21:27:59 - article_server - INFO - [SQL参数] (1, 1, 4) 21:27:59 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:59 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:27:59 - article_server - INFO - [SQL参数] (10,) 21:27:59 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:59 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:27:59 - article_server - INFO - [SQL参数] (1,) 21:27:59 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:59 - article_server - INFO - [SQL语句] SELECT r.id, r.publish_time, u.real_name as employee_name, p.name as product_name, 'success' as status FROM ai_article_published_records r LEFT JOIN ai_users u ON r.created_user_id = u.id LEFT JOIN ai_products p ON r.product_id = p.id WHERE r.enterprise_id = %s ORDER BY r.publish_time DESC LIMIT %s 21:27:59 - article_server - INFO - [SQL参数] (1, 5) 21:27:59 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:27:59 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:27:59 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0}] 21:27:59 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:27:59 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '乐航', 'username': '饶文龙', 'real_name': '测试用户10', 'email': None, 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'is_bound_xhs': 1, 'department': '运营部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 13, 27, 17)}] 21:27:59 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:27:59 - article_server - INFO - 获取热门产品成功 21:27:59 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:27:59 - article_server - INFO - 获取最近发布成功 21:27:59 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:27:59 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:59 - article_server - INFO - [SQL语句] SELECT COUNT(*) as month_published FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(CURDATE()) AND MONTH(publish_time) = MONTH(CURDATE()) 21:27:59 - article_server - INFO - [SQL参数] (1,) 21:27:59 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:27:59 - article_server - INFO - [SQL语句] INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, request_data, response_data, status, error_message, created_at) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW()) 21:27:59 - article_server - INFO - [SQL参数] (10, 'get_user_info', 'user', 10, '查询用户信息: 饶文龙, action=', '104.244.91.212', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None) 21:27:59 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:27:59 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:27:59 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66143 21:27:59 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66143 21:27:59 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:27:59 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:27:59 - article_server - INFO - [SQL语句] SELECT COUNT(*) as last_month_published FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) 21:27:59 - article_server - INFO - [SQL参数] (1,) 21:27:59 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:27:59 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:27:59 - article_server - INFO - 获取工作台概览成功 21:27:59 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:28:49 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:28:49 - article_server - INFO - [Token验证成功] 用户ID: 10 21:28:49 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:28:49 - article_server - INFO - [Token验证成功] 用户ID: 10 21:28:49 - article_server - INFO - [API访问] GET /api/users/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:28:49 - article_server - INFO - [Token验证成功] 用户ID: 10 21:28:49 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:28:49 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:28:49 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:28:49 - article_server - INFO - [Token验证成功] 用户ID: 10 21:28:49 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:28:49 - article_server - INFO - [SQL语句] SELECT r.product_id, p.name as product_name, COUNT(*) as publishes, ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage FROM ai_article_published_records r LEFT JOIN ai_products p ON r.product_id = p.id WHERE r.enterprise_id = %s GROUP BY r.product_id, p.name ORDER BY publishes DESC LIMIT %s 21:28:49 - article_server - INFO - [SQL参数] (1, 1, 4) 21:28:49 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:28:49 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:28:49 - article_server - INFO - [SQL参数] (10,) 21:28:49 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:28:49 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:28:49 - article_server - INFO - [SQL参数] (1,) 21:28:49 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:28:49 - article_server - INFO - [SQL语句] SELECT r.id, r.publish_time, u.real_name as employee_name, p.name as product_name, 'success' as status FROM ai_article_published_records r LEFT JOIN ai_users u ON r.created_user_id = u.id LEFT JOIN ai_products p ON r.product_id = p.id WHERE r.enterprise_id = %s ORDER BY r.publish_time DESC LIMIT %s 21:28:49 - article_server - INFO - [SQL参数] (1, 5) 21:28:49 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:28:49 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:28:49 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '乐航', 'username': '饶文龙', 'real_name': '乐航', 'email': None, 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'is_bound_xhs': 1, 'department': '运营部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 13, 28, 38)}] 21:28:49 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:28:49 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:28:49 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0}] 21:28:49 - article_server - INFO - 获取热门产品成功 21:28:49 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:28:49 - article_server - INFO - 获取最近发布成功 21:28:49 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:28:49 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:28:49 - article_server - INFO - [SQL语句] INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, request_data, response_data, status, error_message, created_at) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW()) 21:28:49 - article_server - INFO - [SQL参数] (10, 'get_user_info', 'user', 10, '查询用户信息: 饶文龙, action=', '104.244.91.212', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None) 21:28:49 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:28:49 - article_server - INFO - [SQL语句] SELECT COUNT(*) as month_published FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(CURDATE()) AND MONTH(publish_time) = MONTH(CURDATE()) 21:28:49 - article_server - INFO - [SQL参数] (1,) 21:28:49 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66144 21:28:49 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:28:49 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:28:49 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66144 21:28:49 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:28:49 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:28:49 - article_server - INFO - [SQL语句] SELECT COUNT(*) as last_month_published FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) 21:28:49 - article_server - INFO - [SQL参数] (1,) 21:28:49 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:28:49 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:28:49 - article_server - INFO - 获取工作台概览成功 21:28:49 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:28:54 - article_server - INFO - [API访问] GET /api/enterprises/list - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:28:54 - article_server - INFO - [Token验证成功] 用户ID: 10 21:28:54 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:28:54 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:28:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:28:54 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:28:54 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:28:54 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 21:28:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:28:54 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total, created_at, updated_at FROM ai_enterprises WHERE 1=1 ORDER BY created_at DESC LIMIT %s OFFSET %s 21:28:54 - article_server - INFO - [SQL参数] [10, 0] 21:28:54 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:28:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:28:54 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:28:54 - article_server - INFO - [SQL参数] (14,) 21:28:54 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:28:54 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242434'}] 21:28:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:28:54 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:28:54 - article_server - INFO - [SQL参数] (1,) 21:28:54 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:28:54 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:28:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:28:54 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:28:54 - article_server - INFO - [SQL参数] (7,) 21:28:54 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:28:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:28:54 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:28:54 - article_server - INFO - [SQL参数] (8,) 21:28:54 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:28:54 - article_server - INFO - [获取企业列表] 查询成功, 总数: 4, 当前页: 1, 每页: 10, 返回数量: 4, IP: 104.244.91.212 21:28:54 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:29:16 - article_server - INFO - [API访问] GET /api/users/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:29:16 - article_server - INFO - [Token验证成功] 用户ID: 10 21:29:16 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:29:16 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:29:16 - article_server - INFO - [API访问] GET /api/enterprises/list - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:29:16 - article_server - INFO - [Token验证成功] 用户ID: 10 21:29:16 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:29:16 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:29:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:29:16 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:29:16 - article_server - INFO - [SQL参数] (10,) 21:29:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:29:16 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:29:16 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:29:16 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '乐航', 'username': '饶文龙', 'real_name': '乐航', 'email': None, 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'is_bound_xhs': 1, 'department': '运营部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 13, 28, 38)}] 21:29:16 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:29:16 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 21:29:16 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:29:16 - article_server - INFO - [SQL语句] INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, request_data, response_data, status, error_message, created_at) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW()) 21:29:16 - article_server - INFO - [SQL参数] (10, 'get_user_info', 'user', 10, '查询用户信息: 饶文龙, action=', '104.244.91.212', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None) 21:29:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:29:16 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total, created_at, updated_at FROM ai_enterprises WHERE 1=1 ORDER BY created_at DESC LIMIT %s OFFSET %s 21:29:16 - article_server - INFO - [SQL参数] [10, 0] 21:29:16 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66145 21:29:16 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:29:16 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66145 21:29:16 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:29:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:29:16 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:29:16 - article_server - INFO - [SQL参数] (14,) 21:29:16 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:29:16 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242434'}] 21:29:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:29:16 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:29:16 - article_server - INFO - [SQL参数] (1,) 21:29:16 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:29:16 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:29:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:29:16 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:29:16 - article_server - INFO - [SQL参数] (7,) 21:29:16 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:29:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:29:17 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:29:17 - article_server - INFO - [SQL参数] (8,) 21:29:17 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:29:17 - article_server - INFO - [获取企业列表] 查询成功, 总数: 4, 当前页: 1, 每页: 10, 返回数量: 4, IP: 104.244.91.212 21:29:17 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:30:16 - article_server - INFO - [API访问] GET /api/users/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:30:16 - article_server - INFO - [Token验证成功] 用户ID: 10 21:30:16 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:30:16 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:30:16 - article_server - INFO - [API访问] GET /api/enterprises/list - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:30:16 - article_server - INFO - [Token验证成功] 用户ID: 10 21:30:16 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:30:16 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:30:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:16 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:30:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:16 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:30:16 - article_server - INFO - [SQL参数] (10,) 21:30:16 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:30:16 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 21:30:16 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:30:16 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '乐航', 'username': '饶文龙', 'real_name': '乐航', 'email': None, 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'is_bound_xhs': 1, 'department': '运营部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 13, 28, 38)}] 21:30:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:16 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total, created_at, updated_at FROM ai_enterprises WHERE 1=1 ORDER BY created_at DESC LIMIT %s OFFSET %s 21:30:16 - article_server - INFO - [SQL参数] [10, 0] 21:30:16 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:30:16 - article_server - INFO - [SQL语句] INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, request_data, response_data, status, error_message, created_at) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW()) 21:30:16 - article_server - INFO - [SQL参数] (10, 'get_user_info', 'user', 10, '查询用户信息: 饶文龙, action=', '104.244.91.212', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None) 21:30:16 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:30:16 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66146 21:30:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:16 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:30:16 - article_server - INFO - [SQL参数] (14,) 21:30:16 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66146 21:30:16 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:30:16 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:30:16 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242434'}] 21:30:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:16 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:30:16 - article_server - INFO - [SQL参数] (1,) 21:30:16 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:30:16 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:30:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:16 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:30:16 - article_server - INFO - [SQL参数] (7,) 21:30:16 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:30:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:16 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:30:16 - article_server - INFO - [SQL参数] (8,) 21:30:16 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:30:16 - article_server - INFO - [获取企业列表] 查询成功, 总数: 4, 当前页: 1, 每页: 10, 返回数量: 4, IP: 104.244.91.212 21:30:16 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:30:21 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:30:21 - article_server - INFO - [Token验证成功] 用户ID: 10 21:30:21 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:30:21 - article_server - INFO - [Token验证成功] 用户ID: 10 21:30:21 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:21 - article_server - INFO - [SQL语句] SELECT r.id, r.publish_time, u.real_name as employee_name, p.name as product_name, 'success' as status FROM ai_article_published_records r LEFT JOIN ai_users u ON r.created_user_id = u.id LEFT JOIN ai_products p ON r.product_id = p.id WHERE r.enterprise_id = %s ORDER BY r.publish_time DESC LIMIT %s 21:30:21 - article_server - INFO - [SQL参数] (1, 5) 21:30:21 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:21 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:30:21 - article_server - INFO - [SQL参数] (1,) 21:30:21 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:30:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:30:21 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0}] 21:30:21 - article_server - INFO - 获取最近发布成功 21:30:21 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:30:21 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:21 - article_server - INFO - [SQL语句] SELECT COUNT(*) as month_published FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(CURDATE()) AND MONTH(publish_time) = MONTH(CURDATE()) 21:30:21 - article_server - INFO - [SQL参数] (1,) 21:30:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:30:21 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:30:21 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:21 - article_server - INFO - [SQL语句] SELECT COUNT(*) as last_month_published FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) 21:30:21 - article_server - INFO - [SQL参数] (1,) 21:30:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:30:21 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:30:21 - article_server - INFO - 获取工作台概览成功 21:30:21 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:30:21 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:30:21 - article_server - INFO - [Token验证成功] 用户ID: 10 21:30:21 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:21 - article_server - INFO - [SQL语句] SELECT r.product_id, p.name as product_name, COUNT(*) as publishes, ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage FROM ai_article_published_records r LEFT JOIN ai_products p ON r.product_id = p.id WHERE r.enterprise_id = %s GROUP BY r.product_id, p.name ORDER BY publishes DESC LIMIT %s 21:30:21 - article_server - INFO - [SQL参数] (1, 1, 4) 21:30:21 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:30:21 - article_server - INFO - 获取热门产品成功 21:30:21 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:30:26 - article_server - INFO - [API访问] GET /api/enterprises/list - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:30:26 - article_server - INFO - [Token验证成功] 用户ID: 10 21:30:26 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:30:26 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:30:26 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:26 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:30:26 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:30:26 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 21:30:26 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:26 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, email, status, users_total, products_total, articles_total, published_total, created_at, updated_at FROM ai_enterprises WHERE 1=1 ORDER BY created_at DESC LIMIT %s OFFSET %s 21:30:26 - article_server - INFO - [SQL参数] [10, 0] 21:30:26 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:30:26 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:26 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:30:26 - article_server - INFO - [SQL参数] (14,) 21:30:26 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:30:26 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242434'}] 21:30:26 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:26 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:30:26 - article_server - INFO - [SQL参数] (1,) 21:30:26 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:30:26 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:30:26 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:26 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:30:26 - article_server - INFO - [SQL参数] (7,) 21:30:26 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:30:26 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:30:26 - article_server - INFO - [SQL语句] SELECT phone FROM ai_users WHERE enterprise_id = %s AND role = 'enterprise' AND is_enterprise = 1 AND status = 'active' LIMIT 1 21:30:26 - article_server - INFO - [SQL参数] (8,) 21:30:26 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:30:27 - article_server - INFO - [获取企业列表] 查询成功, 总数: 4, 当前页: 1, 每页: 10, 返回数量: 4, IP: 104.244.91.212 21:30:27 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:31:06 - article_server - INFO - [API访问] POST /api/enterprises/create - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:31:06 - article_server - INFO - [Token验证成功] 用户ID: 10 21:31:06 - article_server - INFO - [创建企业] 开始处理创建企业请求, IP: 104.244.91.212 21:31:06 - article_server - INFO - [创建企业] 收到创建请求, 企业名称: 测试1, 简称: 测试1, 手机号: 13968016804, IP: 104.244.91.212 21:31:06 - article_server - INFO - [创建企业] 检查ai_users表中企业角色手机号是否已存在: 13968016804 21:31:06 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:31:06 - article_server - INFO - [SQL语句] SELECT id FROM ai_users WHERE phone = %s AND role = 'enterprise' AND is_enterprise = 1 21:31:06 - article_server - INFO - [SQL参数] ('13968016804',) 21:31:06 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:31:06 - article_server - INFO - [创建企业] 生成企业ID: ENT-20251221-1C1FB594, 企业名称: 测试1 21:31:06 - article_server - INFO - [创建企业] 开始插入ai_enterprises表, 企业ID: ENT-20251221-1C1FB594, 名称: 测试1 21:31:06 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:31:06 - article_server - INFO - [SQL语句] INSERT INTO ai_enterprises (enterprise_ID, name, short_name, icon, email, website, address, status, users_total, products_total, published_total, articles_total, released_month_total, linked_to_xhs_num) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) 21:31:06 - article_server - INFO - [SQL参数] ('ENT-20251221-1C1FB594', '测试1', '测试1', '', '343625@qq.com', '', '', 'active', 0, 0, 0, 0, 0, 0) 21:31:06 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 15 21:31:06 - article_server - INFO - [创建企业] ai_enterprises表插入成功, 数据库ID: 15, 企业ID: ENT-20251221-1C1FB594 21:31:06 - article_server - INFO - [创建企业] 开始创建企业管理员用户, 手机号: 13968016804, 角色: enterprise 21:31:06 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:31:06 - article_server - INFO - [SQL语句] INSERT INTO ai_users (enterprise_id, enterprise_name, username, password, real_name, email, phone, department, role, status, is_enterprise) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) 21:31:06 - article_server - INFO - [SQL参数] (15, '测试1', '13968016804', '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', '测试1', '343625@qq.com', '13968016804', '', 'enterprise', 'active', 1) 21:31:06 - article_server - ERROR - 数据库操作失败: (1062, "Duplicate entry '13968016804' for key 'ai_users.uk_username'") 21:31:06 - article_server - ERROR - [SQL执行失败] 插入SQL执行异常: (1062, "Duplicate entry '13968016804' for key 'ai_users.uk_username'") 21:31:06 - article_server - ERROR - [SQL语句] INSERT INTO ai_users (enterprise_id, enterprise_name, username, password, real_name, email, phone, department, role, status, is_enterprise) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) 21:31:06 - article_server - ERROR - [SQL参数] (15, '测试1', '13968016804', '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', '测试1', '343625@qq.com', '13968016804', '', 'enterprise', 'active', 1) 21:31:06 - article_server - ERROR - [创建企业] 处理请求时发生错误: (1062, "Duplicate entry '13968016804' for key 'ai_users.uk_username'") Traceback (most recent call last): File "/home/work/ai_wht/enterprise_routes.py", line 198, in create_enterprise user_db_id = db_manager.execute_insert(user_sql, ( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/work/ai_wht/database_config.py", line 254, in execute_insert return self._execute_with_retry(_insert_operation) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/work/ai_wht/database_config.py", line 103, in _execute_with_retry return operation(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/work/ai_wht/database_config.py", line 239, in _insert_operation cursor.execute(sql, params) File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute result = self._query(query) ^^^^^^^^^^^^^^^^^^ File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query conn.query(q) File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result result.read() File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read first_packet = self.connection._read_packet() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet packet.raise_for_error() File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error err.raise_mysql_exception(self._data) File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.IntegrityError: (1062, "Duplicate entry '13968016804' for key 'ai_users.uk_username'") 21:31:06 - article_server - INFO - [API响应] POST /api/enterprises/create - IP: 104.244.91.212 - 状态码: 500 21:31:14 - article_server - INFO - [API访问] POST /api/enterprises/create - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa 21:31:14 - article_server - INFO - [Token验证成功] 用户ID: 10 21:31:14 - article_server - INFO - [创建企业] 开始处理创建企业请求, IP: 104.244.91.212 21:31:14 - article_server - INFO - [创建企业] 收到创建请求, 企业名称: 测试1, 简称: 测试1, 手机号: 13968016804, IP: 104.244.91.212 21:31:14 - article_server - INFO - [创建企业] 检查ai_users表中企业角色手机号是否已存在: 13968016804 21:31:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:31:14 - article_server - INFO - [SQL语句] SELECT id FROM ai_users WHERE phone = %s AND role = 'enterprise' AND is_enterprise = 1 21:31:14 - article_server - INFO - [SQL参数] ('13968016804',) 21:31:14 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:31:14 - article_server - INFO - [创建企业] 生成企业ID: ENT-20251221-54222B67, 企业名称: 测试1 21:31:14 - article_server - INFO - [创建企业] 开始插入ai_enterprises表, 企业ID: ENT-20251221-54222B67, 名称: 测试1 21:31:14 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:31:14 - article_server - INFO - [SQL语句] INSERT INTO ai_enterprises (enterprise_ID, name, short_name, icon, email, website, address, status, users_total, products_total, published_total, articles_total, released_month_total, linked_to_xhs_num) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) 21:31:14 - article_server - INFO - [SQL参数] ('ENT-20251221-54222B67', '测试1', '测试1', '', '343625@qq.com', '', '', 'active', 0, 0, 0, 0, 0, 0) 21:31:14 - article_server - ERROR - 数据库操作失败: (1062, "Duplicate entry '' for key 'ai_enterprises.uk_phone'") 21:31:14 - article_server - ERROR - [SQL执行失败] 插入SQL执行异常: (1062, "Duplicate entry '' for key 'ai_enterprises.uk_phone'") 21:31:14 - article_server - ERROR - [SQL语句] INSERT INTO ai_enterprises (enterprise_ID, name, short_name, icon, email, website, address, status, users_total, products_total, published_total, articles_total, released_month_total, linked_to_xhs_num) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) 21:31:14 - article_server - ERROR - [SQL参数] ('ENT-20251221-54222B67', '测试1', '测试1', '', '343625@qq.com', '', '', 'active', 0, 0, 0, 0, 0, 0) 21:31:14 - article_server - ERROR - [创建企业] 处理请求时发生错误: (1062, "Duplicate entry '' for key 'ai_enterprises.uk_phone'") Traceback (most recent call last): File "/home/work/ai_wht/enterprise_routes.py", line 172, in create_enterprise enterprise_db_id = db_manager.execute_insert(enterprise_sql, ( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/work/ai_wht/database_config.py", line 254, in execute_insert return self._execute_with_retry(_insert_operation) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/work/ai_wht/database_config.py", line 103, in _execute_with_retry return operation(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/work/ai_wht/database_config.py", line 239, in _insert_operation cursor.execute(sql, params) File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute result = self._query(query) ^^^^^^^^^^^^^^^^^^ File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query conn.query(q) File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result result.read() File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read first_packet = self.connection._read_packet() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet packet.raise_for_error() File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error err.raise_mysql_exception(self._data) File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.IntegrityError: (1062, "Duplicate entry '' for key 'ai_enterprises.uk_phone'") 21:31:14 - article_server - INFO - [API响应] POST /api/enterprises/create - IP: 104.244.91.212 - 状态码: 500