21:39:18 - article_server - INFO - 日志系统已启动 - 记录器: article_server 21:39:18 - article_server - INFO - 主日志文件: logs/article_server.log 21:39:18 - article_server - INFO - 错误日志文件: logs/article_error.log 21:39:18 - article_server - INFO - 日志保留策略: 每天午夜分割,主日志保留3天 21:39:18 - article_server - INFO - 错误日志保留策略: 每天午夜分割,保留9天 21:39:18 - article_server - INFO - 万花筒API服务模块已加载 21:39:50 - article_server - INFO - 日志系统已启动 - 记录器: article_server 21:39:50 - article_server - INFO - 主日志文件: logs/article_server.log 21:39:50 - article_server - INFO - 错误日志文件: logs/article_error.log 21:39:50 - article_server - INFO - 日志保留策略: 每天午夜分割,主日志保留3天 21:39:50 - article_server - INFO - 错误日志保留策略: 每天午夜分割,保留9天 21:39:50 - article_server - INFO - 万花筒API服务模块已加载 21:40:01 - article_server - INFO - [API访问] POST /api/auth/login - IP: 127.0.0.1 - User-Agent: python-requests/2.32.3 21:40:01 - article_server - INFO - [用户登录] 开始处理登录请求, IP: 127.0.0.1 21:40:01 - article_server - INFO - [用户登录] 收到登录请求, 账号: 13621242430, IP: 127.0.0.1 21:40:01 - article_server - INFO - [用户登录] 开始在ai_users表查询用户, 账号: 13621242430 21:40:01 - article_server - INFO - 数据库连接成功,字符集设置完成 21:40:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:40:01 - 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:40:01 - article_server - INFO - [SQL参数] ('13621242430', '13621242430') 21:40:01 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:40:01 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '乐航', 'username': '饶文龙', 'phone': '13621242430', 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 'real_name': '乐航', 'role': 'enterprise', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': None}] 21:40:01 - article_server - INFO - [用户登录] 查询到用户信息, 用户名: 饶文龙, 角色: enterprise, 企业: 乐航, 企业ID: 1 21:40:01 - article_server - INFO - [用户登录] 开始验证密码, 账号: 13621242430 21:40:01 - article_server - INFO - [用户登录] 密码验证成功, 用户名: 饶文龙, 角色: enterprise 21:40:01 - article_server - INFO - [用户登录] 检测到企业角色, 开始获取企业详细信息, 企业ID: 1 21:40:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:40:01 - 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:40:01 - article_server - INFO - [SQL参数] (1,) 21:40:01 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:40:01 - 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:40:01 - article_server - INFO - [用户登录] 获取企业信息成功, 企业名称: 乐航, 企业编号: ENT-2024-0001 21:40:01 - article_server - INFO - [用户登录] 开始生成token, 用户ID: 10, 角色: enterprise 21:40:01 - article_server - INFO - [Token生成] 用户: 13621242430, ID: 10, 角色: enterprise 21:40:01 - article_server - INFO - [用户登录成功] Token生成成功, 用户: 饶文龙, 角色: enterprise, 企业: 乐航, IP: 127.0.0.1 21:40:01 - article_server - INFO - [API响应] POST /api/auth/login - IP: 127.0.0.1 - 状态码: 200 21:41: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:41:14 - article_server - INFO - [Token验证成功] 用户ID: 10 21:41:14 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:41:14 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:41:14 - article_server - INFO - 数据库连接成功,字符集设置完成 21:41:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:14 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:41:14 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:14 - article_server - INFO - [SQL数据] 查询结果: [{'total': 5}] 21:41:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:14 - 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:41:14 - article_server - INFO - [SQL参数] [10, 0] 21:41:14 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录 21:41:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:14 - 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:41:14 - article_server - INFO - [SQL参数] (15,) 21:41:14 - 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:41:14 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:41:14 - article_server - INFO - [Token验证成功] 用户ID: 10 21:41:14 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:41:14 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:41:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:14 - 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:41:14 - article_server - INFO - [SQL参数] (10,) 21:41:14 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:14 - 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:41:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:14 - 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:41:14 - article_server - INFO - [SQL参数] (14,) 21:41:15 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:15 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242434'}] 21:41:15 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:41:15 - 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:41:15 - 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:41:15 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66179 21:41:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:15 - 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:41:15 - article_server - INFO - [SQL参数] (1,) 21:41:15 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66179 21:41:15 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:41:15 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:15 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:41:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:15 - 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:41:15 - article_server - INFO - [SQL参数] (7,) 21:41:15 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:41:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:15 - 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:41:15 - article_server - INFO - [SQL参数] (8,) 21:41:15 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:41:15 - article_server - INFO - [获取企业列表] 查询成功, 总数: 5, 当前页: 1, 每页: 10, 返回数量: 5, IP: 104.244.91.212 21:41:15 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:41:15 - 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:41:15 - article_server - INFO - [Token验证成功] 用户ID: 10 21:41:15 - article_server - INFO - 数据库连接成功,字符集设置完成 21:41:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:15 - 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:41:15 - article_server - INFO - [SQL参数] (1,) 21:41:15 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:15 - 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:41:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:15 - 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:41:15 - article_server - INFO - [SQL参数] (1,) 21:41:15 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:15 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:41:15 - article_server - INFO - 获取企业信息成功(含密码): ID 1 21:41:15 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200 21:41:18 - 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:41:18 - article_server - INFO - [Token验证成功] 用户ID: 10 21:41:18 - 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:41:18 - article_server - INFO - [Token验证成功] 用户ID: 10 21:41:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:18 - 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:41:18 - article_server - INFO - [SQL参数] [1] 21:41:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:18 - 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:41:18 - article_server - INFO - [SQL参数] (1,) 21:41:18 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:18 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}] 21:41:18 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:18 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 6, 'active_count': Decimal('6'), 'bound_xhs_count': Decimal('2')}] 21:41:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:18 - 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:41:18 - article_server - INFO - [SQL参数] [1, 10, 0] 21:41:18 - article_server - INFO - 获取员工统计成功 21:41:18 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200 21:41:18 - article_server - INFO - [SQL结果] 查询完成,返回 6 条记录 21:41:19 - article_server - INFO - 获取员工列表成功,总数: 6 21:41:19 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200 21:41:24 - article_server - INFO - [API访问] GET /api/products/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:41:24 - article_server - INFO - [Token验证成功] 用户ID: 10 21:41:24 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 21:41:24 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:41:24 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=12, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 21:41:24 - article_server - INFO - [API访问] GET /api/products/types/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:41:24 - article_server - INFO - [Token验证成功] 用户ID: 10 21:41:24 - article_server - INFO - [获取企业产品类型列表] 开始处理请求, IP: 104.244.91.212 21:41:24 - article_server - INFO - [获取企业产品类型列表] 企业ID: 1, IP: 104.244.91.212 21:41:24 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:24 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 21:41:24 - article_server - INFO - [SQL参数] [1] 21:41:24 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:24 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 21:41:24 - article_server - INFO - 数据库连接成功,字符集设置完成 21:41:24 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:24 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_product_types WHERE enterprise_id = %s 21:41:24 - article_server - INFO - [SQL参数] [1] 21:41:24 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:24 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 21:41:24 - article_server - INFO - [SQL参数] [1, 12, 0] 21:41:24 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:24 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:41:24 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:41:24 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 28, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:41:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:25 - article_server - INFO - [SQL语句] SELECT id, type_name, enterprise_id, product_id, created_at FROM ai_product_types WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:41:25 - article_server - INFO - [SQL参数] [1, 100, 0] 21:41:25 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:41:25 - article_server - INFO - [获取企业产品类型列表] 查询成功, 企业ID: 1, 总数: 0, 返回: 0, IP: 104.244.91.212 21:41:25 - article_server - INFO - [API响应] GET /api/products/types/list - IP: 104.244.91.212 - 状态码: 200 21:41:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:25 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:41:25 - article_server - INFO - [SQL参数] (25,) 21:41:25 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:41:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:25 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:41:25 - article_server - INFO - [SQL参数] (13,) 21:41:25 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:41:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:25 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:41:25 - article_server - INFO - [SQL参数] (1,) 21:41:25 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:25 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 21:41:25 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 12, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:41:25 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 21:41:27 - article_server - INFO - [API访问] GET /api/products/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:41:27 - article_server - INFO - [Token验证成功] 用户ID: 10 21:41:27 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 21:41:27 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:41:27 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=100, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 21:41:27 - article_server - INFO - [API访问] GET /api/images/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:41:27 - article_server - INFO - [Token验证成功] 用户ID: 10 21:41:27 - article_server - INFO - [API访问] GET /api/images/types/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:41:27 - article_server - INFO - [Token验证成功] 用户ID: 10 21:41:27 - article_server - INFO - [获取图片类型列表] current_user: {'user_id': 10, 'username': '13621242430', 'role': 'enterprise', 'enterprise_id': 1, 'exp': 1766410068, 'iat': 1766323668}, enterprise_id: 1 21:41:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:27 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_images WHERE enterprise_id = %s AND status = %s 21:41:27 - article_server - INFO - [SQL参数] [1, 'active'] 21:41:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:27 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_image_type WHERE enterprise_id = %s 21:41:27 - article_server - INFO - [SQL参数] [1] 21:41:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:27 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 21:41:27 - article_server - INFO - [SQL参数] [1] 21:41:27 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:27 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 21:41:27 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:27 - article_server - INFO - [SQL数据] 查询结果: [{'total': 10}] 21:41:27 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:27 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 21:41:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:27 - article_server - INFO - [SQL语句] SELECT id, product_id, product_name, image_name, image_url, image_thumb_url, thumbnail_url, image_type_id, image_type_name, department, keywords, size_type, file_size, width, height, status, created_at, updated_at FROM ai_images WHERE enterprise_id = %s AND status = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:41:27 - article_server - INFO - [SQL参数] [1, 'active', 10, 0] 21:41:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:27 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, type_name, keywords_id, keywords_name, department_id, department_name, created_user_id, created_at, updated_at FROM ai_image_type WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:41:27 - article_server - INFO - [SQL参数] [1, 100, 0] 21:41:27 - article_server - INFO - [SQL结果] 查询完成,返回 8 条记录 21:41:27 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:41:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:27 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 21:41:27 - article_server - INFO - [SQL参数] [1, 100, 0] 21:41:27 - article_server - INFO - [API响应] GET /api/images/types/list - IP: 104.244.91.212 - 状态码: 200 21:41:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:27 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:41:27 - article_server - INFO - [SQL参数] [31, 1] 21:41:27 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:41:27 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:41:27 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:41:27 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 28, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:41:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:27 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:41:27 - article_server - INFO - [SQL参数] [30, 1] 21:41:27 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:41:27 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:41:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:27 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:41:27 - article_server - INFO - [SQL参数] (25,) 21:41:27 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:41:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:27 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:41:27 - article_server - INFO - [SQL参数] [29, 1] 21:41:27 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:41:27 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:41:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:27 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:41:27 - article_server - INFO - [SQL参数] [28, 1] 21:41:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:27 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:41:27 - article_server - INFO - [SQL参数] (13,) 21:41:27 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:41:27 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:41:27 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:41:28 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:28 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:41:28 - article_server - INFO - [SQL参数] [27, 1] 21:41:28 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:41:28 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:41:28 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:28 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:41:28 - article_server - INFO - [SQL参数] (1,) 21:41:28 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:28 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:41:28 - article_server - INFO - [SQL参数] [26, 1] 21:41:28 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:28 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 21:41:28 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:41:28 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 100, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:41:28 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 21:41:28 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:28 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:41:28 - article_server - INFO - [SQL参数] [25, 1] 21:41:28 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:41:28 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:28 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:41:28 - article_server - INFO - [SQL参数] [24, 1] 21:41:28 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:41:28 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 3, 'tag_name': '产品(4)'}, {'tag_id': 4, 'tag_name': '产品(4)3'}] 21:41:28 - article_server - INFO - [API访问] GET /api/images/list_dashboard - 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:41:28 - article_server - INFO - [Token验证成功] 用户ID: 10 21:41:28 - article_server - INFO - 获取图片列表成功,总数: 8 21:41:28 - article_server - INFO - [API响应] GET /api/images/list - IP: 104.244.91.212 - 状态码: 200 21:41:28 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:28 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' 21:41:28 - article_server - INFO - [SQL参数] [1] 21:41:28 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:28 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 21:41:28 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:28 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND product_id > 0 21:41:28 - article_server - INFO - [SQL参数] [1] 21:41:28 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:28 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 21:41:28 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:28 - article_server - INFO - [SQL语句] SELECT COUNT(DISTINCT product_id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND product_id > 0 21:41:28 - article_server - INFO - [SQL参数] [1] 21:41:28 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:28 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:41:28 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:28 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND image_type_name LIKE %s 21:41:28 - article_server - INFO - [SQL参数] [1, '%场景%'] 21:41:28 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:28 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:41:28 - article_server - INFO - 获取图片库仪表盘数据成功,企业ID: 1 21:41:28 - article_server - INFO - [API响应] GET /api/images/list_dashboard - IP: 104.244.91.212 - 状态码: 200 21:41:29 - article_server - INFO - [API访问] GET /api/prompts/tags/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:41:29 - article_server - INFO - [API访问] GET /api/prompts/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:41:29 - article_server - INFO - [Token验证成功] 用户ID: 10 21:41:29 - article_server - INFO - [获取标签列表] 开始处理请求, IP: 104.244.91.212 21:41:29 - article_server - INFO - [获取标签列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:41:29 - article_server - INFO - [Token验证成功] 用户ID: 10 21:41:29 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212 21:41:29 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:41:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:29 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s 21:41:29 - article_server - INFO - [SQL参数] [1] 21:41:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:29 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s 21:41:29 - article_server - INFO - [SQL参数] (1,) 21:41:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:29 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:41:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:41:29 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:41:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:29 - article_server - INFO - [SQL语句] SELECT id, tag_name, created_user_id, created_at, updated_at FROM ai_prompt_tags WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:41:29 - article_server - INFO - [SQL参数] [1, 100, 0] 21:41:29 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:41:29 - article_server - INFO - [SQL数据] 查询结果: [{'id': 15, 'tag_name': '基础提示词', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}, {'id': 14, 'tag_name': '去重', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}] 21:41:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:29 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, workflow_id, content, usage_count, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:41:29 - article_server - INFO - [SQL参数] (1, 10, 0) 21:41:29 - article_server - INFO - [获取标签列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 21:41:29 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 104.244.91.212 - 状态码: 200 21:41:29 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:41:29 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'workflow_id': '7576997068138659846', 'content': '你是一个健康类自媒体的编辑,每天需要撰写健康类内容。我将要给你一个topic,这个topic是一个问句。请你先产生一个段落的回复,然后再段展开回复。每个段落都需要用一个emoji开头。最后,请生成tag。段落与段落之间空一行,保证可读性。\n详细要求如下:\n一、核心要求:\n1.\t目标受众: 普通大众,非专业人士。务必:\n¡\t避免使用专业术语和书面化表达\n¡\t内容安全限制:\n\uf06e\t❌ 禁止提及任何人体私密部位或敏感功能\n\uf06e\t❌ 禁用可能引发恐慌的词汇(如"危险""致命")\n2.\t内容核心: 围绕“主题”,聚焦病症、问题、危害或困扰, 解释原因、原理,介绍症状、类型,提供积极、实用的解决方案、改善建议或注意事项等有价值的内容均可。\n3.\t唯一性与实用性: 生成的内容需确保信息准确(基于常识)且每次生成的内容不应与历史输出重复(针对同一主题多次生成时)。\n二、内容结构及具体要求:\n\uf06c\t【首段提问】 (title):\n¡\t对应内容为{{title}}\n\n\uf06c\t【次段简答】 (short-answer):\n¡\t字数: 60-120字。 \n **内容要求**:\n 1. 第一句话必须直接回答{{title}}的提问,可以拓展1-2句话\n 2. 直接明晰,不要太笼统,禁止罗里吧嗦\n 3. 段前不要emoji表情符号\n \n **✅ 合格示例**:\n 发现HPV16或18阳性,这通常意味着宫颈癌筛查结果显示存在感染。接下来一般会建议做阴道镜检查,再根据检查的具体情况决定治疗方案。\n\n **❌ 不合格示例**:\n • 使用emoji开头\n • 没有直接回答问题\n • 过于笼统泛泛而谈 \n\n\uf06c\t【分段细答】 (contents):\n¡\t数量要求:2-3段。\n¡\t字数要求: 60~100字/段。\n¡\t核心要求:\n\uf06e\t语言口语化、自然流畅。\n\uf06e\t段落内容必须围绕核心观点展开,根据不同情况分类详细阐述问题,可以是具体可行的建议(吃什么、做什么、注意什么等),疾病的科普(主要症状、影响、诱因等),或者其它逻辑合理的内容也可以。\n\uf06e\t内容有一定的逻辑,包括但不限于(首先、其次、最后),(第一,第二,第三),(不仅、而且、还有),(初级、中级、高级)。\n\uf06e\t每段内容均衡,不超过五句话,确保信息全面且易于消化。\n\uf06e\t分段细答部分应当是次段简答部分的延伸,但用词不能和次段简答部分有太多重复,请保持多样性。\n\uf06e\t 在生成回答前,必须执行以下创造性流程:\n\t\t结构性禁令(排除法):行文结构不得是“定义→成因→症状→治疗”或“是什么→为什么→怎么办”及其任何变体。\n\t\t动态自我审视(核心步骤):\n\t\t回顾:主动审视历史内容中,针对相同或相似主题已使用过的所有核心阐述逻辑。\n\t\t规避:明确禁止重复或小幅修改上述任何逻辑。\n\t\t创新:基于当前问题的具体内涵,生成一个在本质上全新的、服务于核心问题的最佳解释路径。该路径必须与所有已回顾的逻辑存在根本性差异。\n\t\t输出确认:最终采用的逻辑结构,应是本次对话上下文中一次独特的、未经使用的创造性表达形式。\n\n\uf06c\t【标签】 (tags):\n¡\t**单个关键词字数:4-8个字。\n¡\t内容:* (1)根据正文内容,生成5个内容强相关tag; (2)标签格式:每个关键词前后都有# (例: #养生小知识# #中医养生##习惯养成# #健康养生#)\n三、变量输入:\n\uf06c\t主题: {{title}}\n四、最终安全规则:\n4.\t全篇禁止出现人体私密部位描述\n5.\t关键安全信息重复出现≥2次\n6.\t每句话≤20字,复合句用逗号分隔\n7、不能出现 "下面就给大家仔细说说",“下面具体讲讲”,话术\n', 'usage_count': 29, 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'workflow_id': 'WF-001', 'content': '你是一个小红书种草达人,请根据产品信息写一篇真实、有感染力的种草笔记...', 'usage_count': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:41:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:30 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 21:41:30 - article_server - INFO - [SQL参数] (25,) 21:41:30 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:41:30 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}] 21:41:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:41:30 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 21:41:30 - article_server - INFO - [SQL参数] (1,) 21:41:30 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:41:30 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 21:41:30 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200 21:42:32 - 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:42:32 - article_server - INFO - [用户登录] 开始处理登录请求, IP: 104.244.91.212 21:42:32 - article_server - INFO - [用户登录] 收到登录请求, 账号: 18211010472, IP: 104.244.91.212 21:42:32 - article_server - INFO - [用户登录] 开始在ai_users表查询用户, 账号: 18211010472 21:42:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:42:32 - 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:42:32 - article_server - INFO - [SQL参数] ('18211010472', '18211010472') 21:42:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:42:32 - article_server - INFO - [SQL数据] 查询结果: [{'id': 3, 'enterprise_id': 1, 'enterprise_name': '刘勇企业3号', 'username': 'user003', 'phone': '18211010472', 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 'real_name': '刘勇', 'role': 'admin', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': None}] 21:42:32 - article_server - INFO - [用户登录] 查询到用户信息, 用户名: user003, 角色: admin, 企业: 刘勇企业3号, 企业ID: 1 21:42:32 - article_server - INFO - [用户登录] 开始验证密码, 账号: 18211010472 21:42:32 - article_server - INFO - [用户登录] 密码验证成功, 用户名: user003, 角色: admin 21:42:32 - article_server - INFO - [用户登录] 开始生成token, 用户ID: 3, 角色: admin 21:42:32 - article_server - INFO - [Token生成] 用户: 18211010472, ID: 3, 角色: admin 21:42:32 - article_server - INFO - [用户登录成功] Token生成成功, 用户: user003, 角色: admin, 企业: 刘勇企业3号, IP: 104.244.91.212 21:42:32 - article_server - INFO - [API响应] POST /api/auth/login - IP: 104.244.91.212 - 状态码: 200 21:42: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:42:33 - article_server - INFO - [Token验证成功] 用户ID: 3 21:42:33 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:42:33 - article_server - INFO - [获取用户信息] 用户ID: 3, action: , IP: 104.244.91.212 21:42:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:42:33 - 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:42:33 - article_server - INFO - [SQL参数] (3,) 21:42:33 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:42:33 - article_server - INFO - [SQL数据] 查询结果: [{'id': 3, 'enterprise_id': 1, 'enterprise_name': '刘勇企业3号', 'username': 'user003', 'real_name': '刘勇', 'email': None, 'phone': '18211010472', 'wechat_openid': None, 'wechat_unionid': None, 'is_bound_xhs': 1, 'department': '市场部', 'role': 'admin', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 10, 43, 4)}] 21:42:33 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:42: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:42:33 - article_server - INFO - [SQL参数] (3, 'get_user_info', 'user', 3, '查询用户信息: user003, 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:42:33 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66210 21:42:33 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 3 | 目标: user#3 | 状态: success | IP: 104.244.91.212 | 日志ID: 66210 21:42:33 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:42: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:42:33 - article_server - INFO - [Token验证成功] 用户ID: 3 21:42:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:42:33 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:42:33 - article_server - INFO - [SQL参数] (1,) 21:42:33 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:42:33 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0}] 21:42:34 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:42:34 - 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:42:34 - article_server - INFO - [SQL参数] (1,) 21:42:34 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:42:34 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:42:34 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:42:34 - 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:42:34 - article_server - INFO - [SQL参数] (1,) 21:42:34 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:42:34 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:42:34 - article_server - INFO - 获取工作台概览成功 21:42:34 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:42:34 - 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:42:34 - article_server - INFO - [Token验证成功] 用户ID: 3 21:42:34 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:42:34 - 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:42:34 - article_server - INFO - [SQL参数] (1, 5) 21:42:34 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:42:34 - article_server - INFO - 获取最近发布成功 21:42:34 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:42:34 - 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:42:34 - article_server - INFO - [Token验证成功] 用户ID: 3 21:42:34 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:42:34 - 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:42:34 - article_server - INFO - [SQL参数] (1, 1, 4) 21:42:34 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:42:34 - article_server - INFO - 获取热门产品成功 21:42:34 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:43:23 - 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:43:23 - article_server - INFO - [Token验证成功] 用户ID: 3 21:43:23 - article_server - INFO - 数据库连接成功,字符集设置完成 21:43:23 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43: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:43:23 - article_server - INFO - [SQL参数] (1,) 21:43:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43: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:43:23 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43: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:43:23 - article_server - INFO - [SQL参数] (1,) 21:43:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:23 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:43:23 - article_server - INFO - 获取企业信息成功(含密码): ID 1 21:43:23 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200 21:43:25 - 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:43:25 - article_server - INFO - [Token验证成功] 用户ID: 3 21:43:25 - 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:43:25 - article_server - INFO - [Token验证成功] 用户ID: 3 21:43:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:25 - 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:43:25 - article_server - INFO - [SQL参数] [1] 21:43:25 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:25 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}] 21:43:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:25 - 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:43:25 - article_server - INFO - [SQL参数] [1, 10, 0] 21:43:25 - article_server - INFO - [SQL结果] 查询完成,返回 6 条记录 21:43:25 - article_server - INFO - 获取员工列表成功,总数: 6 21:43:25 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200 21:43:25 - article_server - INFO - 数据库连接成功,字符集设置完成 21:43:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:25 - 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:43:25 - article_server - INFO - [SQL参数] (1,) 21:43:25 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:25 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 6, 'active_count': Decimal('6'), 'bound_xhs_count': Decimal('2')}] 21:43:25 - article_server - INFO - 获取员工统计成功 21:43:25 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200 21:43:32 - 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:43:32 - article_server - INFO - [用户登录] 开始处理登录请求, IP: 104.244.91.212 21:43:32 - article_server - INFO - [用户登录] 收到登录请求, 账号: 13621242430, IP: 104.244.91.212 21:43:32 - article_server - INFO - [用户登录] 开始在ai_users表查询用户, 账号: 13621242430 21:43:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:32 - 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:43:32 - article_server - INFO - [SQL参数] ('13621242430', '13621242430') 21:43:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:32 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '乐航', 'username': '饶文龙', 'phone': '13621242430', 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 'real_name': '乐航', 'role': 'enterprise', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': None}] 21:43:32 - article_server - INFO - [用户登录] 查询到用户信息, 用户名: 饶文龙, 角色: enterprise, 企业: 乐航, 企业ID: 1 21:43:32 - article_server - INFO - [用户登录] 开始验证密码, 账号: 13621242430 21:43:32 - article_server - INFO - [用户登录] 密码验证成功, 用户名: 饶文龙, 角色: enterprise 21:43:32 - article_server - INFO - [用户登录] 检测到企业角色, 开始获取企业详细信息, 企业ID: 1 21:43:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:32 - 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:43:32 - article_server - INFO - [SQL参数] (1,) 21:43:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:32 - 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:43:32 - article_server - INFO - [用户登录] 获取企业信息成功, 企业名称: 乐航, 企业编号: ENT-2024-0001 21:43:32 - article_server - INFO - [用户登录] 开始生成token, 用户ID: 10, 角色: enterprise 21:43:32 - article_server - INFO - [Token生成] 用户: 13621242430, ID: 10, 角色: enterprise 21:43:32 - article_server - INFO - [用户登录成功] Token生成成功, 用户: 饶文龙, 角色: enterprise, 企业: 乐航, IP: 104.244.91.212 21:43:32 - article_server - INFO - [API响应] POST /api/auth/login - IP: 104.244.91.212 - 状态码: 200 21:43: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:43:33 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:33 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:43:33 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:43: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:43:33 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43: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:43:33 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:33 - 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:43:33 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:33 - 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:43:33 - article_server - INFO - [SQL参数] (10,) 21:43:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:33 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:43:33 - article_server - INFO - [SQL参数] (1,) 21:43:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43: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:43:33 - article_server - INFO - [SQL参数] (1, 5) 21:43:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43: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:43:33 - article_server - INFO - [SQL参数] (1, 1, 4) 21:43:33 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:33 - 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:43:33 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:43:33 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:43:33 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:33 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0}] 21:43:33 - article_server - INFO - 获取热门产品成功 21:43:33 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:43:33 - article_server - INFO - 获取最近发布成功 21:43:33 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:43:33 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:43: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:43:33 - 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:43:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43: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:43:33 - article_server - INFO - [SQL参数] (1,) 21:43:33 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66233 21:43:33 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:33 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:43:33 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66233 21:43:33 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:43:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43: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:43:33 - article_server - INFO - [SQL参数] (1,) 21:43:33 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:33 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:43:33 - article_server - INFO - 获取工作台概览成功 21:43:33 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:43:36 - 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:43:36 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:36 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:36 - 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:43:36 - article_server - INFO - [SQL参数] (1,) 21:43:36 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:36 - 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:43:36 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:36 - 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:43:36 - article_server - INFO - [SQL参数] (1,) 21:43:36 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:36 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:43:36 - article_server - INFO - 获取企业信息成功(含密码): ID 1 21:43:36 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200 21:43:37 - 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:43:37 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:37 - 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:43:37 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:37 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:37 - 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:43:37 - article_server - INFO - [SQL参数] (1,) 21:43:37 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:37 - 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:43:37 - article_server - INFO - [SQL参数] [1] 21:43:37 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:37 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 6, 'active_count': Decimal('6'), 'bound_xhs_count': Decimal('2')}] 21:43:37 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:37 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}] 21:43:37 - article_server - INFO - 获取员工统计成功 21:43:37 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200 21:43:37 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:37 - 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:43:37 - article_server - INFO - [SQL参数] [1, 10, 0] 21:43:37 - article_server - INFO - [SQL结果] 查询完成,返回 6 条记录 21:43:38 - article_server - INFO - 获取员工列表成功,总数: 6 21:43:38 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200 21:43:39 - article_server - INFO - [API访问] GET /api/prompts/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:43:39 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:39 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212 21:43:39 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:43:39 - article_server - INFO - [API访问] GET /api/prompts/tags/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:43:39 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:39 - article_server - INFO - [获取标签列表] 开始处理请求, IP: 104.244.91.212 21:43:39 - article_server - INFO - [获取标签列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:43:39 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:39 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s 21:43:39 - article_server - INFO - [SQL参数] (1,) 21:43:39 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:39 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s 21:43:39 - article_server - INFO - [SQL参数] [1] 21:43:39 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:39 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:43:39 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:39 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:43:39 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:39 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, workflow_id, content, usage_count, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:43:39 - article_server - INFO - [SQL参数] (1, 10, 0) 21:43:39 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:43:39 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'workflow_id': '7576997068138659846', 'content': '你是一个健康类自媒体的编辑,每天需要撰写健康类内容。我将要给你一个topic,这个topic是一个问句。请你先产生一个段落的回复,然后再段展开回复。每个段落都需要用一个emoji开头。最后,请生成tag。段落与段落之间空一行,保证可读性。\n详细要求如下:\n一、核心要求:\n1.\t目标受众: 普通大众,非专业人士。务必:\n¡\t避免使用专业术语和书面化表达\n¡\t内容安全限制:\n\uf06e\t❌ 禁止提及任何人体私密部位或敏感功能\n\uf06e\t❌ 禁用可能引发恐慌的词汇(如"危险""致命")\n2.\t内容核心: 围绕“主题”,聚焦病症、问题、危害或困扰, 解释原因、原理,介绍症状、类型,提供积极、实用的解决方案、改善建议或注意事项等有价值的内容均可。\n3.\t唯一性与实用性: 生成的内容需确保信息准确(基于常识)且每次生成的内容不应与历史输出重复(针对同一主题多次生成时)。\n二、内容结构及具体要求:\n\uf06c\t【首段提问】 (title):\n¡\t对应内容为{{title}}\n\n\uf06c\t【次段简答】 (short-answer):\n¡\t字数: 60-120字。 \n **内容要求**:\n 1. 第一句话必须直接回答{{title}}的提问,可以拓展1-2句话\n 2. 直接明晰,不要太笼统,禁止罗里吧嗦\n 3. 段前不要emoji表情符号\n \n **✅ 合格示例**:\n 发现HPV16或18阳性,这通常意味着宫颈癌筛查结果显示存在感染。接下来一般会建议做阴道镜检查,再根据检查的具体情况决定治疗方案。\n\n **❌ 不合格示例**:\n • 使用emoji开头\n • 没有直接回答问题\n • 过于笼统泛泛而谈 \n\n\uf06c\t【分段细答】 (contents):\n¡\t数量要求:2-3段。\n¡\t字数要求: 60~100字/段。\n¡\t核心要求:\n\uf06e\t语言口语化、自然流畅。\n\uf06e\t段落内容必须围绕核心观点展开,根据不同情况分类详细阐述问题,可以是具体可行的建议(吃什么、做什么、注意什么等),疾病的科普(主要症状、影响、诱因等),或者其它逻辑合理的内容也可以。\n\uf06e\t内容有一定的逻辑,包括但不限于(首先、其次、最后),(第一,第二,第三),(不仅、而且、还有),(初级、中级、高级)。\n\uf06e\t每段内容均衡,不超过五句话,确保信息全面且易于消化。\n\uf06e\t分段细答部分应当是次段简答部分的延伸,但用词不能和次段简答部分有太多重复,请保持多样性。\n\uf06e\t 在生成回答前,必须执行以下创造性流程:\n\t\t结构性禁令(排除法):行文结构不得是“定义→成因→症状→治疗”或“是什么→为什么→怎么办”及其任何变体。\n\t\t动态自我审视(核心步骤):\n\t\t回顾:主动审视历史内容中,针对相同或相似主题已使用过的所有核心阐述逻辑。\n\t\t规避:明确禁止重复或小幅修改上述任何逻辑。\n\t\t创新:基于当前问题的具体内涵,生成一个在本质上全新的、服务于核心问题的最佳解释路径。该路径必须与所有已回顾的逻辑存在根本性差异。\n\t\t输出确认:最终采用的逻辑结构,应是本次对话上下文中一次独特的、未经使用的创造性表达形式。\n\n\uf06c\t【标签】 (tags):\n¡\t**单个关键词字数:4-8个字。\n¡\t内容:* (1)根据正文内容,生成5个内容强相关tag; (2)标签格式:每个关键词前后都有# (例: #养生小知识# #中医养生##习惯养成# #健康养生#)\n三、变量输入:\n\uf06c\t主题: {{title}}\n四、最终安全规则:\n4.\t全篇禁止出现人体私密部位描述\n5.\t关键安全信息重复出现≥2次\n6.\t每句话≤20字,复合句用逗号分隔\n7、不能出现 "下面就给大家仔细说说",“下面具体讲讲”,话术\n', 'usage_count': 29, 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'workflow_id': 'WF-001', 'content': '你是一个小红书种草达人,请根据产品信息写一篇真实、有感染力的种草笔记...', 'usage_count': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:43:39 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:39 - article_server - INFO - [SQL语句] SELECT id, tag_name, created_user_id, created_at, updated_at FROM ai_prompt_tags WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:43:39 - article_server - INFO - [SQL参数] [1, 100, 0] 21:43:39 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:39 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 21:43:39 - article_server - INFO - [SQL参数] (25,) 21:43:39 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:43:39 - article_server - INFO - [SQL数据] 查询结果: [{'id': 15, 'tag_name': '基础提示词', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}, {'id': 14, 'tag_name': '去重', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}] 21:43:39 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:43:39 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}] 21:43:39 - article_server - INFO - [获取标签列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 21:43:39 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 104.244.91.212 - 状态码: 200 21:43:39 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:39 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 21:43:39 - article_server - INFO - [SQL参数] (1,) 21:43:39 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:43:39 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 21:43:39 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200 21:43:42 - article_server - INFO - [API访问] GET /api/articles/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:43:42 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:42 - article_server - INFO - [API访问] GET /api/products/list_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:43:42 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:42 - article_server - INFO - [API访问] GET /api/articles/list_dashboard - 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:43:42 - article_server - INFO - [获取产品列表简化版] 开始处理请求, IP: 104.244.91.212 21:43:42 - article_server - INFO - [获取产品列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:43:42 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:42 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212 21:43:42 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212 21:43:42 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:43:42 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212 21:43:42 - article_server - INFO - [API访问] GET /api/prompts/list_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:43:42 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:42 - article_server - INFO - [获取提示词列表简化版] 开始处理请求, IP: 104.244.91.212 21:43:42 - article_server - INFO - [获取提示词列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:43:42 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:42 - article_server - INFO - [SQL语句] SELECT id, name, status, created_at, updated_at FROM ai_products WHERE enterprise_id = %s AND status IN ('draft', 'active') ORDER BY created_at DESC 21:43:42 - article_server - INFO - [SQL参数] (1,) 21:43:42 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:42 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_articles WHERE enterprise_id = %s 21:43:42 - article_server - INFO - [SQL参数] [1] 21:43:42 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:42 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC 21:43:42 - article_server - INFO - [SQL参数] (1,) 21:43:42 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:42 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s 21:43:42 - article_server - INFO - [SQL参数] (1,) 21:43:42 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:43:42 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 13, 'name': '测试产品', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:43:42 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:42 - article_server - INFO - [SQL数据] 查询结果: [{'total': 40}] 21:43:42 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:43:42 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:43:42 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:42 - article_server - INFO - [SQL数据] 查询结果: [{'total': 40}] 21:43:42 - article_server - INFO - [获取产品列表简化版] 查询成功, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:43:42 - article_server - INFO - [API响应] GET /api/products/list_info - IP: 104.244.91.212 - 状态码: 200 21:43:42 - article_server - INFO - [获取提示词列表简化版] 查询成功, 返回数量: 2, 企业ID: 1, IP: 104.244.91.212 21:43:42 - article_server - INFO - [API响应] GET /api/prompts/list_info - IP: 104.244.91.212 - 状态码: 200 21:43:42 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:42 - article_server - INFO - [SQL语句] SELECT id, batch_id, enterprise_id, product_id, product_name, topic_type_id, prompt_workflow_id, prompt_workflow_name, topic, title, context_summary, department, departmentids, author_id, author_name, department_id, department_name, created_user_id, review_user_id, publish_user_id, status, channel, review_comment, publish_time, publish_link, baijiahao_id, baijiahao_status, word_count, image_count, coze_tag, created_at, updated_at, product_name as product_name, prompt_workflow_name as prompt_name FROM ai_articles WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:43:42 - article_server - INFO - [SQL参数] [1, 10, 0] 21:43:42 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:43:42 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:42 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published_review' 21:43:42 - article_server - INFO - [SQL参数] (1,) 21:43:42 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:42 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:43:42 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:42 - article_server - INFO - [SQL语句] SELECT id, article_id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ORDER BY article_id, sort_order ASC, created_at ASC 21:43:42 - article_server - INFO - [SQL参数] [57, 58, 59, 54, 55, 56, 51, 52, 53, 48] 21:43:42 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:43:42 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:42 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published' 21:43:42 - article_server - INFO - [SQL参数] (1,) 21:43:42 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:42 - article_server - INFO - [SQL语句] SELECT id, article_id, coze_tag, created_at FROM ai_article_tags WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 21:43:42 - article_server - INFO - [SQL参数] [57, 58, 59, 54, 55, 56, 51, 52, 53, 48] 21:43:42 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:42 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:43:42 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:43:42 - article_server - INFO - [获取文章列表] 查询成功, 总数: 40, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212 21:43:42 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200 21:43:42 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 40, 可发: 0, 已发: 0, IP: 104.244.91.212 21:43:42 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200 21:43:45 - article_server - INFO - [API访问] GET /api/prompts/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:43:45 - article_server - INFO - [API访问] GET /api/prompts/tags/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:43:45 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:45 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212 21:43:45 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:43:45 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:45 - article_server - INFO - [获取标签列表] 开始处理请求, IP: 104.244.91.212 21:43:45 - article_server - INFO - [获取标签列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:43:45 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:45 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s 21:43:45 - article_server - INFO - [SQL参数] (1,) 21:43:45 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:45 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s 21:43:45 - article_server - INFO - [SQL参数] [1] 21:43:45 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:45 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:43:45 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:45 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:43:45 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:45 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, workflow_id, content, usage_count, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:43:45 - article_server - INFO - [SQL参数] (1, 10, 0) 21:43:46 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:43:46 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'workflow_id': '7576997068138659846', 'content': '你是一个健康类自媒体的编辑,每天需要撰写健康类内容。我将要给你一个topic,这个topic是一个问句。请你先产生一个段落的回复,然后再段展开回复。每个段落都需要用一个emoji开头。最后,请生成tag。段落与段落之间空一行,保证可读性。\n详细要求如下:\n一、核心要求:\n1.\t目标受众: 普通大众,非专业人士。务必:\n¡\t避免使用专业术语和书面化表达\n¡\t内容安全限制:\n\uf06e\t❌ 禁止提及任何人体私密部位或敏感功能\n\uf06e\t❌ 禁用可能引发恐慌的词汇(如"危险""致命")\n2.\t内容核心: 围绕“主题”,聚焦病症、问题、危害或困扰, 解释原因、原理,介绍症状、类型,提供积极、实用的解决方案、改善建议或注意事项等有价值的内容均可。\n3.\t唯一性与实用性: 生成的内容需确保信息准确(基于常识)且每次生成的内容不应与历史输出重复(针对同一主题多次生成时)。\n二、内容结构及具体要求:\n\uf06c\t【首段提问】 (title):\n¡\t对应内容为{{title}}\n\n\uf06c\t【次段简答】 (short-answer):\n¡\t字数: 60-120字。 \n **内容要求**:\n 1. 第一句话必须直接回答{{title}}的提问,可以拓展1-2句话\n 2. 直接明晰,不要太笼统,禁止罗里吧嗦\n 3. 段前不要emoji表情符号\n \n **✅ 合格示例**:\n 发现HPV16或18阳性,这通常意味着宫颈癌筛查结果显示存在感染。接下来一般会建议做阴道镜检查,再根据检查的具体情况决定治疗方案。\n\n **❌ 不合格示例**:\n • 使用emoji开头\n • 没有直接回答问题\n • 过于笼统泛泛而谈 \n\n\uf06c\t【分段细答】 (contents):\n¡\t数量要求:2-3段。\n¡\t字数要求: 60~100字/段。\n¡\t核心要求:\n\uf06e\t语言口语化、自然流畅。\n\uf06e\t段落内容必须围绕核心观点展开,根据不同情况分类详细阐述问题,可以是具体可行的建议(吃什么、做什么、注意什么等),疾病的科普(主要症状、影响、诱因等),或者其它逻辑合理的内容也可以。\n\uf06e\t内容有一定的逻辑,包括但不限于(首先、其次、最后),(第一,第二,第三),(不仅、而且、还有),(初级、中级、高级)。\n\uf06e\t每段内容均衡,不超过五句话,确保信息全面且易于消化。\n\uf06e\t分段细答部分应当是次段简答部分的延伸,但用词不能和次段简答部分有太多重复,请保持多样性。\n\uf06e\t 在生成回答前,必须执行以下创造性流程:\n\t\t结构性禁令(排除法):行文结构不得是“定义→成因→症状→治疗”或“是什么→为什么→怎么办”及其任何变体。\n\t\t动态自我审视(核心步骤):\n\t\t回顾:主动审视历史内容中,针对相同或相似主题已使用过的所有核心阐述逻辑。\n\t\t规避:明确禁止重复或小幅修改上述任何逻辑。\n\t\t创新:基于当前问题的具体内涵,生成一个在本质上全新的、服务于核心问题的最佳解释路径。该路径必须与所有已回顾的逻辑存在根本性差异。\n\t\t输出确认:最终采用的逻辑结构,应是本次对话上下文中一次独特的、未经使用的创造性表达形式。\n\n\uf06c\t【标签】 (tags):\n¡\t**单个关键词字数:4-8个字。\n¡\t内容:* (1)根据正文内容,生成5个内容强相关tag; (2)标签格式:每个关键词前后都有# (例: #养生小知识# #中医养生##习惯养成# #健康养生#)\n三、变量输入:\n\uf06c\t主题: {{title}}\n四、最终安全规则:\n4.\t全篇禁止出现人体私密部位描述\n5.\t关键安全信息重复出现≥2次\n6.\t每句话≤20字,复合句用逗号分隔\n7、不能出现 "下面就给大家仔细说说",“下面具体讲讲”,话术\n', 'usage_count': 29, 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'workflow_id': 'WF-001', 'content': '你是一个小红书种草达人,请根据产品信息写一篇真实、有感染力的种草笔记...', 'usage_count': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:43:46 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:46 - article_server - INFO - [SQL语句] SELECT id, tag_name, created_user_id, created_at, updated_at FROM ai_prompt_tags WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:43:46 - article_server - INFO - [SQL参数] [1, 100, 0] 21:43:46 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:43:46 - article_server - INFO - [SQL数据] 查询结果: [{'id': 15, 'tag_name': '基础提示词', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}, {'id': 14, 'tag_name': '去重', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}] 21:43:46 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:46 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 21:43:46 - article_server - INFO - [SQL参数] (25,) 21:43:46 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:43:46 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}] 21:43:46 - article_server - INFO - [获取标签列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 21:43:46 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 104.244.91.212 - 状态码: 200 21:43:46 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:46 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 21:43:46 - article_server - INFO - [SQL参数] (1,) 21:43:46 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:43:46 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 21:43:46 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200 21:43:49 - article_server - INFO - [API访问] GET /api/articles/list_dashboard - 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:43:49 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:49 - article_server - INFO - [API访问] GET /api/articles/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:43:49 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:49 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212 21:43:49 - article_server - INFO - [API访问] GET /api/prompts/list_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:43:49 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:43:49 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212 21:43:49 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:49 - article_server - INFO - [获取提示词列表简化版] 开始处理请求, IP: 104.244.91.212 21:43:49 - article_server - INFO - [获取提示词列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:43:49 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212 21:43:50 - article_server - INFO - [API访问] GET /api/products/list_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:43:50 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:50 - article_server - INFO - [获取产品列表简化版] 开始处理请求, IP: 104.244.91.212 21:43:50 - article_server - INFO - [获取产品列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:43:50 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:50 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_articles WHERE enterprise_id = %s 21:43:50 - article_server - INFO - [SQL参数] [1] 21:43:50 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:50 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s 21:43:50 - article_server - INFO - [SQL参数] (1,) 21:43:50 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:50 - article_server - INFO - [SQL语句] SELECT id, name, status, created_at, updated_at FROM ai_products WHERE enterprise_id = %s AND status IN ('draft', 'active') ORDER BY created_at DESC 21:43:50 - article_server - INFO - [SQL参数] (1,) 21:43:50 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:50 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC 21:43:50 - article_server - INFO - [SQL参数] (1,) 21:43:50 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:50 - article_server - INFO - [SQL数据] 查询结果: [{'total': 40}] 21:43:50 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:43:50 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 13, 'name': '测试产品', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:43:50 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:50 - article_server - INFO - [SQL数据] 查询结果: [{'total': 40}] 21:43:50 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:43:50 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:43:50 - article_server - INFO - [获取产品列表简化版] 查询成功, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:43:50 - article_server - INFO - [API响应] GET /api/products/list_info - IP: 104.244.91.212 - 状态码: 200 21:43:50 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:50 - article_server - INFO - [SQL语句] SELECT id, batch_id, enterprise_id, product_id, product_name, topic_type_id, prompt_workflow_id, prompt_workflow_name, topic, title, context_summary, department, departmentids, author_id, author_name, department_id, department_name, created_user_id, review_user_id, publish_user_id, status, channel, review_comment, publish_time, publish_link, baijiahao_id, baijiahao_status, word_count, image_count, coze_tag, created_at, updated_at, product_name as product_name, prompt_workflow_name as prompt_name FROM ai_articles WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:43:50 - article_server - INFO - [SQL参数] [1, 10, 0] 21:43:50 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:50 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published_review' 21:43:50 - article_server - INFO - [SQL参数] (1,) 21:43:50 - article_server - INFO - [获取提示词列表简化版] 查询成功, 返回数量: 2, 企业ID: 1, IP: 104.244.91.212 21:43:50 - article_server - INFO - [API响应] GET /api/prompts/list_info - IP: 104.244.91.212 - 状态码: 200 21:43:50 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:43:50 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:50 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:43:50 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:50 - article_server - INFO - [SQL语句] SELECT id, article_id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ORDER BY article_id, sort_order ASC, created_at ASC 21:43:50 - article_server - INFO - [SQL参数] [57, 58, 59, 54, 55, 56, 51, 52, 53, 48] 21:43:50 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:50 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published' 21:43:50 - article_server - INFO - [SQL参数] (1,) 21:43:50 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:43:50 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:50 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:43:50 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 40, 可发: 0, 已发: 0, IP: 104.244.91.212 21:43:50 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200 21:43:50 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:50 - article_server - INFO - [SQL语句] SELECT id, article_id, coze_tag, created_at FROM ai_article_tags WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 21:43:50 - article_server - INFO - [SQL参数] [57, 58, 59, 54, 55, 56, 51, 52, 53, 48] 21:43:50 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:43:50 - article_server - INFO - [获取文章列表] 查询成功, 总数: 40, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212 21:43:50 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200 21:43:52 - article_server - INFO - [API访问] GET /api/articles/57 - 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:43:52 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:52 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:52 - article_server - INFO - [SQL语句] SELECT a.id, a.batch_id, a.enterprise_id, a.product_id, a.topic_type_id, a.prompt_workflow_id, a.topic, a.title, a.content, a.department, a.departmentids, a.author_id, a.author_name, a.department_id, a.department_name, a.created_user_id, a.review_user_id, a.publish_user_id, a.status, a.channel, a.review_comment, a.publish_time, a.publish_link, a.baijiahao_id, a.baijiahao_status, a.word_count, a.image_count, a.coze_tag, a.created_at, a.updated_at, p.name as product_name, pw.prompt_workflow_name as prompt_name FROM ai_articles a LEFT JOIN ai_products p ON a.product_id = p.id LEFT JOIN ai_prompt_workflow pw ON a.prompt_workflow_id = pw.id WHERE a.id = %s AND a.enterprise_id = %s 21:43:52 - article_server - INFO - [SQL参数] (57, 1) 21:43:52 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:52 - article_server - INFO - [SQL数据] 查询结果: [{'id': 57, 'batch_id': 1766303956962118, 'enterprise_id': 1, 'product_id': 25, 'topic_type_id': 0, 'prompt_workflow_id': 25, 'topic': '前列腺增生必须做手术吗', 'title': '前列腺增生必须做手术吗', 'content': '前列腺增生必须做手术吗\n\n前列腺增生不一定要做手术。症状轻的话,用药物就能控制。只有症状严重、药物没效果时,才考虑手术。\n\n😃判断是否手术,先看症状。若尿频尿急不严重,夜尿次数少,不咋影响生活,就不用急着手术。反之,症状严重,就得重视。\n\n🤔除症状外,身体状况也重要。年纪大、有其他病的人,手术风险高,得谨慎。身体好、能耐受手术的人,可考虑手术治疗。\n\n前列腺增生是否手术要综合判断,别盲目选手术,也别拖着不治。\n\n', 'department': '', 'departmentids': '', 'author_id': 0, 'author_name': '', 'department_id': 1, 'department_name': '雇员', 'created_user_id': 0, 'review_user_id': None, 'publish_user_id': 4, 'status': 'assign_authors', 'channel': 1, 'review_comment': None, 'publish_time': datetime.datetime(2025, 12, 21, 8, 32, 40), 'publish_link': '', 'baijiahao_id': None, 'baijiahao_status': None, 'word_count': 208, 'image_count': 3, 'coze_tag': '#前列腺增生# #手术选择# #症状判断# #身体状况# #治疗建议#', 'created_at': datetime.datetime(2025, 12, 21, 7, 59, 16), 'updated_at': datetime.datetime(2025, 12, 21, 13, 8, 36), 'product_name': '健康类自媒体', 'prompt_name': 'Inject基础提示词'}] 21:43:52 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:52 - article_server - INFO - [SQL语句] SELECT id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id = %s ORDER BY sort_order ASC, created_at ASC 21:43:52 - article_server - INFO - [SQL参数] (57,) 21:43:52 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:43:52 - article_server - INFO - [SQL数据] 查询结果: [{'id': 5, 'image_id': 26, 'image_url': '20251221/1766303729292188.png', 'image_thumb_url': '20251221/1766303729292188_thumb.png', 'image_tag_id': 0, 'sort_order': 1, 'keywords_id': 0, 'keywords_name': '', 'department_id': 0, 'department_name': '', 'image_source': 2, 'created_at': datetime.datetime(2025, 12, 21, 8, 32, 38)}, {'id': 6, 'image_id': 25, 'image_url': '20251221/1766303723871802.png', 'image_thumb_url': '20251221/1766303723871802_thumb.png', 'image_tag_id': 0, 'sort_order': 2, 'keywords_id': 0, 'keywords_name': '', 'department_id': 0, 'department_name': '', 'image_source': 2, 'created_at': datetime.datetime(2025, 12, 21, 8, 32, 38)}, {'id': 7, 'image_id': 31, 'image_url': '20251221/1766303882480682.png', 'image_thumb_url': '20251221/1766303882480682_thumb.png', 'image_tag_id': 0, 'sort_order': 3, 'keywords_id': 0, 'keywords_name': '', 'department_id': 0, 'department_name': '', 'image_source': 2, 'created_at': datetime.datetime(2025, 12, 21, 8, 32, 38)}] 21:43:52 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:52 - article_server - INFO - [SQL语句] SELECT id, coze_tag, created_at FROM ai_article_tags WHERE article_id = %s 21:43:52 - article_server - INFO - [SQL参数] (57,) 21:43:52 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:52 - article_server - INFO - [SQL数据] 查询结果: [{'id': 15, 'coze_tag': '#前列腺增生# #手术选择# #症状判断# #身体状况# #治疗建议#', 'created_at': datetime.datetime(2025, 12, 21, 8, 32, 38)}] 21:43:52 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:52 - article_server - INFO - [SQL语句] SELECT id, status, created_user_id, review_user_id, publish_user_id, review_comment, publish_time, publish_link, word_count, image_count, created_at FROM ai_article_published_records WHERE article_id = %s ORDER BY created_at DESC 21:43:52 - article_server - INFO - [SQL参数] (57,) 21:43:52 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:43:52 - article_server - INFO - 获取文章详情成功: ID 57 21:43:52 - article_server - INFO - [API响应] GET /api/articles/57 - IP: 104.244.91.212 - 状态码: 200 21:43:57 - article_server - INFO - [API访问] GET /api/products/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:43:57 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:57 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 21:43:57 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:43:57 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=100, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 21:43:57 - article_server - INFO - [API访问] GET /api/statistics/records - 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:43:57 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:57 - article_server - INFO - [API访问] GET /api/statistics/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:43:57 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43: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:43:57 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:57 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 21:43:57 - article_server - INFO - [SQL参数] [1] 21:43:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:57 - 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:43:57 - article_server - INFO - [SQL参数] [1] 21:43:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:57 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_article_published_records r WHERE r.enterprise_id = %s 21:43:57 - article_server - INFO - [SQL参数] [1] 21:43:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:57 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_article_published_records WHERE enterprise_id = %s 21:43:57 - article_server - INFO - [SQL参数] (1,) 21:43:57 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:57 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 21:43:57 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:57 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}] 21:43:57 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:57 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 21:43:57 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:57 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 21:43:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43: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' AND u.role != 'enterprise' ORDER BY u.created_at DESC LIMIT %s OFFSET %s 21:43:57 - article_server - INFO - [SQL参数] [1, 100, 0] 21:43:57 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:43:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:57 - article_server - INFO - [SQL语句] SELECT r.id, r.publish_time, r.created_user_id, r.product_id, r.article_id, r.publish_link, r.topic, u.real_name as employee_name, p.name as product_name, a.title 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 LEFT JOIN ai_articles a ON r.article_id = a.id WHERE r.enterprise_id = %s ORDER BY r.publish_time DESC LIMIT %s OFFSET %s 21:43:57 - article_server - INFO - [SQL参数] [1, 100, 0] 21:43:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:57 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 21:43:57 - article_server - INFO - [SQL参数] [1, 100, 0] 21:43:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:57 - article_server - INFO - [SQL语句] SELECT COUNT(*) as today_count FROM ai_article_published_records WHERE enterprise_id = %s AND DATE(publish_time) = CURDATE() 21:43:57 - article_server - INFO - [SQL参数] (1,) 21:43:57 - article_server - INFO - 获取员工列表成功,总数: 6 21:43:57 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200 21:43:57 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:43:57 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:43:57 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 28, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:43:57 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:57 - article_server - INFO - [SQL数据] 查询结果: [{'today_count': 0}] 21:43:57 - article_server - INFO - 获取发布记录列表成功,总数: 4 21:43:57 - article_server - INFO - [API响应] GET /api/statistics/records - IP: 104.244.91.212 - 状态码: 200 21:43:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:57 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:43:57 - article_server - INFO - [SQL参数] (25,) 21:43:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:57 - article_server - INFO - [SQL语句] SELECT COUNT(*) as week_count FROM ai_article_published_records WHERE enterprise_id = %s AND YEARWEEK(publish_time, 1) = YEARWEEK(CURDATE(), 1) 21:43:57 - article_server - INFO - [SQL参数] (1,) 21:43:57 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:43:57 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:57 - article_server - INFO - [SQL数据] 查询结果: [{'week_count': 4}] 21:43:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:57 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:43:57 - article_server - INFO - [SQL参数] (13,) 21:43:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:57 - article_server - INFO - [SQL语句] SELECT COUNT(*) as month_count FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(CURDATE()) AND MONTH(publish_time) = MONTH(CURDATE()) 21:43:57 - article_server - INFO - [SQL参数] (1,) 21:43:57 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:43:57 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:57 - article_server - INFO - [SQL数据] 查询结果: [{'month_count': 4}] 21:43:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:57 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:43:57 - article_server - INFO - [SQL参数] (1,) 21:43:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:57 - article_server - INFO - [SQL语句] SELECT COUNT(DISTINCT created_user_id) as employee_count FROM ai_article_published_records WHERE enterprise_id = %s 21:43:57 - article_server - INFO - [SQL参数] (1,) 21:43:57 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:57 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 21:43:57 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:43:57 - article_server - INFO - [SQL数据] 查询结果: [{'employee_count': 2}] 21:43:57 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 100, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:43:57 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 21:43:57 - article_server - INFO - 获取统计概览成功 21:43:57 - article_server - INFO - [API响应] GET /api/statistics/overview - IP: 104.244.91.212 - 状态码: 200 21:43:57 - article_server - INFO - [API访问] GET /api/statistics/by-product - 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:43:57 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:57 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:57 - article_server - INFO - [SQL语句] SELECT r.product_id, p.name as product_name, COUNT(*) as count, ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE r.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 count DESC 21:43:57 - article_server - INFO - [SQL参数] [1, 1] 21:43:57 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:43:57 - article_server - INFO - 按产品统计成功 21:43:57 - article_server - INFO - [API响应] GET /api/statistics/by-product - IP: 104.244.91.212 - 状态码: 200 21:43:58 - article_server - INFO - [API访问] GET /api/statistics/employee-rank - 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:43:58 - article_server - INFO - [Token验证成功] 用户ID: 10 21:43:58 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:43:58 - article_server - INFO - [SQL语句] SELECT r.created_user_id as employee_id, u.real_name as employee_name, COUNT(*) as count, ROW_NUMBER() OVER (ORDER BY COUNT(*) DESC) as `rank` FROM ai_article_published_records r LEFT JOIN ai_users u ON r.created_user_id = u.id WHERE r.enterprise_id = %s GROUP BY r.created_user_id, u.real_name ORDER BY count DESC LIMIT %s 21:43:58 - article_server - INFO - [SQL参数] [1, 5] 21:43:58 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:43:58 - article_server - INFO - [SQL数据] 查询结果: [{'employee_id': 18, 'employee_name': '测试员工API', 'count': 3, 'rank': 1}, {'employee_id': 0, 'employee_name': None, 'count': 1, 'rank': 2}] 21:43:58 - article_server - INFO - 获取员工排行成功 21:43:58 - article_server - INFO - [API响应] GET /api/statistics/employee-rank - IP: 104.244.91.212 - 状态码: 200 21:44:05 - article_server - INFO - [API访问] GET /api/articles/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:44:05 - article_server - INFO - [API访问] GET /api/articles/list_dashboard - 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:44:05 - article_server - INFO - [Token验证成功] 用户ID: 10 21:44:05 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212 21:44:05 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:44:05 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212 21:44:05 - article_server - INFO - [API访问] GET /api/products/list_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:44:05 - article_server - INFO - [Token验证成功] 用户ID: 10 21:44:05 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212 21:44:05 - article_server - INFO - [Token验证成功] 用户ID: 10 21:44:05 - article_server - INFO - [获取产品列表简化版] 开始处理请求, IP: 104.244.91.212 21:44:05 - article_server - INFO - [获取产品列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:44:05 - article_server - INFO - [API访问] GET /api/prompts/list_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:44:05 - article_server - INFO - [Token验证成功] 用户ID: 10 21:44:05 - article_server - INFO - [获取提示词列表简化版] 开始处理请求, IP: 104.244.91.212 21:44:05 - article_server - INFO - [获取提示词列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:44:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:05 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_articles WHERE enterprise_id = %s 21:44:05 - article_server - INFO - [SQL参数] [1] 21:44:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:05 - article_server - INFO - [SQL语句] SELECT id, name, status, created_at, updated_at FROM ai_products WHERE enterprise_id = %s AND status IN ('draft', 'active') ORDER BY created_at DESC 21:44:05 - article_server - INFO - [SQL参数] (1,) 21:44:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:05 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC 21:44:05 - article_server - INFO - [SQL参数] (1,) 21:44:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:05 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s 21:44:05 - article_server - INFO - [SQL参数] (1,) 21:44:05 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:05 - article_server - INFO - [SQL数据] 查询结果: [{'total': 40}] 21:44:05 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:44:05 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 13, 'name': '测试产品', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:44:05 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:44:05 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:44:05 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:05 - article_server - INFO - [SQL数据] 查询结果: [{'total': 40}] 21:44:05 - article_server - INFO - [获取产品列表简化版] 查询成功, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:44:05 - article_server - INFO - [API响应] GET /api/products/list_info - IP: 104.244.91.212 - 状态码: 200 21:44:05 - article_server - INFO - [获取提示词列表简化版] 查询成功, 返回数量: 2, 企业ID: 1, IP: 104.244.91.212 21:44:05 - article_server - INFO - [API响应] GET /api/prompts/list_info - IP: 104.244.91.212 - 状态码: 200 21:44:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:05 - article_server - INFO - [SQL语句] SELECT id, batch_id, enterprise_id, product_id, product_name, topic_type_id, prompt_workflow_id, prompt_workflow_name, topic, title, context_summary, department, departmentids, author_id, author_name, department_id, department_name, created_user_id, review_user_id, publish_user_id, status, channel, review_comment, publish_time, publish_link, baijiahao_id, baijiahao_status, word_count, image_count, coze_tag, created_at, updated_at, product_name as product_name, prompt_workflow_name as prompt_name FROM ai_articles WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:44:05 - article_server - INFO - [SQL参数] [1, 10, 0] 21:44:05 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:44:06 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:06 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published_review' 21:44:06 - article_server - INFO - [SQL参数] (1,) 21:44:06 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:06 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:44:06 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:06 - article_server - INFO - [SQL语句] SELECT id, article_id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ORDER BY article_id, sort_order ASC, created_at ASC 21:44:06 - article_server - INFO - [SQL参数] [57, 58, 59, 54, 55, 56, 51, 52, 53, 48] 21:44:06 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:44:06 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:06 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published' 21:44:06 - article_server - INFO - [SQL参数] (1,) 21:44:06 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:06 - article_server - INFO - [SQL语句] SELECT id, article_id, coze_tag, created_at FROM ai_article_tags WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 21:44:06 - article_server - INFO - [SQL参数] [57, 58, 59, 54, 55, 56, 51, 52, 53, 48] 21:44:06 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:44:06 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:06 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:44:06 - article_server - INFO - [获取文章列表] 查询成功, 总数: 40, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212 21:44:06 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200 21:44:06 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 40, 可发: 0, 已发: 0, IP: 104.244.91.212 21:44:06 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200 21:44:07 - article_server - INFO - [API访问] GET /api/prompts/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:44:07 - article_server - INFO - [API访问] GET /api/prompts/tags/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:44:07 - article_server - INFO - [Token验证成功] 用户ID: 10 21:44:07 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212 21:44:07 - article_server - INFO - [Token验证成功] 用户ID: 10 21:44:07 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:44:07 - article_server - INFO - [获取标签列表] 开始处理请求, IP: 104.244.91.212 21:44:07 - article_server - INFO - [获取标签列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:44:07 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:07 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s 21:44:07 - article_server - INFO - [SQL参数] (1,) 21:44:07 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:07 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s 21:44:07 - article_server - INFO - [SQL参数] [1] 21:44:07 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:07 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:44:07 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:07 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:44:07 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:07 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, workflow_id, content, usage_count, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:44:07 - article_server - INFO - [SQL参数] (1, 10, 0) 21:44:08 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:44:08 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'workflow_id': '7576997068138659846', 'content': '你是一个健康类自媒体的编辑,每天需要撰写健康类内容。我将要给你一个topic,这个topic是一个问句。请你先产生一个段落的回复,然后再段展开回复。每个段落都需要用一个emoji开头。最后,请生成tag。段落与段落之间空一行,保证可读性。\n详细要求如下:\n一、核心要求:\n1.\t目标受众: 普通大众,非专业人士。务必:\n¡\t避免使用专业术语和书面化表达\n¡\t内容安全限制:\n\uf06e\t❌ 禁止提及任何人体私密部位或敏感功能\n\uf06e\t❌ 禁用可能引发恐慌的词汇(如"危险""致命")\n2.\t内容核心: 围绕“主题”,聚焦病症、问题、危害或困扰, 解释原因、原理,介绍症状、类型,提供积极、实用的解决方案、改善建议或注意事项等有价值的内容均可。\n3.\t唯一性与实用性: 生成的内容需确保信息准确(基于常识)且每次生成的内容不应与历史输出重复(针对同一主题多次生成时)。\n二、内容结构及具体要求:\n\uf06c\t【首段提问】 (title):\n¡\t对应内容为{{title}}\n\n\uf06c\t【次段简答】 (short-answer):\n¡\t字数: 60-120字。 \n **内容要求**:\n 1. 第一句话必须直接回答{{title}}的提问,可以拓展1-2句话\n 2. 直接明晰,不要太笼统,禁止罗里吧嗦\n 3. 段前不要emoji表情符号\n \n **✅ 合格示例**:\n 发现HPV16或18阳性,这通常意味着宫颈癌筛查结果显示存在感染。接下来一般会建议做阴道镜检查,再根据检查的具体情况决定治疗方案。\n\n **❌ 不合格示例**:\n • 使用emoji开头\n • 没有直接回答问题\n • 过于笼统泛泛而谈 \n\n\uf06c\t【分段细答】 (contents):\n¡\t数量要求:2-3段。\n¡\t字数要求: 60~100字/段。\n¡\t核心要求:\n\uf06e\t语言口语化、自然流畅。\n\uf06e\t段落内容必须围绕核心观点展开,根据不同情况分类详细阐述问题,可以是具体可行的建议(吃什么、做什么、注意什么等),疾病的科普(主要症状、影响、诱因等),或者其它逻辑合理的内容也可以。\n\uf06e\t内容有一定的逻辑,包括但不限于(首先、其次、最后),(第一,第二,第三),(不仅、而且、还有),(初级、中级、高级)。\n\uf06e\t每段内容均衡,不超过五句话,确保信息全面且易于消化。\n\uf06e\t分段细答部分应当是次段简答部分的延伸,但用词不能和次段简答部分有太多重复,请保持多样性。\n\uf06e\t 在生成回答前,必须执行以下创造性流程:\n\t\t结构性禁令(排除法):行文结构不得是“定义→成因→症状→治疗”或“是什么→为什么→怎么办”及其任何变体。\n\t\t动态自我审视(核心步骤):\n\t\t回顾:主动审视历史内容中,针对相同或相似主题已使用过的所有核心阐述逻辑。\n\t\t规避:明确禁止重复或小幅修改上述任何逻辑。\n\t\t创新:基于当前问题的具体内涵,生成一个在本质上全新的、服务于核心问题的最佳解释路径。该路径必须与所有已回顾的逻辑存在根本性差异。\n\t\t输出确认:最终采用的逻辑结构,应是本次对话上下文中一次独特的、未经使用的创造性表达形式。\n\n\uf06c\t【标签】 (tags):\n¡\t**单个关键词字数:4-8个字。\n¡\t内容:* (1)根据正文内容,生成5个内容强相关tag; (2)标签格式:每个关键词前后都有# (例: #养生小知识# #中医养生##习惯养成# #健康养生#)\n三、变量输入:\n\uf06c\t主题: {{title}}\n四、最终安全规则:\n4.\t全篇禁止出现人体私密部位描述\n5.\t关键安全信息重复出现≥2次\n6.\t每句话≤20字,复合句用逗号分隔\n7、不能出现 "下面就给大家仔细说说",“下面具体讲讲”,话术\n', 'usage_count': 29, 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'workflow_id': 'WF-001', 'content': '你是一个小红书种草达人,请根据产品信息写一篇真实、有感染力的种草笔记...', 'usage_count': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:44:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:08 - article_server - INFO - [SQL语句] SELECT id, tag_name, created_user_id, created_at, updated_at FROM ai_prompt_tags WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:44:08 - article_server - INFO - [SQL参数] [1, 100, 0] 21:44:08 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:44:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:08 - article_server - INFO - [SQL数据] 查询结果: [{'id': 15, 'tag_name': '基础提示词', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}, {'id': 14, 'tag_name': '去重', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}] 21:44:08 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 21:44:08 - article_server - INFO - [SQL参数] (25,) 21:44:08 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:44:08 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}] 21:44:08 - article_server - INFO - [获取标签列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 21:44:08 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 104.244.91.212 - 状态码: 200 21:44:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:08 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 21:44:08 - article_server - INFO - [SQL参数] (1,) 21:44:08 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:44:08 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 21:44:08 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200 21:44:11 - article_server - INFO - [API访问] GET /api/images/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:44:11 - article_server - INFO - [Token验证成功] 用户ID: 10 21:44:11 - article_server - INFO - [API访问] GET /api/products/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:44:11 - article_server - INFO - [Token验证成功] 用户ID: 10 21:44:11 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 21:44:11 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:44:11 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=100, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 21:44:11 - article_server - INFO - [API访问] GET /api/images/list_dashboard - 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:44:11 - article_server - INFO - [Token验证成功] 用户ID: 10 21:44:11 - article_server - INFO - [API访问] GET /api/images/types/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:44:11 - article_server - INFO - [Token验证成功] 用户ID: 10 21:44:11 - article_server - INFO - [获取图片类型列表] current_user: {'user_id': 10, 'username': '13621242430', 'role': 'enterprise', 'enterprise_id': 1, 'exp': 1766411012, 'iat': 1766324612}, enterprise_id: 1 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 21:44:11 - article_server - INFO - [SQL参数] [1] 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' 21:44:11 - article_server - INFO - [SQL参数] [1] 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_image_type WHERE enterprise_id = %s 21:44:11 - article_server - INFO - [SQL参数] [1] 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_images WHERE enterprise_id = %s AND status = %s 21:44:11 - article_server - INFO - [SQL参数] [1, 'active'] 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:11 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:11 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:11 - article_server - INFO - [SQL数据] 查询结果: [{'total': 10}] 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:11 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 21:44:11 - article_server - INFO - [SQL参数] [1, 100, 0] 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND product_id > 0 21:44:11 - article_server - INFO - [SQL参数] [1] 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, type_name, keywords_id, keywords_name, department_id, department_name, created_user_id, created_at, updated_at FROM ai_image_type WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:44:11 - article_server - INFO - [SQL参数] [1, 100, 0] 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:44:11 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 21:44:11 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 28, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT id, product_id, product_name, image_name, image_url, image_thumb_url, thumbnail_url, image_type_id, image_type_name, department, keywords, size_type, file_size, width, height, status, created_at, updated_at FROM ai_images WHERE enterprise_id = %s AND status = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:44:11 - article_server - INFO - [SQL参数] [1, 'active', 10, 0] 21:44:11 - article_server - INFO - [API响应] GET /api/images/types/list - IP: 104.244.91.212 - 状态码: 200 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 8 条记录 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT COUNT(DISTINCT product_id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND product_id > 0 21:44:11 - article_server - INFO - [SQL参数] [1] 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:44:11 - article_server - INFO - [SQL参数] (25,) 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:11 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:44:11 - article_server - INFO - [SQL参数] [31, 1] 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:44:11 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND image_type_name LIKE %s 21:44:11 - article_server - INFO - [SQL参数] (13,) 21:44:11 - article_server - INFO - [SQL参数] [1, '%场景%'] 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:11 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:44:11 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:44:11 - article_server - INFO - 获取图片库仪表盘数据成功,企业ID: 1 21:44:11 - article_server - INFO - [API响应] GET /api/images/list_dashboard - IP: 104.244.91.212 - 状态码: 200 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:44:11 - article_server - INFO - [SQL参数] (1,) 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:44:11 - article_server - INFO - [SQL参数] [30, 1] 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:11 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 21:44:11 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 100, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:44:11 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:44:11 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:44:11 - article_server - INFO - [SQL参数] [29, 1] 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:44:11 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:44:11 - article_server - INFO - [SQL参数] [28, 1] 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:44:11 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:44:11 - article_server - INFO - [SQL参数] [27, 1] 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:44:11 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:44:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:44:11 - article_server - INFO - [SQL参数] [26, 1] 21:44:11 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:44:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:12 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:44:12 - article_server - INFO - [SQL参数] [25, 1] 21:44:12 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:44:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:12 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:44:12 - article_server - INFO - [SQL参数] [24, 1] 21:44:12 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:44:12 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 3, 'tag_name': '产品(4)'}, {'tag_id': 4, 'tag_name': '产品(4)3'}] 21:44:12 - article_server - INFO - 获取图片列表成功,总数: 8 21:44:12 - article_server - INFO - [API响应] GET /api/images/list - IP: 104.244.91.212 - 状态码: 200 21:44:16 - article_server - INFO - [API访问] GET /api/prompts/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:44:16 - article_server - INFO - [API访问] GET /api/prompts/tags/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:44:16 - article_server - INFO - [Token验证成功] 用户ID: 10 21:44:16 - article_server - INFO - [Token验证成功] 用户ID: 10 21:44:16 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212 21:44:16 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:44:16 - article_server - INFO - [获取标签列表] 开始处理请求, IP: 104.244.91.212 21:44:16 - article_server - INFO - [获取标签列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:44:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:16 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s 21:44:16 - article_server - INFO - [SQL参数] [1] 21:44:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:16 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s 21:44:16 - article_server - INFO - [SQL参数] (1,) 21:44:16 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:16 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:44:16 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:16 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:44:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:16 - article_server - INFO - [SQL语句] SELECT id, tag_name, created_user_id, created_at, updated_at FROM ai_prompt_tags WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:44:16 - article_server - INFO - [SQL参数] [1, 100, 0] 21:44:16 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:44:16 - article_server - INFO - [SQL数据] 查询结果: [{'id': 15, 'tag_name': '基础提示词', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}, {'id': 14, 'tag_name': '去重', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}] 21:44:16 - article_server - INFO - [获取标签列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 21:44:16 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 104.244.91.212 - 状态码: 200 21:44:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:16 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, workflow_id, content, usage_count, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:44:16 - article_server - INFO - [SQL参数] (1, 10, 0) 21:44:16 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:44:16 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'workflow_id': '7576997068138659846', 'content': '你是一个健康类自媒体的编辑,每天需要撰写健康类内容。我将要给你一个topic,这个topic是一个问句。请你先产生一个段落的回复,然后再段展开回复。每个段落都需要用一个emoji开头。最后,请生成tag。段落与段落之间空一行,保证可读性。\n详细要求如下:\n一、核心要求:\n1.\t目标受众: 普通大众,非专业人士。务必:\n¡\t避免使用专业术语和书面化表达\n¡\t内容安全限制:\n\uf06e\t❌ 禁止提及任何人体私密部位或敏感功能\n\uf06e\t❌ 禁用可能引发恐慌的词汇(如"危险""致命")\n2.\t内容核心: 围绕“主题”,聚焦病症、问题、危害或困扰, 解释原因、原理,介绍症状、类型,提供积极、实用的解决方案、改善建议或注意事项等有价值的内容均可。\n3.\t唯一性与实用性: 生成的内容需确保信息准确(基于常识)且每次生成的内容不应与历史输出重复(针对同一主题多次生成时)。\n二、内容结构及具体要求:\n\uf06c\t【首段提问】 (title):\n¡\t对应内容为{{title}}\n\n\uf06c\t【次段简答】 (short-answer):\n¡\t字数: 60-120字。 \n **内容要求**:\n 1. 第一句话必须直接回答{{title}}的提问,可以拓展1-2句话\n 2. 直接明晰,不要太笼统,禁止罗里吧嗦\n 3. 段前不要emoji表情符号\n \n **✅ 合格示例**:\n 发现HPV16或18阳性,这通常意味着宫颈癌筛查结果显示存在感染。接下来一般会建议做阴道镜检查,再根据检查的具体情况决定治疗方案。\n\n **❌ 不合格示例**:\n • 使用emoji开头\n • 没有直接回答问题\n • 过于笼统泛泛而谈 \n\n\uf06c\t【分段细答】 (contents):\n¡\t数量要求:2-3段。\n¡\t字数要求: 60~100字/段。\n¡\t核心要求:\n\uf06e\t语言口语化、自然流畅。\n\uf06e\t段落内容必须围绕核心观点展开,根据不同情况分类详细阐述问题,可以是具体可行的建议(吃什么、做什么、注意什么等),疾病的科普(主要症状、影响、诱因等),或者其它逻辑合理的内容也可以。\n\uf06e\t内容有一定的逻辑,包括但不限于(首先、其次、最后),(第一,第二,第三),(不仅、而且、还有),(初级、中级、高级)。\n\uf06e\t每段内容均衡,不超过五句话,确保信息全面且易于消化。\n\uf06e\t分段细答部分应当是次段简答部分的延伸,但用词不能和次段简答部分有太多重复,请保持多样性。\n\uf06e\t 在生成回答前,必须执行以下创造性流程:\n\t\t结构性禁令(排除法):行文结构不得是“定义→成因→症状→治疗”或“是什么→为什么→怎么办”及其任何变体。\n\t\t动态自我审视(核心步骤):\n\t\t回顾:主动审视历史内容中,针对相同或相似主题已使用过的所有核心阐述逻辑。\n\t\t规避:明确禁止重复或小幅修改上述任何逻辑。\n\t\t创新:基于当前问题的具体内涵,生成一个在本质上全新的、服务于核心问题的最佳解释路径。该路径必须与所有已回顾的逻辑存在根本性差异。\n\t\t输出确认:最终采用的逻辑结构,应是本次对话上下文中一次独特的、未经使用的创造性表达形式。\n\n\uf06c\t【标签】 (tags):\n¡\t**单个关键词字数:4-8个字。\n¡\t内容:* (1)根据正文内容,生成5个内容强相关tag; (2)标签格式:每个关键词前后都有# (例: #养生小知识# #中医养生##习惯养成# #健康养生#)\n三、变量输入:\n\uf06c\t主题: {{title}}\n四、最终安全规则:\n4.\t全篇禁止出现人体私密部位描述\n5.\t关键安全信息重复出现≥2次\n6.\t每句话≤20字,复合句用逗号分隔\n7、不能出现 "下面就给大家仔细说说",“下面具体讲讲”,话术\n', 'usage_count': 29, 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'workflow_id': 'WF-001', 'content': '你是一个小红书种草达人,请根据产品信息写一篇真实、有感染力的种草笔记...', 'usage_count': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:44:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:16 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 21:44:16 - article_server - INFO - [SQL参数] (25,) 21:44:16 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:44:16 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}] 21:44:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:16 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 21:44:16 - article_server - INFO - [SQL参数] (1,) 21:44:16 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:44:16 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 21:44:16 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200 21:44:18 - article_server - INFO - [API访问] GET /api/articles/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:44:18 - article_server - INFO - [Token验证成功] 用户ID: 10 21:44:18 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212 21:44:18 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:44:18 - article_server - INFO - [API访问] GET /api/articles/list_dashboard - 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:44:18 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212 21:44:18 - article_server - INFO - [Token验证成功] 用户ID: 10 21:44:18 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212 21:44:18 - article_server - INFO - [API访问] GET /api/products/list_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:44:18 - article_server - INFO - [Token验证成功] 用户ID: 10 21:44:18 - article_server - INFO - [获取产品列表简化版] 开始处理请求, IP: 104.244.91.212 21:44:18 - article_server - INFO - [获取产品列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:44:18 - article_server - INFO - [API访问] GET /api/prompts/list_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:44:18 - article_server - INFO - [Token验证成功] 用户ID: 10 21:44:18 - article_server - INFO - [获取提示词列表简化版] 开始处理请求, IP: 104.244.91.212 21:44:18 - article_server - INFO - [获取提示词列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:44:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:18 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_articles WHERE enterprise_id = %s 21:44:18 - article_server - INFO - [SQL参数] [1] 21:44:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:18 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s 21:44:18 - article_server - INFO - [SQL参数] (1,) 21:44:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:18 - article_server - INFO - [SQL语句] SELECT id, name, status, created_at, updated_at FROM ai_products WHERE enterprise_id = %s AND status IN ('draft', 'active') ORDER BY created_at DESC 21:44:18 - article_server - INFO - [SQL参数] (1,) 21:44:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:18 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC 21:44:18 - article_server - INFO - [SQL参数] (1,) 21:44:18 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:18 - article_server - INFO - [SQL数据] 查询结果: [{'total': 40}] 21:44:18 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:18 - article_server - INFO - [SQL数据] 查询结果: [{'total': 40}] 21:44:18 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:44:18 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 13, 'name': '测试产品', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:44:18 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:44:18 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:44:18 - article_server - INFO - [获取产品列表简化版] 查询成功, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:44:18 - article_server - INFO - [API响应] GET /api/products/list_info - IP: 104.244.91.212 - 状态码: 200 21:44:18 - article_server - INFO - [获取提示词列表简化版] 查询成功, 返回数量: 2, 企业ID: 1, IP: 104.244.91.212 21:44:18 - article_server - INFO - [API响应] GET /api/prompts/list_info - IP: 104.244.91.212 - 状态码: 200 21:44:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:18 - article_server - INFO - [SQL语句] SELECT id, batch_id, enterprise_id, product_id, product_name, topic_type_id, prompt_workflow_id, prompt_workflow_name, topic, title, context_summary, department, departmentids, author_id, author_name, department_id, department_name, created_user_id, review_user_id, publish_user_id, status, channel, review_comment, publish_time, publish_link, baijiahao_id, baijiahao_status, word_count, image_count, coze_tag, created_at, updated_at, product_name as product_name, prompt_workflow_name as prompt_name FROM ai_articles WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:44:18 - article_server - INFO - [SQL参数] [1, 10, 0] 21:44:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:18 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published_review' 21:44:18 - article_server - INFO - [SQL参数] (1,) 21:44:18 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:44:18 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:18 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:44:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:18 - article_server - INFO - [SQL语句] SELECT id, article_id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ORDER BY article_id, sort_order ASC, created_at ASC 21:44:18 - article_server - INFO - [SQL参数] [57, 58, 59, 54, 55, 56, 51, 52, 53, 48] 21:44:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:18 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published' 21:44:18 - article_server - INFO - [SQL参数] (1,) 21:44:18 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:44:18 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:44:18 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:44:18 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 40, 可发: 0, 已发: 0, IP: 104.244.91.212 21:44:18 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200 21:44:18 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:44:18 - article_server - INFO - [SQL语句] SELECT id, article_id, coze_tag, created_at FROM ai_article_tags WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 21:44:18 - article_server - INFO - [SQL参数] [57, 58, 59, 54, 55, 56, 51, 52, 53, 48] 21:44:18 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:44:18 - article_server - INFO - [获取文章列表] 查询成功, 总数: 40, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212 21:44:18 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200 21:45:10 - article_server - INFO - [API访问] GET /api/statistics/records - 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:45:10 - article_server - INFO - [API访问] GET /api/statistics/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:45:10 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:10 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:10 - 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:45:10 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:10 - article_server - INFO - [API访问] GET /api/products/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:45:10 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:10 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 21:45:10 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:45:10 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=100, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 21:45:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:10 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_article_published_records r WHERE r.enterprise_id = %s 21:45:10 - article_server - INFO - [SQL参数] [1] 21:45:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:10 - 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:45:10 - article_server - INFO - [SQL参数] [1] 21:45:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:10 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_article_published_records WHERE enterprise_id = %s 21:45:10 - article_server - INFO - [SQL参数] (1,) 21:45:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:10 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 21:45:10 - article_server - INFO - [SQL参数] [1] 21:45:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 21:45:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}] 21:45:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 21:45:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 21:45:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:10 - article_server - INFO - [SQL语句] SELECT r.id, r.publish_time, r.created_user_id, r.product_id, r.article_id, r.publish_link, r.topic, u.real_name as employee_name, p.name as product_name, a.title 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 LEFT JOIN ai_articles a ON r.article_id = a.id WHERE r.enterprise_id = %s ORDER BY r.publish_time DESC LIMIT %s OFFSET %s 21:45:10 - article_server - INFO - [SQL参数] [1, 100, 0] 21:45:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:10 - 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:45:10 - article_server - INFO - [SQL参数] [1, 100, 0] 21:45:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:10 - article_server - INFO - [SQL语句] SELECT COUNT(*) as today_count FROM ai_article_published_records WHERE enterprise_id = %s AND DATE(publish_time) = CURDATE() 21:45:10 - article_server - INFO - [SQL参数] (1,) 21:45:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:10 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 21:45:10 - article_server - INFO - [SQL参数] [1, 100, 0] 21:45:10 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:45:10 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:45:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:10 - article_server - INFO - [SQL数据] 查询结果: [{'today_count': 0}] 21:45:10 - article_server - INFO - 获取发布记录列表成功,总数: 4 21:45:10 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:45:10 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 28, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:45:10 - article_server - INFO - [API响应] GET /api/statistics/records - IP: 104.244.91.212 - 状态码: 200 21:45:10 - article_server - INFO - 获取员工列表成功,总数: 6 21:45:10 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200 21:45:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:10 - article_server - INFO - [SQL语句] SELECT COUNT(*) as week_count FROM ai_article_published_records WHERE enterprise_id = %s AND YEARWEEK(publish_time, 1) = YEARWEEK(CURDATE(), 1) 21:45:10 - article_server - INFO - [SQL参数] (1,) 21:45:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:10 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:45:10 - article_server - INFO - [SQL参数] (25,) 21:45:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:10 - article_server - INFO - [SQL数据] 查询结果: [{'week_count': 4}] 21:45:10 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:45:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:10 - article_server - INFO - [SQL语句] SELECT COUNT(*) as month_count FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(CURDATE()) AND MONTH(publish_time) = MONTH(CURDATE()) 21:45:10 - article_server - INFO - [SQL参数] (1,) 21:45:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:10 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:45:10 - article_server - INFO - [SQL参数] (13,) 21:45:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:10 - article_server - INFO - [SQL数据] 查询结果: [{'month_count': 4}] 21:45:10 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:45:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:11 - article_server - INFO - [SQL语句] SELECT COUNT(DISTINCT created_user_id) as employee_count FROM ai_article_published_records WHERE enterprise_id = %s 21:45:11 - article_server - INFO - [SQL参数] (1,) 21:45:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:11 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:45:11 - article_server - INFO - [SQL参数] (1,) 21:45:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:11 - article_server - INFO - [SQL数据] 查询结果: [{'employee_count': 2}] 21:45:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:11 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 21:45:11 - article_server - INFO - 获取统计概览成功 21:45:11 - article_server - INFO - [API响应] GET /api/statistics/overview - IP: 104.244.91.212 - 状态码: 200 21:45:11 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 100, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:45:11 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 21:45:11 - article_server - INFO - [API访问] GET /api/prompts/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:45:11 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:11 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212 21:45:11 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:45:11 - article_server - INFO - [API访问] GET /api/prompts/tags/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:45:11 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:11 - article_server - INFO - [获取标签列表] 开始处理请求, IP: 104.244.91.212 21:45:11 - article_server - INFO - [获取标签列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:45:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:11 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s 21:45:11 - article_server - INFO - [SQL参数] [1] 21:45:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:11 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s 21:45:11 - article_server - INFO - [SQL参数] (1,) 21:45:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:11 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:45:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:11 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:45:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:11 - article_server - INFO - [SQL语句] SELECT id, tag_name, created_user_id, created_at, updated_at FROM ai_prompt_tags WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:45:11 - article_server - INFO - [SQL参数] [1, 100, 0] 21:45:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:11 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, workflow_id, content, usage_count, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:45:11 - article_server - INFO - [SQL参数] (1, 10, 0) 21:45:11 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:45:11 - article_server - INFO - [SQL数据] 查询结果: [{'id': 15, 'tag_name': '基础提示词', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}, {'id': 14, 'tag_name': '去重', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}] 21:45:11 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:45:11 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'workflow_id': '7576997068138659846', 'content': '你是一个健康类自媒体的编辑,每天需要撰写健康类内容。我将要给你一个topic,这个topic是一个问句。请你先产生一个段落的回复,然后再段展开回复。每个段落都需要用一个emoji开头。最后,请生成tag。段落与段落之间空一行,保证可读性。\n详细要求如下:\n一、核心要求:\n1.\t目标受众: 普通大众,非专业人士。务必:\n¡\t避免使用专业术语和书面化表达\n¡\t内容安全限制:\n\uf06e\t❌ 禁止提及任何人体私密部位或敏感功能\n\uf06e\t❌ 禁用可能引发恐慌的词汇(如"危险""致命")\n2.\t内容核心: 围绕“主题”,聚焦病症、问题、危害或困扰, 解释原因、原理,介绍症状、类型,提供积极、实用的解决方案、改善建议或注意事项等有价值的内容均可。\n3.\t唯一性与实用性: 生成的内容需确保信息准确(基于常识)且每次生成的内容不应与历史输出重复(针对同一主题多次生成时)。\n二、内容结构及具体要求:\n\uf06c\t【首段提问】 (title):\n¡\t对应内容为{{title}}\n\n\uf06c\t【次段简答】 (short-answer):\n¡\t字数: 60-120字。 \n **内容要求**:\n 1. 第一句话必须直接回答{{title}}的提问,可以拓展1-2句话\n 2. 直接明晰,不要太笼统,禁止罗里吧嗦\n 3. 段前不要emoji表情符号\n \n **✅ 合格示例**:\n 发现HPV16或18阳性,这通常意味着宫颈癌筛查结果显示存在感染。接下来一般会建议做阴道镜检查,再根据检查的具体情况决定治疗方案。\n\n **❌ 不合格示例**:\n • 使用emoji开头\n • 没有直接回答问题\n • 过于笼统泛泛而谈 \n\n\uf06c\t【分段细答】 (contents):\n¡\t数量要求:2-3段。\n¡\t字数要求: 60~100字/段。\n¡\t核心要求:\n\uf06e\t语言口语化、自然流畅。\n\uf06e\t段落内容必须围绕核心观点展开,根据不同情况分类详细阐述问题,可以是具体可行的建议(吃什么、做什么、注意什么等),疾病的科普(主要症状、影响、诱因等),或者其它逻辑合理的内容也可以。\n\uf06e\t内容有一定的逻辑,包括但不限于(首先、其次、最后),(第一,第二,第三),(不仅、而且、还有),(初级、中级、高级)。\n\uf06e\t每段内容均衡,不超过五句话,确保信息全面且易于消化。\n\uf06e\t分段细答部分应当是次段简答部分的延伸,但用词不能和次段简答部分有太多重复,请保持多样性。\n\uf06e\t 在生成回答前,必须执行以下创造性流程:\n\t\t结构性禁令(排除法):行文结构不得是“定义→成因→症状→治疗”或“是什么→为什么→怎么办”及其任何变体。\n\t\t动态自我审视(核心步骤):\n\t\t回顾:主动审视历史内容中,针对相同或相似主题已使用过的所有核心阐述逻辑。\n\t\t规避:明确禁止重复或小幅修改上述任何逻辑。\n\t\t创新:基于当前问题的具体内涵,生成一个在本质上全新的、服务于核心问题的最佳解释路径。该路径必须与所有已回顾的逻辑存在根本性差异。\n\t\t输出确认:最终采用的逻辑结构,应是本次对话上下文中一次独特的、未经使用的创造性表达形式。\n\n\uf06c\t【标签】 (tags):\n¡\t**单个关键词字数:4-8个字。\n¡\t内容:* (1)根据正文内容,生成5个内容强相关tag; (2)标签格式:每个关键词前后都有# (例: #养生小知识# #中医养生##习惯养成# #健康养生#)\n三、变量输入:\n\uf06c\t主题: {{title}}\n四、最终安全规则:\n4.\t全篇禁止出现人体私密部位描述\n5.\t关键安全信息重复出现≥2次\n6.\t每句话≤20字,复合句用逗号分隔\n7、不能出现 "下面就给大家仔细说说",“下面具体讲讲”,话术\n', 'usage_count': 29, 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'workflow_id': 'WF-001', 'content': '你是一个小红书种草达人,请根据产品信息写一篇真实、有感染力的种草笔记...', 'usage_count': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:45:11 - article_server - INFO - [获取标签列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 21:45:11 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 104.244.91.212 - 状态码: 200 21:45:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:11 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 21:45:11 - article_server - INFO - [SQL参数] (25,) 21:45:11 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:45:11 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}] 21:45:11 - article_server - INFO - [API访问] GET /api/statistics/by-product - 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:45:11 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:11 - article_server - INFO - [SQL语句] SELECT r.product_id, p.name as product_name, COUNT(*) as count, ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE r.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 count DESC 21:45:11 - article_server - INFO - [SQL参数] [1, 1] 21:45:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:11 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 21:45:11 - article_server - INFO - [SQL参数] (1,) 21:45:11 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:45:11 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:45:11 - article_server - INFO - 按产品统计成功 21:45:11 - article_server - INFO - [API响应] GET /api/statistics/by-product - IP: 104.244.91.212 - 状态码: 200 21:45:11 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 21:45:11 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200 21:45:11 - article_server - INFO - [API访问] GET /api/images/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:45:11 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:11 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_images WHERE enterprise_id = %s AND status = %s 21:45:11 - article_server - INFO - [SQL参数] [1, 'active'] 21:45:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:11 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 21:45:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:11 - article_server - INFO - [SQL语句] SELECT id, product_id, product_name, image_name, image_url, image_thumb_url, thumbnail_url, image_type_id, image_type_name, department, keywords, size_type, file_size, width, height, status, created_at, updated_at FROM ai_images WHERE enterprise_id = %s AND status = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:45:11 - article_server - INFO - [SQL参数] [1, 'active', 10, 0] 21:45:11 - article_server - INFO - [SQL结果] 查询完成,返回 8 条记录 21:45:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:45:11 - article_server - INFO - [SQL参数] [31, 1] 21:45:11 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:45:11 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:45:11 - article_server - INFO - [API访问] GET /api/products/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:45:11 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:11 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 21:45:11 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:45:11 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=100, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 21:45:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:45:11 - article_server - INFO - [SQL参数] [30, 1] 21:45:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:11 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 21:45:11 - article_server - INFO - [SQL参数] [1] 21:45:11 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:45:11 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:45:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:11 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 21:45:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:45:11 - article_server - INFO - [SQL参数] [29, 1] 21:45:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:11 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 21:45:11 - article_server - INFO - [SQL参数] [1, 100, 0] 21:45:11 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:45:11 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:45:12 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 28, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:45:12 - article_server - INFO - [SQL参数] [28, 1] 21:45:12 - article_server - INFO - [API访问] GET /api/images/types/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:45:12 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:12 - article_server - INFO - [获取图片类型列表] current_user: {'user_id': 10, 'username': '13621242430', 'role': 'enterprise', 'enterprise_id': 1, 'exp': 1766411012, 'iat': 1766324612}, enterprise_id: 1 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:45:12 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:45:12 - article_server - INFO - [SQL参数] (25,) 21:45:12 - article_server - INFO - [API访问] GET /api/images/list_dashboard - 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:45:12 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_image_type WHERE enterprise_id = %s 21:45:12 - article_server - INFO - [SQL参数] [1] 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' 21:45:12 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:45:12 - article_server - INFO - [SQL参数] [1] 21:45:12 - article_server - INFO - [SQL参数] [27, 1] 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 10}] 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:45:12 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:45:12 - article_server - INFO - [SQL参数] (13,) 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, type_name, keywords_id, keywords_name, department_id, department_name, created_user_id, created_at, updated_at FROM ai_image_type WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:45:12 - article_server - INFO - [SQL参数] [1, 100, 0] 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:45:12 - article_server - INFO - [SQL参数] [26, 1] 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND product_id > 0 21:45:12 - article_server - INFO - [SQL参数] [1] 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 21:45:12 - article_server - INFO - [API响应] GET /api/images/types/list - IP: 104.244.91.212 - 状态码: 200 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:45:12 - article_server - INFO - [SQL参数] (1,) 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:45:12 - article_server - INFO - [SQL参数] [25, 1] 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:12 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:45:12 - article_server - INFO - [SQL语句] SELECT COUNT(DISTINCT product_id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND product_id > 0 21:45:12 - article_server - INFO - [SQL参数] [1] 21:45:12 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 100, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:45:12 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:45:12 - article_server - INFO - [SQL参数] [24, 1] 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:45:12 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 3, 'tag_name': '产品(4)'}, {'tag_id': 4, 'tag_name': '产品(4)3'}] 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND image_type_name LIKE %s 21:45:12 - article_server - INFO - [SQL参数] [1, '%场景%'] 21:45:12 - article_server - INFO - 获取图片列表成功,总数: 8 21:45:12 - article_server - INFO - [API响应] GET /api/images/list - IP: 104.244.91.212 - 状态码: 200 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:45:12 - article_server - INFO - 获取图片库仪表盘数据成功,企业ID: 1 21:45:12 - article_server - INFO - [API响应] GET /api/images/list_dashboard - IP: 104.244.91.212 - 状态码: 200 21:45:12 - article_server - INFO - [API访问] GET /api/statistics/employee-rank - 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:45:12 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT r.created_user_id as employee_id, u.real_name as employee_name, COUNT(*) as count, ROW_NUMBER() OVER (ORDER BY COUNT(*) DESC) as `rank` FROM ai_article_published_records r LEFT JOIN ai_users u ON r.created_user_id = u.id WHERE r.enterprise_id = %s GROUP BY r.created_user_id, u.real_name ORDER BY count DESC LIMIT %s 21:45:12 - article_server - INFO - [SQL参数] [1, 5] 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:45:12 - article_server - INFO - [SQL数据] 查询结果: [{'employee_id': 18, 'employee_name': '测试员工API', 'count': 3, 'rank': 1}, {'employee_id': 0, 'employee_name': None, 'count': 1, 'rank': 2}] 21:45:12 - article_server - INFO - 获取员工排行成功 21:45:12 - article_server - INFO - [API响应] GET /api/statistics/employee-rank - IP: 104.244.91.212 - 状态码: 200 21:45:12 - article_server - INFO - [API访问] GET /api/products/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:45:12 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:12 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 21:45:12 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:45:12 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=12, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 21:45:12 - article_server - INFO - [SQL参数] [1] 21:45:12 - article_server - INFO - [API访问] GET /api/products/types/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:45:12 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:12 - article_server - INFO - [获取企业产品类型列表] 开始处理请求, IP: 104.244.91.212 21:45:12 - article_server - INFO - [获取企业产品类型列表] 企业ID: 1, IP: 104.244.91.212 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_product_types WHERE enterprise_id = %s 21:45:12 - article_server - INFO - [SQL参数] [1] 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 21:45:12 - article_server - INFO - [SQL参数] [1, 12, 0] 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:45:12 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 28, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT id, type_name, enterprise_id, product_id, created_at FROM ai_product_types WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:45:12 - article_server - INFO - [SQL参数] [1, 100, 0] 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:45:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:12 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:45:12 - article_server - INFO - [SQL参数] (25,) 21:45:12 - article_server - INFO - [获取企业产品类型列表] 查询成功, 企业ID: 1, 总数: 0, 返回: 0, IP: 104.244.91.212 21:45:12 - article_server - INFO - [API响应] GET /api/products/types/list - IP: 104.244.91.212 - 状态码: 200 21:45:12 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:45:13 - 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:45:13 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:13 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:13 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:45:13 - article_server - INFO - [SQL参数] (13,) 21:45:13 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:13 - 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:45:13 - article_server - INFO - [SQL参数] [1] 21:45:13 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:45:13 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:13 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}] 21:45:13 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:13 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:45:13 - article_server - INFO - [SQL参数] (1,) 21:45:13 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:13 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 21:45:13 - 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:45:13 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:13 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 12, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:45:13 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 21:45:13 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:13 - 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:45:13 - article_server - INFO - [SQL参数] [1, 10, 0] 21:45:13 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:13 - 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:45:13 - article_server - INFO - [SQL参数] (1,) 21:45:13 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:45:13 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:13 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 6, 'active_count': Decimal('6'), 'bound_xhs_count': Decimal('3')}] 21:45:13 - article_server - INFO - 获取员工统计成功 21:45:13 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200 21:45:13 - article_server - INFO - 获取员工列表成功,总数: 6 21:45:13 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200 21:45:13 - 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:45:13 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:13 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:13 - 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:45:13 - article_server - INFO - [SQL参数] (1,) 21:45:13 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:13 - 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:45:13 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:13 - 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:45:13 - article_server - INFO - [SQL参数] (1,) 21:45:13 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:13 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:45:13 - article_server - INFO - 获取企业信息成功(含密码): ID 1 21:45:13 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200 21:45: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:45:14 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:14 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:45:14 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:45:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:14 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:45:14 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:14 - article_server - INFO - [SQL数据] 查询结果: [{'total': 5}] 21:45:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:14 - 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:45:14 - article_server - INFO - [SQL参数] [10, 0] 21:45:14 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录 21:45:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:14 - 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:45:14 - article_server - INFO - [SQL参数] (15,) 21:45:14 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:45:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:14 - 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:45:14 - article_server - INFO - [SQL参数] (14,) 21:45:14 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:14 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242434'}] 21:45:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:14 - 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:45:14 - article_server - INFO - [SQL参数] (1,) 21:45:14 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:14 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:45:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:14 - 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:45:14 - article_server - INFO - [SQL参数] (7,) 21:45:14 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:45:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:14 - 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:45:14 - article_server - INFO - [SQL参数] (8,) 21:45:14 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:45:14 - article_server - INFO - [获取企业列表] 查询成功, 总数: 5, 当前页: 1, 每页: 10, 返回数量: 5, IP: 104.244.91.212 21:45:14 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:45:14 - 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:45:14 - 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:45:14 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:14 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:14 - 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:45:14 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:14 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 21:45:14 - article_server - INFO - [SQL参数] (1,) 21:45:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:14 - 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:45:14 - article_server - INFO - [SQL参数] (1, 1, 4) 21:45:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:14 - 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:45:14 - article_server - INFO - [SQL参数] (1, 5) 21:45:14 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:14 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 3, 'products_total': 0, 'articles_total': 40, 'published_total': 0}] 21:45:14 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:45:14 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:45:14 - article_server - INFO - 获取热门产品成功 21:45:14 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 21:45:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:14 - 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:45:14 - article_server - INFO - [SQL参数] (1,) 21:45:14 - article_server - INFO - 获取最近发布成功 21:45:14 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 21:45:14 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:14 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 21:45:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:15 - 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:45:15 - article_server - INFO - [SQL参数] (1,) 21:45:15 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:15 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 21:45:15 - article_server - INFO - 获取工作台概览成功 21:45:15 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 21:45:15 - 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:45:15 - article_server - INFO - [Token验证成功] 用户ID: 10 21:45:15 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:45:15 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:45:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:15 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:45:15 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:15 - article_server - INFO - [SQL数据] 查询结果: [{'total': 5}] 21:45:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:15 - 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:45:15 - article_server - INFO - [SQL参数] [10, 0] 21:45:15 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录 21:45:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:15 - 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:45:15 - article_server - INFO - [SQL参数] (15,) 21:45:15 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:45:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:15 - 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:45:15 - article_server - INFO - [SQL参数] (14,) 21:45:15 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:15 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242434'}] 21:45:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:15 - 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:45:15 - article_server - INFO - [SQL参数] (1,) 21:45:15 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:45:15 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:45:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45:15 - 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:45:15 - article_server - INFO - [SQL参数] (7,) 21:45:16 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:45:16 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:45: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:45:16 - article_server - INFO - [SQL参数] (8,) 21:45:16 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:45:16 - article_server - INFO - [获取企业列表] 查询成功, 总数: 5, 当前页: 1, 每页: 10, 返回数量: 5, IP: 104.244.91.212 21:45:16 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:48:01 - 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:48:01 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:01 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 21:48:01 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 21:48:01 - 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:48:01 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:01 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:48:01 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:48:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:01 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 21:48:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:01 - 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:48:01 - article_server - INFO - [SQL参数] (10,) 21:48:01 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:01 - article_server - INFO - [SQL数据] 查询结果: [{'total': 5}] 21:48:01 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:01 - 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:48:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:01 - 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:48:01 - article_server - INFO - [SQL参数] [10, 0] 21:48:01 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:48:01 - 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:48:01 - 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:48:01 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录 21:48:01 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66338 21:48:01 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66338 21:48:01 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:48:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:01 - 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:48:01 - article_server - INFO - [SQL参数] (15,) 21:48:01 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:48:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:01 - 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:48:01 - article_server - INFO - [SQL参数] (14,) 21:48:01 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:01 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242434'}] 21:48:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:01 - 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:48:01 - article_server - INFO - [SQL参数] (1,) 21:48:01 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:01 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:48:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:01 - 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:48:01 - article_server - INFO - [SQL参数] (7,) 21:48:01 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:48:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:01 - 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:48:01 - article_server - INFO - [SQL参数] (8,) 21:48:01 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:48:01 - article_server - INFO - [获取企业列表] 查询成功, 总数: 5, 当前页: 1, 每页: 10, 返回数量: 5, IP: 104.244.91.212 21:48:01 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 21:48:04 - 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:48:04 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:04 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:04 - 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:48:04 - article_server - INFO - [SQL参数] (1,) 21:48:04 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:04 - 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:48:04 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:04 - 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:48:04 - article_server - INFO - [SQL参数] (1,) 21:48:04 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:04 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 21:48:04 - article_server - INFO - 获取企业信息成功(含密码): ID 1 21:48:04 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200 21:48:06 - 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:48:06 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:06 - 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:48:06 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:06 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:06 - 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:48:06 - article_server - INFO - [SQL参数] [1] 21:48:06 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:06 - 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:48:06 - article_server - INFO - [SQL参数] (1,) 21:48:06 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:06 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}] 21:48:06 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:06 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 6, 'active_count': Decimal('6'), 'bound_xhs_count': Decimal('3')}] 21:48:06 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:06 - 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:48:06 - article_server - INFO - [SQL参数] [1, 10, 0] 21:48:06 - article_server - INFO - 获取员工统计成功 21:48:06 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200 21:48:06 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:48:06 - article_server - INFO - 获取员工列表成功,总数: 6 21:48:06 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200 21:48:08 - article_server - INFO - [API访问] GET /api/products/types/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:48:08 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:08 - article_server - INFO - [API访问] GET /api/products/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:48:08 - article_server - INFO - [获取企业产品类型列表] 开始处理请求, IP: 104.244.91.212 21:48:08 - article_server - INFO - [获取企业产品类型列表] 企业ID: 1, IP: 104.244.91.212 21:48:08 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:08 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 21:48:08 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:48:08 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=12, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 21:48:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:08 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_product_types WHERE enterprise_id = %s 21:48:08 - article_server - INFO - [SQL参数] [1] 21:48:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:08 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 21:48:08 - article_server - INFO - [SQL参数] [1] 21:48:08 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:08 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:48:08 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:08 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 21:48:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:08 - article_server - INFO - [SQL语句] SELECT id, type_name, enterprise_id, product_id, created_at FROM ai_product_types WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:48:08 - article_server - INFO - [SQL参数] [1, 100, 0] 21:48:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:08 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 21:48:08 - article_server - INFO - [SQL参数] [1, 12, 0] 21:48:08 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:48:08 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:48:08 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 28, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:48:08 - article_server - INFO - [获取企业产品类型列表] 查询成功, 企业ID: 1, 总数: 0, 返回: 0, IP: 104.244.91.212 21:48:08 - article_server - INFO - [API响应] GET /api/products/types/list - IP: 104.244.91.212 - 状态码: 200 21:48:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:08 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:48:08 - article_server - INFO - [SQL参数] (25,) 21:48:08 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:48:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:08 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:48:08 - article_server - INFO - [SQL参数] (13,) 21:48:08 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:48:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:08 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:48:08 - article_server - INFO - [SQL参数] (1,) 21:48:08 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:08 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 21:48:08 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 12, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:48:08 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 21:48:11 - article_server - INFO - [API访问] GET /api/images/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:48:11 - article_server - INFO - [API访问] GET /api/products/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:48:11 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:11 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:11 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 21:48:11 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:48:11 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=100, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 21:48:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:11 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 21:48:11 - article_server - INFO - [SQL参数] [1] 21:48:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:11 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_images WHERE enterprise_id = %s AND status = %s 21:48:11 - article_server - INFO - [SQL参数] [1, 'active'] 21:48:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:11 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 21:48:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:11 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 21:48:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:11 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 21:48:11 - article_server - INFO - [SQL参数] [1, 100, 0] 21:48:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:11 - article_server - INFO - [SQL语句] SELECT id, product_id, product_name, image_name, image_url, image_thumb_url, thumbnail_url, image_type_id, image_type_name, department, keywords, size_type, file_size, width, height, status, created_at, updated_at FROM ai_images WHERE enterprise_id = %s AND status = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:48:11 - article_server - INFO - [SQL参数] [1, 'active', 10, 0] 21:48:11 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:48:11 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 28, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:48:11 - article_server - INFO - [SQL结果] 查询完成,返回 8 条记录 21:48:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:11 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:48:11 - article_server - INFO - [SQL参数] (25,) 21:48:11 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:48:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:48:11 - article_server - INFO - [SQL参数] [31, 1] 21:48:11 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:48:11 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:48:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:11 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:48:11 - article_server - INFO - [SQL参数] (13,) 21:48:11 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:48:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:48:11 - article_server - INFO - [SQL参数] [30, 1] 21:48:11 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:48:11 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:48:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:11 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 21:48:11 - article_server - INFO - [SQL参数] (1,) 21:48:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:11 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 21:48:11 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 100, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:48:11 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 21:48:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:48:11 - article_server - INFO - [SQL参数] [29, 1] 21:48:11 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:48:11 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:48:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:48:11 - article_server - INFO - [SQL参数] [28, 1] 21:48:11 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:48:11 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:48:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:48:11 - article_server - INFO - [SQL参数] [27, 1] 21:48:11 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:48:11 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 21:48:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:48:11 - article_server - INFO - [SQL参数] [26, 1] 21:48:11 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:48:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:48:11 - article_server - INFO - [SQL参数] [25, 1] 21:48:11 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 21:48:11 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:11 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 21:48:11 - article_server - INFO - [SQL参数] [24, 1] 21:48:11 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:48:11 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 3, 'tag_name': '产品(4)'}, {'tag_id': 4, 'tag_name': '产品(4)3'}] 21:48:11 - article_server - INFO - 获取图片列表成功,总数: 8 21:48:11 - article_server - INFO - [API响应] GET /api/images/list - IP: 104.244.91.212 - 状态码: 200 21:48:12 - article_server - INFO - [API访问] GET /api/images/types/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:48:12 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:12 - article_server - INFO - [获取图片类型列表] current_user: {'user_id': 10, 'username': '13621242430', 'role': 'enterprise', 'enterprise_id': 1, 'exp': 1766411012, 'iat': 1766324612}, enterprise_id: 1 21:48:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:12 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_image_type WHERE enterprise_id = %s 21:48:12 - article_server - INFO - [SQL参数] [1] 21:48:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 10}] 21:48:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:12 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, type_name, keywords_id, keywords_name, department_id, department_name, created_user_id, created_at, updated_at FROM ai_image_type WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:48:12 - article_server - INFO - [SQL参数] [1, 100, 0] 21:48:12 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:48:12 - article_server - INFO - [API响应] GET /api/images/types/list - IP: 104.244.91.212 - 状态码: 200 21:48:12 - article_server - INFO - [API访问] GET /api/images/list_dashboard - 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:48:12 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:12 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' 21:48:12 - article_server - INFO - [SQL参数] [1] 21:48:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 21:48:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:12 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND product_id > 0 21:48:12 - article_server - INFO - [SQL参数] [1] 21:48:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 21:48:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:12 - article_server - INFO - [SQL语句] SELECT COUNT(DISTINCT product_id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND product_id > 0 21:48:12 - article_server - INFO - [SQL参数] [1] 21:48:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:48:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:12 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND image_type_name LIKE %s 21:48:12 - article_server - INFO - [SQL参数] [1, '%场景%'] 21:48:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:48:12 - article_server - INFO - 获取图片库仪表盘数据成功,企业ID: 1 21:48:12 - article_server - INFO - [API响应] GET /api/images/list_dashboard - IP: 104.244.91.212 - 状态码: 200 21:48:14 - article_server - INFO - [API访问] GET /api/prompts/tags/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:48:14 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:14 - article_server - INFO - [获取标签列表] 开始处理请求, IP: 104.244.91.212 21:48:14 - article_server - INFO - [API访问] GET /api/prompts/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:48:14 - article_server - INFO - [获取标签列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:48:14 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:14 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212 21:48:14 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:48:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:14 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s 21:48:14 - article_server - INFO - [SQL参数] [1] 21:48:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:14 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s 21:48:14 - article_server - INFO - [SQL参数] (1,) 21:48:14 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:14 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:48:14 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:14 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 21:48:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:14 - article_server - INFO - [SQL语句] SELECT id, tag_name, created_user_id, created_at, updated_at FROM ai_prompt_tags WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:48:14 - article_server - INFO - [SQL参数] [1, 100, 0] 21:48:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:14 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, workflow_id, content, usage_count, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:48:14 - article_server - INFO - [SQL参数] (1, 10, 0) 21:48:14 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:48:14 - article_server - INFO - [SQL数据] 查询结果: [{'id': 15, 'tag_name': '基础提示词', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}, {'id': 14, 'tag_name': '去重', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}] 21:48:14 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:48:14 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'workflow_id': '7576997068138659846', 'content': '你是一个健康类自媒体的编辑,每天需要撰写健康类内容。我将要给你一个topic,这个topic是一个问句。请你先产生一个段落的回复,然后再段展开回复。每个段落都需要用一个emoji开头。最后,请生成tag。段落与段落之间空一行,保证可读性。\n详细要求如下:\n一、核心要求:\n1.\t目标受众: 普通大众,非专业人士。务必:\n¡\t避免使用专业术语和书面化表达\n¡\t内容安全限制:\n\uf06e\t❌ 禁止提及任何人体私密部位或敏感功能\n\uf06e\t❌ 禁用可能引发恐慌的词汇(如"危险""致命")\n2.\t内容核心: 围绕“主题”,聚焦病症、问题、危害或困扰, 解释原因、原理,介绍症状、类型,提供积极、实用的解决方案、改善建议或注意事项等有价值的内容均可。\n3.\t唯一性与实用性: 生成的内容需确保信息准确(基于常识)且每次生成的内容不应与历史输出重复(针对同一主题多次生成时)。\n二、内容结构及具体要求:\n\uf06c\t【首段提问】 (title):\n¡\t对应内容为{{title}}\n\n\uf06c\t【次段简答】 (short-answer):\n¡\t字数: 60-120字。 \n **内容要求**:\n 1. 第一句话必须直接回答{{title}}的提问,可以拓展1-2句话\n 2. 直接明晰,不要太笼统,禁止罗里吧嗦\n 3. 段前不要emoji表情符号\n \n **✅ 合格示例**:\n 发现HPV16或18阳性,这通常意味着宫颈癌筛查结果显示存在感染。接下来一般会建议做阴道镜检查,再根据检查的具体情况决定治疗方案。\n\n **❌ 不合格示例**:\n • 使用emoji开头\n • 没有直接回答问题\n • 过于笼统泛泛而谈 \n\n\uf06c\t【分段细答】 (contents):\n¡\t数量要求:2-3段。\n¡\t字数要求: 60~100字/段。\n¡\t核心要求:\n\uf06e\t语言口语化、自然流畅。\n\uf06e\t段落内容必须围绕核心观点展开,根据不同情况分类详细阐述问题,可以是具体可行的建议(吃什么、做什么、注意什么等),疾病的科普(主要症状、影响、诱因等),或者其它逻辑合理的内容也可以。\n\uf06e\t内容有一定的逻辑,包括但不限于(首先、其次、最后),(第一,第二,第三),(不仅、而且、还有),(初级、中级、高级)。\n\uf06e\t每段内容均衡,不超过五句话,确保信息全面且易于消化。\n\uf06e\t分段细答部分应当是次段简答部分的延伸,但用词不能和次段简答部分有太多重复,请保持多样性。\n\uf06e\t 在生成回答前,必须执行以下创造性流程:\n\t\t结构性禁令(排除法):行文结构不得是“定义→成因→症状→治疗”或“是什么→为什么→怎么办”及其任何变体。\n\t\t动态自我审视(核心步骤):\n\t\t回顾:主动审视历史内容中,针对相同或相似主题已使用过的所有核心阐述逻辑。\n\t\t规避:明确禁止重复或小幅修改上述任何逻辑。\n\t\t创新:基于当前问题的具体内涵,生成一个在本质上全新的、服务于核心问题的最佳解释路径。该路径必须与所有已回顾的逻辑存在根本性差异。\n\t\t输出确认:最终采用的逻辑结构,应是本次对话上下文中一次独特的、未经使用的创造性表达形式。\n\n\uf06c\t【标签】 (tags):\n¡\t**单个关键词字数:4-8个字。\n¡\t内容:* (1)根据正文内容,生成5个内容强相关tag; (2)标签格式:每个关键词前后都有# (例: #养生小知识# #中医养生##习惯养成# #健康养生#)\n三、变量输入:\n\uf06c\t主题: {{title}}\n四、最终安全规则:\n4.\t全篇禁止出现人体私密部位描述\n5.\t关键安全信息重复出现≥2次\n6.\t每句话≤20字,复合句用逗号分隔\n7、不能出现 "下面就给大家仔细说说",“下面具体讲讲”,话术\n', 'usage_count': 29, 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'workflow_id': 'WF-001', 'content': '你是一个小红书种草达人,请根据产品信息写一篇真实、有感染力的种草笔记...', 'usage_count': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:48:14 - article_server - INFO - [获取标签列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 21:48:14 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 104.244.91.212 - 状态码: 200 21:48:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:14 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 21:48:14 - article_server - INFO - [SQL参数] (25,) 21:48:14 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:48:14 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}] 21:48:14 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:14 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 21:48:14 - article_server - INFO - [SQL参数] (1,) 21:48:14 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:48:14 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 21:48:14 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200 21:48:17 - article_server - INFO - [API访问] GET /api/products/list_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:48:17 - article_server - INFO - [API访问] GET /api/articles/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:48:17 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:17 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:17 - article_server - INFO - [获取产品列表简化版] 开始处理请求, IP: 104.244.91.212 21:48:17 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212 21:48:17 - article_server - INFO - [获取产品列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:48:17 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:48:17 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212 21:48:17 - article_server - INFO - [API访问] GET /api/prompts/list_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:48:17 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:17 - article_server - INFO - [获取提示词列表简化版] 开始处理请求, IP: 104.244.91.212 21:48:17 - article_server - INFO - [API访问] GET /api/articles/list_dashboard - 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:48:17 - article_server - INFO - [获取提示词列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:48:17 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:17 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212 21:48:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:17 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_articles WHERE enterprise_id = %s 21:48:17 - article_server - INFO - [SQL参数] [1] 21:48:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:17 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s 21:48:17 - article_server - INFO - [SQL参数] (1,) 21:48:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:17 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC 21:48:17 - article_server - INFO - [SQL参数] (1,) 21:48:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:17 - article_server - INFO - [SQL语句] SELECT id, name, status, created_at, updated_at FROM ai_products WHERE enterprise_id = %s AND status IN ('draft', 'active') ORDER BY created_at DESC 21:48:17 - article_server - INFO - [SQL参数] (1,) 21:48:17 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:17 - article_server - INFO - [SQL数据] 查询结果: [{'total': 40}] 21:48:17 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:17 - article_server - INFO - [SQL数据] 查询结果: [{'total': 40}] 21:48:17 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:48:17 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:48:17 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:48:17 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}, {'id': 13, 'name': '测试产品', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:48:17 - article_server - INFO - [获取提示词列表简化版] 查询成功, 返回数量: 2, 企业ID: 1, IP: 104.244.91.212 21:48:17 - article_server - INFO - [API响应] GET /api/prompts/list_info - IP: 104.244.91.212 - 状态码: 200 21:48:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:17 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published_review' 21:48:17 - article_server - INFO - [SQL参数] (1,) 21:48:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:17 - article_server - INFO - [SQL语句] SELECT id, batch_id, enterprise_id, product_id, product_name, topic_type_id, prompt_workflow_id, prompt_workflow_name, topic, title, context_summary, department, departmentids, author_id, author_name, department_id, department_name, created_user_id, review_user_id, publish_user_id, status, channel, review_comment, publish_time, publish_link, baijiahao_id, baijiahao_status, word_count, image_count, coze_tag, created_at, updated_at, product_name as product_name, prompt_workflow_name as prompt_name FROM ai_articles WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:48:17 - article_server - INFO - [SQL参数] [1, 10, 0] 21:48:17 - article_server - INFO - [获取产品列表简化版] 查询成功, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:48:17 - article_server - INFO - [API响应] GET /api/products/list_info - IP: 104.244.91.212 - 状态码: 200 21:48:17 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:17 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:48:17 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:48:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:17 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published' 21:48:17 - article_server - INFO - [SQL参数] (1,) 21:48:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:17 - article_server - INFO - [SQL语句] SELECT id, article_id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ORDER BY article_id, sort_order ASC, created_at ASC 21:48:17 - article_server - INFO - [SQL参数] [57, 58, 59, 54, 55, 56, 51, 52, 53, 48] 21:48:17 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:17 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:48:17 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:48:17 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 40, 可发: 0, 已发: 0, IP: 104.244.91.212 21:48:17 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200 21:48:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:17 - article_server - INFO - [SQL语句] SELECT id, article_id, coze_tag, created_at FROM ai_article_tags WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 21:48:17 - article_server - INFO - [SQL参数] [57, 58, 59, 54, 55, 56, 51, 52, 53, 48] 21:48:17 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:48:17 - article_server - INFO - [获取文章列表] 查询成功, 总数: 40, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212 21:48:17 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200 21:48:24 - article_server - INFO - [API访问] GET /api/articles/57 - 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:48:24 - article_server - INFO - [Token验证成功] 用户ID: 10 21:48:24 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:24 - article_server - INFO - [SQL语句] SELECT a.id, a.batch_id, a.enterprise_id, a.product_id, a.topic_type_id, a.prompt_workflow_id, a.topic, a.title, a.content, a.department, a.departmentids, a.author_id, a.author_name, a.department_id, a.department_name, a.created_user_id, a.review_user_id, a.publish_user_id, a.status, a.channel, a.review_comment, a.publish_time, a.publish_link, a.baijiahao_id, a.baijiahao_status, a.word_count, a.image_count, a.coze_tag, a.created_at, a.updated_at, p.name as product_name, pw.prompt_workflow_name as prompt_name FROM ai_articles a LEFT JOIN ai_products p ON a.product_id = p.id LEFT JOIN ai_prompt_workflow pw ON a.prompt_workflow_id = pw.id WHERE a.id = %s AND a.enterprise_id = %s 21:48:24 - article_server - INFO - [SQL参数] (57, 1) 21:48:24 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:24 - article_server - INFO - [SQL数据] 查询结果: [{'id': 57, 'batch_id': 1766303956962118, 'enterprise_id': 1, 'product_id': 25, 'topic_type_id': 0, 'prompt_workflow_id': 25, 'topic': '前列腺增生必须做手术吗', 'title': '前列腺增生必须做手术吗', 'content': '前列腺增生必须做手术吗\n\n前列腺增生不一定要做手术。症状轻的话,用药物就能控制。只有症状严重、药物没效果时,才考虑手术。\n\n😃判断是否手术,先看症状。若尿频尿急不严重,夜尿次数少,不咋影响生活,就不用急着手术。反之,症状严重,就得重视。\n\n🤔除症状外,身体状况也重要。年纪大、有其他病的人,手术风险高,得谨慎。身体好、能耐受手术的人,可考虑手术治疗。\n\n前列腺增生是否手术要综合判断,别盲目选手术,也别拖着不治。\n\n', 'department': '', 'departmentids': '', 'author_id': 0, 'author_name': '', 'department_id': 1, 'department_name': '雇员', 'created_user_id': 0, 'review_user_id': None, 'publish_user_id': 4, 'status': 'assign_authors', 'channel': 1, 'review_comment': None, 'publish_time': datetime.datetime(2025, 12, 21, 8, 32, 40), 'publish_link': '', 'baijiahao_id': None, 'baijiahao_status': None, 'word_count': 208, 'image_count': 3, 'coze_tag': '#前列腺增生# #手术选择# #症状判断# #身体状况# #治疗建议#', 'created_at': datetime.datetime(2025, 12, 21, 7, 59, 16), 'updated_at': datetime.datetime(2025, 12, 21, 13, 8, 36), 'product_name': '健康类自媒体', 'prompt_name': 'Inject基础提示词'}] 21:48:24 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:24 - article_server - INFO - [SQL语句] SELECT id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id = %s ORDER BY sort_order ASC, created_at ASC 21:48:24 - article_server - INFO - [SQL参数] (57,) 21:48:24 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:48:24 - article_server - INFO - [SQL数据] 查询结果: [{'id': 5, 'image_id': 26, 'image_url': '20251221/1766303729292188.png', 'image_thumb_url': '20251221/1766303729292188_thumb.png', 'image_tag_id': 0, 'sort_order': 1, 'keywords_id': 0, 'keywords_name': '', 'department_id': 0, 'department_name': '', 'image_source': 2, 'created_at': datetime.datetime(2025, 12, 21, 8, 32, 38)}, {'id': 6, 'image_id': 25, 'image_url': '20251221/1766303723871802.png', 'image_thumb_url': '20251221/1766303723871802_thumb.png', 'image_tag_id': 0, 'sort_order': 2, 'keywords_id': 0, 'keywords_name': '', 'department_id': 0, 'department_name': '', 'image_source': 2, 'created_at': datetime.datetime(2025, 12, 21, 8, 32, 38)}, {'id': 7, 'image_id': 31, 'image_url': '20251221/1766303882480682.png', 'image_thumb_url': '20251221/1766303882480682_thumb.png', 'image_tag_id': 0, 'sort_order': 3, 'keywords_id': 0, 'keywords_name': '', 'department_id': 0, 'department_name': '', 'image_source': 2, 'created_at': datetime.datetime(2025, 12, 21, 8, 32, 38)}] 21:48:24 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:24 - article_server - INFO - [SQL语句] SELECT id, coze_tag, created_at FROM ai_article_tags WHERE article_id = %s 21:48:24 - article_server - INFO - [SQL参数] (57,) 21:48:24 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:48:24 - article_server - INFO - [SQL数据] 查询结果: [{'id': 15, 'coze_tag': '#前列腺增生# #手术选择# #症状判断# #身体状况# #治疗建议#', 'created_at': datetime.datetime(2025, 12, 21, 8, 32, 38)}] 21:48:24 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:48:24 - article_server - INFO - [SQL语句] SELECT id, status, created_user_id, review_user_id, publish_user_id, review_comment, publish_time, publish_link, word_count, image_count, created_at FROM ai_article_published_records WHERE article_id = %s ORDER BY created_at DESC 21:48:24 - article_server - INFO - [SQL参数] (57,) 21:48:24 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:48:24 - article_server - INFO - 获取文章详情成功: ID 57 21:48:24 - article_server - INFO - [API响应] GET /api/articles/57 - IP: 104.244.91.212 - 状态码: 200 21:53:59 - article_server - INFO - [API访问] POST /api/articles/generate - 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:53:59 - article_server - INFO - [Token验证成功] 用户ID: 10 21:53:59 - article_server - INFO - [生成文案] 开始处理生成文案请求, IP: 104.244.91.212 21:53:59 - article_server - INFO - [生成文案] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:53:59 - article_server - INFO - [生成文案] 收到生成请求, 产品ID: 25, 提示词ID: 25, 主题数: 3, 企业ID: 1, IP: 104.244.91.212 21:53:59 - article_server - INFO - [生成文案] 验证产品是否存在, 产品ID: 25, 企业ID: 1 21:53:59 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:53:59 - article_server - INFO - [SQL语句] SELECT id, name FROM ai_products WHERE id = %s AND enterprise_id = %s 21:53:59 - article_server - INFO - [SQL参数] (25, 1) 21:53:59 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:53:59 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体'}] 21:53:59 - article_server - INFO - [生成文案] 产品验证成功, 产品名称: 健康类自媒体, ID: 25 21:53:59 - article_server - INFO - [生成文案] 验证提示词是否存在, 提示词ID: 25, 企业ID: 1 21:53:59 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:53:59 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name FROM ai_prompt_workflow WHERE id = %s AND enterprise_id = %s 21:53:59 - article_server - INFO - [SQL参数] (25, 1) 21:53:59 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:53:59 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词'}] 21:53:59 - article_server - INFO - [生成文案] 提示词验证成功, 名称: Inject基础提示词, ID: 25 21:53:59 - article_server - INFO - [生成文案] 开始生成文案, 主题数量: 3, 产品: 健康类自媒体, 企业ID: 1 21:53:59 - article_server - INFO - [批量生成文章] 生成batch_id: 1766325239926738, 待处理数据行数: 3 21:53:59 - article_server - INFO - [生成文案] 开始生成主题文案: 前列腺增生症的病因有哪些, 产品: 健康类自媒体 21:53:59 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:53:59 - article_server - INFO - [SQL语句] INSERT INTO ai_articles (enterprise_id, product_id, product_name, prompt_workflow_id, prompt_workflow_name, title, topic, content, status, batch_id) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) 21:53:59 - article_server - INFO - [SQL参数] (1, 25, '健康类自媒体', 25, 'Inject基础提示词', '前列腺增生症的病因有哪些', '前列腺增生症的病因有哪些', '', 'generate', '1766325239926738') 21:53:59 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 60 21:53:59 - article_server - INFO - [生成文案] 文案生成成功, 文案ID: 60, 主题: 前列腺增生症的病因有哪些, 标题: 前列腺增生症的病因有哪些 21:53:59 - article_server - INFO - [生成文案] 开始生成主题文案: 提肛对前列腺增生有效果吗, 产品: 健康类自媒体 21:53:59 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:53:59 - article_server - INFO - [SQL语句] INSERT INTO ai_articles (enterprise_id, product_id, product_name, prompt_workflow_id, prompt_workflow_name, title, topic, content, status, batch_id) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) 21:53:59 - article_server - INFO - [SQL参数] (1, 25, '健康类自媒体', 25, 'Inject基础提示词', '提肛对前列腺增生有效果吗', '提肛对前列腺增生有效果吗', '', 'generate', '1766325239926738') 21:53:59 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 61 21:53:59 - article_server - INFO - [生成文案] 文案生成成功, 文案ID: 61, 主题: 提肛对前列腺增生有效果吗, 标题: 提肛对前列腺增生有效果吗 21:53:59 - article_server - INFO - [生成文案] 开始生成主题文案: 前列腺增生必须做手术吗, 产品: 健康类自媒体 21:53:59 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:53:59 - article_server - INFO - [SQL语句] INSERT INTO ai_articles (enterprise_id, product_id, product_name, prompt_workflow_id, prompt_workflow_name, title, topic, content, status, batch_id) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) 21:53:59 - article_server - INFO - [SQL参数] (1, 25, '健康类自媒体', 25, 'Inject基础提示词', '前列腺增生必须做手术吗', '前列腺增生必须做手术吗', '', 'generate', '1766325239926738') 21:53:59 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 62 21:53:59 - article_server - INFO - [生成文案] 文案生成成功, 文案ID: 62, 主题: 前列腺增生必须做手术吗, 标题: 前列腺增生必须做手术吗 21:53:59 - article_server - INFO - [SQL执行] 开始执行更新SQL 21:53:59 - article_server - INFO - [SQL语句] UPDATE ai_products SET articles_total = articles_total + %s WHERE id = %s 21:53:59 - article_server - INFO - [SQL参数] (3, 25) 21:53:59 - article_server - INFO - [SQL结果] 更新完成,影响 1 行 21:53:59 - article_server - INFO - [SQL执行] 开始执行更新SQL 21:53:59 - article_server - INFO - [SQL语句] UPDATE ai_enterprises SET articles_total = articles_total + %s WHERE id = %s 21:53:59 - article_server - INFO - [SQL参数] (3, 1) 21:53:59 - article_server - INFO - [SQL结果] 更新完成,影响 1 行 21:54:00 - article_server - INFO - [SQL执行] 开始执行更新SQL 21:54:00 - article_server - INFO - [SQL语句] UPDATE ai_prompt_workflow SET usage_count = usage_count + %s WHERE id = %s 21:54:00 - article_server - INFO - [SQL参数] (3, 25) 21:54:00 - article_server - INFO - [SQL结果] 更新完成,影响 1 行 21:54:00 - article_server - INFO - 生成文案成功: 3篇 21:54:00 - article_server - INFO - [API响应] POST /api/articles/generate - IP: 104.244.91.212 - 状态码: 200 21:54:00 - article_server - INFO - [API访问] GET /api/articles/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:54:00 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:00 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212 21:54:00 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:54:00 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212 21:54:00 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:00 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_articles WHERE enterprise_id = %s 21:54:00 - article_server - INFO - [SQL参数] [1] 21:54:00 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:00 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 21:54:00 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:00 - article_server - INFO - [SQL语句] SELECT id, batch_id, enterprise_id, product_id, product_name, topic_type_id, prompt_workflow_id, prompt_workflow_name, topic, title, context_summary, department, departmentids, author_id, author_name, department_id, department_name, created_user_id, review_user_id, publish_user_id, status, channel, review_comment, publish_time, publish_link, baijiahao_id, baijiahao_status, word_count, image_count, coze_tag, created_at, updated_at, product_name as product_name, prompt_workflow_name as prompt_name FROM ai_articles WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:54:00 - article_server - INFO - [SQL参数] [1, 10, 0] 21:54:00 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:54:00 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:00 - article_server - INFO - [SQL语句] SELECT id, article_id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ORDER BY article_id, sort_order ASC, created_at ASC 21:54:00 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 21:54:00 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:54:00 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:00 - article_server - INFO - [SQL语句] SELECT id, article_id, coze_tag, created_at FROM ai_article_tags WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 21:54:00 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 21:54:00 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:54:00 - article_server - INFO - [获取文章列表] 查询成功, 总数: 43, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212 21:54:00 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200 21:54:01 - article_server - INFO - [API访问] GET /api/articles/list_dashboard - 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:54:01 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:01 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212 21:54:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:01 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s 21:54:01 - article_server - INFO - [SQL参数] (1,) 21:54:01 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:01 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 21:54:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:01 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published_review' 21:54:01 - article_server - INFO - [SQL参数] (1,) 21:54:01 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:01 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:54:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:01 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published' 21:54:01 - article_server - INFO - [SQL参数] (1,) 21:54:01 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:01 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:54:01 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 43, 可发: 0, 已发: 0, IP: 104.244.91.212 21:54:01 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200 21:54:05 - article_server - INFO - [API访问] GET /api/articles/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:54:05 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:05 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212 21:54:05 - article_server - INFO - [API访问] GET /api/prompts/list_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:54:05 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:54:05 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:05 - article_server - INFO - [获取提示词列表简化版] 开始处理请求, IP: 104.244.91.212 21:54:05 - article_server - INFO - [获取提示词列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:54:05 - article_server - INFO - [API访问] GET /api/articles/list_dashboard - 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:54:05 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212 21:54:05 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:05 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212 21:54:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:05 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s 21:54:05 - article_server - INFO - [SQL参数] (1,) 21:54:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:05 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_articles WHERE enterprise_id = %s 21:54:05 - article_server - INFO - [SQL参数] [1] 21:54:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:05 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC 21:54:05 - article_server - INFO - [SQL参数] (1,) 21:54:05 - article_server - INFO - [API访问] GET /api/products/list_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:54:05 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:05 - article_server - INFO - [获取产品列表简化版] 开始处理请求, IP: 104.244.91.212 21:54:05 - article_server - INFO - [获取产品列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:54:05 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:05 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 21:54:05 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:05 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 21:54:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:05 - article_server - INFO - [SQL语句] SELECT id, name, status, created_at, updated_at FROM ai_products WHERE enterprise_id = %s AND status IN ('draft', 'active') ORDER BY created_at DESC 21:54:05 - article_server - INFO - [SQL参数] (1,) 21:54:05 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:54:05 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 13, 54)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:54:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:05 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published_review' 21:54:05 - article_server - INFO - [SQL参数] (1,) 21:54:05 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:54:05 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:54:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:05 - article_server - INFO - [SQL语句] SELECT id, batch_id, enterprise_id, product_id, product_name, topic_type_id, prompt_workflow_id, prompt_workflow_name, topic, title, context_summary, department, departmentids, author_id, author_name, department_id, department_name, created_user_id, review_user_id, publish_user_id, status, channel, review_comment, publish_time, publish_link, baijiahao_id, baijiahao_status, word_count, image_count, coze_tag, created_at, updated_at, product_name as product_name, prompt_workflow_name as prompt_name FROM ai_articles WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:54:05 - article_server - INFO - [SQL参数] [1, 10, 0] 21:54:05 - article_server - INFO - [获取提示词列表简化版] 查询成功, 返回数量: 2, 企业ID: 1, IP: 104.244.91.212 21:54:05 - article_server - INFO - [API响应] GET /api/prompts/list_info - IP: 104.244.91.212 - 状态码: 200 21:54:05 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:05 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:54:05 - article_server - INFO - [获取产品列表简化版] 查询成功, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:54:05 - article_server - INFO - [API响应] GET /api/products/list_info - IP: 104.244.91.212 - 状态码: 200 21:54:05 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:54:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:05 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published' 21:54:05 - article_server - INFO - [SQL参数] (1,) 21:54:05 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:05 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:54:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:05 - article_server - INFO - [SQL语句] SELECT id, article_id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ORDER BY article_id, sort_order ASC, created_at ASC 21:54:05 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 21:54:05 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 43, 可发: 0, 已发: 0, IP: 104.244.91.212 21:54:05 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200 21:54:05 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:54:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:05 - article_server - INFO - [SQL语句] SELECT id, article_id, coze_tag, created_at FROM ai_article_tags WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 21:54:05 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 21:54:05 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:54:05 - article_server - INFO - [获取文章列表] 查询成功, 总数: 43, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212 21:54:05 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200 21:54:05 - 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:54:05 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:05 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:54:05 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:54:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:05 - 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:54:05 - article_server - INFO - [SQL参数] (10,) 21:54:05 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:05 - 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:54:05 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:54:05 - 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:54:05 - 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:54:05 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66483 21:54:05 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66483 21:54:05 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:54:20 - 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:54:20 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:20 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:54:20 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:54:20 - article_server - INFO - [API访问] GET /api/articles/list_dashboard - 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:54:20 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:20 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212 21:54:20 - article_server - INFO - [API访问] GET /api/prompts/list_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:54:20 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:20 - article_server - INFO - [获取提示词列表简化版] 开始处理请求, IP: 104.244.91.212 21:54:20 - article_server - INFO - [API访问] GET /api/products/list_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:54:20 - article_server - INFO - [获取提示词列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:54:20 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:20 - article_server - INFO - [获取产品列表简化版] 开始处理请求, IP: 104.244.91.212 21:54:20 - article_server - INFO - [获取产品列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:54:20 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:20 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC 21:54:20 - article_server - INFO - [SQL参数] (1,) 21:54:20 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:20 - 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:54:20 - article_server - INFO - [SQL参数] (10,) 21:54:20 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:20 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s 21:54:20 - article_server - INFO - [SQL参数] (1,) 21:54:20 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:20 - article_server - INFO - [SQL语句] SELECT id, name, status, created_at, updated_at FROM ai_products WHERE enterprise_id = %s AND status IN ('draft', 'active') ORDER BY created_at DESC 21:54:20 - article_server - INFO - [SQL参数] (1,) 21:54:21 - article_server - INFO - [API访问] GET /api/articles/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:54:21 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:21 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212 21:54:21 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:54:21 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212 21:54:21 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:54:21 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 13, 54)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:54:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:21 - 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:54:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:21 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 21:54:21 - article_server - INFO - [获取提示词列表简化版] 查询成功, 返回数量: 2, 企业ID: 1, IP: 104.244.91.212 21:54:21 - article_server - INFO - [API响应] GET /api/prompts/list_info - IP: 104.244.91.212 - 状态码: 200 21:54:21 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:21 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_articles WHERE enterprise_id = %s 21:54:21 - article_server - INFO - [SQL参数] [1] 21:54:21 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:54:21 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:54:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:21 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 21:54:21 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:54: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:54: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:54:21 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:21 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published_review' 21:54:21 - article_server - INFO - [SQL参数] (1,) 21:54:21 - article_server - INFO - [获取产品列表简化版] 查询成功, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:54:21 - article_server - INFO - [API响应] GET /api/products/list_info - IP: 104.244.91.212 - 状态码: 200 21:54:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:21 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:54:21 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66512 21:54:21 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:21 - article_server - INFO - [SQL语句] SELECT id, batch_id, enterprise_id, product_id, product_name, topic_type_id, prompt_workflow_id, prompt_workflow_name, topic, title, context_summary, department, departmentids, author_id, author_name, department_id, department_name, created_user_id, review_user_id, publish_user_id, status, channel, review_comment, publish_time, publish_link, baijiahao_id, baijiahao_status, word_count, image_count, coze_tag, created_at, updated_at, product_name as product_name, prompt_workflow_name as prompt_name FROM ai_articles WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:54:21 - article_server - INFO - [SQL参数] [1, 10, 0] 21:54:21 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66512 21:54:21 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:54:21 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:54:21 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:21 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published' 21:54:21 - article_server - INFO - [SQL参数] (1,) 21:54:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:21 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:54:21 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:21 - article_server - INFO - [SQL语句] SELECT id, article_id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ORDER BY article_id, sort_order ASC, created_at ASC 21:54:21 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 21:54:21 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 43, 可发: 0, 已发: 0, IP: 104.244.91.212 21:54:21 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200 21:54:21 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:54:21 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:21 - article_server - INFO - [SQL语句] SELECT id, article_id, coze_tag, created_at FROM ai_article_tags WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 21:54:21 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 21:54:21 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:54:21 - article_server - INFO - [获取文章列表] 查询成功, 总数: 43, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212 21:54:21 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200 21:54:23 - article_server - INFO - [API访问] GET /api/products/list_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:54:23 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:23 - article_server - INFO - [获取产品列表简化版] 开始处理请求, IP: 104.244.91.212 21:54:23 - article_server - INFO - [获取产品列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:54:23 - 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:54:23 - article_server - INFO - [API访问] GET /api/articles/list_dashboard - 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:54:23 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:23 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:54:23 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:23 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:54:23 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212 21:54:23 - article_server - INFO - [API访问] GET /api/prompts/list_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:54:23 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:23 - article_server - INFO - [获取提示词列表简化版] 开始处理请求, IP: 104.244.91.212 21:54:23 - article_server - INFO - [获取提示词列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:54:23 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:23 - article_server - INFO - [SQL语句] SELECT id, name, status, created_at, updated_at FROM ai_products WHERE enterprise_id = %s AND status IN ('draft', 'active') ORDER BY created_at DESC 21:54:23 - article_server - INFO - [SQL参数] (1,) 21:54:23 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54: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:54:23 - article_server - INFO - [SQL参数] (10,) 21:54:23 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:23 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s 21:54:23 - article_server - INFO - [SQL参数] (1,) 21:54:23 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:23 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC 21:54:23 - article_server - INFO - [SQL参数] (1,) 21:54:23 - article_server - INFO - [API访问] GET /api/articles/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:54:23 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:23 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212 21:54:23 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:54:23 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212 21:54:23 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:54:23 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:54:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:23 - 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:54:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:23 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 21:54:23 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:23 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_articles WHERE enterprise_id = %s 21:54:23 - article_server - INFO - [SQL参数] [1] 21:54:23 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:54:23 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 13, 54)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:54:23 - article_server - INFO - [获取产品列表简化版] 查询成功, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:54:23 - article_server - INFO - [API响应] GET /api/products/list_info - IP: 104.244.91.212 - 状态码: 200 21:54:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:23 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 21:54:23 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:54: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:54: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:54:23 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:23 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published_review' 21:54:23 - article_server - INFO - [SQL参数] (1,) 21:54:23 - article_server - INFO - [获取提示词列表简化版] 查询成功, 返回数量: 2, 企业ID: 1, IP: 104.244.91.212 21:54:23 - article_server - INFO - [API响应] GET /api/prompts/list_info - IP: 104.244.91.212 - 状态码: 200 21:54:23 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:23 - article_server - INFO - [SQL语句] SELECT id, batch_id, enterprise_id, product_id, product_name, topic_type_id, prompt_workflow_id, prompt_workflow_name, topic, title, context_summary, department, departmentids, author_id, author_name, department_id, department_name, created_user_id, review_user_id, publish_user_id, status, channel, review_comment, publish_time, publish_link, baijiahao_id, baijiahao_status, word_count, image_count, coze_tag, created_at, updated_at, product_name as product_name, prompt_workflow_name as prompt_name FROM ai_articles WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:54:23 - article_server - INFO - [SQL参数] [1, 10, 0] 21:54:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:23 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:54:23 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66515 21:54:23 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:54:23 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66515 21:54:23 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:54:23 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:23 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published' 21:54:23 - article_server - INFO - [SQL参数] (1,) 21:54:23 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:23 - article_server - INFO - [SQL语句] SELECT id, article_id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ORDER BY article_id, sort_order ASC, created_at ASC 21:54:23 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 21:54:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:23 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:54:23 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:54:23 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 43, 可发: 0, 已发: 0, IP: 104.244.91.212 21:54:23 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200 21:54:24 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:24 - article_server - INFO - [SQL语句] SELECT id, article_id, coze_tag, created_at FROM ai_article_tags WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 21:54:24 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 21:54:24 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 21:54:24 - article_server - INFO - [获取文章列表] 查询成功, 总数: 43, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212 21:54:24 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200 21:54:32 - article_server - INFO - [API访问] POST /api/articles/batch-published-account-cycle - IP: 127.0.0.1 - User-Agent: python-requests/2.32.3 21:54:32 - article_server - INFO - [Token验证成功] 用户ID: 10 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 入参数据: {"article_ids": [62, 61], "author_ids": [3]} 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 排序后文章ID: [61, 62] 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 排序后作者ID: [3] 21:54:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:32 - article_server - INFO - [SQL语句] SELECT id, app_id, app_token, author_name, department_id, department_name FROM ai_authors WHERE id IN (%s) AND status = 'active' ORDER BY id ASC 21:54:32 - article_server - INFO - [SQL参数] [3] 21:54:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:54:32 - article_server - INFO - [SQL数据] 查询结果: [{'id': 3, 'app_id': '', 'app_token': '', 'author_name': '小红书用户', 'department_id': 0, 'department_name': ''}] 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 查询到作者信息: [{"id": 3, "app_id": "", "app_token": "", "author_name": "小红书用户", "department_id": 0, "department_name": ""}] 21:54:32 - article_server - INFO - [批量发布文章authors_dict] 查询到作者信息: {"3": {"id": 3, "app_id": "", "app_token": "", "author_name": "小红书用户", "department_id": 0, "department_name": ""}} 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 执行SQL查询文章: SELECT id, title, status FROM ai_articles WHERE id IN (%s,%s) AND status = 'pending_review' ORDER BY id ASC - 参数: [61, 62] 21:54:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:54:32 - article_server - INFO - [SQL语句] SELECT id, title, status FROM ai_articles WHERE id IN (%s,%s) AND status = 'pending_review' ORDER BY id ASC 21:54:32 - article_server - INFO - [SQL参数] [61, 62] 21:54:32 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:54:32 - article_server - INFO - [SQL数据] 查询结果: [{'id': 61, 'title': '提肛对前列腺增生有效果吗', 'status': 'pending_review'}, {'id': 62, 'title': '前列腺增生必须做手术吗', 'status': 'pending_review'}] 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 查询结果: 请求2篇,找到2篇有效文章 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 开始循环分配处理 2 篇文章 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 文章 61 分配给作者 3 (小红书用户) 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 文章 62 分配给作者 3 (小红书用户) 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 分配完成统计 - 请求文章数: 2, 成功分配: 2, 失败: 0 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 执行SQL更新: UPDATE ai_articles SET status = 'assign_authors', author_id = %s, author_name = %s, department_name = %s, department_id = %s, publish_user_id = %s, publish_time = NOW(), updated_at = NOW() WHERE id = %s - 参数: (3, '小红书用户', '', 0, 10, 61) 21:54:32 - article_server - INFO - [SQL执行] 开始执行更新SQL 21:54:32 - article_server - INFO - [SQL语句] UPDATE ai_articles SET status = 'assign_authors', author_id = %s, author_name = %s, department_name = %s, department_id = %s, publish_user_id = %s, publish_time = NOW(), updated_at = NOW() WHERE id = %s 21:54:32 - article_server - INFO - [SQL参数] (3, '小红书用户', '', 0, 10, 61) 21:54:32 - article_server - INFO - [SQL结果] 更新完成,影响 1 行 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 更新文章 61 完成,影响行数: 1 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 文章发布成功: ID=61, 标题=提肛对前列腺增生有效果吗, 作者=小红书用户, 百家号ID: bjh_61_1766325272 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 执行SQL更新: UPDATE ai_articles SET status = 'assign_authors', author_id = %s, author_name = %s, department_name = %s, department_id = %s, publish_user_id = %s, publish_time = NOW(), updated_at = NOW() WHERE id = %s - 参数: (3, '小红书用户', '', 0, 10, 62) 21:54:32 - article_server - INFO - [SQL执行] 开始执行更新SQL 21:54:32 - article_server - INFO - [SQL语句] UPDATE ai_articles SET status = 'assign_authors', author_id = %s, author_name = %s, department_name = %s, department_id = %s, publish_user_id = %s, publish_time = NOW(), updated_at = NOW() WHERE id = %s 21:54:32 - article_server - INFO - [SQL参数] (3, '小红书用户', '', 0, 10, 62) 21:54:32 - article_server - INFO - [SQL结果] 更新完成,影响 1 行 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 更新文章 62 完成,影响行数: 1 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 文章发布成功: ID=62, 标题=前列腺增生必须做手术吗, 作者=小红书用户, 百家号ID: bjh_62_1766325272 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 执行SQL插入日志: INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, status) VALUES (%s, %s, %s, %s, %s, %s, %s, %s) - 参数: (10, 'batch_publish_articles_cycle', 'articles', None, '批量发布文章(循环分配),成功: 2,失败: 0,文章ID: 61,62,作者ID: 3', '127.0.0.1', 'python-requests/2.32.3', 'success') 21:54:32 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:54:32 - article_server - INFO - [SQL语句] INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, status) VALUES (%s, %s, %s, %s, %s, %s, %s, %s) 21:54:32 - article_server - INFO - [SQL参数] (10, 'batch_publish_articles_cycle', 'articles', None, '批量发布文章(循环分配),成功: 2,失败: 0,文章ID: 61,62,作者ID: 3', '127.0.0.1', 'python-requests/2.32.3', 'success') 21:54:32 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66539 21:54:32 - article_server - INFO - [批量发布文章-循环分配] 操作日志记录成功 21:54:32 - article_server - INFO - 批量发布文章(循环分配)完成,成功: 2,失败: 0 21:54:32 - article_server - INFO - [API响应] POST /api/articles/batch-published-account-cycle - IP: 127.0.0.1 - 状态码: 200 21:55:09 - article_server - INFO - [API访问] POST /api/auth/login - IP: 127.0.0.1 - User-Agent: python-requests/2.32.3 21:55:09 - article_server - INFO - [用户登录] 开始处理登录请求, IP: 127.0.0.1 21:55:09 - article_server - INFO - [用户登录] 收到登录请求, 账号: 13621242430, IP: 127.0.0.1 21:55:09 - article_server - INFO - [用户登录] 开始在ai_users表查询用户, 账号: 13621242430 21:55:09 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:09 - 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:55:09 - article_server - INFO - [SQL参数] ('13621242430', '13621242430') 21:55:09 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:55:09 - article_server - INFO - [SQL数据] 查询结果: [{'id': 10, 'enterprise_id': 1, 'enterprise_name': '乐航', 'username': '饶文龙', 'phone': '13621242430', 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 'real_name': '乐航', 'role': 'enterprise', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': None}] 21:55:09 - article_server - INFO - [用户登录] 查询到用户信息, 用户名: 饶文龙, 角色: enterprise, 企业: 乐航, 企业ID: 1 21:55:09 - article_server - INFO - [用户登录] 开始验证密码, 账号: 13621242430 21:55:09 - article_server - INFO - [用户登录] 密码验证成功, 用户名: 饶文龙, 角色: enterprise 21:55:09 - article_server - INFO - [用户登录] 检测到企业角色, 开始获取企业详细信息, 企业ID: 1 21:55:09 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:09 - 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:55:09 - article_server - INFO - [SQL参数] (1,) 21:55:09 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:55:09 - 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': 43, 'published_total': 0}] 21:55:09 - article_server - INFO - [用户登录] 获取企业信息成功, 企业名称: 乐航, 企业编号: ENT-2024-0001 21:55:09 - article_server - INFO - [用户登录] 开始生成token, 用户ID: 10, 角色: enterprise 21:55:09 - article_server - INFO - [Token生成] 用户: 13621242430, ID: 10, 角色: enterprise 21:55:09 - article_server - INFO - [用户登录成功] Token生成成功, 用户: 饶文龙, 角色: enterprise, 企业: 乐航, IP: 127.0.0.1 21:55:09 - article_server - INFO - [API响应] POST /api/auth/login - IP: 127.0.0.1 - 状态码: 200 21:55:25 - article_server - INFO - [API访问] POST /api/articles/batch-published-account-cycle - IP: 127.0.0.1 - User-Agent: python-requests/2.32.3 21:55:25 - article_server - INFO - [Token验证成功] 用户ID: 10 21:55:25 - article_server - INFO - [批量发布文章-循环分配] 入参数据: {"article_ids": [60], "author_ids": [3]} 21:55:25 - article_server - INFO - [批量发布文章-循环分配] 排序后文章ID: [60] 21:55:25 - article_server - INFO - [批量发布文章-循环分配] 排序后作者ID: [3] 21:55:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:25 - article_server - INFO - [SQL语句] SELECT id, app_id, app_token, author_name, department_id, department_name FROM ai_authors WHERE id IN (%s) AND status = 'active' ORDER BY id ASC 21:55:25 - article_server - INFO - [SQL参数] [3] 21:55:25 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:55:25 - article_server - INFO - [SQL数据] 查询结果: [{'id': 3, 'app_id': '', 'app_token': '', 'author_name': '小红书用户', 'department_id': 0, 'department_name': ''}] 21:55:25 - article_server - INFO - [批量发布文章-循环分配] 查询到作者信息: [{"id": 3, "app_id": "", "app_token": "", "author_name": "小红书用户", "department_id": 0, "department_name": ""}] 21:55:25 - article_server - INFO - [批量发布文章authors_dict] 查询到作者信息: {"3": {"id": 3, "app_id": "", "app_token": "", "author_name": "小红书用户", "department_id": 0, "department_name": ""}} 21:55:25 - article_server - INFO - [批量发布文章-循环分配] 执行SQL查询文章: SELECT id, title, status FROM ai_articles WHERE id IN (%s) AND status = 'pending_review' ORDER BY id ASC - 参数: [60] 21:55:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:25 - article_server - INFO - [SQL语句] SELECT id, title, status FROM ai_articles WHERE id IN (%s) AND status = 'pending_review' ORDER BY id ASC 21:55:25 - article_server - INFO - [SQL参数] [60] 21:55:25 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:55:25 - article_server - INFO - [SQL数据] 查询结果: [{'id': 60, 'title': '前列腺增生症的病因有哪些', 'status': 'pending_review'}] 21:55:25 - article_server - INFO - [批量发布文章-循环分配] 查询结果: 请求1篇,找到1篇有效文章 21:55:25 - article_server - INFO - [批量发布文章-循环分配] 开始循环分配处理 1 篇文章 21:55:25 - article_server - INFO - [批量发布文章-循环分配] 文章 60 分配给作者 3 (小红书用户) 21:55:25 - article_server - INFO - [批量发布文章-循环分配] 分配完成统计 - 请求文章数: 1, 成功分配: 1, 失败: 0 21:55:25 - article_server - INFO - [批量发布文章-循环分配] 执行SQL更新: UPDATE ai_articles SET status = 'assign_authors', author_id = %s, author_name = %s, department_name = %s, department_id = %s, publish_user_id = %s, publish_time = NOW(), updated_at = NOW() WHERE id = %s - 参数: (3, '小红书用户', '', 0, 10, 60) 21:55:25 - article_server - INFO - [SQL执行] 开始执行更新SQL 21:55:25 - article_server - INFO - [SQL语句] UPDATE ai_articles SET status = 'assign_authors', author_id = %s, author_name = %s, department_name = %s, department_id = %s, publish_user_id = %s, publish_time = NOW(), updated_at = NOW() WHERE id = %s 21:55:25 - article_server - INFO - [SQL参数] (3, '小红书用户', '', 0, 10, 60) 21:55:25 - article_server - INFO - [SQL结果] 更新完成,影响 1 行 21:55:25 - article_server - INFO - [批量发布文章-循环分配] 更新文章 60 完成,影响行数: 1 21:55:25 - article_server - INFO - [批量发布文章-循环分配] 文章发布成功: ID=60, 标题=前列腺增生症的病因有哪些, 作者=小红书用户, 百家号ID: bjh_60_1766325325 21:55:25 - article_server - INFO - [批量发布文章-循环分配] 执行SQL插入日志: INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, status) VALUES (%s, %s, %s, %s, %s, %s, %s, %s) - 参数: (10, 'batch_publish_articles_cycle', 'articles', None, '批量发布文章(循环分配),成功: 1,失败: 0,文章ID: 60,作者ID: 3', '127.0.0.1', 'python-requests/2.32.3', 'success') 21:55:25 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:55:25 - article_server - INFO - [SQL语句] INSERT INTO ai_logs (user_id, action, target_type, target_id, description, ip_address, user_agent, status) VALUES (%s, %s, %s, %s, %s, %s, %s, %s) 21:55:25 - article_server - INFO - [SQL参数] (10, 'batch_publish_articles_cycle', 'articles', None, '批量发布文章(循环分配),成功: 1,失败: 0,文章ID: 60,作者ID: 3', '127.0.0.1', 'python-requests/2.32.3', 'success') 21:55:25 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66597 21:55:25 - article_server - INFO - [批量发布文章-循环分配] 操作日志记录成功 21:55:25 - article_server - INFO - 批量发布文章(循环分配)完成,成功: 1,失败: 0 21:55:25 - article_server - INFO - [API响应] POST /api/articles/batch-published-account-cycle - IP: 127.0.0.1 - 状态码: 200 21:55:40 - article_server - INFO - [API访问] GET /api/articles/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:55:40 - article_server - INFO - [Token验证成功] 用户ID: 10 21:55:40 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212 21:55:40 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:55:40 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212 21:55:40 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:40 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_articles WHERE enterprise_id = %s 21:55:40 - article_server - INFO - [SQL参数] [1] 21:55:40 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:55:40 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 21:55:40 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:40 - article_server - INFO - [SQL语句] SELECT id, batch_id, enterprise_id, product_id, product_name, topic_type_id, prompt_workflow_id, prompt_workflow_name, topic, title, context_summary, department, departmentids, author_id, author_name, department_id, department_name, created_user_id, review_user_id, publish_user_id, status, channel, review_comment, publish_time, publish_link, baijiahao_id, baijiahao_status, word_count, image_count, coze_tag, created_at, updated_at, product_name as product_name, prompt_workflow_name as prompt_name FROM ai_articles WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 21:55:40 - article_server - INFO - [SQL参数] [1, 10, 0] 21:55:40 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:55:40 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:40 - article_server - INFO - [SQL语句] SELECT id, article_id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ORDER BY article_id, sort_order ASC, created_at ASC 21:55:40 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 21:55:40 - article_server - INFO - [SQL结果] 查询完成,返回 16 条记录 21:55:40 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:40 - article_server - INFO - [SQL语句] SELECT id, article_id, coze_tag, created_at FROM ai_article_tags WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 21:55:40 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 21:55:40 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 21:55:40 - article_server - INFO - [获取文章列表] 查询成功, 总数: 43, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212 21:55:40 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200 21:55:40 - article_server - INFO - [API访问] GET /api/articles/list_dashboard - 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:55:40 - article_server - INFO - [Token验证成功] 用户ID: 10 21:55:40 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212 21:55:40 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:40 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s 21:55:40 - article_server - INFO - [SQL参数] (1,) 21:55:40 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:55:40 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 21:55:40 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:40 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published_review' 21:55:40 - article_server - INFO - [SQL参数] (1,) 21:55:40 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:55:40 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:55:40 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:40 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published' 21:55:40 - article_server - INFO - [SQL参数] (1,) 21:55:40 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:55:40 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 21:55:40 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 43, 可发: 0, 已发: 0, IP: 104.244.91.212 21:55:40 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200 21:55:40 - article_server - INFO - [API访问] GET /api/products/list_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:55:40 - article_server - INFO - [Token验证成功] 用户ID: 10 21:55:40 - article_server - INFO - [获取产品列表简化版] 开始处理请求, IP: 104.244.91.212 21:55:40 - article_server - INFO - [获取产品列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:55:40 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:40 - article_server - INFO - [SQL语句] SELECT id, name, status, created_at, updated_at FROM ai_products WHERE enterprise_id = %s AND status IN ('draft', 'active') ORDER BY created_at DESC 21:55:40 - article_server - INFO - [SQL参数] (1,) 21:55:40 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 21:55:40 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 21:55:41 - article_server - INFO - [获取产品列表简化版] 查询成功, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 21:55:41 - article_server - INFO - [API响应] GET /api/products/list_info - IP: 104.244.91.212 - 状态码: 200 21:55:41 - article_server - INFO - [API访问] GET /api/prompts/list_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:55:41 - article_server - INFO - [Token验证成功] 用户ID: 10 21:55:41 - article_server - INFO - [获取提示词列表简化版] 开始处理请求, IP: 104.244.91.212 21:55:41 - article_server - INFO - [获取提示词列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 21:55:41 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:41 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC 21:55:41 - article_server - INFO - [SQL参数] (1,) 21:55:41 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:55:41 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 13, 54)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 21:55:41 - article_server - INFO - [获取提示词列表简化版] 查询成功, 返回数量: 2, 企业ID: 1, IP: 104.244.91.212 21:55:41 - article_server - INFO - [API响应] GET /api/prompts/list_info - IP: 104.244.91.212 - 状态码: 200 21:55:41 - 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:55:41 - article_server - INFO - [Token验证成功] 用户ID: 10 21:55:41 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 21:55:41 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 21:55:41 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:41 - 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:55:41 - article_server - INFO - [SQL参数] (10,) 21:55:41 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:55:41 - 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:55:41 - article_server - INFO - [SQL执行] 开始执行插入SQL 21:55:41 - 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:55:41 - 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:55:41 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 66606 21:55:42 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 66606 21:55:42 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 21:55:42 - article_server - INFO - [API访问] GET /api/articles/60 - 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:55:42 - article_server - INFO - [Token验证成功] 用户ID: 10 21:55:42 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:42 - article_server - INFO - [SQL语句] SELECT a.id, a.batch_id, a.enterprise_id, a.product_id, a.topic_type_id, a.prompt_workflow_id, a.topic, a.title, a.content, a.department, a.departmentids, a.author_id, a.author_name, a.department_id, a.department_name, a.created_user_id, a.review_user_id, a.publish_user_id, a.status, a.channel, a.review_comment, a.publish_time, a.publish_link, a.baijiahao_id, a.baijiahao_status, a.word_count, a.image_count, a.coze_tag, a.created_at, a.updated_at, p.name as product_name, pw.prompt_workflow_name as prompt_name FROM ai_articles a LEFT JOIN ai_products p ON a.product_id = p.id LEFT JOIN ai_prompt_workflow pw ON a.prompt_workflow_id = pw.id WHERE a.id = %s AND a.enterprise_id = %s 21:55:42 - article_server - INFO - [SQL参数] (60, 1) 21:55:42 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:55:42 - article_server - INFO - [SQL数据] 查询结果: [{'id': 60, 'batch_id': 1766325239926738, 'enterprise_id': 1, 'product_id': 25, 'topic_type_id': 0, 'prompt_workflow_id': 25, 'topic': '前列腺增生症的病因有哪些', 'title': '前列腺增生症的病因有哪些', 'content': '前列腺增生症的病因有哪些\n\n前列腺增生症病因和年龄、激素有关。年纪大了患病几率增加,体内激素失衡也会引发。\n\n🔥随着年龄增长,身体机能下降。男性到一定年纪,患前列腺增生症几率大增。这是自然生理变化,难以避免,但可通过健康生活延缓。\n\n🔥体内激素水平很重要。若雄激素和雌激素比例失调,会刺激组织增生,从而引发病症。平时要注意生活规律,稳定激素水平。\n\n🔥不良生活习惯也有影响。长期抽烟喝酒、久坐不动等,会影响血液循环,增加患病风险。所以要养成好的生活习惯。\n\n了解这些病因,能助我们预防前列腺增生症。\n\n', 'department': '', 'departmentids': '', 'author_id': 3, 'author_name': '小红书用户', 'department_id': 0, 'department_name': '', 'created_user_id': 0, 'review_user_id': None, 'publish_user_id': 10, 'status': 'assign_authors', 'channel': 1, 'review_comment': None, 'publish_time': datetime.datetime(2025, 12, 21, 13, 55, 25), 'publish_link': '', 'baijiahao_id': None, 'baijiahao_status': None, 'word_count': 251, 'image_count': 2, 'coze_tag': '#前列腺增生# #增生症病因# #年龄与增生# #激素失衡# #生活习惯影响#', 'created_at': datetime.datetime(2025, 12, 21, 13, 53, 59), 'updated_at': datetime.datetime(2025, 12, 21, 13, 55, 25), 'product_name': '健康类自媒体', 'prompt_name': 'Inject基础提示词'}] 21:55:43 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:43 - article_server - INFO - [SQL语句] SELECT id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id = %s ORDER BY sort_order ASC, created_at ASC 21:55:43 - article_server - INFO - [SQL参数] (60,) 21:55:43 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 21:55:43 - article_server - INFO - [SQL数据] 查询结果: [{'id': 15, 'image_id': 26, 'image_url': '20251221/1766303729292188.png', 'image_thumb_url': '20251221/1766303729292188_thumb.png', 'image_tag_id': 0, 'sort_order': 1, 'keywords_id': 0, 'keywords_name': '', 'department_id': 0, 'department_name': '', 'image_source': 2, 'created_at': datetime.datetime(2025, 12, 21, 13, 55, 24)}, {'id': 16, 'image_id': 28, 'image_url': '20251221/1766303866315187.png', 'image_thumb_url': '20251221/1766303866315187_thumb.png', 'image_tag_id': 0, 'sort_order': 2, 'keywords_id': 0, 'keywords_name': '', 'department_id': 0, 'department_name': '', 'image_source': 2, 'created_at': datetime.datetime(2025, 12, 21, 13, 55, 24)}] 21:55:43 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:43 - article_server - INFO - [SQL语句] SELECT id, coze_tag, created_at FROM ai_article_tags WHERE article_id = %s 21:55:43 - article_server - INFO - [SQL参数] (60,) 21:55:43 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 21:55:43 - article_server - INFO - [SQL数据] 查询结果: [{'id': 18, 'coze_tag': '#前列腺增生# #增生症病因# #年龄与增生# #激素失衡# #生活习惯影响#', 'created_at': datetime.datetime(2025, 12, 21, 13, 55, 23)}] 21:55:43 - article_server - INFO - [SQL执行] 开始执行查询SQL 21:55:43 - article_server - INFO - [SQL语句] SELECT id, status, created_user_id, review_user_id, publish_user_id, review_comment, publish_time, publish_link, word_count, image_count, created_at FROM ai_article_published_records WHERE article_id = %s ORDER BY created_at DESC 21:55:43 - article_server - INFO - [SQL参数] (60,) 21:55:43 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 21:55:43 - article_server - INFO - 获取文章详情成功: ID 60 21:55:43 - article_server - INFO - [API响应] GET /api/articles/60 - IP: 104.244.91.212 - 状态码: 200 22:10:00 - article_server - INFO - [API访问] GET /api/products/types/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 22:10:00 - article_server - INFO - [Token验证成功] 用户ID: 10 22:10:00 - article_server - INFO - [获取企业产品类型列表] 开始处理请求, IP: 104.244.91.212 22:10:00 - article_server - INFO - [获取企业产品类型列表] 企业ID: 1, IP: 104.244.91.212 22:10:00 - article_server - INFO - [API访问] GET /api/products/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 22:10:00 - article_server - INFO - [Token验证成功] 用户ID: 10 22:10:00 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 22:10:00 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:10:00 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=12, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 22:10:00 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:10:00 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_product_types WHERE enterprise_id = %s 22:10:00 - article_server - INFO - [SQL参数] [1] 22:10:00 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:10:00 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 22:10:00 - article_server - INFO - [SQL参数] [1] 22:10:00 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:10:00 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 22:10:00 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:10:00 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 22:10:00 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:10:00 - article_server - INFO - [SQL语句] SELECT id, type_name, enterprise_id, product_id, created_at FROM ai_product_types WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:10:00 - article_server - INFO - [SQL参数] [1, 100, 0] 22:10:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:10:01 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 22:10:01 - article_server - INFO - [SQL参数] [1, 12, 0] 22:10:01 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:10:01 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:10:01 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 31, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 22:10:01 - article_server - INFO - [获取企业产品类型列表] 查询成功, 企业ID: 1, 总数: 0, 返回: 0, IP: 104.244.91.212 22:10:01 - article_server - INFO - [API响应] GET /api/products/types/list - IP: 104.244.91.212 - 状态码: 200 22:10:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:10:01 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:10:01 - article_server - INFO - [SQL参数] (25,) 22:10:01 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:10:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:10:01 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:10:01 - article_server - INFO - [SQL参数] (13,) 22:10:01 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:10:01 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:10:01 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:10:01 - article_server - INFO - [SQL参数] (1,) 22:10:01 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:10:01 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 22:10:01 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 12, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 22:10:01 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 22:14:26 - article_server - INFO - [API访问] GET /api/products/types/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 22:14:26 - article_server - INFO - [Token验证成功] 用户ID: 10 22:14:26 - article_server - INFO - [获取企业产品类型列表] 开始处理请求, IP: 104.244.91.212 22:14:26 - article_server - INFO - [获取企业产品类型列表] 企业ID: 1, IP: 104.244.91.212 22:14:26 - article_server - INFO - [API访问] GET /api/products/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 22:14:26 - article_server - INFO - [Token验证成功] 用户ID: 10 22:14:26 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 22:14:26 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:14:26 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=12, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 22:14:26 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:26 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 22:14:26 - article_server - INFO - [SQL参数] [1] 22:14:26 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:26 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_product_types WHERE enterprise_id = %s 22:14:26 - article_server - INFO - [SQL参数] [1] 22:14:26 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:26 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 22:14:26 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:26 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 22:14:26 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:26 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 22:14:26 - article_server - INFO - [SQL参数] [1, 12, 0] 22:14:26 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:26 - article_server - INFO - [SQL语句] SELECT id, type_name, enterprise_id, product_id, created_at FROM ai_product_types WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:14:26 - article_server - INFO - [SQL参数] [1, 100, 0] 22:14:26 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:14:26 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 31, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 22:14:27 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:14:27 - article_server - INFO - [获取企业产品类型列表] 查询成功, 企业ID: 1, 总数: 0, 返回: 0, IP: 104.244.91.212 22:14:27 - article_server - INFO - [API响应] GET /api/products/types/list - IP: 104.244.91.212 - 状态码: 200 22:14:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:27 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:14:27 - article_server - INFO - [SQL参数] (25,) 22:14:27 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:14:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:27 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:14:27 - article_server - INFO - [SQL参数] (13,) 22:14:27 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:14:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:27 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:14:27 - article_server - INFO - [SQL参数] (1,) 22:14:27 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:27 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 22:14:27 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 12, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 22:14:27 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 22:14: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 22:14:27 - article_server - INFO - [Token验证成功] 用户ID: 10 22:14:27 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 22:14:27 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 22:14:27 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:27 - 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' 22:14:27 - article_server - INFO - [SQL参数] (10,) 22:14:27 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:27 - 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)}] 22:14:27 - article_server - INFO - [SQL执行] 开始执行插入SQL 22:14: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()) 22:14:27 - 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) 22:14:27 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 67039 22:14:27 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 67039 22:14:27 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 22:14:29 - article_server - INFO - [API访问] GET /api/images/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 22:14:29 - article_server - INFO - [Token验证成功] 用户ID: 10 22:14:29 - article_server - INFO - [API访问] GET /api/products/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 22:14:29 - article_server - INFO - [Token验证成功] 用户ID: 10 22:14:29 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 22:14:29 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:14:29 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=100, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 22:14:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:29 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_images WHERE enterprise_id = %s AND status = %s 22:14:29 - article_server - INFO - [SQL参数] [1, 'active'] 22:14:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:29 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 22:14:29 - article_server - INFO - [SQL参数] [1] 22:14:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:29 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 22:14:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:29 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 22:14:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:29 - article_server - INFO - [SQL语句] SELECT id, product_id, product_name, image_name, image_url, image_thumb_url, thumbnail_url, image_type_id, image_type_name, department, keywords, size_type, file_size, width, height, status, created_at, updated_at FROM ai_images WHERE enterprise_id = %s AND status = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:14:29 - article_server - INFO - [SQL参数] [1, 'active', 10, 0] 22:14:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:29 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 22:14:29 - article_server - INFO - [SQL参数] [1, 100, 0] 22:14:29 - article_server - INFO - [SQL结果] 查询完成,返回 8 条记录 22:14:29 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:14:29 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 31, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 22:14:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:29 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:14:29 - article_server - INFO - [SQL参数] [31, 1] 22:14:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:29 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:14:29 - article_server - INFO - [SQL参数] (25,) 22:14:29 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:14:29 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:14:29 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:14:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:29 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:14:29 - article_server - INFO - [SQL参数] [30, 1] 22:14:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:29 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:14:29 - article_server - INFO - [SQL参数] (13,) 22:14:29 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:14:29 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:14:29 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:14:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:29 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:14:29 - article_server - INFO - [SQL参数] [29, 1] 22:14:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:29 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:14:29 - article_server - INFO - [SQL参数] (1,) 22:14:29 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:14:29 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:14:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:29 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 22:14:29 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 100, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 22:14:29 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 22:14:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:29 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:14:29 - article_server - INFO - [SQL参数] [28, 1] 22:14:29 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:14:29 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:14:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:29 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:14:29 - article_server - INFO - [SQL参数] [27, 1] 22:14:29 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:14:29 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:14:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:29 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:14:29 - article_server - INFO - [SQL参数] [26, 1] 22:14:29 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 22:14:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:29 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:14:29 - article_server - INFO - [SQL参数] [25, 1] 22:14:29 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 22:14:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:30 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:14:30 - article_server - INFO - [SQL参数] [24, 1] 22:14:30 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:14:30 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 3, 'tag_name': '产品(4)'}, {'tag_id': 4, 'tag_name': '产品(4)3'}] 22:14:30 - article_server - INFO - 获取图片列表成功,总数: 8 22:14:30 - article_server - INFO - [API响应] GET /api/images/list - IP: 104.244.91.212 - 状态码: 200 22:14:30 - article_server - INFO - [API访问] GET /api/images/types/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 22:14:30 - article_server - INFO - [Token验证成功] 用户ID: 10 22:14:30 - article_server - INFO - [获取图片类型列表] current_user: {'user_id': 10, 'username': '13621242430', 'role': 'enterprise', 'enterprise_id': 1, 'exp': 1766411012, 'iat': 1766324612}, enterprise_id: 1 22:14:30 - article_server - INFO - [API访问] GET /api/images/list_dashboard - 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 22:14:30 - article_server - INFO - [Token验证成功] 用户ID: 10 22:14:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:30 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_image_type WHERE enterprise_id = %s 22:14:30 - article_server - INFO - [SQL参数] [1] 22:14:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:30 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' 22:14:30 - article_server - INFO - [SQL参数] [1] 22:14:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 10}] 22:14:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 22:14:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:30 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND product_id > 0 22:14:30 - article_server - INFO - [SQL参数] [1] 22:14:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:30 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, type_name, keywords_id, keywords_name, department_id, department_name, created_user_id, created_at, updated_at FROM ai_image_type WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:14:30 - article_server - INFO - [SQL参数] [1, 100, 0] 22:14:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 22:14:30 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 22:14:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:30 - article_server - INFO - [SQL语句] SELECT COUNT(DISTINCT product_id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND product_id > 0 22:14:30 - article_server - INFO - [SQL参数] [1] 22:14:30 - article_server - INFO - [API响应] GET /api/images/types/list - IP: 104.244.91.212 - 状态码: 200 22:14:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 22:14:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:30 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND image_type_name LIKE %s 22:14:30 - article_server - INFO - [SQL参数] [1, '%场景%'] 22:14:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 22:14:30 - article_server - INFO - 获取图片库仪表盘数据成功,企业ID: 1 22:14:30 - article_server - INFO - [API响应] GET /api/images/list_dashboard - IP: 104.244.91.212 - 状态码: 200 22:14:32 - article_server - INFO - [API访问] GET /api/prompts/tags/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 22:14:32 - article_server - INFO - [Token验证成功] 用户ID: 10 22:14:32 - article_server - INFO - [获取标签列表] 开始处理请求, IP: 104.244.91.212 22:14:32 - article_server - INFO - [获取标签列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:14:32 - article_server - INFO - [API访问] GET /api/prompts/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 22:14:32 - article_server - INFO - [Token验证成功] 用户ID: 10 22:14:32 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212 22:14:32 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:14:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:32 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s 22:14:32 - article_server - INFO - [SQL参数] [1] 22:14:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:33 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s 22:14:33 - article_server - INFO - [SQL参数] (1,) 22:14:33 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:33 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 22:14:33 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:33 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 22:14:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:33 - article_server - INFO - [SQL语句] SELECT id, tag_name, created_user_id, created_at, updated_at FROM ai_prompt_tags WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:14:33 - article_server - INFO - [SQL参数] [1, 100, 0] 22:14:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:33 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, workflow_id, content, usage_count, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:14:33 - article_server - INFO - [SQL参数] (1, 10, 0) 22:14:33 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:14:33 - article_server - INFO - [SQL数据] 查询结果: [{'id': 15, 'tag_name': '基础提示词', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}, {'id': 14, 'tag_name': '去重', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}] 22:14:33 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:14:33 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'workflow_id': '7576997068138659846', 'content': '你是一个健康类自媒体的编辑,每天需要撰写健康类内容。我将要给你一个topic,这个topic是一个问句。请你先产生一个段落的回复,然后再段展开回复。每个段落都需要用一个emoji开头。最后,请生成tag。段落与段落之间空一行,保证可读性。\n详细要求如下:\n一、核心要求:\n1.\t目标受众: 普通大众,非专业人士。务必:\n¡\t避免使用专业术语和书面化表达\n¡\t内容安全限制:\n\uf06e\t❌ 禁止提及任何人体私密部位或敏感功能\n\uf06e\t❌ 禁用可能引发恐慌的词汇(如"危险""致命")\n2.\t内容核心: 围绕“主题”,聚焦病症、问题、危害或困扰, 解释原因、原理,介绍症状、类型,提供积极、实用的解决方案、改善建议或注意事项等有价值的内容均可。\n3.\t唯一性与实用性: 生成的内容需确保信息准确(基于常识)且每次生成的内容不应与历史输出重复(针对同一主题多次生成时)。\n二、内容结构及具体要求:\n\uf06c\t【首段提问】 (title):\n¡\t对应内容为{{title}}\n\n\uf06c\t【次段简答】 (short-answer):\n¡\t字数: 60-120字。 \n **内容要求**:\n 1. 第一句话必须直接回答{{title}}的提问,可以拓展1-2句话\n 2. 直接明晰,不要太笼统,禁止罗里吧嗦\n 3. 段前不要emoji表情符号\n \n **✅ 合格示例**:\n 发现HPV16或18阳性,这通常意味着宫颈癌筛查结果显示存在感染。接下来一般会建议做阴道镜检查,再根据检查的具体情况决定治疗方案。\n\n **❌ 不合格示例**:\n • 使用emoji开头\n • 没有直接回答问题\n • 过于笼统泛泛而谈 \n\n\uf06c\t【分段细答】 (contents):\n¡\t数量要求:2-3段。\n¡\t字数要求: 60~100字/段。\n¡\t核心要求:\n\uf06e\t语言口语化、自然流畅。\n\uf06e\t段落内容必须围绕核心观点展开,根据不同情况分类详细阐述问题,可以是具体可行的建议(吃什么、做什么、注意什么等),疾病的科普(主要症状、影响、诱因等),或者其它逻辑合理的内容也可以。\n\uf06e\t内容有一定的逻辑,包括但不限于(首先、其次、最后),(第一,第二,第三),(不仅、而且、还有),(初级、中级、高级)。\n\uf06e\t每段内容均衡,不超过五句话,确保信息全面且易于消化。\n\uf06e\t分段细答部分应当是次段简答部分的延伸,但用词不能和次段简答部分有太多重复,请保持多样性。\n\uf06e\t 在生成回答前,必须执行以下创造性流程:\n\t\t结构性禁令(排除法):行文结构不得是“定义→成因→症状→治疗”或“是什么→为什么→怎么办”及其任何变体。\n\t\t动态自我审视(核心步骤):\n\t\t回顾:主动审视历史内容中,针对相同或相似主题已使用过的所有核心阐述逻辑。\n\t\t规避:明确禁止重复或小幅修改上述任何逻辑。\n\t\t创新:基于当前问题的具体内涵,生成一个在本质上全新的、服务于核心问题的最佳解释路径。该路径必须与所有已回顾的逻辑存在根本性差异。\n\t\t输出确认:最终采用的逻辑结构,应是本次对话上下文中一次独特的、未经使用的创造性表达形式。\n\n\uf06c\t【标签】 (tags):\n¡\t**单个关键词字数:4-8个字。\n¡\t内容:* (1)根据正文内容,生成5个内容强相关tag; (2)标签格式:每个关键词前后都有# (例: #养生小知识# #中医养生##习惯养成# #健康养生#)\n三、变量输入:\n\uf06c\t主题: {{title}}\n四、最终安全规则:\n4.\t全篇禁止出现人体私密部位描述\n5.\t关键安全信息重复出现≥2次\n6.\t每句话≤20字,复合句用逗号分隔\n7、不能出现 "下面就给大家仔细说说",“下面具体讲讲”,话术\n', 'usage_count': 32, 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 13, 54)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'workflow_id': 'WF-001', 'content': '你是一个小红书种草达人,请根据产品信息写一篇真实、有感染力的种草笔记...', 'usage_count': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 22:14:33 - article_server - INFO - [获取标签列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 22:14:33 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 104.244.91.212 - 状态码: 200 22:14:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:33 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 22:14:33 - article_server - INFO - [SQL参数] (25,) 22:14:33 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:14:33 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}] 22:14:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:33 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 22:14:33 - article_server - INFO - [SQL参数] (1,) 22:14:33 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:14:33 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 22:14:33 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200 22:14:33 - article_server - INFO - [API访问] GET /api/prompts/list_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 22:14:33 - article_server - INFO - [Token验证成功] 用户ID: 10 22:14:33 - article_server - INFO - [API访问] GET /api/products/list_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 22:14:33 - article_server - INFO - [获取提示词列表简化版] 开始处理请求, IP: 104.244.91.212 22:14:33 - article_server - INFO - [获取提示词列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:14:33 - article_server - INFO - [Token验证成功] 用户ID: 10 22:14:33 - article_server - INFO - [获取产品列表简化版] 开始处理请求, IP: 104.244.91.212 22:14:33 - article_server - INFO - [获取产品列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:14:33 - article_server - INFO - [API访问] GET /api/articles/list_dashboard - 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 22:14:33 - article_server - INFO - [Token验证成功] 用户ID: 10 22:14:33 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212 22:14:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:33 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC 22:14:33 - article_server - INFO - [SQL参数] (1,) 22:14:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:33 - article_server - INFO - [SQL语句] SELECT id, name, status, created_at, updated_at FROM ai_products WHERE enterprise_id = %s AND status IN ('draft', 'active') ORDER BY created_at DESC 22:14:33 - article_server - INFO - [SQL参数] (1,) 22:14:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:33 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s 22:14:33 - article_server - INFO - [API访问] GET /api/articles/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 22:14:33 - article_server - INFO - [SQL参数] (1,) 22:14:33 - article_server - INFO - [Token验证成功] 用户ID: 10 22:14:33 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212 22:14:33 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:14:33 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212 22:14:33 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:14:33 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 13, 54)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 22:14:33 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:14:33 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:33 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 22:14:33 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 22:14:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:33 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_articles WHERE enterprise_id = %s 22:14:33 - article_server - INFO - [SQL参数] [1] 22:14:33 - article_server - INFO - [获取提示词列表简化版] 查询成功, 返回数量: 2, 企业ID: 1, IP: 104.244.91.212 22:14:33 - article_server - INFO - [API响应] GET /api/prompts/list_info - IP: 104.244.91.212 - 状态码: 200 22:14:33 - article_server - INFO - [获取产品列表简化版] 查询成功, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 22:14:33 - article_server - INFO - [API响应] GET /api/products/list_info - IP: 104.244.91.212 - 状态码: 200 22:14:33 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:33 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 22:14:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:33 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published_review' 22:14:33 - article_server - INFO - [SQL参数] (1,) 22:14:33 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:33 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 22:14:33 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:33 - article_server - INFO - [SQL语句] SELECT id, batch_id, enterprise_id, product_id, product_name, topic_type_id, prompt_workflow_id, prompt_workflow_name, topic, title, context_summary, department, departmentids, author_id, author_name, department_id, department_name, created_user_id, review_user_id, publish_user_id, status, channel, review_comment, publish_time, publish_link, baijiahao_id, baijiahao_status, word_count, image_count, coze_tag, created_at, updated_at, product_name as product_name, prompt_workflow_name as prompt_name FROM ai_articles WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:14:33 - article_server - INFO - [SQL参数] [1, 10, 0] 22:14:33 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 22:14:34 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:34 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published' 22:14:34 - article_server - INFO - [SQL参数] (1,) 22:14:34 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:14:34 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 22:14:34 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:34 - article_server - INFO - [SQL语句] SELECT id, article_id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ORDER BY article_id, sort_order ASC, created_at ASC 22:14:34 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 22:14:34 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 43, 可发: 0, 已发: 0, IP: 104.244.91.212 22:14:34 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200 22:14:34 - article_server - INFO - [SQL结果] 查询完成,返回 16 条记录 22:14:34 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:14:34 - article_server - INFO - [SQL语句] SELECT id, article_id, coze_tag, created_at FROM ai_article_tags WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 22:14:34 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 22:14:34 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 22:14:34 - article_server - INFO - [获取文章列表] 查询成功, 总数: 43, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212 22:14:34 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200 22:21:02 - article_server - INFO - [API访问] GET /api/articles/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 22:21:02 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:02 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212 22:21:02 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:02 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212 22:21:02 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:02 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_articles WHERE enterprise_id = %s 22:21:02 - article_server - INFO - [SQL参数] [1] 22:21:02 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:02 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 22:21:02 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:02 - article_server - INFO - [SQL语句] SELECT id, batch_id, enterprise_id, product_id, product_name, topic_type_id, prompt_workflow_id, prompt_workflow_name, topic, title, context_summary, department, departmentids, author_id, author_name, department_id, department_name, created_user_id, review_user_id, publish_user_id, status, channel, review_comment, publish_time, publish_link, baijiahao_id, baijiahao_status, word_count, image_count, coze_tag, created_at, updated_at, product_name as product_name, prompt_workflow_name as prompt_name FROM ai_articles WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:02 - article_server - INFO - [SQL参数] [1, 10, 0] 22:21:02 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 22:21:02 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:02 - article_server - INFO - [SQL语句] SELECT id, article_id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ORDER BY article_id, sort_order ASC, created_at ASC 22:21:02 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 22:21:02 - article_server - INFO - [SQL结果] 查询完成,返回 16 条记录 22:21:02 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:02 - article_server - INFO - [SQL语句] SELECT id, article_id, coze_tag, created_at FROM ai_article_tags WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 22:21:02 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 22:21:02 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 22:21:03 - article_server - INFO - [获取文章列表] 查询成功, 总数: 43, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212 22:21:03 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200 22:21:03 - article_server - INFO - [API访问] GET /api/articles/list_dashboard - 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 22:21:03 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:03 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212 22:21:03 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:03 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s 22:21:03 - article_server - INFO - [SQL参数] (1,) 22:21:03 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:03 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 22:21:03 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:03 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published_review' 22:21:03 - article_server - INFO - [SQL参数] (1,) 22:21:03 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:03 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 22:21:03 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:03 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published' 22:21:03 - article_server - INFO - [SQL参数] (1,) 22:21:03 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:03 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 22:21:03 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 43, 可发: 0, 已发: 0, IP: 104.244.91.212 22:21:03 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200 22:21:03 - article_server - INFO - [API访问] GET /api/products/list_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 22:21:03 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:03 - article_server - INFO - [获取产品列表简化版] 开始处理请求, IP: 104.244.91.212 22:21:03 - article_server - INFO - [获取产品列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:03 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:03 - article_server - INFO - [SQL语句] SELECT id, name, status, created_at, updated_at FROM ai_products WHERE enterprise_id = %s AND status IN ('draft', 'active') ORDER BY created_at DESC 22:21:03 - article_server - INFO - [SQL参数] (1,) 22:21:03 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:03 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 22:21:03 - article_server - INFO - [获取产品列表简化版] 查询成功, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 22:21:03 - article_server - INFO - [API响应] GET /api/products/list_info - IP: 104.244.91.212 - 状态码: 200 22:21:04 - article_server - INFO - [API访问] GET /api/prompts/list_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 22:21:04 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:04 - article_server - INFO - [获取提示词列表简化版] 开始处理请求, IP: 104.244.91.212 22:21:04 - article_server - INFO - [获取提示词列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:04 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:04 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC 22:21:04 - article_server - INFO - [SQL参数] (1,) 22:21:04 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:04 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 13, 54)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 22:21:04 - article_server - INFO - [获取提示词列表简化版] 查询成功, 返回数量: 2, 企业ID: 1, IP: 104.244.91.212 22:21:04 - article_server - INFO - [API响应] GET /api/prompts/list_info - IP: 104.244.91.212 - 状态码: 200 22:21:04 - 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 22:21:04 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:04 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212 22:21:04 - article_server - INFO - [获取用户信息] 用户ID: 10, action: , IP: 104.244.91.212 22:21:04 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:04 - 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' 22:21:04 - article_server - INFO - [SQL参数] (10,) 22:21:04 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:04 - 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)}] 22:21:04 - article_server - INFO - [SQL执行] 开始执行插入SQL 22:21:04 - 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()) 22:21:04 - 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) 22:21:04 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 67192 22:21:04 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 10 | 目标: user#10 | 状态: success | IP: 104.244.91.212 | 日志ID: 67192 22:21:04 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200 22:21:05 - 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 22:21:05 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:05 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 22:21:05 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 22:21:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:05 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 22:21:05 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:05 - article_server - INFO - [SQL数据] 查询结果: [{'total': 5}] 22:21:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:05 - 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 22:21:05 - article_server - INFO - [SQL参数] [10, 0] 22:21:05 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录 22:21:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:05 - 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 22:21:05 - article_server - INFO - [SQL参数] (15,) 22:21:05 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:05 - 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 22:21:05 - article_server - INFO - [SQL参数] (14,) 22:21:05 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:05 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242434'}] 22:21:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:05 - 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 22:21:05 - article_server - INFO - [SQL参数] (1,) 22:21:05 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:05 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 22:21:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:05 - 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 22:21:05 - article_server - INFO - [SQL参数] (7,) 22:21:05 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:05 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:05 - 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 22:21:05 - article_server - INFO - [SQL参数] (8,) 22:21:05 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:05 - article_server - INFO - [获取企业列表] 查询成功, 总数: 5, 当前页: 1, 每页: 10, 返回数量: 5, IP: 104.244.91.212 22:21:05 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 22:21:06 - 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 22:21:06 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:06 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:06 - 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 22:21:06 - article_server - INFO - [SQL参数] (1,) 22:21:06 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:06 - 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': 43, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}] 22:21:06 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:06 - 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 22:21:06 - article_server - INFO - [SQL参数] (1,) 22:21:07 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:07 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 22:21:07 - article_server - INFO - 获取企业信息成功(含密码): ID 1 22:21:07 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200 22:21:08 - 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 22:21:08 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:08 - 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 22:21:08 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:08 - 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' 22:21:08 - article_server - INFO - [SQL参数] (1,) 22:21:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:08 - 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' 22:21:08 - article_server - INFO - [SQL参数] [1] 22:21:08 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:08 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 6, 'active_count': Decimal('6'), 'bound_xhs_count': Decimal('3')}] 22:21:08 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:08 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}] 22:21:08 - article_server - INFO - 获取员工统计成功 22:21:08 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200 22:21:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:08 - 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 22:21:08 - article_server - INFO - [SQL参数] [1, 10, 0] 22:21:08 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 22:21:08 - article_server - INFO - 获取员工列表成功,总数: 6 22:21:08 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200 22:21:08 - article_server - INFO - [API访问] GET /api/products/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 22:21:08 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:08 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 22:21:08 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:08 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=12, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 22:21:08 - article_server - INFO - [API访问] GET /api/products/types/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 22:21:08 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:08 - article_server - INFO - [获取企业产品类型列表] 开始处理请求, IP: 104.244.91.212 22:21:08 - article_server - INFO - [获取企业产品类型列表] 企业ID: 1, IP: 104.244.91.212 22:21:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:08 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 22:21:08 - article_server - INFO - [SQL参数] [1] 22:21:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:08 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_product_types WHERE enterprise_id = %s 22:21:08 - article_server - INFO - [SQL参数] [1] 22:21:08 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:08 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 22:21:08 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:08 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 22:21:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:08 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 22:21:08 - article_server - INFO - [SQL参数] [1, 12, 0] 22:21:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:08 - article_server - INFO - [SQL语句] SELECT id, type_name, enterprise_id, product_id, created_at FROM ai_product_types WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:08 - article_server - INFO - [SQL参数] [1, 100, 0] 22:21:08 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:08 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 31, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 22:21:08 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:08 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:08 - article_server - INFO - [SQL参数] (25,) 22:21:08 - article_server - INFO - [获取企业产品类型列表] 查询成功, 企业ID: 1, 总数: 0, 返回: 0, IP: 104.244.91.212 22:21:08 - article_server - INFO - [API响应] GET /api/products/types/list - IP: 104.244.91.212 - 状态码: 200 22:21:08 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:08 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:08 - article_server - INFO - [SQL参数] (13,) 22:21:08 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:08 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:08 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:08 - article_server - INFO - [SQL参数] (1,) 22:21:08 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:08 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 22:21:08 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 12, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 22:21:08 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 22:21:10 - article_server - INFO - [API访问] GET /api/images/list_dashboard - 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 22:21:10 - article_server - INFO - [API访问] GET /api/products/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 22:21:10 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:10 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:10 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 22:21:10 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:10 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=100, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 22:21:10 - article_server - INFO - [API访问] GET /api/images/types/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 22:21:10 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:10 - article_server - INFO - [获取图片类型列表] current_user: {'user_id': 10, 'username': '13621242430', 'role': 'enterprise', 'enterprise_id': 1, 'exp': 1766411012, 'iat': 1766324612}, enterprise_id: 1 22:21:10 - article_server - INFO - [API访问] GET /api/images/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 22:21:10 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 22:21:10 - article_server - INFO - [SQL参数] [1] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' 22:21:10 - article_server - INFO - [SQL参数] [1] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_images WHERE enterprise_id = %s AND status = %s 22:21:10 - article_server - INFO - [SQL参数] [1, 'active'] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_image_type WHERE enterprise_id = %s 22:21:10 - article_server - INFO - [SQL参数] [1] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 10}] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 22:21:10 - article_server - INFO - [SQL参数] [1, 100, 0] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT id, product_id, product_name, image_name, image_url, image_thumb_url, thumbnail_url, image_type_id, image_type_name, department, keywords, size_type, file_size, width, height, status, created_at, updated_at FROM ai_images WHERE enterprise_id = %s AND status = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:10 - article_server - INFO - [SQL参数] [1, 'active', 10, 0] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND product_id > 0 22:21:10 - article_server - INFO - [SQL参数] [1] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, type_name, keywords_id, keywords_name, department_id, department_name, created_user_id, created_at, updated_at FROM ai_image_type WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:10 - article_server - INFO - [SQL参数] [1, 100, 0] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 31, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 8 条记录 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:10 - article_server - INFO - [SQL参数] (25,) 22:21:10 - article_server - INFO - [API响应] GET /api/images/types/list - IP: 104.244.91.212 - 状态码: 200 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:10 - article_server - INFO - [SQL参数] [31, 1] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT COUNT(DISTINCT product_id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND product_id > 0 22:21:10 - article_server - INFO - [SQL参数] [1] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:10 - article_server - INFO - [SQL参数] (13,) 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:10 - article_server - INFO - [SQL参数] [30, 1] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND image_type_name LIKE %s 22:21:10 - article_server - INFO - [SQL参数] [1, '%场景%'] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:10 - article_server - INFO - [SQL参数] (1,) 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 22:21:10 - article_server - INFO - 获取图片库仪表盘数据成功,企业ID: 1 22:21:10 - article_server - INFO - [API响应] GET /api/images/list_dashboard - IP: 104.244.91.212 - 状态码: 200 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:10 - article_server - INFO - [SQL参数] [29, 1] 22:21:10 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 100, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 22:21:10 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:10 - article_server - INFO - [SQL参数] [28, 1] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:21:10 - article_server - INFO - [API访问] GET /api/prompts/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 22:21:10 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:10 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212 22:21:10 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:10 - article_server - INFO - [SQL参数] [27, 1] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s 22:21:10 - article_server - INFO - [SQL参数] (1,) 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:10 - article_server - INFO - [SQL参数] [26, 1] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, workflow_id, content, usage_count, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:10 - article_server - INFO - [SQL参数] (1, 10, 0) 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'workflow_id': '7576997068138659846', 'content': '你是一个健康类自媒体的编辑,每天需要撰写健康类内容。我将要给你一个topic,这个topic是一个问句。请你先产生一个段落的回复,然后再段展开回复。每个段落都需要用一个emoji开头。最后,请生成tag。段落与段落之间空一行,保证可读性。\n详细要求如下:\n一、核心要求:\n1.\t目标受众: 普通大众,非专业人士。务必:\n¡\t避免使用专业术语和书面化表达\n¡\t内容安全限制:\n\uf06e\t❌ 禁止提及任何人体私密部位或敏感功能\n\uf06e\t❌ 禁用可能引发恐慌的词汇(如"危险""致命")\n2.\t内容核心: 围绕“主题”,聚焦病症、问题、危害或困扰, 解释原因、原理,介绍症状、类型,提供积极、实用的解决方案、改善建议或注意事项等有价值的内容均可。\n3.\t唯一性与实用性: 生成的内容需确保信息准确(基于常识)且每次生成的内容不应与历史输出重复(针对同一主题多次生成时)。\n二、内容结构及具体要求:\n\uf06c\t【首段提问】 (title):\n¡\t对应内容为{{title}}\n\n\uf06c\t【次段简答】 (short-answer):\n¡\t字数: 60-120字。 \n **内容要求**:\n 1. 第一句话必须直接回答{{title}}的提问,可以拓展1-2句话\n 2. 直接明晰,不要太笼统,禁止罗里吧嗦\n 3. 段前不要emoji表情符号\n \n **✅ 合格示例**:\n 发现HPV16或18阳性,这通常意味着宫颈癌筛查结果显示存在感染。接下来一般会建议做阴道镜检查,再根据检查的具体情况决定治疗方案。\n\n **❌ 不合格示例**:\n • 使用emoji开头\n • 没有直接回答问题\n • 过于笼统泛泛而谈 \n\n\uf06c\t【分段细答】 (contents):\n¡\t数量要求:2-3段。\n¡\t字数要求: 60~100字/段。\n¡\t核心要求:\n\uf06e\t语言口语化、自然流畅。\n\uf06e\t段落内容必须围绕核心观点展开,根据不同情况分类详细阐述问题,可以是具体可行的建议(吃什么、做什么、注意什么等),疾病的科普(主要症状、影响、诱因等),或者其它逻辑合理的内容也可以。\n\uf06e\t内容有一定的逻辑,包括但不限于(首先、其次、最后),(第一,第二,第三),(不仅、而且、还有),(初级、中级、高级)。\n\uf06e\t每段内容均衡,不超过五句话,确保信息全面且易于消化。\n\uf06e\t分段细答部分应当是次段简答部分的延伸,但用词不能和次段简答部分有太多重复,请保持多样性。\n\uf06e\t 在生成回答前,必须执行以下创造性流程:\n\t\t结构性禁令(排除法):行文结构不得是“定义→成因→症状→治疗”或“是什么→为什么→怎么办”及其任何变体。\n\t\t动态自我审视(核心步骤):\n\t\t回顾:主动审视历史内容中,针对相同或相似主题已使用过的所有核心阐述逻辑。\n\t\t规避:明确禁止重复或小幅修改上述任何逻辑。\n\t\t创新:基于当前问题的具体内涵,生成一个在本质上全新的、服务于核心问题的最佳解释路径。该路径必须与所有已回顾的逻辑存在根本性差异。\n\t\t输出确认:最终采用的逻辑结构,应是本次对话上下文中一次独特的、未经使用的创造性表达形式。\n\n\uf06c\t【标签】 (tags):\n¡\t**单个关键词字数:4-8个字。\n¡\t内容:* (1)根据正文内容,生成5个内容强相关tag; (2)标签格式:每个关键词前后都有# (例: #养生小知识# #中医养生##习惯养成# #健康养生#)\n三、变量输入:\n\uf06c\t主题: {{title}}\n四、最终安全规则:\n4.\t全篇禁止出现人体私密部位描述\n5.\t关键安全信息重复出现≥2次\n6.\t每句话≤20字,复合句用逗号分隔\n7、不能出现 "下面就给大家仔细说说",“下面具体讲讲”,话术\n', 'usage_count': 32, 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 13, 54)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'workflow_id': 'WF-001', 'content': '你是一个小红书种草达人,请根据产品信息写一篇真实、有感染力的种草笔记...', 'usage_count': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:10 - article_server - INFO - [SQL参数] [25, 1] 22:21:10 - article_server - INFO - [API访问] GET /api/prompts/tags/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 22:21:10 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:10 - article_server - INFO - [获取标签列表] 开始处理请求, IP: 104.244.91.212 22:21:10 - article_server - INFO - [获取标签列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 22:21:10 - article_server - INFO - [SQL参数] (25,) 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s 22:21:10 - article_server - INFO - [SQL参数] [1] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:10 - article_server - INFO - [SQL参数] [24, 1] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 3, 'tag_name': '产品(4)'}, {'tag_id': 4, 'tag_name': '产品(4)3'}] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT id, tag_name, created_user_id, created_at, updated_at FROM ai_prompt_tags WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:10 - article_server - INFO - [SQL参数] [1, 100, 0] 22:21:10 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:10 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 22:21:10 - article_server - INFO - [SQL参数] (1,) 22:21:10 - article_server - INFO - 获取图片列表成功,总数: 8 22:21:10 - article_server - INFO - [API响应] GET /api/images/list - IP: 104.244.91.212 - 状态码: 200 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:10 - article_server - INFO - [SQL数据] 查询结果: [{'id': 15, 'tag_name': '基础提示词', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}, {'id': 14, 'tag_name': '去重', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}] 22:21:10 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:10 - article_server - INFO - [获取标签列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 22:21:10 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 104.244.91.212 - 状态码: 200 22:21:10 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 22:21:10 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200 22:21:12 - article_server - INFO - [API访问] GET /api/images/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 22:21:12 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:12 - article_server - INFO - [API访问] GET /api/images/list_dashboard - 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 22:21:12 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:12 - article_server - INFO - [API访问] GET /api/products/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 22:21:12 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:12 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 22:21:12 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:12 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=100, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 22:21:12 - article_server - INFO - [API访问] GET /api/images/types/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 22:21:12 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:12 - article_server - INFO - [获取图片类型列表] current_user: {'user_id': 10, 'username': '13621242430', 'role': 'enterprise', 'enterprise_id': 1, 'exp': 1766411012, 'iat': 1766324612}, enterprise_id: 1 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_images WHERE enterprise_id = %s AND status = %s 22:21:12 - article_server - INFO - [SQL参数] [1, 'active'] 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' 22:21:12 - article_server - INFO - [SQL参数] [1] 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 22:21:12 - article_server - INFO - [SQL参数] [1] 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_image_type WHERE enterprise_id = %s 22:21:12 - article_server - INFO - [SQL参数] [1] 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 10}] 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT id, product_id, product_name, image_name, image_url, image_thumb_url, thumbnail_url, image_type_id, image_type_name, department, keywords, size_type, file_size, width, height, status, created_at, updated_at FROM ai_images WHERE enterprise_id = %s AND status = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:12 - article_server - INFO - [SQL参数] [1, 'active', 10, 0] 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 22:21:12 - article_server - INFO - [SQL参数] [1, 100, 0] 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND product_id > 0 22:21:12 - article_server - INFO - [SQL参数] [1] 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, type_name, keywords_id, keywords_name, department_id, department_name, created_user_id, created_at, updated_at FROM ai_image_type WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:12 - article_server - INFO - [SQL参数] [1, 100, 0] 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 8 条记录 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:12 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 31, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:12 - article_server - INFO - [SQL参数] [31, 1] 22:21:12 - article_server - INFO - [API响应] GET /api/images/types/list - IP: 104.244.91.212 - 状态码: 200 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:12 - article_server - INFO - [SQL参数] (25,) 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:12 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT COUNT(DISTINCT product_id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND product_id > 0 22:21:12 - article_server - INFO - [SQL参数] [1] 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:12 - article_server - INFO - [SQL参数] [30, 1] 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:12 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:12 - article_server - INFO - [SQL参数] (13,) 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND image_type_name LIKE %s 22:21:12 - article_server - INFO - [SQL参数] [1, '%场景%'] 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:12 - article_server - INFO - [SQL参数] [29, 1] 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:12 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:21:12 - article_server - INFO - 获取图片库仪表盘数据成功,企业ID: 1 22:21:12 - article_server - INFO - [API响应] GET /api/images/list_dashboard - IP: 104.244.91.212 - 状态码: 200 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:12 - article_server - INFO - [SQL参数] (1,) 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:12 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:12 - article_server - INFO - [SQL参数] [28, 1] 22:21:12 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 100, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 22:21:12 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:12 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:12 - article_server - INFO - [SQL参数] [27, 1] 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:12 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:12 - article_server - INFO - [SQL参数] [26, 1] 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:12 - article_server - INFO - [SQL参数] [25, 1] 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 22:21:12 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:12 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:12 - article_server - INFO - [SQL参数] [24, 1] 22:21:12 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:12 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 3, 'tag_name': '产品(4)'}, {'tag_id': 4, 'tag_name': '产品(4)3'}] 22:21:12 - article_server - INFO - 获取图片列表成功,总数: 8 22:21:12 - article_server - INFO - [API响应] GET /api/images/list - IP: 104.244.91.212 - 状态码: 200 22:21:15 - article_server - INFO - [API访问] GET /api/prompts/tags/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 22:21:15 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:15 - article_server - INFO - [获取标签列表] 开始处理请求, IP: 104.244.91.212 22:21:15 - article_server - INFO - [获取标签列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:15 - article_server - INFO - [API访问] GET /api/prompts/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 22:21:15 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:15 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212 22:21:15 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:15 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s 22:21:15 - article_server - INFO - [SQL参数] (1,) 22:21:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:15 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s 22:21:15 - article_server - INFO - [SQL参数] [1] 22:21:15 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:15 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 22:21:15 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:15 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 22:21:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:15 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, workflow_id, content, usage_count, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:15 - article_server - INFO - [SQL参数] (1, 10, 0) 22:21:15 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:15 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'workflow_id': '7576997068138659846', 'content': '你是一个健康类自媒体的编辑,每天需要撰写健康类内容。我将要给你一个topic,这个topic是一个问句。请你先产生一个段落的回复,然后再段展开回复。每个段落都需要用一个emoji开头。最后,请生成tag。段落与段落之间空一行,保证可读性。\n详细要求如下:\n一、核心要求:\n1.\t目标受众: 普通大众,非专业人士。务必:\n¡\t避免使用专业术语和书面化表达\n¡\t内容安全限制:\n\uf06e\t❌ 禁止提及任何人体私密部位或敏感功能\n\uf06e\t❌ 禁用可能引发恐慌的词汇(如"危险""致命")\n2.\t内容核心: 围绕“主题”,聚焦病症、问题、危害或困扰, 解释原因、原理,介绍症状、类型,提供积极、实用的解决方案、改善建议或注意事项等有价值的内容均可。\n3.\t唯一性与实用性: 生成的内容需确保信息准确(基于常识)且每次生成的内容不应与历史输出重复(针对同一主题多次生成时)。\n二、内容结构及具体要求:\n\uf06c\t【首段提问】 (title):\n¡\t对应内容为{{title}}\n\n\uf06c\t【次段简答】 (short-answer):\n¡\t字数: 60-120字。 \n **内容要求**:\n 1. 第一句话必须直接回答{{title}}的提问,可以拓展1-2句话\n 2. 直接明晰,不要太笼统,禁止罗里吧嗦\n 3. 段前不要emoji表情符号\n \n **✅ 合格示例**:\n 发现HPV16或18阳性,这通常意味着宫颈癌筛查结果显示存在感染。接下来一般会建议做阴道镜检查,再根据检查的具体情况决定治疗方案。\n\n **❌ 不合格示例**:\n • 使用emoji开头\n • 没有直接回答问题\n • 过于笼统泛泛而谈 \n\n\uf06c\t【分段细答】 (contents):\n¡\t数量要求:2-3段。\n¡\t字数要求: 60~100字/段。\n¡\t核心要求:\n\uf06e\t语言口语化、自然流畅。\n\uf06e\t段落内容必须围绕核心观点展开,根据不同情况分类详细阐述问题,可以是具体可行的建议(吃什么、做什么、注意什么等),疾病的科普(主要症状、影响、诱因等),或者其它逻辑合理的内容也可以。\n\uf06e\t内容有一定的逻辑,包括但不限于(首先、其次、最后),(第一,第二,第三),(不仅、而且、还有),(初级、中级、高级)。\n\uf06e\t每段内容均衡,不超过五句话,确保信息全面且易于消化。\n\uf06e\t分段细答部分应当是次段简答部分的延伸,但用词不能和次段简答部分有太多重复,请保持多样性。\n\uf06e\t 在生成回答前,必须执行以下创造性流程:\n\t\t结构性禁令(排除法):行文结构不得是“定义→成因→症状→治疗”或“是什么→为什么→怎么办”及其任何变体。\n\t\t动态自我审视(核心步骤):\n\t\t回顾:主动审视历史内容中,针对相同或相似主题已使用过的所有核心阐述逻辑。\n\t\t规避:明确禁止重复或小幅修改上述任何逻辑。\n\t\t创新:基于当前问题的具体内涵,生成一个在本质上全新的、服务于核心问题的最佳解释路径。该路径必须与所有已回顾的逻辑存在根本性差异。\n\t\t输出确认:最终采用的逻辑结构,应是本次对话上下文中一次独特的、未经使用的创造性表达形式。\n\n\uf06c\t【标签】 (tags):\n¡\t**单个关键词字数:4-8个字。\n¡\t内容:* (1)根据正文内容,生成5个内容强相关tag; (2)标签格式:每个关键词前后都有# (例: #养生小知识# #中医养生##习惯养成# #健康养生#)\n三、变量输入:\n\uf06c\t主题: {{title}}\n四、最终安全规则:\n4.\t全篇禁止出现人体私密部位描述\n5.\t关键安全信息重复出现≥2次\n6.\t每句话≤20字,复合句用逗号分隔\n7、不能出现 "下面就给大家仔细说说",“下面具体讲讲”,话术\n', 'usage_count': 32, 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 13, 54)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'workflow_id': 'WF-001', 'content': '你是一个小红书种草达人,请根据产品信息写一篇真实、有感染力的种草笔记...', 'usage_count': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 22:21:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:15 - article_server - INFO - [SQL语句] SELECT id, tag_name, created_user_id, created_at, updated_at FROM ai_prompt_tags WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:15 - article_server - INFO - [SQL参数] [1, 100, 0] 22:21:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:15 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 22:21:15 - article_server - INFO - [SQL参数] (25,) 22:21:15 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:15 - article_server - INFO - [SQL数据] 查询结果: [{'id': 15, 'tag_name': '基础提示词', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}, {'id': 14, 'tag_name': '去重', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}] 22:21:15 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:15 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}] 22:21:15 - article_server - INFO - [获取标签列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 22:21:15 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 104.244.91.212 - 状态码: 200 22:21:15 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:15 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 22:21:15 - article_server - INFO - [SQL参数] (1,) 22:21:15 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:15 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 22:21:15 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200 22:21:16 - article_server - INFO - [API访问] GET /api/articles/list_dashboard - 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 22:21:16 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:16 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212 22:21:16 - article_server - INFO - [API访问] GET /api/products/list_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 22:21:16 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:16 - article_server - INFO - [获取产品列表简化版] 开始处理请求, IP: 104.244.91.212 22:21:16 - article_server - INFO - [获取产品列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:16 - article_server - INFO - [API访问] GET /api/articles/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 22:21:16 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:16 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212 22:21:16 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:16 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212 22:21:16 - article_server - INFO - [API访问] GET /api/prompts/list_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 22:21:16 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:16 - article_server - INFO - [获取提示词列表简化版] 开始处理请求, IP: 104.244.91.212 22:21:16 - article_server - INFO - [获取提示词列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:17 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s 22:21:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:17 - article_server - INFO - [SQL参数] (1,) 22:21:17 - article_server - INFO - [SQL语句] SELECT id, name, status, created_at, updated_at FROM ai_products WHERE enterprise_id = %s AND status IN ('draft', 'active') ORDER BY created_at DESC 22:21:17 - article_server - INFO - [SQL参数] (1,) 22:21:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:17 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC 22:21:17 - article_server - INFO - [SQL参数] (1,) 22:21:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:17 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_articles WHERE enterprise_id = %s 22:21:17 - article_server - INFO - [SQL参数] [1] 22:21:17 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:17 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 13, 54)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 22:21:17 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:17 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 22:21:17 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:17 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 22:21:17 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:17 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 22:21:17 - article_server - INFO - [获取提示词列表简化版] 查询成功, 返回数量: 2, 企业ID: 1, IP: 104.244.91.212 22:21:17 - article_server - INFO - [API响应] GET /api/prompts/list_info - IP: 104.244.91.212 - 状态码: 200 22:21:17 - article_server - INFO - [获取产品列表简化版] 查询成功, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 22:21:17 - article_server - INFO - [API响应] GET /api/products/list_info - IP: 104.244.91.212 - 状态码: 200 22:21:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:17 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published_review' 22:21:17 - article_server - INFO - [SQL参数] (1,) 22:21:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:17 - article_server - INFO - [SQL语句] SELECT id, batch_id, enterprise_id, product_id, product_name, topic_type_id, prompt_workflow_id, prompt_workflow_name, topic, title, context_summary, department, departmentids, author_id, author_name, department_id, department_name, created_user_id, review_user_id, publish_user_id, status, channel, review_comment, publish_time, publish_link, baijiahao_id, baijiahao_status, word_count, image_count, coze_tag, created_at, updated_at, product_name as product_name, prompt_workflow_name as prompt_name FROM ai_articles WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:17 - article_server - INFO - [SQL参数] [1, 10, 0] 22:21:17 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:17 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 22:21:17 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 22:21:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:17 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published' 22:21:17 - article_server - INFO - [SQL参数] (1,) 22:21:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:17 - article_server - INFO - [SQL语句] SELECT id, article_id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ORDER BY article_id, sort_order ASC, created_at ASC 22:21:17 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 22:21:17 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:17 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 22:21:17 - article_server - INFO - [SQL结果] 查询完成,返回 16 条记录 22:21:17 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 43, 可发: 0, 已发: 0, IP: 104.244.91.212 22:21:17 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200 22:21:17 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:17 - article_server - INFO - [SQL语句] SELECT id, article_id, coze_tag, created_at FROM ai_article_tags WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 22:21:17 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 22:21:17 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 22:21:17 - article_server - INFO - [获取文章列表] 查询成功, 总数: 43, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212 22:21:17 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200 22:21:19 - article_server - INFO - [API访问] GET /api/articles/60 - 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 22:21:19 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:19 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:19 - article_server - INFO - [SQL语句] SELECT a.id, a.batch_id, a.enterprise_id, a.product_id, a.topic_type_id, a.prompt_workflow_id, a.topic, a.title, a.content, a.department, a.departmentids, a.author_id, a.author_name, a.department_id, a.department_name, a.created_user_id, a.review_user_id, a.publish_user_id, a.status, a.channel, a.review_comment, a.publish_time, a.publish_link, a.baijiahao_id, a.baijiahao_status, a.word_count, a.image_count, a.coze_tag, a.created_at, a.updated_at, p.name as product_name, pw.prompt_workflow_name as prompt_name FROM ai_articles a LEFT JOIN ai_products p ON a.product_id = p.id LEFT JOIN ai_prompt_workflow pw ON a.prompt_workflow_id = pw.id WHERE a.id = %s AND a.enterprise_id = %s 22:21:19 - article_server - INFO - [SQL参数] (60, 1) 22:21:19 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:19 - article_server - INFO - [SQL数据] 查询结果: [{'id': 60, 'batch_id': 1766325239926738, 'enterprise_id': 1, 'product_id': 25, 'topic_type_id': 0, 'prompt_workflow_id': 25, 'topic': '前列腺增生症的病因有哪些', 'title': '前列腺增生症的病因有哪些', 'content': '前列腺增生症的病因有哪些\n\n前列腺增生症病因和年龄、激素有关。年纪大了患病几率增加,体内激素失衡也会引发。\n\n🔥随着年龄增长,身体机能下降。男性到一定年纪,患前列腺增生症几率大增。这是自然生理变化,难以避免,但可通过健康生活延缓。\n\n🔥体内激素水平很重要。若雄激素和雌激素比例失调,会刺激组织增生,从而引发病症。平时要注意生活规律,稳定激素水平。\n\n🔥不良生活习惯也有影响。长期抽烟喝酒、久坐不动等,会影响血液循环,增加患病风险。所以要养成好的生活习惯。\n\n了解这些病因,能助我们预防前列腺增生症。\n\n', 'department': '', 'departmentids': '', 'author_id': 3, 'author_name': '小红书用户', 'department_id': 0, 'department_name': '', 'created_user_id': 0, 'review_user_id': None, 'publish_user_id': 10, 'status': 'assign_authors', 'channel': 1, 'review_comment': None, 'publish_time': datetime.datetime(2025, 12, 21, 13, 55, 25), 'publish_link': '', 'baijiahao_id': None, 'baijiahao_status': None, 'word_count': 251, 'image_count': 2, 'coze_tag': '#前列腺增生# #增生症病因# #年龄与增生# #激素失衡# #生活习惯影响#', 'created_at': datetime.datetime(2025, 12, 21, 13, 53, 59), 'updated_at': datetime.datetime(2025, 12, 21, 13, 55, 25), 'product_name': '健康类自媒体', 'prompt_name': 'Inject基础提示词'}] 22:21:19 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:19 - article_server - INFO - [SQL语句] SELECT id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id = %s ORDER BY sort_order ASC, created_at ASC 22:21:19 - article_server - INFO - [SQL参数] (60,) 22:21:19 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:19 - article_server - INFO - [SQL数据] 查询结果: [{'id': 15, 'image_id': 26, 'image_url': '20251221/1766303729292188.png', 'image_thumb_url': '20251221/1766303729292188_thumb.png', 'image_tag_id': 0, 'sort_order': 1, 'keywords_id': 0, 'keywords_name': '', 'department_id': 0, 'department_name': '', 'image_source': 2, 'created_at': datetime.datetime(2025, 12, 21, 13, 55, 24)}, {'id': 16, 'image_id': 28, 'image_url': '20251221/1766303866315187.png', 'image_thumb_url': '20251221/1766303866315187_thumb.png', 'image_tag_id': 0, 'sort_order': 2, 'keywords_id': 0, 'keywords_name': '', 'department_id': 0, 'department_name': '', 'image_source': 2, 'created_at': datetime.datetime(2025, 12, 21, 13, 55, 24)}] 22:21:19 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:19 - article_server - INFO - [SQL语句] SELECT id, coze_tag, created_at FROM ai_article_tags WHERE article_id = %s 22:21:19 - article_server - INFO - [SQL参数] (60,) 22:21:19 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:19 - article_server - INFO - [SQL数据] 查询结果: [{'id': 18, 'coze_tag': '#前列腺增生# #增生症病因# #年龄与增生# #激素失衡# #生活习惯影响#', 'created_at': datetime.datetime(2025, 12, 21, 13, 55, 23)}] 22:21:20 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:20 - article_server - INFO - [SQL语句] SELECT id, status, created_user_id, review_user_id, publish_user_id, review_comment, publish_time, publish_link, word_count, image_count, created_at FROM ai_article_published_records WHERE article_id = %s ORDER BY created_at DESC 22:21:20 - article_server - INFO - [SQL参数] (60,) 22:21:20 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:20 - article_server - INFO - 获取文章详情成功: ID 60 22:21:20 - article_server - INFO - [API响应] GET /api/articles/60 - IP: 104.244.91.212 - 状态码: 200 22:21:24 - article_server - INFO - [API访问] GET /api/products/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 22:21:24 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:24 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 22:21:24 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:24 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=100, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 22:21:24 - article_server - INFO - [API访问] GET /api/statistics/records - 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 22:21:24 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:24 - article_server - INFO - [API访问] GET /api/statistics/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 22:21:24 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:24 - 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 22:21:24 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:24 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:24 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 22:21:24 - article_server - INFO - [SQL参数] [1] 22:21:24 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:24 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_article_published_records r WHERE r.enterprise_id = %s 22:21:24 - article_server - INFO - [SQL参数] [1] 22:21:24 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:24 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_article_published_records WHERE enterprise_id = %s 22:21:24 - article_server - INFO - [SQL参数] (1,) 22:21:24 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:24 - 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' 22:21:24 - article_server - INFO - [SQL参数] [1] 22:21:24 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:24 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 22:21:24 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:24 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 22:21:24 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:24 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 22:21:24 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:24 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}] 22:21:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:25 - article_server - INFO - [SQL语句] SELECT COUNT(*) as today_count FROM ai_article_published_records WHERE enterprise_id = %s AND DATE(publish_time) = CURDATE() 22:21:25 - article_server - INFO - [SQL参数] (1,) 22:21:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:25 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 22:21:25 - article_server - INFO - [SQL参数] [1, 100, 0] 22:21:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:25 - article_server - INFO - [SQL语句] SELECT r.id, r.publish_time, r.created_user_id, r.product_id, r.article_id, r.publish_link, r.topic, u.real_name as employee_name, p.name as product_name, a.title 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 LEFT JOIN ai_articles a ON r.article_id = a.id WHERE r.enterprise_id = %s ORDER BY r.publish_time DESC LIMIT %s OFFSET %s 22:21:25 - article_server - INFO - [SQL参数] [1, 100, 0] 22:21:25 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:25 - article_server - INFO - [SQL数据] 查询结果: [{'today_count': 0}] 22:21:25 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:25 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 31, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 22:21:25 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 22:21:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:25 - 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 22:21:25 - article_server - INFO - [SQL参数] [1, 100, 0] 22:21:25 - article_server - INFO - 获取发布记录列表成功,总数: 4 22:21:25 - article_server - INFO - [API响应] GET /api/statistics/records - IP: 104.244.91.212 - 状态码: 200 22:21:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:25 - article_server - INFO - [SQL语句] SELECT COUNT(*) as week_count FROM ai_article_published_records WHERE enterprise_id = %s AND YEARWEEK(publish_time, 1) = YEARWEEK(CURDATE(), 1) 22:21:25 - article_server - INFO - [SQL参数] (1,) 22:21:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:25 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:25 - article_server - INFO - [SQL参数] (25,) 22:21:25 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 22:21:25 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:25 - article_server - INFO - [SQL数据] 查询结果: [{'week_count': 4}] 22:21:25 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:25 - article_server - INFO - 获取员工列表成功,总数: 6 22:21:25 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200 22:21:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:25 - article_server - INFO - [SQL语句] SELECT COUNT(*) as month_count FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(CURDATE()) AND MONTH(publish_time) = MONTH(CURDATE()) 22:21:25 - article_server - INFO - [SQL参数] (1,) 22:21:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:25 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:25 - article_server - INFO - [SQL参数] (13,) 22:21:25 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:25 - article_server - INFO - [SQL数据] 查询结果: [{'month_count': 4}] 22:21:25 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:25 - article_server - INFO - [SQL语句] SELECT COUNT(DISTINCT created_user_id) as employee_count FROM ai_article_published_records WHERE enterprise_id = %s 22:21:25 - article_server - INFO - [SQL参数] (1,) 22:21:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:25 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:25 - article_server - INFO - [SQL参数] (1,) 22:21:25 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:25 - article_server - INFO - [SQL数据] 查询结果: [{'employee_count': 2}] 22:21:25 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:25 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 22:21:25 - article_server - INFO - 获取统计概览成功 22:21:25 - article_server - INFO - [API响应] GET /api/statistics/overview - IP: 104.244.91.212 - 状态码: 200 22:21:25 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 100, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 22:21:25 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 22:21:25 - article_server - INFO - [API访问] GET /api/statistics/by-product - 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 22:21:25 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:25 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:25 - article_server - INFO - [SQL语句] SELECT r.product_id, p.name as product_name, COUNT(*) as count, ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE r.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 count DESC 22:21:25 - article_server - INFO - [SQL参数] [1, 1] 22:21:25 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 22:21:25 - article_server - INFO - 按产品统计成功 22:21:25 - article_server - INFO - [API响应] GET /api/statistics/by-product - IP: 104.244.91.212 - 状态码: 200 22:21:26 - article_server - INFO - [API访问] GET /api/statistics/employee-rank - 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 22:21:26 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:26 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:26 - article_server - INFO - [SQL语句] SELECT r.created_user_id as employee_id, u.real_name as employee_name, COUNT(*) as count, ROW_NUMBER() OVER (ORDER BY COUNT(*) DESC) as `rank` FROM ai_article_published_records r LEFT JOIN ai_users u ON r.created_user_id = u.id WHERE r.enterprise_id = %s GROUP BY r.created_user_id, u.real_name ORDER BY count DESC LIMIT %s 22:21:26 - article_server - INFO - [SQL参数] [1, 5] 22:21:26 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:26 - article_server - INFO - [SQL数据] 查询结果: [{'employee_id': 18, 'employee_name': '测试员工API', 'count': 3, 'rank': 1}, {'employee_id': 0, 'employee_name': None, 'count': 1, 'rank': 2}] 22:21:26 - article_server - INFO - 获取员工排行成功 22:21:26 - article_server - INFO - [API响应] GET /api/statistics/employee-rank - IP: 104.244.91.212 - 状态码: 200 22:21:29 - article_server - INFO - [API访问] GET /api/products/list_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 22:21:29 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:29 - article_server - INFO - [获取产品列表简化版] 开始处理请求, IP: 104.244.91.212 22:21:29 - article_server - INFO - [获取产品列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:29 - article_server - INFO - [API访问] GET /api/articles/list_dashboard - 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 22:21:29 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:29 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212 22:21:29 - article_server - INFO - [API访问] GET /api/articles/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 22:21:29 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:29 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212 22:21:29 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:29 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212 22:21:29 - article_server - INFO - [API访问] GET /api/prompts/list_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 22:21:29 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:29 - article_server - INFO - [获取提示词列表简化版] 开始处理请求, IP: 104.244.91.212 22:21:29 - article_server - INFO - [获取提示词列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:29 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s 22:21:29 - article_server - INFO - [SQL参数] (1,) 22:21:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:29 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_articles WHERE enterprise_id = %s 22:21:29 - article_server - INFO - [SQL参数] [1] 22:21:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:29 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC 22:21:29 - article_server - INFO - [SQL参数] (1,) 22:21:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:29 - article_server - INFO - [SQL语句] SELECT id, name, status, created_at, updated_at FROM ai_products WHERE enterprise_id = %s AND status IN ('draft', 'active') ORDER BY created_at DESC 22:21:29 - article_server - INFO - [SQL参数] (1,) 22:21:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:29 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 22:21:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:29 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 22:21:29 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:29 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 13, 54)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 22:21:29 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:29 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 22:21:29 - article_server - INFO - [获取提示词列表简化版] 查询成功, 返回数量: 2, 企业ID: 1, IP: 104.244.91.212 22:21:29 - article_server - INFO - [API响应] GET /api/prompts/list_info - IP: 104.244.91.212 - 状态码: 200 22:21:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:29 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published_review' 22:21:29 - article_server - INFO - [SQL参数] (1,) 22:21:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:29 - article_server - INFO - [SQL语句] SELECT id, batch_id, enterprise_id, product_id, product_name, topic_type_id, prompt_workflow_id, prompt_workflow_name, topic, title, context_summary, department, departmentids, author_id, author_name, department_id, department_name, created_user_id, review_user_id, publish_user_id, status, channel, review_comment, publish_time, publish_link, baijiahao_id, baijiahao_status, word_count, image_count, coze_tag, created_at, updated_at, product_name as product_name, prompt_workflow_name as prompt_name FROM ai_articles WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:29 - article_server - INFO - [SQL参数] [1, 10, 0] 22:21:29 - article_server - INFO - [获取产品列表简化版] 查询成功, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 22:21:29 - article_server - INFO - [API响应] GET /api/products/list_info - IP: 104.244.91.212 - 状态码: 200 22:21:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:29 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 22:21:29 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 22:21:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:29 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published' 22:21:29 - article_server - INFO - [SQL参数] (1,) 22:21:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:29 - article_server - INFO - [SQL语句] SELECT id, article_id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ORDER BY article_id, sort_order ASC, created_at ASC 22:21:29 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 22:21:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:29 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 22:21:29 - article_server - INFO - [SQL结果] 查询完成,返回 16 条记录 22:21:29 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 43, 可发: 0, 已发: 0, IP: 104.244.91.212 22:21:29 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200 22:21:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:29 - article_server - INFO - [SQL语句] SELECT id, article_id, coze_tag, created_at FROM ai_article_tags WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 22:21:29 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 22:21:29 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 22:21:29 - article_server - INFO - [获取文章列表] 查询成功, 总数: 43, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212 22:21:29 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200 22:21:29 - article_server - INFO - [API访问] GET /api/prompts/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 22:21:29 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:29 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212 22:21:29 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:29 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s 22:21:29 - article_server - INFO - [SQL参数] (1,) 22:21:29 - article_server - INFO - [API访问] GET /api/prompts/tags/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 22:21:29 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:29 - article_server - INFO - [获取标签列表] 开始处理请求, IP: 104.244.91.212 22:21:29 - article_server - INFO - [获取标签列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:29 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 22:21:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:29 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s 22:21:29 - article_server - INFO - [SQL参数] [1] 22:21:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:29 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 22:21:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:29 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, workflow_id, content, usage_count, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:29 - article_server - INFO - [SQL参数] (1, 10, 0) 22:21:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:29 - article_server - INFO - [SQL语句] SELECT id, tag_name, created_user_id, created_at, updated_at FROM ai_prompt_tags WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:29 - article_server - INFO - [SQL参数] [1, 100, 0] 22:21:29 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:29 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'workflow_id': '7576997068138659846', 'content': '你是一个健康类自媒体的编辑,每天需要撰写健康类内容。我将要给你一个topic,这个topic是一个问句。请你先产生一个段落的回复,然后再段展开回复。每个段落都需要用一个emoji开头。最后,请生成tag。段落与段落之间空一行,保证可读性。\n详细要求如下:\n一、核心要求:\n1.\t目标受众: 普通大众,非专业人士。务必:\n¡\t避免使用专业术语和书面化表达\n¡\t内容安全限制:\n\uf06e\t❌ 禁止提及任何人体私密部位或敏感功能\n\uf06e\t❌ 禁用可能引发恐慌的词汇(如"危险""致命")\n2.\t内容核心: 围绕“主题”,聚焦病症、问题、危害或困扰, 解释原因、原理,介绍症状、类型,提供积极、实用的解决方案、改善建议或注意事项等有价值的内容均可。\n3.\t唯一性与实用性: 生成的内容需确保信息准确(基于常识)且每次生成的内容不应与历史输出重复(针对同一主题多次生成时)。\n二、内容结构及具体要求:\n\uf06c\t【首段提问】 (title):\n¡\t对应内容为{{title}}\n\n\uf06c\t【次段简答】 (short-answer):\n¡\t字数: 60-120字。 \n **内容要求**:\n 1. 第一句话必须直接回答{{title}}的提问,可以拓展1-2句话\n 2. 直接明晰,不要太笼统,禁止罗里吧嗦\n 3. 段前不要emoji表情符号\n \n **✅ 合格示例**:\n 发现HPV16或18阳性,这通常意味着宫颈癌筛查结果显示存在感染。接下来一般会建议做阴道镜检查,再根据检查的具体情况决定治疗方案。\n\n **❌ 不合格示例**:\n • 使用emoji开头\n • 没有直接回答问题\n • 过于笼统泛泛而谈 \n\n\uf06c\t【分段细答】 (contents):\n¡\t数量要求:2-3段。\n¡\t字数要求: 60~100字/段。\n¡\t核心要求:\n\uf06e\t语言口语化、自然流畅。\n\uf06e\t段落内容必须围绕核心观点展开,根据不同情况分类详细阐述问题,可以是具体可行的建议(吃什么、做什么、注意什么等),疾病的科普(主要症状、影响、诱因等),或者其它逻辑合理的内容也可以。\n\uf06e\t内容有一定的逻辑,包括但不限于(首先、其次、最后),(第一,第二,第三),(不仅、而且、还有),(初级、中级、高级)。\n\uf06e\t每段内容均衡,不超过五句话,确保信息全面且易于消化。\n\uf06e\t分段细答部分应当是次段简答部分的延伸,但用词不能和次段简答部分有太多重复,请保持多样性。\n\uf06e\t 在生成回答前,必须执行以下创造性流程:\n\t\t结构性禁令(排除法):行文结构不得是“定义→成因→症状→治疗”或“是什么→为什么→怎么办”及其任何变体。\n\t\t动态自我审视(核心步骤):\n\t\t回顾:主动审视历史内容中,针对相同或相似主题已使用过的所有核心阐述逻辑。\n\t\t规避:明确禁止重复或小幅修改上述任何逻辑。\n\t\t创新:基于当前问题的具体内涵,生成一个在本质上全新的、服务于核心问题的最佳解释路径。该路径必须与所有已回顾的逻辑存在根本性差异。\n\t\t输出确认:最终采用的逻辑结构,应是本次对话上下文中一次独特的、未经使用的创造性表达形式。\n\n\uf06c\t【标签】 (tags):\n¡\t**单个关键词字数:4-8个字。\n¡\t内容:* (1)根据正文内容,生成5个内容强相关tag; (2)标签格式:每个关键词前后都有# (例: #养生小知识# #中医养生##习惯养成# #健康养生#)\n三、变量输入:\n\uf06c\t主题: {{title}}\n四、最终安全规则:\n4.\t全篇禁止出现人体私密部位描述\n5.\t关键安全信息重复出现≥2次\n6.\t每句话≤20字,复合句用逗号分隔\n7、不能出现 "下面就给大家仔细说说",“下面具体讲讲”,话术\n', 'usage_count': 32, 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 13, 54)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'workflow_id': 'WF-001', 'content': '你是一个小红书种草达人,请根据产品信息写一篇真实、有感染力的种草笔记...', 'usage_count': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 22:21:29 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:29 - article_server - INFO - [SQL数据] 查询结果: [{'id': 15, 'tag_name': '基础提示词', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}, {'id': 14, 'tag_name': '去重', 'created_user_id': 4, 'created_at': datetime.datetime(2025, 12, 16, 14, 21, 32), 'updated_at': datetime.datetime(2025, 12, 16, 14, 21, 32)}] 22:21:29 - article_server - INFO - [获取标签列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 22:21:29 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 104.244.91.212 - 状态码: 200 22:21:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:29 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 22:21:29 - article_server - INFO - [SQL参数] (25,) 22:21:29 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:29 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}] 22:21:29 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:29 - article_server - INFO - [SQL语句] SELECT t.id, t.tag_name FROM ai_prompt_tags t INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id WHERE r.prompt_workflow_id = %s 22:21:29 - article_server - INFO - [SQL参数] (1,) 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:30 - article_server - INFO - [API访问] GET /api/products/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 22:21:30 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:30 - article_server - INFO - [API访问] GET /api/images/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 22:21:30 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 22:21:30 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:30 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:30 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=100, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 22:21:30 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212 22:21:30 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_images WHERE enterprise_id = %s AND status = %s 22:21:30 - article_server - INFO - [SQL参数] [1, 'active'] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 22:21:30 - article_server - INFO - [SQL参数] [1] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 22:21:30 - article_server - INFO - [API访问] GET /api/images/types/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 22:21:30 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:30 - article_server - INFO - [获取图片类型列表] current_user: {'user_id': 10, 'username': '13621242430', 'role': 'enterprise', 'enterprise_id': 1, 'exp': 1766411012, 'iat': 1766324612}, enterprise_id: 1 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_image_type WHERE enterprise_id = %s 22:21:30 - article_server - INFO - [SQL参数] [1] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT id, product_id, product_name, image_name, image_url, image_thumb_url, thumbnail_url, image_type_id, image_type_name, department, keywords, size_type, file_size, width, height, status, created_at, updated_at FROM ai_images WHERE enterprise_id = %s AND status = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:30 - article_server - INFO - [SQL参数] [1, 'active', 10, 0] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 22:21:30 - article_server - INFO - [SQL参数] [1, 100, 0] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 10}] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 8 条记录 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 31, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:30 - article_server - INFO - [SQL参数] [31, 1] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT id, enterprise_id, type_name, keywords_id, keywords_name, department_id, department_name, created_user_id, created_at, updated_at FROM ai_image_type WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:30 - article_server - INFO - [SQL参数] [1, 100, 0] 22:21:30 - article_server - INFO - [API访问] GET /api/images/list_dashboard - 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 22:21:30 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:30 - article_server - INFO - [SQL参数] (25,) 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' 22:21:30 - article_server - INFO - [SQL参数] [1] 22:21:30 - article_server - INFO - [API响应] GET /api/images/types/list - IP: 104.244.91.212 - 状态码: 200 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:30 - article_server - INFO - [SQL参数] [30, 1] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:30 - article_server - INFO - [SQL参数] (13,) 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND product_id > 0 22:21:30 - article_server - INFO - [SQL参数] [1] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:30 - article_server - INFO - [SQL参数] [29, 1] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:30 - article_server - INFO - [SQL参数] (1,) 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:30 - article_server - INFO - [SQL参数] [28, 1] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT COUNT(DISTINCT product_id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND product_id > 0 22:21:30 - article_server - INFO - [SQL参数] [1] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 22:21:30 - article_server - INFO - [API访问] GET /api/products/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 22:21:30 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:30 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 22:21:30 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 22:21:30 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=12, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}] 22:21:30 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 100, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 22:21:30 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 22:21:30 - article_server - INFO - [SQL参数] [1] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:30 - article_server - INFO - [SQL参数] [27, 1] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_images WHERE enterprise_id = %s AND status = 'active' AND image_type_name LIKE %s 22:21:30 - article_server - INFO - [SQL参数] [1, '%场景%'] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 22:21:30 - article_server - INFO - [SQL参数] [1, 12, 0] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:30 - article_server - INFO - [SQL参数] [26, 1] 22:21:30 - article_server - INFO - 获取图片库仪表盘数据成功,企业ID: 1 22:21:30 - article_server - INFO - [API响应] GET /api/images/list_dashboard - IP: 104.244.91.212 - 状态码: 200 22:21:30 - article_server - INFO - [API访问] GET /api/products/types/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 22:21:30 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:30 - article_server - INFO - [获取企业产品类型列表] 开始处理请求, IP: 104.244.91.212 22:21:30 - article_server - INFO - [获取企业产品类型列表] 企业ID: 1, IP: 104.244.91.212 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 31, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_product_types WHERE enterprise_id = %s 22:21:30 - article_server - INFO - [SQL参数] [1] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:30 - article_server - INFO - [SQL参数] (25,) 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:30 - article_server - INFO - [SQL参数] [25, 1] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT id, type_name, enterprise_id, product_id, created_at FROM ai_product_types WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 22:21:30 - article_server - INFO - [SQL参数] [1, 100, 0] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:30 - article_server - INFO - [SQL参数] (13,) 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT tag_id, tag_name FROM ai_image_tags WHERE image_id = %s AND enterprise_id = %s ORDER BY created_at 22:21:30 - article_server - INFO - [SQL参数] [24, 1] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 3, 'tag_name': '产品(4)'}, {'tag_id': 4, 'tag_name': '产品(4)3'}] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:30 - article_server - INFO - [获取企业产品类型列表] 查询成功, 企业ID: 1, 总数: 0, 返回: 0, IP: 104.244.91.212 22:21:30 - article_server - INFO - [API响应] GET /api/products/types/list - IP: 104.244.91.212 - 状态码: 200 22:21:30 - 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 22:21:30 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:30 - article_server - INFO - 获取图片列表成功,总数: 8 22:21:30 - article_server - INFO - [API响应] GET /api/images/list - IP: 104.244.91.212 - 状态码: 200 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - 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' 22:21:30 - article_server - INFO - [SQL参数] [1] 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 22:21:30 - article_server - INFO - [SQL参数] (1,) 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 22:21:30 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 12, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 22:21:30 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - 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 22:21:30 - article_server - INFO - [SQL参数] [1, 10, 0] 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 22:21:30 - article_server - INFO - 获取员工列表成功,总数: 6 22:21:30 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200 22:21:30 - 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 22:21:30 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:30 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:30 - 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' 22:21:30 - article_server - INFO - [SQL参数] (1,) 22:21:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:30 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 6, 'active_count': Decimal('6'), 'bound_xhs_count': Decimal('3')}] 22:21:30 - article_server - INFO - 获取员工统计成功 22:21:30 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200 22:21:31 - 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 22:21:31 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:31 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:31 - 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 22:21:31 - article_server - INFO - [SQL参数] (1,) 22:21:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:31 - 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': 43, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}] 22:21:31 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:31 - 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 22:21:31 - article_server - INFO - [SQL参数] (1,) 22:21:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:31 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 22:21:31 - article_server - INFO - 获取企业信息成功(含密码): ID 1 22:21:31 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200 22:21:31 - 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 22:21:31 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:31 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 104.244.91.212 22:21:31 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=10, keyword=, status=, IP: 104.244.91.212 22:21:31 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:31 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1 22:21:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:31 - article_server - INFO - [SQL数据] 查询结果: [{'total': 5}] 22:21:31 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:31 - 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 22:21:31 - article_server - INFO - [SQL参数] [10, 0] 22:21:31 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录 22:21:31 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:31 - 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 22:21:31 - article_server - INFO - [SQL参数] (15,) 22:21:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:31 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:31 - 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 22:21:31 - article_server - INFO - [SQL参数] (14,) 22:21:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:31 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242434'}] 22:21:31 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:31 - 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 22:21:31 - article_server - INFO - [SQL参数] (1,) 22:21:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:31 - article_server - INFO - [SQL数据] 查询结果: [{'phone': '13621242430'}] 22:21:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21: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 22:21:32 - article_server - INFO - [SQL参数] (7,) 22:21:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21: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 22:21:32 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:32 - 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 22:21:32 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:32 - 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 22:21:32 - article_server - INFO - [Token验证成功] 用户ID: 10 22:21:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21: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 22:21:32 - article_server - INFO - [SQL参数] (8,) 22:21:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:32 - 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 22:21:32 - article_server - INFO - [SQL参数] (1, 1, 4) 22:21:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:32 - article_server - INFO - [SQL语句] SELECT users_total, products_total, articles_total, published_total FROM ai_enterprises WHERE id = %s 22:21:32 - article_server - INFO - [SQL参数] (1,) 22:21:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 22:21:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:32 - 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 22:21:32 - article_server - INFO - [SQL参数] (1, 5) 22:21:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:32 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 3, 'products_total': 0, 'articles_total': 43, 'published_total': 0}] 22:21:32 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 22:21:32 - article_server - INFO - [获取企业列表] 查询成功, 总数: 5, 当前页: 1, 每页: 10, 返回数量: 5, IP: 104.244.91.212 22:21:32 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 104.244.91.212 - 状态码: 200 22:21:32 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 22:21:32 - article_server - INFO - 获取热门产品成功 22:21:32 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200 22:21:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:32 - 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()) 22:21:32 - article_server - INFO - [SQL参数] (1,) 22:21:32 - article_server - INFO - 获取最近发布成功 22:21:32 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200 22:21:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:32 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}] 22:21:32 - article_server - INFO - [SQL执行] 开始执行查询SQL 22:21:32 - 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)) 22:21:32 - article_server - INFO - [SQL参数] (1,) 22:21:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 22:21:32 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}] 22:21:32 - article_server - INFO - 获取工作台概览成功 22:21:32 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200 23:11:53 - article_server - INFO - [API访问] GET /api/statistics/records - 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 23:11:53 - article_server - INFO - [Token验证成功] 用户ID: 10 23:11:53 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:53 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_article_published_records r WHERE r.enterprise_id = %s 23:11:53 - article_server - INFO - [SQL参数] [1] 23:11:53 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 23:11:53 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 23:11:53 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:53 - article_server - INFO - [SQL语句] SELECT r.id, r.publish_time, r.created_user_id, r.product_id, r.article_id, r.publish_link, r.topic, u.real_name as employee_name, p.name as product_name, a.title 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 LEFT JOIN ai_articles a ON r.article_id = a.id WHERE r.enterprise_id = %s ORDER BY r.publish_time DESC LIMIT %s OFFSET %s 23:11:53 - article_server - INFO - [SQL参数] [1, 100, 0] 23:11:53 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 23:11:53 - article_server - INFO - 获取发布记录列表成功,总数: 4 23:11:53 - article_server - INFO - [API响应] GET /api/statistics/records - IP: 104.244.91.212 - 状态码: 200 23:11:53 - article_server - INFO - [API访问] GET /api/products/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 23:11:53 - article_server - INFO - [Token验证成功] 用户ID: 10 23:11:53 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212 23:11:53 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 23:11:53 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=100, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212 23:11:53 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:53 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted' 23:11:53 - article_server - INFO - [SQL参数] [1] 23:11:53 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 23:11:53 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}] 23:11:53 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:53 - article_server - INFO - [SQL语句] SELECT p.id, p.name, p.type_name, p.knowledge, p.status, p.articles_total, p.published_total, p.image_url, p.image_thumbnail_url, p.created_at, p.updated_at FROM ai_products p WHERE enterprise_id = %s AND status != 'deleted' ORDER BY p.created_at DESC LIMIT %s OFFSET %s 23:11:53 - article_server - INFO - [SQL参数] [1, 100, 0] 23:11:53 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 23:11:53 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'type_name': '护肤品', 'knowledge': '健康类自媒体,健康类自媒体', 'status': 'active', 'articles_total': 31, 'published_total': 0, 'image_url': 'https://pic2.zhimg.com/v2-f2baf85af5f74f1371afbd41f8f42651_r.jpg', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'type_name': '1', 'knowledge': '这是一个测试产品,用于API测试', 'status': 'active', 'articles_total': 11, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'type_name': '护肤品', 'knowledge': '产品名称: 美白面膜\n产品特点: 温和不刺激,适合各种肤质使用\n主要成分: 天然植物萃取,添加多种维生素和矿物质', 'status': 'active', 'articles_total': 1, 'published_total': 0, 'image_url': '', 'image_thumbnail_url': '', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 23:11:53 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:53 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 23:11:53 - article_server - INFO - [SQL参数] (25,) 23:11:53 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 23:11:53 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:53 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 23:11:53 - article_server - INFO - [SQL参数] (13,) 23:11:53 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录 23:11:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:54 - article_server - INFO - [SQL语句] SELECT id, tag_name FROM ai_product_tags WHERE product_id = %s 23:11:54 - article_server - INFO - [SQL参数] (1,) 23:11:54 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 23:11:54 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}] 23:11:54 - 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 23:11:54 - article_server - INFO - [Token验证成功] 用户ID: 10 23:11:54 - article_server - INFO - [获取产品列表] 查询成功, 总数: 3, 当前页: 1, 每页: 100, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 23:11:54 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200 23:11:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:54 - 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' 23:11:54 - article_server - INFO - [SQL参数] [1] 23:11:54 - article_server - INFO - [API访问] GET /api/statistics/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 23:11:54 - article_server - INFO - [Token验证成功] 用户ID: 10 23:11:54 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 23:11:54 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}] 23:11:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:54 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_article_published_records WHERE enterprise_id = %s 23:11:54 - article_server - INFO - [SQL参数] (1,) 23:11:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:54 - 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 23:11:54 - article_server - INFO - [SQL参数] [1, 100, 0] 23:11:54 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 23:11:54 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}] 23:11:54 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录 23:11:54 - article_server - INFO - 获取员工列表成功,总数: 6 23:11:54 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200 23:11:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:54 - article_server - INFO - [SQL语句] SELECT COUNT(*) as today_count FROM ai_article_published_records WHERE enterprise_id = %s AND DATE(publish_time) = CURDATE() 23:11:54 - article_server - INFO - [SQL参数] (1,) 23:11:54 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 23:11:54 - article_server - INFO - [SQL数据] 查询结果: [{'today_count': 0}] 23:11:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:54 - article_server - INFO - [SQL语句] SELECT COUNT(*) as week_count FROM ai_article_published_records WHERE enterprise_id = %s AND YEARWEEK(publish_time, 1) = YEARWEEK(CURDATE(), 1) 23:11:54 - article_server - INFO - [SQL参数] (1,) 23:11:54 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 23:11:54 - article_server - INFO - [SQL数据] 查询结果: [{'week_count': 4}] 23:11:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:54 - article_server - INFO - [SQL语句] SELECT COUNT(*) as month_count FROM ai_article_published_records WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(CURDATE()) AND MONTH(publish_time) = MONTH(CURDATE()) 23:11:54 - article_server - INFO - [SQL参数] (1,) 23:11:54 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 23:11:54 - article_server - INFO - [SQL数据] 查询结果: [{'month_count': 4}] 23:11:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:54 - article_server - INFO - [SQL语句] SELECT COUNT(DISTINCT created_user_id) as employee_count FROM ai_article_published_records WHERE enterprise_id = %s 23:11:54 - article_server - INFO - [SQL参数] (1,) 23:11:54 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 23:11:54 - article_server - INFO - [SQL数据] 查询结果: [{'employee_count': 2}] 23:11:54 - article_server - INFO - 获取统计概览成功 23:11:54 - article_server - INFO - [API响应] GET /api/statistics/overview - IP: 104.244.91.212 - 状态码: 200 23:11:54 - article_server - INFO - [API访问] GET /api/articles/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 23:11:54 - article_server - INFO - [Token验证成功] 用户ID: 10 23:11:54 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212 23:11:54 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 23:11:54 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212 23:11:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:54 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_articles WHERE enterprise_id = %s 23:11:54 - article_server - INFO - [SQL参数] [1] 23:11:54 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 23:11:54 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 23:11:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:54 - article_server - INFO - [SQL语句] SELECT id, batch_id, enterprise_id, product_id, product_name, topic_type_id, prompt_workflow_id, prompt_workflow_name, topic, title, context_summary, department, departmentids, author_id, author_name, department_id, department_name, created_user_id, review_user_id, publish_user_id, status, channel, review_comment, publish_time, publish_link, baijiahao_id, baijiahao_status, word_count, image_count, coze_tag, created_at, updated_at, product_name as product_name, prompt_workflow_name as prompt_name FROM ai_articles WHERE enterprise_id = %s ORDER BY created_at DESC LIMIT %s OFFSET %s 23:11:54 - article_server - INFO - [SQL参数] [1, 10, 0] 23:11:54 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 23:11:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:54 - article_server - INFO - [SQL语句] SELECT id, article_id, image_id, image_url, image_thumb_url, image_tag_id, sort_order, keywords_id, keywords_name, department_id, department_name, image_source, created_at FROM ai_article_images WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ORDER BY article_id, sort_order ASC, created_at ASC 23:11:54 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 23:11:54 - article_server - INFO - [SQL结果] 查询完成,返回 16 条记录 23:11:54 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:54 - article_server - INFO - [SQL语句] SELECT id, article_id, coze_tag, created_at FROM ai_article_tags WHERE article_id IN (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) 23:11:54 - article_server - INFO - [SQL参数] [60, 61, 62, 57, 58, 59, 54, 55, 56, 51] 23:11:54 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录 23:11:54 - article_server - INFO - [获取文章列表] 查询成功, 总数: 43, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212 23:11:54 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200 23:11:55 - article_server - INFO - [API访问] GET /api/articles/list_dashboard - 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 23:11:55 - article_server - INFO - [Token验证成功] 用户ID: 10 23:11:55 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212 23:11:55 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:55 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s 23:11:55 - article_server - INFO - [SQL参数] (1,) 23:11:55 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 23:11:55 - article_server - INFO - [SQL数据] 查询结果: [{'total': 43}] 23:11:55 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:55 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published_review' 23:11:55 - article_server - INFO - [SQL参数] (1,) 23:11:55 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 23:11:55 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 23:11:55 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:55 - article_server - INFO - [SQL语句] SELECT COUNT(id) as total FROM ai_articles WHERE enterprise_id = %s AND status = 'published' 23:11:55 - article_server - INFO - [SQL参数] (1,) 23:11:55 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录 23:11:55 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}] 23:11:55 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 43, 可发: 0, 已发: 0, IP: 104.244.91.212 23:11:55 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200 23:11:55 - article_server - INFO - [API访问] GET /api/products/list_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 23:11:55 - article_server - INFO - [Token验证成功] 用户ID: 10 23:11:55 - article_server - INFO - [获取产品列表简化版] 开始处理请求, IP: 104.244.91.212 23:11:55 - article_server - INFO - [获取产品列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 23:11:55 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:55 - article_server - INFO - [SQL语句] SELECT id, name, status, created_at, updated_at FROM ai_products WHERE enterprise_id = %s AND status IN ('draft', 'active') ORDER BY created_at DESC 23:11:55 - article_server - INFO - [SQL参数] (1,) 23:11:55 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录 23:11:55 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'name': '健康类自媒体', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 16, 13, 58, 2), 'updated_at': datetime.datetime(2025, 12, 21, 13, 53, 59)}, {'id': 13, 'name': '测试产品', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 17, 43, 30), 'updated_at': datetime.datetime(2025, 12, 12, 20, 53, 25)}, {'id': 1, 'name': '美白面膜1', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 18, 13, 5, 42)}] 23:11:55 - article_server - INFO - [API访问] GET /api/prompts/list_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 23:11:55 - article_server - INFO - [Token验证成功] 用户ID: 10 23:11:55 - article_server - INFO - [获取提示词列表简化版] 开始处理请求, IP: 104.244.91.212 23:11:55 - article_server - INFO - [获取提示词列表简化版] 用户信息 - 用户ID: 10, 企业ID: 1, IP: 104.244.91.212 23:11:55 - article_server - INFO - [获取产品列表简化版] 查询成功, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212 23:11:55 - article_server - INFO - [API响应] GET /api/products/list_info - IP: 104.244.91.212 - 状态码: 200 23:11:55 - article_server - INFO - [API访问] GET /api/statistics/by-product - 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 23:11:55 - article_server - INFO - [Token验证成功] 用户ID: 10 23:11:55 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:55 - article_server - INFO - [SQL语句] SELECT r.product_id, p.name as product_name, COUNT(*) as count, ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE r.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 count DESC 23:11:55 - article_server - INFO - [SQL参数] [1, 1] 23:11:55 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:55 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name, created_at, updated_at FROM ai_prompt_workflow WHERE enterprise_id = %s ORDER BY created_at DESC 23:11:55 - article_server - INFO - [SQL参数] (1,) 23:11:55 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录 23:11:55 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 23:11:55 - article_server - INFO - [SQL数据] 查询结果: [{'id': 25, 'prompt_workflow_name': 'Inject基础提示词', 'created_at': datetime.datetime(2025, 12, 12, 20, 53, 9), 'updated_at': datetime.datetime(2025, 12, 21, 13, 54)}, {'id': 1, 'prompt_workflow_name': '种草分享型', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 12, 16, 58, 22)}] 23:11:55 - article_server - INFO - 按产品统计成功 23:11:55 - article_server - INFO - [API响应] GET /api/statistics/by-product - IP: 104.244.91.212 - 状态码: 200 23:11:55 - article_server - INFO - [获取提示词列表简化版] 查询成功, 返回数量: 2, 企业ID: 1, IP: 104.244.91.212 23:11:55 - article_server - INFO - [API响应] GET /api/prompts/list_info - IP: 104.244.91.212 - 状态码: 200 23:11:56 - article_server - INFO - [API访问] GET /api/statistics/employee-rank - 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 23:11:56 - article_server - INFO - [Token验证成功] 用户ID: 10 23:11:56 - article_server - INFO - [SQL执行] 开始执行查询SQL 23:11:56 - article_server - INFO - [SQL语句] SELECT r.created_user_id as employee_id, u.real_name as employee_name, COUNT(*) as count, ROW_NUMBER() OVER (ORDER BY COUNT(*) DESC) as `rank` FROM ai_article_published_records r LEFT JOIN ai_users u ON r.created_user_id = u.id WHERE r.enterprise_id = %s GROUP BY r.created_user_id, u.real_name ORDER BY count DESC LIMIT %s 23:11:56 - article_server - INFO - [SQL参数] [1, 5] 23:11:56 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录 23:11:56 - article_server - INFO - [SQL数据] 查询结果: [{'employee_id': 18, 'employee_name': '测试员工API', 'count': 3, 'rank': 1}, {'employee_id': 0, 'employee_name': None, 'count': 1, 'rank': 2}] 23:11:56 - article_server - INFO - 获取员工排行成功 23:11:56 - article_server - INFO - [API响应] GET /api/statistics/employee-rank - IP: 104.244.91.212 - 状态码: 200 03:32:37 - article_server - INFO - [API访问] GET /api/kfile/index.php - IP: 242.33.198.129, 4.230.140.154 - User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 15_7_9 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ve 03:32:37 - article_server - INFO - [API响应] GET /api/kfile/index.php - IP: 242.33.198.129, 4.230.140.154 - 状态码: 404