21:01:48 - article_server - INFO - 日志系统已启动 - 记录器: article_server 21:01:48 - article_server - INFO - 主日志文件: logs/article_server.log 21:01:48 - article_server - INFO - 错误日志文件: logs/article_error.log 21:01:48 - article_server - INFO - 日志保留策略: 每天午夜分割,主日志保留3天 21:01:48 - article_server - INFO - 错误日志保留策略: 每天午夜分割,保留9天 21:01:49 - article_server - INFO - 万花筒API服务模块已加载 21:02:10 - 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:02:10 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:10 - 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:02:10 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:10 - 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:02:10 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:10 - article_server - INFO - 数据库连接成功,字符集设置完成 21:02:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:10 - 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:02:10 - article_server - INFO - [SQL参数] (1, 5) 21:02:10 - article_server - INFO - 数据库连接成功,字符集设置完成 21:02:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:10 - 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:02:10 - article_server - INFO - [SQL参数] (1, 1, 4) 21:02:10 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:02:10 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:02:10 - article_server - INFO - 数据库连接成功,字符集设置完成 21:02:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:10 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:02:10 - article_server - INFO - [SQL参数] (1,) 21:02:10 - article_server - INFO - 获取最近发布成功 21:02:10 - article_server - INFO - 获取热门产品成功 21:02:10 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:02:10 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:02:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:10 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 1, 'products_total': 2, 'articles_total': 37, 'published_total': 0}] 21:02:10 - 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:02:10 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:10 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:02:10 - article_server - INFO - [获取用户信息] 用户ID: 4, action: , IP: 104.244.91.212 21:02:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:10 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, password, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:02:10 - article_server - INFO - [SQL参数] (4,) 21:02:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:10 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': '', 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', '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, 20, 10, 4, 10)}] 21:02:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:10 - 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:02:10 - article_server - INFO - [SQL参数] (1,) 21:02:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:10 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:02:10 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:02:10 - 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:02:10 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004, 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:02:10 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 29594 21:02:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:10 - 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:02:10 - article_server - INFO - [SQL参数] (1,) 21:02:10 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 104.244.91.212 | 日志ID: 29594 21:02:10 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:02:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:10 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:02:10 - article_server - INFO - 获取工作台概览成功 21:02:10 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:02:17 - 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:02:17 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:17 - 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:02:17 - 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:02:17 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:17 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:02:17 - article_server - INFO - [获取用户信息] 用户ID: 4, action: , IP: 104.244.91.212 21:02:17 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:17 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:02:17 - article_server - INFO - [SQL参数] (1,) 21:02:17 - 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:02:17 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:17 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:17 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 1, 'products_total': 2, 'articles_total': 37, 'published_total': 0}] 21:02:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:17 - 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:02:17 - article_server - INFO - [SQL参数] (1, 5) 21:02:18 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:02:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:18 - 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:02:18 - article_server - INFO - [SQL参数] (1,) 21:02:18 - article_server - INFO - 获取最近发布成功 21:02:18 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:02:18 - article_server - INFO - 数据库连接成功,字符集设置完成 21:02:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:18 - 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:02:18 - article_server - INFO - [SQL参数] (1, 1, 4) 21:02:18 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:18 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:02:18 - article_server - INFO - 数据库连接成功,字符集设置完成 21:02:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:18 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, password, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:02:18 - article_server - INFO - [SQL参数] (4,) 21:02:18 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:02:18 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:18 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': '', 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', '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, 20, 10, 4, 10)}] 21:02:18 - article_server - INFO - 获取热门产品成功 21:02:18 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:02:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:18 - 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:02:18 - article_server - INFO - [SQL参数] (1,) 21:02:18 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:02:18 - 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:02:18 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004, 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:02:18 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:18 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:02:18 - article_server - INFO - 获取工作台概览成功 21:02:18 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 29597 21:02:18 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:02:18 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 104.244.91.212 | 日志ID: 29597 21:02:18 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:02:26 - 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:02:26 - article_server - INFO - [用户登录] 开始处理登录请求, IP: 104.244.91.212 21:02:26 - article_server - INFO - [用户登录] 收到登录请求, 账号: 13621242430, IP: 104.244.91.212 21:02:26 - article_server - INFO - [用户登录] 开始在ai_users表查询用户, 账号: 13621242430 21:02:26 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:26 - 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:02:26 - article_server - INFO - [SQL参数] ('13621242430', '13621242430') 21:02:26 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:02:26 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'phone': '13621242430', 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 'real_name': '饶文龙', 'role': 'enterprise', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': None}, {'id': 10, 'enterprise_id': 10, 'enterprise_name': '测试企业10号', 'username': 'user010', 'phone': '13621242430', 'password': '256dfd66db93b7ce0d1e260b01971dffaafa1dadca903ed16defc4fba24be83b', 'real_name': '测试用户10', 'role': 'admin', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': ''}] 21:02:26 - article_server - INFO - [用户登录] 查询到用户信息, 用户名: user004, 角色: enterprise, 企业: rwl企业4号, 企业ID: 1 21:02:26 - article_server - INFO - [用户登录] 开始验证密码, 账号: 13621242430 21:02:26 - article_server - INFO - [用户登录] 密码验证成功, 用户名: user004, 角色: enterprise 21:02:26 - article_server - INFO - [用户登录] 检测到企业角色, 开始获取企业详细信息, 企业ID: 1 21:02:26 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:26 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, phone, email, status, users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s AND status = 'active' 21:02:26 - article_server - INFO - [SQL参数] (1,) 21:02:26 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:26 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业1222333', 'phone': '13800138001', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 1, 'products_total': 2, 'articles_total': 37, 'published_total': 0}] 21:02:26 - article_server - INFO - [用户登录] 获取企业信息成功, 企业名称: 乐航, 企业编号: ENT-2024-0001 21:02:26 - article_server - INFO - [用户登录] 开始生成token, 用户ID: 4, 角色: enterprise 21:02:26 - article_server - INFO - [Token生成] 用户: 13621242430, ID: 4, 角色: enterprise 21:02:26 - article_server - INFO - [用户登录成功] Token生成成功, 用户: user004, 角色: enterprise, 企业: rwl企业4号, IP: 104.244.91.212 21:02:26 - article_server - INFO - [API响应] POST /api/auth/login - IP: 104.244.91.212 - 状态码: 200 21:02:27 - 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:02:27 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:27 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:02:27 - article_server - INFO - [获取用户信息] 用户ID: 4, action: , IP: 104.244.91.212 21:02:27 - 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:02:27 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:27 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, password, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:02:27 - article_server - INFO - [SQL参数] (4,) 21:02:27 - 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:02:27 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:27 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:27 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': '', 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', '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, 20, 10, 4, 10)}] 21:02:27 - 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:02:27 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:27 - 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:02:27 - article_server - INFO - [SQL参数] (1, 1, 4) 21:02:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:27 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:02:27 - article_server - INFO - [SQL参数] (1,) 21:02:27 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:02:27 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:02:27 - 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:02:27 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004, 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:02:27 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:27 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 1, 'products_total': 2, 'articles_total': 37, 'published_total': 0}] 21:02:27 - article_server - INFO - 获取热门产品成功 21:02:27 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:02:27 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 29602 21:02:27 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 104.244.91.212 | 日志ID: 29602 21:02:27 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:02:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:27 - 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:02:27 - article_server - INFO - [SQL参数] (1,) 21:02:27 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:27 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:02:27 - article_server - INFO - 数据库连接成功,字符集设置完成 21:02:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:27 - 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:02:27 - article_server - INFO - [SQL参数] (1, 5) 21:02:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:27 - 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:02:27 - article_server - INFO - [SQL参数] (1,) 21:02:27 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:02:27 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:27 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:02:27 - article_server - INFO - 获取最近发布成功 21:02:27 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:02:27 - article_server - INFO - 获取工作台概览成功 21:02:27 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:02: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:02:30 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02: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:02:30 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:30 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:02:30 - article_server - INFO - [SQL参数] (1,) 21:02:30 - 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:02:30 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:30 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:02:30 - article_server - INFO - [获取用户信息] 用户ID: 4, action: , IP: 104.244.91.212 21:02:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02: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:02:30 - article_server - INFO - [SQL参数] (1, 1, 4) 21:02:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:30 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 1, 'products_total': 2, 'articles_total': 37, 'published_total': 0}] 21:02: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:02:30 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:30 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:02:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:30 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, password, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:02:30 - article_server - INFO - [SQL参数] (4,) 21:02:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02: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:02:30 - article_server - INFO - [SQL参数] (1, 5) 21:02:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02: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:02:30 - article_server - INFO - [SQL参数] (1,) 21:02:30 - article_server - INFO - 获取热门产品成功 21:02:30 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:02:30 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:02:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:30 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': '', 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', '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, 20, 10, 4, 10)}] 21:02:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:30 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:02:30 - article_server - INFO - 获取最近发布成功 21:02:30 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:02:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02: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:02:30 - article_server - INFO - [SQL参数] (1,) 21:02:30 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:02:30 - 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:02:30 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004, 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:02:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:30 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:02:31 - article_server - INFO - 获取工作台概览成功 21:02:31 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:02:31 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 29605 21:02:31 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 104.244.91.212 | 日志ID: 29605 21:02:31 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:02:32 - 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:02:32 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:33 - 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:02:33 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:33 - 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:02:33 - article_server - INFO - [SQL参数] (1, 1, 4) 21:02:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:33 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:02:33 - article_server - INFO - [SQL参数] (1,) 21:02:33 - 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:02:33 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:33 - 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:02:33 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:33 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:02:33 - article_server - INFO - [获取用户信息] 用户ID: 4, action: , IP: 104.244.91.212 21:02:33 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:33 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 1, 'products_total': 2, 'articles_total': 37, 'published_total': 0}] 21:02:33 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:02:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:33 - 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:02:33 - article_server - INFO - [SQL参数] (1, 5) 21:02:33 - article_server - INFO - 获取热门产品成功 21:02:33 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:02:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:33 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, password, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:02:33 - article_server - INFO - [SQL参数] (4,) 21:02:33 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:02:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:33 - 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:02:33 - article_server - INFO - [SQL参数] (1,) 21:02:33 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:33 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:02:33 - article_server - INFO - 获取最近发布成功 21:02:33 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:02:33 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:33 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': '', 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', '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, 20, 10, 4, 10)}] 21:02:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:33 - 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:02:33 - article_server - INFO - [SQL参数] (1,) 21:02:33 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:33 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:02:33 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:02:33 - 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:02:33 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004, 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:02:33 - article_server - INFO - 获取工作台概览成功 21:02:33 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:02:33 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 29606 21:02:33 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 104.244.91.212 | 日志ID: 29606 21:02:33 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:02: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:02:45 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:45 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:02:45 - article_server - INFO - [获取用户信息] 用户ID: 4, action: , IP: 104.244.91.212 21:02:45 - 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:02:45 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:45 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:45 - 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:02:45 - article_server - INFO - [SQL参数] (1, 5) 21:02:45 - 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:02:45 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:45 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:45 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, password, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:02:45 - article_server - INFO - [SQL参数] (4,) 21:02:45 - 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:02:45 - article_server - INFO - [Token验证成功] 用户ID: 4 21:02:45 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:02:45 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:45 - 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:02:45 - article_server - INFO - [SQL参数] (1, 1, 4) 21:02:45 - article_server - INFO - 获取最近发布成功 21:02:45 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:02:45 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:45 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:02:45 - article_server - INFO - [SQL参数] (1,) 21:02:45 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:45 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': '', 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', '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, 20, 10, 4, 10)}] 21:02:45 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:02:45 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:45 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 1, 'products_total': 2, 'articles_total': 37, 'published_total': 0}] 21:02:45 - article_server - INFO - 获取热门产品成功 21:02:45 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:02:45 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:02: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:02:45 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004, 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:02:45 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:45 - 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:02:45 - article_server - INFO - [SQL参数] (1,) 21:02:45 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 29613 21:02:45 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:45 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:02:45 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 104.244.91.212 | 日志ID: 29613 21:02:45 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:02:45 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:02:45 - 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:02:45 - article_server - INFO - [SQL参数] (1,) 21:02:45 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:02:45 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:02:45 - article_server - INFO - 获取工作台概览成功 21:02:45 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:03:02 - 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:03:02 - article_server - INFO - [Token验证成功] 用户ID: 4 21:03:02 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:03:02 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:03:02 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:02 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:03:02 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:03:02 - article_server - INFO - [SQL数据] 查询结果: [{'total': 11}] 21:03:02 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:02 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, phone, 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:03:02 - article_server - INFO - [SQL参数] [10, 0] 21:03:02 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:03:02 - article_server - INFO - [获取企业列表] 查询成功, 总数: 11, 当前页: 1, 每页: 10, 返回数量: 10, IP: 104.244.91.212 21:03:02 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:03: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:03:07 - article_server - INFO - [Token验证成功] 用户ID: 4 21:03:07 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:03:07 - article_server - INFO - [获取企业列表] 查询参数: page=2, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:03:07 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:07 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:03:07 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:03:07 - article_server - INFO - [SQL数据] 查询结果: [{'total': 11}] 21:03:07 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:07 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, phone, 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:03:07 - article_server - INFO - [SQL参数] [10, 10] 21:03:07 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:03:07 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_ID': 'ENT-2024-0010', 'name': '测试企业10号', 'short_name': '企业10', 'phone': '13800138010', 'email': 'ent10@test.com', 'status': 'disabled', 'users_total': 1, 'products_total': 1, 'articles_total': 1, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:03:07 - article_server - INFO - [获取企业列表] 查询成功, 总数: 11, 当前页: 2, 每页: 10, 返回数量: 1, IP: 104.244.91.212 21:03:07 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:03:10 - article_server - INFO - [API访问] DELETE /api/enterprises/10 - 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:03:10 - article_server - INFO - [Token验证成功] 用户ID: 4 21:03:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:10 - article_server - INFO - [SQL语句] SELECT id, name FROM ai_enterprises WHERE id = %s 21:03:10 - article_server - INFO - [SQL参数] (10,) 21:03:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:03:10 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'name': '测试企业10号'}] 21:03:10 - article_server - INFO - [SQL执行] 开始执行更新SQL 21:03:10 - article_server - INFO - [SQL语句] DELETE FROM ai_enterprises WHERE id = %s 21:03:10 - article_server - INFO - [SQL参数] (10,) 21:03:10 - article_server - INFO - [SQL结果] 更新完成,影响 1 行 21:03:10 - article_server - INFO - 删除企业成功: 测试企业10号 21:03:10 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:03:10 - 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:03:10 - article_server - INFO - [SQL参数] (4, 'delete_enterprise', 'enterprise', 10, '删除企业: 测试企业10号', '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:03:10 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 29622 21:03:10 - article_server - INFO - [业务日志] 操作: delete_enterprise | 用户ID: 4 | 目标: enterprise#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 29622 21:03:10 - article_server - INFO - [API响应] DELETE /api/enterprises/10 - IP: 104.244.91.212 - 状态码: 200 21:03:10 - 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:03:10 - article_server - INFO - [Token验证成功] 用户ID: 4 21:03:10 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:03:10 - article_server - INFO - [获取企业列表] 查询参数: page=2, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:03:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:10 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:03:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:03:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 10}] 21:03:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:10 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, phone, 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:03:10 - article_server - INFO - [SQL参数] [10, 10] 21:03:10 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:03:10 - article_server - INFO - [获取企业列表] 查询成功, 总数: 10, 当前页: 2, 每页: 10, 返回数量: 0, IP: 104.244.91.212 21:03:10 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:03:14 - 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:03:14 - article_server - INFO - [Token验证成功] 用户ID: 4 21:03:14 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:03:14 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:03:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:14 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:03:14 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:03:14 - article_server - INFO - [SQL数据] 查询结果: [{'total': 10}] 21:03:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:14 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, phone, 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:03:14 - article_server - INFO - [SQL参数] [10, 0] 21:03:14 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:03:14 - article_server - INFO - [获取企业列表] 查询成功, 总数: 10, 当前页: 1, 每页: 10, 返回数量: 10, IP: 104.244.91.212 21:03:14 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:03:18 - 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:03:18 - article_server - INFO - [Token验证成功] 用户ID: 4 21:03:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:18 - 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:03:18 - article_server - INFO - [SQL参数] (1, 5) 21:03:18 - 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:03:18 - article_server - INFO - [Token验证成功] 用户ID: 4 21:03:18 - 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:03:18 - article_server - INFO - [Token验证成功] 用户ID: 4 21:03:18 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:03:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:18 - 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:03:18 - article_server - INFO - [SQL参数] (1, 1, 4) 21:03:19 - article_server - INFO - 获取最近发布成功 21:03:19 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:03:19 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:19 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:03:19 - article_server - INFO - [SQL参数] (1,) 21:03:19 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:03:19 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:03:19 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 1, 'products_total': 2, 'articles_total': 37, 'published_total': 0}] 21:03:19 - article_server - INFO - 获取热门产品成功 21:03:19 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:03:19 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:19 - 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:03:19 - article_server - INFO - [SQL参数] (1,) 21:03:19 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:03:19 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:03:19 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:19 - 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:03:19 - article_server - INFO - [SQL参数] (1,) 21:03:19 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:03:19 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:03:19 - article_server - INFO - 获取工作台概览成功 21:03:19 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:03:23 - 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:03:23 - article_server - INFO - [Token验证成功] 用户ID: 4 21:03:23 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:03:23 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:03:23 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:23 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:03:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:03:23 - article_server - INFO - [SQL数据] 查询结果: [{'total': 10}] 21:03:23 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:23 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, phone, 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:03:23 - article_server - INFO - [SQL参数] [10, 0] 21:03:23 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:03:23 - article_server - INFO - [获取企业列表] 查询成功, 总数: 10, 当前页: 1, 每页: 10, 返回数量: 10, IP: 104.244.91.212 21:03:23 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:03:43 - 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:03:43 - article_server - INFO - [Token验证成功] 用户ID: 4 21:03:43 - article_server - INFO - [创建企业] 开始处理创建企业请求, IP: 104.244.91.212 21:03:43 - article_server - INFO - [创建企业] 收到创建请求, 企业名称: 测试1, 简称: 测试1, 手机号: 13621242430, IP: 104.244.91.212 21:03:43 - article_server - INFO - [创建企业] 检查ai_enterprises表手机号是否已存在: 13621242430 21:03:43 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:43 - article_server - INFO - [SQL语句] SELECT id FROM ai_enterprises WHERE phone = %s 21:03:43 - article_server - INFO - [SQL参数] ('13621242430',) 21:03:43 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:03:43 - article_server - INFO - [创建企业] 检查ai_users表手机号是否已存在: 13621242430 21:03:43 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:43 - article_server - INFO - [SQL语句] SELECT id FROM ai_users WHERE phone = %s 21:03:43 - article_server - INFO - [SQL参数] ('13621242430',) 21:03:43 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:03:43 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4}, {'id': 10}] 21:03:43 - article_server - WARNING - [创建企业] ai_users表中手机号已存在: 13621242430, IP: 104.244.91.212 21:03:43 - article_server - INFO - [API响应] POST /api/enterprises/create - IP: 104.244.91.212 - 状态码: 409 21:03:48 - 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:03:48 - article_server - INFO - [Token验证成功] 用户ID: 4 21:03:48 - article_server - INFO - [创建企业] 开始处理创建企业请求, IP: 104.244.91.212 21:03:48 - article_server - INFO - [创建企业] 收到创建请求, 企业名称: 测试1, 简称: 测试1, 手机号: 13621242434, IP: 104.244.91.212 21:03:48 - article_server - INFO - [创建企业] 检查ai_enterprises表手机号是否已存在: 13621242434 21:03:48 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:48 - article_server - INFO - [SQL语句] SELECT id FROM ai_enterprises WHERE phone = %s 21:03:48 - article_server - INFO - [SQL参数] ('13621242434',) 21:03:48 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:03:48 - article_server - INFO - [创建企业] 检查ai_users表手机号是否已存在: 13621242434 21:03:48 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:48 - article_server - INFO - [SQL语句] SELECT id FROM ai_users WHERE phone = %s 21:03:48 - article_server - INFO - [SQL参数] ('13621242434',) 21:03:48 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:03:48 - article_server - INFO - [创建企业] 生成企业ID: ENT-20251220-5391E28F, 企业名称: 测试1 21:03:48 - article_server - INFO - [创建企业] 开始插入ai_enterprises表, 企业ID: ENT-20251220-5391E28F, 名称: 测试1 21:03:48 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:03:48 - article_server - INFO - [SQL语句] INSERT INTO ai_enterprises (enterprise_ID, name, short_name, icon, phone, 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, %s) 21:03:48 - article_server - INFO - [SQL参数] ('ENT-20251220-5391E28F', '测试1', '测试1', '', '13621242434', '343625@qq.com', '', '', 'active', 0, 0, 0, 0, 0, 0) 21:03:48 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 14 21:03:48 - article_server - INFO - [创建企业] ai_enterprises表插入成功, 数据库ID: 14, 企业ID: ENT-20251220-5391E28F 21:03:48 - article_server - INFO - [创建企业] 开始创建企业管理员用户, 手机号: 13621242434, 角色: enterprise 21:03:48 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:03:48 - article_server - INFO - [SQL语句] INSERT INTO ai_users (enterprise_id, enterprise_name, username, password, real_name, email, phone, department, role, status) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) 21:03:48 - article_server - INFO - [SQL参数] (14, '测试1', '13621242434', '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', '测试1', '343625@qq.com', '13621242434', '', 'enterprise', 'active') 21:03:48 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 20 21:03:49 - article_server - INFO - [创建企业] ai_users表插入成功, 用户ID: 20, 用户名: 13621242434, 角色: enterprise 21:03:49 - article_server - INFO - [创建企业] 企业创建成功, 企业DB_ID: 14, 企业ID: ENT-20251220-5391E28F, 名称: 测试1, 管理员用户ID: 20, IP: 104.244.91.212 21:03:49 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:03: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:03:49 - article_server - INFO - [SQL参数] (4, 'create_enterprise', 'enterprise', 14, '创建企业: 测试1, 同时创建企业管理员用户', '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', '{"name": "测试1", "short_name": "测试1", "phone": "13621242434", "password": "***", "email": "343625@qq.com"}', '{"enterprise_id": 14, "enterprise_ID": "ENT-20251220-5391E28F", "user_id": 20}', 'success', None) 21:03:49 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 29639 21:03:49 - article_server - INFO - [业务日志] 操作: create_enterprise | 用户ID: 4 | 目标: enterprise#14 | 状态: success | IP: 104.244.91.212 | 日志ID: 29639 21:03:49 - article_server - INFO - [API响应] POST /api/enterprises/create - IP: 104.244.91.212 - 状态码: 200 21:03:49 - 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:03:49 - article_server - INFO - [Token验证成功] 用户ID: 4 21:03:49 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:03:49 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:03:49 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:49 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:03:49 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:03:49 - article_server - INFO - [SQL数据] 查询结果: [{'total': 11}] 21:03:49 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:49 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, phone, 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:03:49 - article_server - INFO - [SQL参数] [10, 0] 21:03:49 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:03:49 - article_server - INFO - [获取企业列表] 查询成功, 总数: 11, 当前页: 1, 每页: 10, 返回数量: 10, IP: 104.244.91.212 21:03:49 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:03:52 - article_server - INFO - [API访问] PUT /api/enterprises/14/status - 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:03:52 - article_server - INFO - [Token验证成功] 用户ID: 4 21:03:52 - article_server - INFO - [SQL执行] 开始执行更新SQL 21:03:52 - article_server - INFO - [SQL语句] UPDATE ai_enterprises SET status = %s, updated_at = NOW() WHERE id = %s 21:03:52 - article_server - INFO - [SQL参数] ('disabled', 14) 21:03:52 - article_server - INFO - [SQL结果] 更新完成,影响 1 行 21:03:52 - article_server - INFO - 切换企业状态成功: ID 14, 状态: disabled 21:03:52 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:03: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:03:52 - article_server - INFO - [SQL参数] (4, 'update_enterprise', 'enterprise', 14, '切换企业状态: disabled', '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', '{"status": "disabled"}', None, 'success', None) 21:03:52 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 29640 21:03:52 - article_server - INFO - [业务日志] 操作: update_enterprise | 用户ID: 4 | 目标: enterprise#14 | 状态: success | IP: 104.244.91.212 | 日志ID: 29640 21:03:52 - article_server - INFO - [API响应] PUT /api/enterprises/14/status - IP: 104.244.91.212 - 状态码: 200 21:03:52 - 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:03:52 - article_server - INFO - [Token验证成功] 用户ID: 4 21:03:52 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:03:52 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:03:52 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:52 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:03:52 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:03:52 - article_server - INFO - [SQL数据] 查询结果: [{'total': 11}] 21:03:52 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:52 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, phone, 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:03:52 - article_server - INFO - [SQL参数] [10, 0] 21:03:52 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:03:53 - article_server - INFO - [获取企业列表] 查询成功, 总数: 11, 当前页: 1, 每页: 10, 返回数量: 10, IP: 104.244.91.212 21:03:53 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:03:55 - article_server - INFO - [API访问] PUT /api/enterprises/14/status - 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:03:55 - article_server - INFO - [Token验证成功] 用户ID: 4 21:03:55 - article_server - INFO - [SQL执行] 开始执行更新SQL 21:03:55 - article_server - INFO - [SQL语句] UPDATE ai_enterprises SET status = %s, updated_at = NOW() WHERE id = %s 21:03:55 - article_server - INFO - [SQL参数] ('active', 14) 21:03:55 - article_server - INFO - [SQL结果] 更新完成,影响 1 行 21:03:55 - article_server - INFO - 切换企业状态成功: ID 14, 状态: active 21:03:55 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:03:55 - 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:03:55 - article_server - INFO - [SQL参数] (4, 'update_enterprise', 'enterprise', 14, '切换企业状态: active', '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', '{"status": "active"}', None, 'success', None) 21:03:55 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 29643 21:03:55 - article_server - INFO - [业务日志] 操作: update_enterprise | 用户ID: 4 | 目标: enterprise#14 | 状态: success | IP: 104.244.91.212 | 日志ID: 29643 21:03:55 - article_server - INFO - [API响应] PUT /api/enterprises/14/status - IP: 104.244.91.212 - 状态码: 200 21:03:55 - 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:03:55 - article_server - INFO - [Token验证成功] 用户ID: 4 21:03:55 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:03:55 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:03:55 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:55 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:03:55 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:03:55 - article_server - INFO - [SQL数据] 查询结果: [{'total': 11}] 21:03:55 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:03:55 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, phone, 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:03:55 - article_server - INFO - [SQL参数] [10, 0] 21:03:55 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:03:56 - article_server - INFO - [获取企业列表] 查询成功, 总数: 11, 当前页: 1, 每页: 10, 返回数量: 10, IP: 104.244.91.212 21:03:56 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:04:16 - article_server - INFO - [API访问] PUT /api/enterprises/14 - 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:04:16 - article_server - INFO - [Token验证成功] 用户ID: 4 21:04:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:04:16 - article_server - INFO - [SQL语句] SELECT id FROM ai_enterprises WHERE id = %s 21:04:16 - article_server - INFO - [SQL参数] (14,) 21:04:16 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:04:16 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14}] 21:04:17 - article_server - INFO - [SQL执行] 开始执行更新SQL 21:04:17 - article_server - INFO - [SQL语句] UPDATE ai_enterprises SET name = %s, short_name = %s, email = %s, password = %s, updated_at = NOW() WHERE id = %s 21:04:17 - article_server - INFO - [SQL参数] ['测试12', '测试12', '343625@qq.com', '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 14] 21:04:17 - article_server - ERROR - 数据库操作失败: (1054, "Unknown column 'password' in 'field list'") 21:04:17 - article_server - ERROR - [SQL执行失败] 更新SQL执行异常: (1054, "Unknown column 'password' in 'field list'") 21:04:17 - article_server - ERROR - [SQL语句] UPDATE ai_enterprises SET name = %s, short_name = %s, email = %s, password = %s, updated_at = NOW() WHERE id = %s 21:04:17 - article_server - ERROR - [SQL参数] ['测试12', '测试12', '343625@qq.com', '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 14] 21:04:17 - article_server - ERROR - [更新企业] 处理请求时发生错误: (1054, "Unknown column 'password' in 'field list'") Traceback (most recent call last): File "/home/work/ai_wht/enterprise_routes.py", line 305, in update_enterprise db_manager.execute_update(sql, params) File "/home/work/ai_wht/database_config.py", line 226, in execute_update return self._execute_with_retry(_update_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 212, in _update_operation affected_rows = 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.OperationalError: (1054, "Unknown column 'password' in 'field list'") 21:04:17 - article_server - INFO - [API响应] PUT /api/enterprises/14 - IP: 104.244.91.212 - 状态码: 500 21:04:28 - article_server - INFO - [API访问] PUT /api/enterprises/14 - 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:04:28 - article_server - INFO - [Token验证成功] 用户ID: 4 21:04:28 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:04:28 - article_server - INFO - [SQL语句] SELECT id FROM ai_enterprises WHERE id = %s 21:04:28 - article_server - INFO - [SQL参数] (14,) 21:04:28 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:04:28 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14}] 21:04:29 - article_server - INFO - [SQL执行] 开始执行更新SQL 21:04:29 - article_server - INFO - [SQL语句] UPDATE ai_enterprises SET name = %s, short_name = %s, email = %s, password = %s, updated_at = NOW() WHERE id = %s 21:04:29 - article_server - INFO - [SQL参数] ['测试12', '测试12', '343625@qq.com', '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 14] 21:04:29 - article_server - ERROR - 数据库操作失败: (1054, "Unknown column 'password' in 'field list'") 21:04:29 - article_server - ERROR - [SQL执行失败] 更新SQL执行异常: (1054, "Unknown column 'password' in 'field list'") 21:04:29 - article_server - ERROR - [SQL语句] UPDATE ai_enterprises SET name = %s, short_name = %s, email = %s, password = %s, updated_at = NOW() WHERE id = %s 21:04:29 - article_server - ERROR - [SQL参数] ['测试12', '测试12', '343625@qq.com', '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 14] 21:04:29 - article_server - ERROR - [更新企业] 处理请求时发生错误: (1054, "Unknown column 'password' in 'field list'") Traceback (most recent call last): File "/home/work/ai_wht/enterprise_routes.py", line 305, in update_enterprise db_manager.execute_update(sql, params) File "/home/work/ai_wht/database_config.py", line 226, in execute_update return self._execute_with_retry(_update_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 212, in _update_operation affected_rows = 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.OperationalError: (1054, "Unknown column 'password' in 'field list'") 21:04:29 - article_server - INFO - [API响应] PUT /api/enterprises/14 - IP: 104.244.91.212 - 状态码: 500 21:07:37 - 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:07:37 - article_server - INFO - [Token验证成功] 用户ID: 4 21:07:37 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:07:37 - article_server - INFO - [SQL语句] SELECT id, enterprise_ID, name, short_name, phone, email, status, users_total, products_total, articles_total, published_total, created_at, updated_at FROM ai_enterprises WHERE id = %s 21:07:37 - article_server - INFO - [SQL参数] (1,) 21:07:37 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:07:37 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业1222333', 'phone': '13800138001', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 1, 'products_total': 2, 'articles_total': 37, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 20, 9, 13, 56)}] 21:07:37 - article_server - INFO - 获取企业信息成功(含密码): ID 1 21:07:37 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200 21:07:47 - article_server - INFO - [API访问] PUT /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:07:47 - article_server - INFO - [Token验证成功] 用户ID: 4 21:07:47 - article_server - INFO - [SQL执行] 开始执行更新SQL 21:07:47 - article_server - INFO - [SQL语句] UPDATE ai_enterprises SET short_name = %s, email = %s, updated_at = NOW() WHERE id = %s 21:07:47 - article_server - INFO - [SQL参数] ['企业122rwrwr', 'raowenlong@vizee.cn', 1] 21:07:47 - article_server - INFO - [SQL结果] 更新完成,影响 1 行 21:07:47 - article_server - INFO - 企业管理员更新企业信息成功: ID 1 21:07:47 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:07:47 - 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:07:47 - article_server - INFO - [SQL参数] (4, 'update_enterprise', 'enterprise', 1, '更新企业信息(企业管理员)', '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', '{"short_name": "企业122rwrwr", "email": "raowenlong@vizee.cn"}', None, 'success', None) 21:07:47 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 29732 21:07:47 - article_server - INFO - [业务日志] 操作: update_enterprise | 用户ID: 4 | 目标: enterprise#1 | 状态: success | IP: 104.244.91.212 | 日志ID: 29732 21:07:47 - article_server - INFO - [API响应] PUT /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200 21:07:57 - 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:07:57 - article_server - INFO - [Token验证成功] 用户ID: 4 21:07:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:07:57 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_users u WHERE u.enterprise_id = %s AND u.status != 'deleted' 21:07:57 - article_server - INFO - [SQL参数] [1] 21:07:57 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:07:57 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 21:07:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:07:57 - 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' ORDER BY u.created_at DESC LIMIT %s OFFSET %s 21:07:57 - article_server - INFO - [SQL参数] [1, 10, 0] 21:07:57 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:07:57 - article_server - INFO - 获取员工列表成功,总数: 4 21:07:57 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200 21:07:58 - 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:07:58 - article_server - INFO - [Token验证成功] 用户ID: 4 21:07:58 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:07:58 - 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' 21:07:58 - article_server - INFO - [SQL参数] (1,) 21:07:58 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:07:58 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 4, 'active_count': Decimal('4'), 'bound_xhs_count': Decimal('3')}] 21:07:58 - article_server - INFO - 获取员工统计成功 21:07:58 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200 21:08:16 - article_server - INFO - [API访问] POST /api/employees/add - 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:08:16 - article_server - INFO - [Token验证成功] 用户ID: 4 21:08:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:08:16 - article_server - INFO - [SQL语句] SELECT id FROM ai_users WHERE phone = %s AND enterprise_id = %s 21:08:16 - article_server - INFO - [SQL参数] ('13621242430', 1) 21:08:16 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:08:16 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4}] 21:08:16 - article_server - INFO - [API响应] POST /api/employees/add - IP: 104.244.91.212 - 状态码: 409 21:08:29 - 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:08:29 - article_server - INFO - [Token验证成功] 用户ID: 4 21:08:29 - 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:08:29 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:08:29 - article_server - INFO - [获取用户信息] 用户ID: 4, action: , IP: 104.244.91.212 21:08:29 - article_server - INFO - [Token验证成功] 用户ID: 4 21:08:29 - 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:08:29 - article_server - INFO - [Token验证成功] 用户ID: 4 21:08:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:08:29 - 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' 21:08:29 - article_server - INFO - [SQL参数] (1,) 21:08:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:08:29 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone, wechat_openid, wechat_unionid, password, is_bound_xhs, department, role, status, created_at, updated_at FROM ai_users u WHERE id = %s AND status != 'deleted' 21:08:29 - article_server - INFO - [SQL参数] (4,) 21:08:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:08:29 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_users u WHERE u.enterprise_id = %s AND u.status != 'deleted' 21:08:29 - article_server - INFO - [SQL参数] [1] 21:08:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:08:29 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 4, 'active_count': Decimal('4'), 'bound_xhs_count': Decimal('3')}] 21:08:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:08:29 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 21:08:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:08:29 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': '', 'phone': '13621242430', 'wechat_openid': 'ovoJF1z6ejXbXcWUHnvCw5HA0OeA', 'wechat_unionid': None, 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', '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, 20, 10, 4, 10)}] 21:08:29 - article_server - INFO - 获取员工统计成功 21:08:29 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200 21:08:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:08:29 - 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' ORDER BY u.created_at DESC LIMIT %s OFFSET %s 21:08:29 - article_server - INFO - [SQL参数] [1, 10, 0] 21:08:29 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:08:29 - 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:08:29 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004, 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:08:29 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:08:29 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 29751 21:08:29 - article_server - INFO - 获取员工列表成功,总数: 4 21:08:29 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200 21:08:29 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 104.244.91.212 | 日志ID: 29751 21:08:29 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:08:44 - article_server - INFO - [API访问] POST /api/employees/add - 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:08:44 - article_server - INFO - [Token验证成功] 用户ID: 4 21:08:44 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:08:44 - article_server - INFO - [SQL语句] SELECT id FROM ai_users WHERE phone = %s AND enterprise_id = %s 21:08:44 - article_server - INFO - [SQL参数] ('13621242436', 1) 21:08:44 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:08:44 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:08:44 - article_server - INFO - [SQL语句] SELECT name FROM ai_enterprises WHERE id = %s 21:08:44 - article_server - INFO - [SQL参数] (1,) 21:08:44 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:08:44 - article_server - INFO - [SQL数据] 查询结果: [{'name': '乐航'}] 21:08:44 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:08:44 - article_server - INFO - [SQL语句] INSERT INTO ai_users (enterprise_id, enterprise_name, username, real_name, phone, password, role, department, status, is_bound_xhs) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) 21:08:44 - article_server - INFO - [SQL参数] (1, '乐航', '13621242436', '测试员工3', '13621242436', '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92', 'editor', '', 'active', 0) 21:08:44 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 21 21:08:45 - article_server - INFO - [SQL执行] 开始执行更新SQL 21:08:45 - article_server - INFO - [SQL语句] UPDATE ai_enterprises SET users_total = users_total + 1 WHERE id = %s 21:08:45 - article_server - INFO - [SQL参数] (1,) 21:08:45 - article_server - INFO - [SQL结果] 更新完成,影响 1 行 21:08:45 - article_server - INFO - 添加员工成功: 测试员工3, ID: 21 21:08:45 - article_server - INFO - [API响应] POST /api/employees/add - IP: 104.244.91.212 - 状态码: 200 21:08:45 - 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:08:45 - article_server - INFO - [Token验证成功] 用户ID: 4 21:08:45 - 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:08:45 - article_server - INFO - [Token验证成功] 用户ID: 4 21:08:45 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:08:45 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_users u WHERE u.enterprise_id = %s AND u.status != 'deleted' 21:08:45 - article_server - INFO - [SQL参数] [1] 21:08:45 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:08:45 - 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' 21:08:45 - article_server - INFO - [SQL参数] (1,) 21:08:45 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:08:45 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 5, 'active_count': Decimal('5'), 'bound_xhs_count': Decimal('3')}] 21:08:45 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:08:45 - article_server - INFO - [SQL数据] 查询结果: [{'total': 5}] 21:08:45 - article_server - INFO - 获取员工统计成功 21:08:45 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200 21:08:45 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:08:45 - 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' ORDER BY u.created_at DESC LIMIT %s OFFSET %s 21:08:45 - article_server - INFO - [SQL参数] [1, 10, 0] 21:08:45 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录 21:08:45 - article_server - INFO - 获取员工列表成功,总数: 5 21:08:45 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200