Files
ai_wht_B/log10bjh_wht_server_api_2512211859.log
“shengyudong” 5a384b694e 2026-1-6
2026-01-06 14:18:39 +08:00

2139 lines
180 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

19:00:05 - article_server - INFO - 日志系统已启动 - 记录器: article_server
19:00:05 - article_server - INFO - 主日志文件: logs/article_server.log
19:00:05 - article_server - INFO - 错误日志文件: logs/article_error.log
19:00:05 - article_server - INFO - 日志保留策略: 每天午夜分割主日志保留3天
19:00:05 - article_server - INFO - 错误日志保留策略: 每天午夜分割保留9天
19:00:05 - article_server - INFO - 万花筒API服务模块已加载
19:00:19 - 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
19:00:19 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:20 - article_server - INFO - 数据库连接成功,字符集设置完成
19:00:20 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:20 - article_server - INFO - [SQL语句]
SELECT id, enterprise_ID, name, short_name, phone, email, status,
users_total, products_total, articles_total, published_total,
created_at, updated_at
FROM ai_enterprises
WHERE id = %s
19:00:20 - article_server - INFO - [SQL参数] (1,)
19:00:20 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:20 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业122你们好', 'phone': '13621242430', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 2, 'products_total': 2, 'articles_total': 40, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}]
19:00:20 - article_server - INFO - 获取企业信息成功(含密码): ID 1
19:00:20 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200
19:00: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
19:00:20 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:20 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212
19:00:20 - article_server - INFO - [获取用户信息] 用户ID: 3, action: , IP: 104.244.91.212
19:00:20 - article_server - INFO - 数据库连接成功,字符集设置完成
19:00:20 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00: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'
19:00:20 - article_server - INFO - [SQL参数] (3,)
19:00:20 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:20 - 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)}]
19:00:20 - article_server - INFO - [SQL执行] 开始执行插入SQL
19:00:20 - 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())
19:00:20 - 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)
19:00:20 - article_server - INFO - [SQL结果] 插入完成新记录ID: 63204
19:00:20 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 3 | 目标: user#3 | 状态: success | IP: 104.244.91.212 | 日志ID: 63204
19:00:20 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200
19:00: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
19:00:27 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:27 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212
19:00:27 - article_server - INFO - [获取用户信息] 用户ID: 3, action: , IP: 104.244.91.212
19:00:27 - 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
19:00:27 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:27 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:27 - article_server - INFO - [SQL语句]
SELECT id, enterprise_ID, name, short_name, phone, email, status,
users_total, products_total, articles_total, published_total,
created_at, updated_at
FROM ai_enterprises
WHERE id = %s
19:00:27 - article_server - INFO - [SQL参数] (1,)
19:00:27 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00: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'
19:00:27 - article_server - INFO - [SQL参数] (3,)
19:00:27 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:27 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业122你们好', 'phone': '13621242430', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 2, 'products_total': 2, 'articles_total': 40, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}]
19:00:27 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:27 - 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)}]
19:00:27 - article_server - INFO - 获取企业信息成功(含密码): ID 1
19:00:27 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200
19:00:27 - article_server - INFO - [SQL执行] 开始执行插入SQL
19:00: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())
19:00:27 - 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)
19:00:27 - article_server - INFO - [SQL结果] 插入完成新记录ID: 63209
19:00:27 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 3 | 目标: user#3 | 状态: success | IP: 104.244.91.212 | 日志ID: 63209
19:00:27 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200
19:00: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
19:00:32 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00: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
19:00:32 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00: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
19:00:32 - article_server - INFO - [SQL参数] (1, 5)
19:00:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:32 - article_server - INFO - [SQL语句]
SELECT users_total, products_total, articles_total, published_total
FROM ai_enterprises
WHERE id = %s
19:00:32 - article_server - INFO - [SQL参数] (1,)
19:00:32 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录
19:00:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:32 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 2, 'articles_total': 40, 'published_total': 0}]
19:00:32 - article_server - INFO - 获取最近发布成功
19:00:32 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200
19:00:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00: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())
19:00:32 - article_server - INFO - [SQL参数] (1,)
19:00:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:32 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}]
19:00:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00: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))
19:00:32 - article_server - INFO - [SQL参数] (1,)
19:00:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:32 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
19:00:32 - article_server - INFO - 获取工作台概览成功
19:00:32 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200
19:00: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
19:00:32 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00: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
19:00:32 - article_server - INFO - [SQL参数] (1, 1, 4)
19:00:32 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录
19:00:32 - article_server - INFO - 获取热门产品成功
19:00:32 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200
19:00:34 - article_server - INFO - [API访问] GET /api/enterprises/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
19:00:34 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:34 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:34 - article_server - INFO - [SQL语句]
SELECT id, enterprise_ID, name, short_name, phone, email, status,
users_total, products_total, articles_total, published_total,
created_at, updated_at
FROM ai_enterprises
WHERE id = %s
19:00:34 - article_server - INFO - [SQL参数] (1,)
19:00:34 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:34 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业122你们好', 'phone': '13621242430', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 2, 'products_total': 2, 'articles_total': 40, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 21, 7, 59, 16)}]
19:00:34 - article_server - INFO - 获取企业信息成功(含密码): ID 1
19:00:34 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 104.244.91.212 - 状态码: 200
19:00:35 - 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
19:00:35 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:35 - 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
19:00:35 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:35 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:35 - 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'
19:00:35 - article_server - INFO - [SQL参数] (1,)
19:00:35 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:35 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_users u WHERE u.enterprise_id = %s AND u.status != 'deleted'
19:00:35 - article_server - INFO - [SQL参数] [1]
19:00:35 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:35 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 6, 'active_count': Decimal('6'), 'bound_xhs_count': Decimal('3')}]
19:00:35 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:35 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}]
19:00:35 - article_server - INFO - 获取员工统计成功
19:00:35 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200
19:00:35 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:35 - article_server - INFO - [SQL语句]
SELECT u.id, u.enterprise_id, u.real_name as name, u.username, u.phone, u.role, u.department,
u.is_bound_xhs, a.xhs_account, u.status, u.created_at, u.updated_at
FROM ai_users u
LEFT JOIN ai_authors a ON u.id = a.created_user_id AND a.status = 'active'
WHERE u.enterprise_id = %s AND u.status != 'deleted'
ORDER BY u.created_at DESC
LIMIT %s OFFSET %s
19:00:35 - article_server - INFO - [SQL参数] [1, 10, 0]
19:00:35 - article_server - INFO - [SQL结果] 查询完成,返回 6 条记录
19:00:35 - article_server - INFO - 获取员工列表成功,总数: 6
19:00:35 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200
19:00:40 - 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
19:00:40 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:40 - article_server - INFO - [获取企业产品类型列表] 开始处理请求, IP: 104.244.91.212
19:00:40 - article_server - INFO - [获取企业产品类型列表] 企业ID: 1, IP: 104.244.91.212
19:00:40 - 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
19:00:40 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:40 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212
19:00:40 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:00:40 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=12, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212
19:00:40 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:40 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted'
19:00:40 - article_server - INFO - [SQL参数] [1]
19:00:40 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:40 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_product_types WHERE enterprise_id = %s
19:00:40 - article_server - INFO - [SQL参数] [1]
19:00:40 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:40 - article_server - INFO - [SQL数据] 查询结果: [{'total': 5}]
19:00:40 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:40 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}]
19:00:40 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:40 - 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
19:00:40 - article_server - INFO - [SQL参数] [1, 12, 0]
19:00:40 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:40 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录
19:00:40 - 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
19:00:40 - article_server - INFO - [SQL参数] [1, 100, 0]
19:00:40 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:00:40 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:40 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:00:40 - article_server - INFO - [SQL参数] (25,)
19:00:40 - article_server - INFO - [获取企业产品类型列表] 查询成功, 企业ID: 1, 总数: 0, 返回: 0, IP: 104.244.91.212
19:00:40 - article_server - INFO - [API响应] GET /api/products/types/list - IP: 104.244.91.212 - 状态码: 200
19:00:40 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:00:40 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:40 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:00:40 - article_server - INFO - [SQL参数] (13,)
19:00:40 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:00:40 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:40 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:00:40 - article_server - INFO - [SQL参数] (12,)
19:00:40 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:00:40 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:40 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:00:40 - article_server - INFO - [SQL参数] (11,)
19:00:40 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:00:40 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:40 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:00:40 - article_server - INFO - [SQL参数] (1,)
19:00:40 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:40 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}]
19:00:40 - article_server - INFO - [获取产品列表] 查询成功, 总数: 5, 当前页: 1, 每页: 12, 返回数量: 5, 企业ID: 1, IP: 104.244.91.212
19:00:40 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200
19:00:42 - 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
19:00:42 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:42 - article_server - INFO - [获取图片类型列表] current_user: {'user_id': 3, 'username': '18211010472', 'role': 'admin', 'enterprise_id': 1, 'exp': 1766401123, 'iat': 1766314723}, enterprise_id: 1
19:00:42 - 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
19:00:42 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:42 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212
19:00:42 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:00:42 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=100, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212
19:00:42 - 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
19:00:42 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:42 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:42 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_image_type WHERE enterprise_id = %s
19:00:42 - article_server - INFO - [SQL参数] [1]
19:00:42 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:42 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted'
19:00:42 - article_server - INFO - [SQL参数] [1]
19:00:42 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:42 - article_server - INFO - [SQL数据] 查询结果: [{'total': 10}]
19:00:42 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:42 - article_server - INFO - [SQL数据] 查询结果: [{'total': 5}]
19:00:42 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:42 - 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
19:00:42 - article_server - INFO - [SQL参数] [1, 100, 0]
19:00:42 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录
19:00:42 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:42 - 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
19:00:42 - article_server - INFO - [SQL参数] [1, 100, 0]
19:00:42 - article_server - INFO - [API响应] GET /api/images/types/list - IP: 104.244.91.212 - 状态码: 200
19:00:42 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录
19:00:42 - article_server - INFO - 数据库连接成功,字符集设置完成
19:00:42 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:42 - article_server - INFO - [SQL语句]
SELECT COUNT(*) as total
FROM ai_images
WHERE enterprise_id = %s AND status = %s
19:00:42 - article_server - INFO - [SQL参数] [1, 'active']
19:00:42 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:42 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:00:42 - article_server - INFO - [SQL参数] (25,)
19:00:42 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:42 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}]
19:00:42 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:00:42 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:42 - 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
19:00:42 - article_server - INFO - [SQL参数] [1, 'active', 10, 0]
19:00:42 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:42 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:00:42 - article_server - INFO - [SQL参数] (13,)
19:00:42 - article_server - INFO - [SQL结果] 查询完成,返回 8 条记录
19:00:42 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:00:42 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:42 - 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
19:00:42 - article_server - INFO - [SQL参数] [31, 1]
19:00:42 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:42 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:00:42 - article_server - INFO - [SQL参数] (12,)
19:00:42 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
19:00:42 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}]
19:00:42 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:00:42 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:42 - 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
19:00:42 - article_server - INFO - [SQL参数] [30, 1]
19:00:42 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:42 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:00:42 - article_server - INFO - [SQL参数] (11,)
19:00:42 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
19:00:42 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}]
19:00:42 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:00:42 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:42 - 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
19:00:42 - article_server - INFO - [SQL参数] [29, 1]
19:00:42 - 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
19:00:42 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:42 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:42 - article_server - INFO - [SQL语句]
SELECT COUNT(id) as total
FROM ai_images
WHERE enterprise_id = %s AND status = 'active'
19:00:42 - article_server - INFO - [SQL参数] [1]
19:00:42 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:42 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:00:42 - article_server - INFO - [SQL参数] (1,)
19:00:42 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
19:00:42 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}]
19:00:42 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:42 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}]
19:00:42 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:42 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}]
19:00:42 - article_server - INFO - [获取产品列表] 查询成功, 总数: 5, 当前页: 1, 每页: 100, 返回数量: 5, 企业ID: 1, IP: 104.244.91.212
19:00:42 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200
19:00:42 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:42 - 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
19:00:42 - article_server - INFO - [SQL参数] [28, 1]
19:00:43 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:43 - article_server - INFO - [SQL语句]
SELECT COUNT(id) as total
FROM ai_images
WHERE enterprise_id = %s AND status = 'active' AND product_id > 0
19:00:43 - article_server - INFO - [SQL参数] [1]
19:00:43 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
19:00:43 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}]
19:00:43 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:43 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}]
19:00:43 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:43 - 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
19:00:43 - article_server - INFO - [SQL参数] [1]
19:00:43 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:43 - 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
19:00:43 - article_server - INFO - [SQL参数] [27, 1]
19:00:43 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:43 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}]
19:00:43 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
19:00:43 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}]
19:00:43 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:43 - 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
19:00:43 - article_server - INFO - [SQL参数] [1, '%场景%']
19:00:43 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:43 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}]
19:00:43 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:43 - 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
19:00:43 - article_server - INFO - [SQL参数] [26, 1]
19:00:43 - article_server - INFO - 获取图片库仪表盘数据成功企业ID: 1
19:00:43 - article_server - INFO - [API响应] GET /api/images/list_dashboard - IP: 104.244.91.212 - 状态码: 200
19:00:43 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录
19:00:43 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:43 - 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
19:00:43 - article_server - INFO - [SQL参数] [25, 1]
19:00:43 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录
19:00:43 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:43 - 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
19:00:43 - article_server - INFO - [SQL参数] [24, 1]
19:00:43 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
19:00:43 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 3, 'tag_name': '产品4'}, {'tag_id': 4, 'tag_name': '产品43'}]
19:00:43 - article_server - INFO - 获取图片列表成功,总数: 8
19:00:43 - article_server - INFO - [API响应] GET /api/images/list - IP: 104.244.91.212 - 状态码: 200
19:00:44 - 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
19:00:44 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:44 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212
19:00:44 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:00:44 - 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
19:00:44 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:44 - article_server - INFO - [获取标签列表] 开始处理请求, IP: 104.244.91.212
19:00:44 - article_server - INFO - [获取标签列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:00:44 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:44 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s
19:00:44 - article_server - INFO - [SQL参数] (1,)
19:00:44 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:44 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s
19:00:44 - article_server - INFO - [SQL参数] [1]
19:00:44 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:44 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}]
19:00:44 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:44 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}]
19:00:44 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:44 - 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
19:00:44 - article_server - INFO - [SQL参数] (1, 10, 0)
19:00:44 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
19:00:44 - 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': 14, 'prompt_workflow_name': '测试提示词', 'workflow_id': 'WF-CC8BB759', 'content': '这是一个测试提示词模板...', 'usage_count': 2, 'created_at': datetime.datetime(2025, 12, 12, 17, 41, 22), 'updated_at': datetime.datetime(2025, 12, 12, 17, 51, 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)}]
19:00:44 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:44 - 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
19:00:44 - article_server - INFO - [SQL参数] [1, 100, 0]
19:00:44 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
19:00:44 - 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)}]
19:00:44 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:44 - 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
19:00:44 - article_server - INFO - [SQL参数] (25,)
19:00:44 - article_server - INFO - [获取标签列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212
19:00:44 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 104.244.91.212 - 状态码: 200
19:00:44 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
19:00:44 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}]
19:00:44 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:44 - 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
19:00:44 - article_server - INFO - [SQL参数] (14,)
19:00:44 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:00:44 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:44 - 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
19:00:44 - article_server - INFO - [SQL参数] (1,)
19:00:44 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:00:44 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 3, 企业ID: 1, IP: 104.244.91.212
19:00:44 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200
19:00: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
19:00:50 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:50 - article_server - INFO - [获取产品列表简化版] 开始处理请求, IP: 104.244.91.212
19:00:50 - article_server - INFO - [获取产品列表简化版] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:00:50 - 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
19:00:50 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:50 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212
19:00:50 - 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
19:00:50 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:50 - article_server - INFO - [获取提示词列表简化版] 开始处理请求, IP: 104.244.91.212
19:00:50 - article_server - INFO - [获取提示词列表简化版] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:00:50 - 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
19:00:50 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:50 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212
19:00:50 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:00:50 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212
19:00:50 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:50 - article_server - INFO - [SQL语句]
SELECT COUNT(id) as total
FROM ai_articles
WHERE enterprise_id = %s
19:00:50 - article_server - INFO - [SQL参数] (1,)
19:00:50 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00: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
19:00:50 - article_server - INFO - [SQL参数] (1,)
19:00:50 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00: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
19:00:50 - article_server - INFO - [SQL参数] (1,)
19:00:50 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:50 - article_server - INFO - [SQL数据] 查询结果: [{'total': 40}]
19:00:50 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录
19:00:50 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
19:00: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': 14, 'prompt_workflow_name': '测试提示词', 'created_at': datetime.datetime(2025, 12, 12, 17, 41, 22), 'updated_at': datetime.datetime(2025, 12, 12, 17, 51, 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)}]
19:00:50 - article_server - INFO - [获取产品列表简化版] 查询成功, 返回数量: 5, 企业ID: 1, IP: 104.244.91.212
19:00:50 - article_server - INFO - [API响应] GET /api/products/list_info - IP: 104.244.91.212 - 状态码: 200
19:00:50 - article_server - INFO - [获取提示词列表简化版] 查询成功, 返回数量: 3, 企业ID: 1, IP: 104.244.91.212
19:00:50 - article_server - INFO - [API响应] GET /api/prompts/list_info - IP: 104.244.91.212 - 状态码: 200
19:00:50 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:50 - article_server - INFO - [SQL语句]
SELECT COUNT(id) as total
FROM ai_articles
WHERE enterprise_id = %s AND status = 'published_review'
19:00:50 - article_server - INFO - [SQL参数] (1,)
19:00:50 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:50 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}]
19:00:51 - article_server - INFO - 数据库连接成功,字符集设置完成
19:00:51 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:51 - article_server - INFO - [SQL语句]
SELECT COUNT(*) as total
FROM ai_articles
WHERE enterprise_id = %s
19:00:51 - article_server - INFO - [SQL参数] [1]
19:00:51 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:51 - article_server - INFO - [SQL语句]
SELECT COUNT(id) as total
FROM ai_articles
WHERE enterprise_id = %s AND status = 'published'
19:00:51 - article_server - INFO - [SQL参数] (1,)
19:00:51 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:51 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:51 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}]
19:00:51 - article_server - INFO - [SQL数据] 查询结果: [{'total': 40}]
19:00:51 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 40, 可发: 0, 已发: 0, IP: 104.244.91.212
19:00:51 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200
19:00:51 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:51 - 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
19:00:51 - article_server - INFO - [SQL参数] [1, 10, 0]
19:00:51 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录
19:00:51 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:51 - 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
19:00:51 - article_server - INFO - [SQL参数] [57, 58, 59, 54, 55, 56, 51, 52, 53, 48]
19:00:51 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录
19:00:51 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:51 - 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)
19:00:51 - article_server - INFO - [SQL参数] [57, 58, 59, 54, 55, 56, 51, 52, 53, 48]
19:00:51 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录
19:00:51 - article_server - INFO - [获取文章列表] 查询成功, 总数: 40, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212
19:00:51 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200
19:00:56 - 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
19:00:56 - article_server - INFO - [Token验证成功] 用户ID: 3
19:00:56 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:56 - 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
19:00:56 - article_server - INFO - [SQL参数] (57, 1)
19:00:56 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:56 - 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': 1, '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, 8, 32, 40), 'product_name': '健康类自媒体', 'prompt_name': 'Inject基础提示词'}]
19:00:56 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:56 - 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
19:00:56 - article_server - INFO - [SQL参数] (57,)
19:00:56 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
19:00:56 - 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)}]
19:00:57 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:57 - article_server - INFO - [SQL语句]
SELECT id, coze_tag, created_at
FROM ai_article_tags
WHERE article_id = %s
19:00:57 - article_server - INFO - [SQL参数] (57,)
19:00:57 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:00:57 - article_server - INFO - [SQL数据] 查询结果: [{'id': 15, 'coze_tag': '#前列腺增生# #手术选择# #症状判断# #身体状况# #治疗建议#', 'created_at': datetime.datetime(2025, 12, 21, 8, 32, 38)}]
19:00:57 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:00:57 - 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
19:00:57 - article_server - INFO - [SQL参数] (57,)
19:00:57 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:00:57 - article_server - INFO - 获取文章详情成功: ID 57
19:00:57 - article_server - INFO - [API响应] GET /api/articles/57 - IP: 104.244.91.212 - 状态码: 200
19:01:03 - 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
19:01:03 - article_server - INFO - [Token验证成功] 用户ID: 3
19:01:03 - 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
19:01:03 - article_server - INFO - [Token验证成功] 用户ID: 3
19:01:03 - 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
19:01:03 - article_server - INFO - [Token验证成功] 用户ID: 3
19:01:03 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:03 - article_server - INFO - [SQL语句]
SELECT users_total, products_total, articles_total, published_total
FROM ai_enterprises
WHERE id = %s
19:01:03 - article_server - INFO - [SQL参数] (1,)
19:01:03 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:03 - 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
19:01:03 - article_server - INFO - [SQL参数] (1, 1, 4)
19:01:03 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:01:03 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 2, 'articles_total': 40, 'published_total': 0}]
19:01:03 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录
19:01:03 - article_server - INFO - 获取热门产品成功
19:01:03 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200
19:01:03 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:03 - 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())
19:01:03 - article_server - INFO - [SQL参数] (1,)
19:01:03 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:01:03 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}]
19:01:03 - article_server - INFO - 数据库连接成功,字符集设置完成
19:01:03 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:03 - 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
19:01:03 - article_server - INFO - [SQL参数] (1, 5)
19:01:03 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:03 - 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))
19:01:03 - article_server - INFO - [SQL参数] (1,)
19:01:03 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录
19:01:03 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:01:03 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
19:01:03 - article_server - INFO - 获取最近发布成功
19:01:03 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200
19:01:03 - article_server - INFO - 获取工作台概览成功
19:01:03 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200
19:01:06 - 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
19:01:06 - article_server - INFO - [Token验证成功] 用户ID: 3
19:01:06 - article_server - INFO - [获取标签列表] 开始处理请求, IP: 104.244.91.212
19:01:06 - article_server - INFO - [获取标签列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:01:06 - 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
19:01:06 - article_server - INFO - [Token验证成功] 用户ID: 3
19:01:06 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212
19:01:06 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:01:06 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:06 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s
19:01:06 - article_server - INFO - [SQL参数] [1]
19:01:06 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:01:06 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}]
19:01:06 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:06 - 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
19:01:06 - article_server - INFO - [SQL参数] [1, 100, 0]
19:01:06 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
19:01:06 - 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)}]
19:01:06 - article_server - INFO - 数据库连接成功,字符集设置完成
19:01:06 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:06 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s
19:01:06 - article_server - INFO - [SQL参数] (1,)
19:01:06 - article_server - INFO - [获取标签列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212
19:01:06 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 104.244.91.212 - 状态码: 200
19:01:06 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:01:06 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}]
19:01:06 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:06 - 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
19:01:06 - article_server - INFO - [SQL参数] (1, 10, 0)
19:01:06 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
19:01:06 - 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': 14, 'prompt_workflow_name': '测试提示词', 'workflow_id': 'WF-CC8BB759', 'content': '这是一个测试提示词模板...', 'usage_count': 2, 'created_at': datetime.datetime(2025, 12, 12, 17, 41, 22), 'updated_at': datetime.datetime(2025, 12, 12, 17, 51, 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)}]
19:01:06 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:06 - 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
19:01:06 - article_server - INFO - [SQL参数] (25,)
19:01:06 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
19:01:06 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}]
19:01:06 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:06 - 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
19:01:06 - article_server - INFO - [SQL参数] (14,)
19:01:06 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:01:07 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:07 - 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
19:01:07 - article_server - INFO - [SQL参数] (1,)
19:01:07 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:01:07 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 3, 企业ID: 1, IP: 104.244.91.212
19:01:07 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200
19:01:31 - 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
19:01:31 - article_server - INFO - [Token验证成功] 用户ID: 3
19:01:31 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212
19:01:31 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:01:31 - 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
19:01:31 - article_server - INFO - [Token验证成功] 用户ID: 3
19:01:31 - article_server - INFO - [获取标签列表] 开始处理请求, IP: 104.244.91.212
19:01:31 - article_server - INFO - [获取标签列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:01:31 - 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
19:01:31 - article_server - INFO - [Token验证成功] 用户ID: 3
19:01:31 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212
19:01:31 - article_server - INFO - [获取用户信息] 用户ID: 3, action: , IP: 104.244.91.212
19:01:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:31 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s
19:01:31 - article_server - INFO - [SQL参数] (1,)
19:01:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:31 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s
19:01:31 - article_server - INFO - [SQL参数] [1]
19:01:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:31 - 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'
19:01:31 - article_server - INFO - [SQL参数] (3,)
19:01:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:01:31 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}]
19:01:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:01:31 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}]
19:01:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:01:31 - 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)}]
19:01:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:31 - 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
19:01:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:31 - article_server - INFO - [SQL参数] [1, 100, 0]
19:01:31 - 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
19:01:31 - article_server - INFO - [SQL参数] (1, 10, 0)
19:01:31 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
19:01:31 - 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)}]
19:01:31 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
19:01:31 - 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': 14, 'prompt_workflow_name': '测试提示词', 'workflow_id': 'WF-CC8BB759', 'content': '这是一个测试提示词模板...', 'usage_count': 2, 'created_at': datetime.datetime(2025, 12, 12, 17, 41, 22), 'updated_at': datetime.datetime(2025, 12, 12, 17, 51, 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)}]
19:01:31 - article_server - INFO - [SQL执行] 开始执行插入SQL
19:01:31 - 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())
19:01:31 - 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)
19:01:31 - article_server - INFO - [获取标签列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212
19:01:31 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 104.244.91.212 - 状态码: 200
19:01:31 - article_server - INFO - [SQL结果] 插入完成新记录ID: 63234
19:01:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:31 - 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
19:01:31 - article_server - INFO - [SQL参数] (25,)
19:01:31 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
19:01:31 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}]
19:01:31 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 3 | 目标: user#3 | 状态: success | IP: 104.244.91.212 | 日志ID: 63234
19:01:31 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200
19:01:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:31 - 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
19:01:31 - article_server - INFO - [SQL参数] (14,)
19:01:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:01:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:31 - 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
19:01:31 - article_server - INFO - [SQL参数] (1,)
19:01:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:01:31 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 3, 企业ID: 1, IP: 104.244.91.212
19:01:31 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200
19:01:46 - 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
19:01:46 - article_server - INFO - [Token验证成功] 用户ID: 3
19:01:46 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212
19:01:46 - 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
19:01:46 - article_server - INFO - [获取用户信息] 用户ID: 3, action: , IP: 104.244.91.212
19:01:46 - article_server - INFO - [Token验证成功] 用户ID: 3
19:01:46 - article_server - INFO - [获取标签列表] 开始处理请求, IP: 104.244.91.212
19:01:46 - article_server - INFO - [获取标签列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:01:46 - 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
19:01:46 - article_server - INFO - [Token验证成功] 用户ID: 3
19:01:46 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212
19:01:46 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:01:46 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:46 - 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'
19:01:46 - article_server - INFO - [SQL参数] (3,)
19:01:46 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:46 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s
19:01:46 - article_server - INFO - [SQL参数] (1,)
19:01:46 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:46 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s
19:01:46 - article_server - INFO - [SQL参数] [1]
19:01:46 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:01:46 - 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)}]
19:01:46 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:01:46 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}]
19:01:46 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:01:46 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}]
19:01:46 - article_server - INFO - [SQL执行] 开始执行插入SQL
19:01:46 - 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())
19:01:46 - 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)
19:01:46 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:46 - 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
19:01:46 - article_server - INFO - [SQL参数] (1, 10, 0)
19:01:46 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
19:01: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': 14, 'prompt_workflow_name': '测试提示词', 'workflow_id': 'WF-CC8BB759', 'content': '这是一个测试提示词模板...', 'usage_count': 2, 'created_at': datetime.datetime(2025, 12, 12, 17, 41, 22), 'updated_at': datetime.datetime(2025, 12, 12, 17, 51, 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)}]
19:01:46 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01: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
19:01:46 - article_server - INFO - [SQL参数] [1, 100, 0]
19:01:46 - article_server - INFO - [SQL结果] 插入完成新记录ID: 63241
19:01:46 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 3 | 目标: user#3 | 状态: success | IP: 104.244.91.212 | 日志ID: 63241
19:01:46 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200
19:01:46 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
19:01: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)}]
19:01:46 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01: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
19:01:46 - article_server - INFO - [SQL参数] (25,)
19:01:46 - article_server - INFO - [获取标签列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212
19:01:46 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 104.244.91.212 - 状态码: 200
19:01:46 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
19:01:46 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}]
19:01:46 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01: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
19:01:46 - article_server - INFO - [SQL参数] (14,)
19:01:46 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:01:46 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01: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
19:01:46 - article_server - INFO - [SQL参数] (1,)
19:01:46 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:01:46 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 3, 企业ID: 1, IP: 104.244.91.212
19:01:46 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200
19:01:52 - article_server - INFO - [API访问] DELETE /api/prompts/14 - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
19:01:52 - article_server - INFO - [Token验证成功] 用户ID: 3
19:01:52 - article_server - INFO - [删除提示词] 开始处理请求, ID: 14, IP: 104.244.91.212
19:01:52 - article_server - INFO - [删除提示词] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:01:52 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:52 - article_server - INFO - [SQL语句] SELECT id, prompt_workflow_name FROM ai_prompt_workflow WHERE id = %s AND enterprise_id = %s
19:01:52 - article_server - INFO - [SQL参数] (14, 1)
19:01:52 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:01:52 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'prompt_workflow_name': '测试提示词'}]
19:01:52 - article_server - INFO - [SQL执行] 开始执行更新SQL
19:01:52 - article_server - INFO - [SQL语句] DELETE FROM ai_prompt_tags_relation WHERE prompt_workflow_id = %s
19:01:52 - article_server - INFO - [SQL参数] (14,)
19:01:52 - article_server - INFO - [SQL结果] 更新完成,影响 0 行
19:01:52 - article_server - INFO - [SQL执行] 开始执行更新SQL
19:01:52 - article_server - INFO - [SQL语句] DELETE FROM ai_prompt_workflow WHERE id = %s
19:01:52 - article_server - INFO - [SQL参数] (14,)
19:01:52 - article_server - INFO - [SQL结果] 更新完成,影响 1 行
19:01:52 - article_server - INFO - [SQL执行] 开始执行插入SQL
19:01:52 - article_server - INFO - [SQL语句]
INSERT INTO ai_logs
(user_id, action, target_type, target_id, description,
ip_address, user_agent, request_data, response_data,
status, error_message, created_at)
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
19:01:52 - article_server - INFO - [SQL参数] (3, 'delete_prompt_workflow', 'prompt_workflow', 14, '删除提示词: 测试提示词', '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)
19:01:52 - article_server - INFO - [SQL结果] 插入完成新记录ID: 63244
19:01:53 - article_server - INFO - [业务日志] 操作: delete_prompt_workflow | 用户ID: 3 | 目标: prompt_workflow#14 | 状态: success | IP: 104.244.91.212 | 日志ID: 63244
19:01:53 - article_server - INFO - [删除提示词] 删除成功, ID: 14, 名称: 测试提示词, 企业ID: 1, IP: 104.244.91.212
19:01:53 - article_server - INFO - [API响应] DELETE /api/prompts/14 - IP: 104.244.91.212 - 状态码: 200
19:01:53 - 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
19:01:53 - article_server - INFO - [Token验证成功] 用户ID: 3
19:01:53 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212
19:01:53 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:01:53 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:53 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s
19:01:53 - article_server - INFO - [SQL参数] (1,)
19:01:53 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:01:53 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}]
19:01:53 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:53 - 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
19:01:53 - article_server - INFO - [SQL参数] (1, 10, 0)
19:01:53 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
19:01:53 - 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)}]
19:01:53 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:53 - 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
19:01:53 - article_server - INFO - [SQL参数] (25,)
19:01:53 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
19:01:53 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}]
19:01:53 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:01:53 - 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
19:01:53 - article_server - INFO - [SQL参数] (1,)
19:01:53 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:01:53 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212
19:01:53 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200
19:02: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
19:02:00 - article_server - INFO - [Token验证成功] 用户ID: 3
19:02:00 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 104.244.91.212
19:02:00 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:02:00 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=10, keyword=, product_id=, status=, 企业ID: 1, IP: 104.244.91.212
19:02:00 - 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
19:02:00 - article_server - INFO - [Token验证成功] 用户ID: 3
19:02:00 - article_server - INFO - [获取产品列表简化版] 开始处理请求, IP: 104.244.91.212
19:02:00 - article_server - INFO - [获取产品列表简化版] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:02:00 - 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
19:02:00 - article_server - INFO - [Token验证成功] 用户ID: 3
19:02:00 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 104.244.91.212
19:02:00 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:00 - article_server - INFO - [SQL语句]
SELECT COUNT(*) as total
FROM ai_articles
WHERE enterprise_id = %s
19:02:00 - article_server - INFO - [SQL参数] [1]
19:02:00 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:00 - 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
19:02:00 - article_server - INFO - [SQL参数] (1,)
19:02:00 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:00 - article_server - INFO - [SQL语句]
SELECT COUNT(id) as total
FROM ai_articles
WHERE enterprise_id = %s
19:02:00 - article_server - INFO - [SQL参数] (1,)
19:02:00 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:00 - article_server - INFO - [SQL数据] 查询结果: [{'total': 40}]
19:02:00 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录
19:02:00 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:00 - article_server - INFO - [SQL数据] 查询结果: [{'total': 40}]
19:02:00 - article_server - INFO - [获取产品列表简化版] 查询成功, 返回数量: 5, 企业ID: 1, IP: 104.244.91.212
19:02:00 - article_server - INFO - [API响应] GET /api/products/list_info - IP: 104.244.91.212 - 状态码: 200
19:02:00 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:00 - article_server - INFO - [SQL参数] [1, 10, 0]
19:02:00 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录
19:02:00 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:00 - article_server - INFO - [SQL语句]
SELECT COUNT(id) as total
FROM ai_articles
WHERE enterprise_id = %s AND status = 'published_review'
19:02:00 - article_server - INFO - [SQL参数] (1,)
19:02:00 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:00 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}]
19:02:00 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:00 - article_server - INFO - [SQL参数] [57, 58, 59, 54, 55, 56, 51, 52, 53, 48]
19:02:00 - article_server - INFO - [SQL结果] 查询完成,返回 7 条记录
19:02:00 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:00 - article_server - INFO - [SQL语句]
SELECT COUNT(id) as total
FROM ai_articles
WHERE enterprise_id = %s AND status = 'published'
19:02:00 - article_server - INFO - [SQL参数] (1,)
19:02:00 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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)
19:02:00 - article_server - INFO - [SQL参数] [57, 58, 59, 54, 55, 56, 51, 52, 53, 48]
19:02:00 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:00 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}]
19:02:01 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录
19:02:01 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 40, 可发: 0, 已发: 0, IP: 104.244.91.212
19:02:01 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 104.244.91.212 - 状态码: 200
19:02:01 - article_server - INFO - [获取文章列表] 查询成功, 总数: 40, 当前页: 1, 每页: 10, 返回数量: 10, 企业ID: 1, IP: 104.244.91.212
19:02:01 - article_server - INFO - [API响应] GET /api/articles/list - IP: 104.244.91.212 - 状态码: 200
19:02:01 - 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
19:02:01 - article_server - INFO - [Token验证成功] 用户ID: 3
19:02:01 - article_server - INFO - [获取提示词列表简化版] 开始处理请求, IP: 104.244.91.212
19:02:01 - article_server - INFO - [获取提示词列表简化版] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:02:01 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:01 - 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
19:02:01 - article_server - INFO - [SQL参数] (1,)
19:02:01 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
19:02:01 - 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)}]
19:02:01 - article_server - INFO - [获取提示词列表简化版] 查询成功, 返回数量: 2, 企业ID: 1, IP: 104.244.91.212
19:02:01 - article_server - INFO - [API响应] GET /api/prompts/list_info - IP: 104.244.91.212 - 状态码: 200
19:02:09 - 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
19:02:09 - 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
19:02:09 - article_server - INFO - [Token验证成功] 用户ID: 3
19:02:09 - article_server - INFO - [Token验证成功] 用户ID: 3
19:02:09 - article_server - INFO - [获取标签列表] 开始处理请求, IP: 104.244.91.212
19:02:09 - article_server - INFO - [获取提示词列表] 开始处理请求, IP: 104.244.91.212
19:02:09 - article_server - INFO - [获取标签列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:02:09 - article_server - INFO - [获取提示词列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:02:09 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:09 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s
19:02:09 - article_server - INFO - [SQL参数] [1]
19:02:09 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:09 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s
19:02:09 - article_server - INFO - [SQL参数] (1,)
19:02:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}]
19:02:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}]
19:02:10 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:10 - article_server - INFO - [SQL参数] [1, 100, 0]
19:02:10 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
19:02: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)}]
19:02:10 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:10 - article_server - INFO - [SQL参数] (1, 10, 0)
19:02:10 - article_server - INFO - [获取标签列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212
19:02:10 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 104.244.91.212 - 状态码: 200
19:02:10 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
19:02: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': 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)}]
19:02:10 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:10 - article_server - INFO - [SQL参数] (25,)
19:02:10 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
19:02:10 - article_server - INFO - [SQL数据] 查询结果: [{'id': 14, 'tag_name': '去重'}, {'id': 15, 'tag_name': '基础提示词'}]
19:02:10 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:10 - article_server - INFO - [SQL参数] (1,)
19:02:10 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:02:10 - article_server - INFO - [获取提示词列表] 查询成功, 总数: 2, 企业ID: 1, IP: 104.244.91.212
19:02:10 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 104.244.91.212 - 状态码: 200
19:02: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
19:02: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
19:02:12 - article_server - INFO - [Token验证成功] 用户ID: 3
19:02:12 - article_server - INFO - [Token验证成功] 用户ID: 3
19:02:12 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212
19:02:12 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:02:12 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=100, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212
19:02: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
19:02:12 - article_server - INFO - [Token验证成功] 用户ID: 3
19:02: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
19:02:12 - article_server - INFO - [Token验证成功] 用户ID: 3
19:02:12 - article_server - INFO - [获取图片类型列表] current_user: {'user_id': 3, 'username': '18211010472', 'role': 'admin', 'enterprise_id': 1, 'exp': 1766401123, 'iat': 1766314723}, enterprise_id: 1
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:12 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted'
19:02:12 - article_server - INFO - [SQL参数] [1]
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:12 - article_server - INFO - [SQL语句]
SELECT COUNT(id) as total
FROM ai_images
WHERE enterprise_id = %s AND status = 'active'
19:02:12 - article_server - INFO - [SQL参数] [1]
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:12 - article_server - INFO - [SQL语句]
SELECT COUNT(*) as total
FROM ai_images
WHERE enterprise_id = %s AND status = %s
19:02:12 - article_server - INFO - [SQL参数] [1, 'active']
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:12 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_image_type WHERE enterprise_id = %s
19:02:12 - article_server - INFO - [SQL参数] [1]
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 5}]
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}]
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}]
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 10}]
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:12 - article_server - INFO - [SQL参数] [1, 100, 0]
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:12 - article_server - INFO - [SQL语句]
SELECT COUNT(id) as total
FROM ai_images
WHERE enterprise_id = %s AND status = 'active' AND product_id > 0
19:02:12 - article_server - INFO - [SQL参数] [1]
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:12 - article_server - INFO - [SQL参数] [1, 'active', 10, 0]
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:12 - article_server - INFO - [SQL参数] [1, 100, 0]
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}]
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 8 条记录
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 10 条记录
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:12 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:02:12 - article_server - INFO - [SQL参数] (25,)
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:12 - article_server - INFO - [SQL参数] [1]
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:02:12 - article_server - INFO - [API响应] GET /api/images/types/list - IP: 104.244.91.212 - 状态码: 200
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 2}]
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:12 - article_server - INFO - [SQL参数] [31, 1]
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:12 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:02:12 - article_server - INFO - [SQL参数] (13,)
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
19:02:12 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}]
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:12 - article_server - INFO - [SQL参数] [1, '%场景%']
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:12 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}]
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:12 - article_server - INFO - [SQL参数] [30, 1]
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:12 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:02:12 - article_server - INFO - [SQL参数] (12,)
19:02:12 - article_server - INFO - 获取图片库仪表盘数据成功企业ID: 1
19:02:12 - article_server - INFO - [API响应] GET /api/images/list_dashboard - IP: 104.244.91.212 - 状态码: 200
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
19:02:12 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}]
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:12 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:02:12 - article_server - INFO - [SQL参数] (11,)
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:12 - article_server - INFO - [SQL参数] [29, 1]
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
19:02:12 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}]
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:12 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:02:12 - article_server - INFO - [SQL参数] (1,)
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:12 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}]
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:12 - article_server - INFO - [SQL参数] [28, 1]
19:02:12 - article_server - INFO - [获取产品列表] 查询成功, 总数: 5, 当前页: 1, 每页: 100, 返回数量: 5, 企业ID: 1, IP: 104.244.91.212
19:02:12 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
19:02:12 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}]
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:12 - article_server - INFO - [SQL参数] [27, 1]
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
19:02:12 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 9, 'tag_name': '1111111'}, {'tag_id': 10, 'tag_name': '222222222'}, {'tag_id': 11, 'tag_name': '33333333'}]
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:12 - article_server - INFO - [SQL参数] [26, 1]
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:12 - article_server - INFO - [SQL参数] [25, 1]
19:02:12 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录
19:02:12 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02: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
19:02:12 - article_server - INFO - [SQL参数] [24, 1]
19:02:13 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
19:02:13 - article_server - INFO - [SQL数据] 查询结果: [{'tag_id': 3, 'tag_name': '产品4'}, {'tag_id': 4, 'tag_name': '产品43'}]
19:02:13 - article_server - INFO - 获取图片列表成功,总数: 8
19:02:13 - article_server - INFO - [API响应] GET /api/images/list - IP: 104.244.91.212 - 状态码: 200
19:02:17 - 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
19:02:17 - 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
19:02:17 - article_server - INFO - [Token验证成功] 用户ID: 3
19:02:17 - article_server - INFO - [Token验证成功] 用户ID: 3
19:02:17 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:17 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_users u WHERE u.enterprise_id = %s AND u.status != 'deleted'
19:02:17 - article_server - INFO - [SQL参数] [1]
19:02:17 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:17 - 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'
19:02:17 - article_server - INFO - [SQL参数] (1,)
19:02:17 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:17 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}]
19:02:17 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:17 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 6, 'active_count': Decimal('6'), 'bound_xhs_count': Decimal('3')}]
19:02:17 - article_server - INFO - 获取员工统计成功
19:02:17 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200
19:02:17 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:17 - article_server - INFO - [SQL语句]
SELECT u.id, u.enterprise_id, u.real_name as name, u.username, u.phone, u.role, u.department,
u.is_bound_xhs, a.xhs_account, u.status, u.created_at, u.updated_at
FROM ai_users u
LEFT JOIN ai_authors a ON u.id = a.created_user_id AND a.status = 'active'
WHERE u.enterprise_id = %s AND u.status != 'deleted'
ORDER BY u.created_at DESC
LIMIT %s OFFSET %s
19:02:17 - article_server - INFO - [SQL参数] [1, 10, 0]
19:02:17 - article_server - INFO - [SQL结果] 查询完成,返回 6 条记录
19:02:17 - article_server - INFO - 获取员工列表成功,总数: 6
19:02:17 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200
19:02:43 - article_server - INFO - [API访问] GET /api/employees/stats - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
19:02:43 - article_server - INFO - [Token验证成功] 用户ID: 3
19:02:43 - article_server - INFO - [API访问] GET /api/employees/list - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
19:02:43 - 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
19:02:43 - article_server - INFO - [Token验证成功] 用户ID: 3
19:02:43 - article_server - INFO - [Token验证成功] 用户ID: 3
19:02:43 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212
19:02:43 - article_server - INFO - [获取用户信息] 用户ID: 3, action: , IP: 104.244.91.212
19:02:43 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:43 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_users u WHERE u.enterprise_id = %s AND u.status != 'deleted'
19:02:43 - article_server - INFO - [SQL参数] [1]
19:02:43 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:43 - 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'
19:02:43 - article_server - INFO - [SQL参数] (3,)
19:02:43 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:43 - article_server - INFO - [SQL语句]
SELECT
COUNT(*) as total_count,
SUM(CASE WHEN status = 'active' THEN 1 ELSE 0 END) as active_count,
SUM(CASE WHEN is_bound_xhs = 1 THEN 1 ELSE 0 END) as bound_xhs_count
FROM ai_users
WHERE enterprise_id = %s AND status != 'deleted'
19:02:43 - article_server - INFO - [SQL参数] (1,)
19:02:43 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:43 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}]
19:02:43 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:43 - 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)}]
19:02:43 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:02:43 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 6, 'active_count': Decimal('6'), 'bound_xhs_count': Decimal('3')}]
19:02:43 - article_server - INFO - 获取员工统计成功
19:02:43 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200
19:02:43 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:02:43 - article_server - INFO - [SQL语句]
SELECT u.id, u.enterprise_id, u.real_name as name, u.username, u.phone, u.role, u.department,
u.is_bound_xhs, a.xhs_account, u.status, u.created_at, u.updated_at
FROM ai_users u
LEFT JOIN ai_authors a ON u.id = a.created_user_id AND a.status = 'active'
WHERE u.enterprise_id = %s AND u.status != 'deleted'
ORDER BY u.created_at DESC
LIMIT %s OFFSET %s
19:02:43 - article_server - INFO - [SQL参数] [1, 10, 0]
19:02:43 - article_server - INFO - [SQL执行] 开始执行插入SQL
19:02:43 - 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())
19:02:43 - 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)
19:02:43 - article_server - INFO - [SQL结果] 查询完成,返回 6 条记录
19:02:43 - article_server - INFO - [SQL结果] 插入完成新记录ID: 63265
19:02:43 - article_server - INFO - 获取员工列表成功,总数: 6
19:02:43 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200
19:02:43 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 3 | 目标: user#3 | 状态: success | IP: 104.244.91.212 | 日志ID: 63265
19:02:43 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200
19:02:53 - article_server - INFO - [API访问] DELETE /api/employees/21 - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
19:02:53 - article_server - INFO - [Token验证成功] 用户ID: 3
19:02:53 - article_server - WARNING - [权限检查失败] 用户角色 admin 不在允许的角色 ('enterprise',) 中
19:02:53 - article_server - INFO - [API响应] DELETE /api/employees/21 - IP: 104.244.91.212 - 状态码: 403
19:03:06 - 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
19:03:06 - article_server - INFO - [用户登录] 开始处理登录请求, IP: 104.244.91.212
19:03:06 - article_server - INFO - [用户登录] 收到登录请求, 账号: 18211010472, IP: 104.244.91.212
19:03:06 - article_server - INFO - [用户登录] 开始在ai_users表查询用户, 账号: 18211010472
19:03:06 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:06 - 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'
19:03:06 - article_server - INFO - [SQL参数] ('18211010472', '18211010472')
19:03:06 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:03:06 - 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}]
19:03:06 - article_server - INFO - [用户登录] 查询到用户信息, 用户名: user003, 角色: admin, 企业: 刘勇企业3号, 企业ID: 1
19:03:06 - article_server - INFO - [用户登录] 开始验证密码, 账号: 18211010472
19:03:06 - article_server - INFO - [用户登录] 密码验证成功, 用户名: user003, 角色: admin
19:03:06 - article_server - INFO - [用户登录] 开始生成token, 用户ID: 3, 角色: admin
19:03:06 - article_server - INFO - [Token生成] 用户: 18211010472, ID: 3, 角色: admin
19:03:06 - article_server - INFO - [用户登录成功] Token生成成功, 用户: user003, 角色: admin, 企业: 刘勇企业3号, IP: 104.244.91.212
19:03:06 - article_server - INFO - [API响应] POST /api/auth/login - IP: 104.244.91.212 - 状态码: 200
19:03:07 - article_server - INFO - [API访问] GET /api/users/info - IP: 104.244.91.212 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
19:03:07 - article_server - INFO - [Token验证成功] 用户ID: 3
19:03:07 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212
19:03:07 - article_server - INFO - [获取用户信息] 用户ID: 3, action: , IP: 104.244.91.212
19:03:07 - 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
19:03:07 - article_server - INFO - [Token验证成功] 用户ID: 3
19:03:07 - 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
19:03:07 - article_server - INFO - [Token验证成功] 用户ID: 3
19:03:07 - 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
19:03:07 - article_server - INFO - [Token验证成功] 用户ID: 3
19:03:07 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:07 - article_server - INFO - [SQL语句]
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
wechat_openid, wechat_unionid,
is_bound_xhs, department, role, status, created_at, updated_at
FROM ai_users u
WHERE id = %s AND status != 'deleted'
19:03:07 - article_server - INFO - [SQL参数] (3,)
19:03:07 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:07 - 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
19:03:07 - article_server - INFO - [SQL参数] (1, 1, 4)
19:03:07 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:07 - article_server - INFO - [SQL语句]
SELECT users_total, products_total, articles_total, published_total
FROM ai_enterprises
WHERE id = %s
19:03:07 - article_server - INFO - [SQL参数] (1,)
19:03:07 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:07 - 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
19:03:07 - article_server - INFO - [SQL参数] (1, 5)
19:03:07 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录
19:03:07 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:03:07 - 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)}]
19:03:07 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:03:07 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 2, 'articles_total': 40, 'published_total': 0}]
19:03:07 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录
19:03:07 - article_server - INFO - 获取热门产品成功
19:03:07 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 104.244.91.212 - 状态码: 200
19:03:07 - article_server - INFO - 获取最近发布成功
19:03:07 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 104.244.91.212 - 状态码: 200
19:03:07 - article_server - INFO - [SQL执行] 开始执行插入SQL
19:03:07 - article_server - INFO - [SQL语句]
INSERT INTO ai_logs
(user_id, action, target_type, target_id, description,
ip_address, user_agent, request_data, response_data,
status, error_message, created_at)
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
19:03:07 - 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)
19:03:07 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:07 - 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())
19:03:07 - article_server - INFO - [SQL参数] (1,)
19:03:07 - article_server - INFO - [SQL结果] 插入完成新记录ID: 63274
19:03:07 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:03:07 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 4}]
19:03:07 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 3 | 目标: user#3 | 状态: success | IP: 104.244.91.212 | 日志ID: 63274
19:03:07 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200
19:03:07 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:07 - 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))
19:03:07 - article_server - INFO - [SQL参数] (1,)
19:03:07 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:03:07 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
19:03:07 - article_server - INFO - 获取工作台概览成功
19:03:07 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 104.244.91.212 - 状态码: 200
19:03: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
19:03:10 - article_server - INFO - [Token验证成功] 用户ID: 3
19:03:10 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212
19:03:10 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:03:10 - 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
19:03:10 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=12, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212
19:03:10 - article_server - INFO - [Token验证成功] 用户ID: 3
19:03:10 - article_server - INFO - [获取企业产品类型列表] 开始处理请求, IP: 104.244.91.212
19:03:10 - article_server - INFO - [获取企业产品类型列表] 企业ID: 1, IP: 104.244.91.212
19:03:10 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:10 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_product_types WHERE enterprise_id = %s
19:03:10 - article_server - INFO - [SQL参数] [1]
19:03:10 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:10 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted'
19:03:10 - article_server - INFO - [SQL参数] [1]
19:03:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:03:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}]
19:03:10 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:03:10 - article_server - INFO - [SQL数据] 查询结果: [{'total': 5}]
19:03:10 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:10 - 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
19:03:10 - article_server - INFO - [SQL参数] [1, 100, 0]
19:03:10 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03: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
19:03:10 - article_server - INFO - [SQL参数] [1, 12, 0]
19:03:10 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:03:10 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录
19:03:10 - article_server - INFO - [获取企业产品类型列表] 查询成功, 企业ID: 1, 总数: 0, 返回: 0, IP: 104.244.91.212
19:03:10 - article_server - INFO - [API响应] GET /api/products/types/list - IP: 104.244.91.212 - 状态码: 200
19:03:10 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:10 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:03:10 - article_server - INFO - [SQL参数] (25,)
19:03:10 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:03:10 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:10 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:03:10 - article_server - INFO - [SQL参数] (13,)
19:03:10 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:03:10 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:10 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:03:10 - article_server - INFO - [SQL参数] (12,)
19:03:10 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:03:11 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:11 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:03:11 - article_server - INFO - [SQL参数] (11,)
19:03:11 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:03:11 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:11 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:03:11 - article_server - INFO - [SQL参数] (1,)
19:03:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:03:11 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}]
19:03:11 - article_server - INFO - [获取产品列表] 查询成功, 总数: 5, 当前页: 1, 每页: 12, 返回数量: 5, 企业ID: 1, IP: 104.244.91.212
19:03:11 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200
19:03:11 - 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
19:03:11 - article_server - INFO - [Token验证成功] 用户ID: 3
19:03:11 - 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
19:03:11 - article_server - INFO - [Token验证成功] 用户ID: 3
19:03:11 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:11 - 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'
19:03:11 - article_server - INFO - [SQL参数] (1,)
19:03:11 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:11 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_users u WHERE u.enterprise_id = %s AND u.status != 'deleted'
19:03:11 - article_server - INFO - [SQL参数] [1]
19:03:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:03:11 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 6, 'active_count': Decimal('6'), 'bound_xhs_count': Decimal('3')}]
19:03:11 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:03:11 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}]
19:03:11 - article_server - INFO - 获取员工统计成功
19:03:11 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200
19:03:11 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:11 - article_server - INFO - [SQL语句]
SELECT u.id, u.enterprise_id, u.real_name as name, u.username, u.phone, u.role, u.department,
u.is_bound_xhs, a.xhs_account, u.status, u.created_at, u.updated_at
FROM ai_users u
LEFT JOIN ai_authors a ON u.id = a.created_user_id AND a.status = 'active'
WHERE u.enterprise_id = %s AND u.status != 'deleted'
ORDER BY u.created_at DESC
LIMIT %s OFFSET %s
19:03:11 - article_server - INFO - [SQL参数] [1, 10, 0]
19:03:11 - article_server - INFO - [SQL结果] 查询完成,返回 6 条记录
19:03:11 - article_server - INFO - 获取员工列表成功,总数: 6
19:03:11 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200
19:03:47 - 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
19:03:47 - 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
19:03:47 - article_server - INFO - [Token验证成功] 用户ID: 3
19:03:47 - article_server - INFO - [Token验证成功] 用户ID: 3
19:03:47 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 104.244.91.212
19:03:47 - article_server - INFO - [获取用户信息] 用户ID: 3, action: , IP: 104.244.91.212
19:03:47 - 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
19:03:47 - article_server - INFO - [Token验证成功] 用户ID: 3
19:03:48 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:48 - 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'
19:03:48 - article_server - INFO - [SQL参数] (1,)
19:03:48 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:48 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_users u WHERE u.enterprise_id = %s AND u.status != 'deleted'
19:03:48 - article_server - INFO - [SQL参数] [1]
19:03:48 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:48 - article_server - INFO - [SQL语句]
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
wechat_openid, wechat_unionid,
is_bound_xhs, department, role, status, created_at, updated_at
FROM ai_users u
WHERE id = %s AND status != 'deleted'
19:03:48 - article_server - INFO - [SQL参数] (3,)
19:03:48 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:03:48 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 6, 'active_count': Decimal('6'), 'bound_xhs_count': Decimal('3')}]
19:03:48 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:03:48 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}]
19:03:48 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:03:48 - 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)}]
19:03:48 - article_server - INFO - 获取员工统计成功
19:03:48 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200
19:03:48 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:03:48 - article_server - INFO - [SQL语句]
SELECT u.id, u.enterprise_id, u.real_name as name, u.username, u.phone, u.role, u.department,
u.is_bound_xhs, a.xhs_account, u.status, u.created_at, u.updated_at
FROM ai_users u
LEFT JOIN ai_authors a ON u.id = a.created_user_id AND a.status = 'active'
WHERE u.enterprise_id = %s AND u.status != 'deleted'
ORDER BY u.created_at DESC
LIMIT %s OFFSET %s
19:03:48 - article_server - INFO - [SQL参数] [1, 10, 0]
19:03:48 - article_server - INFO - [SQL结果] 查询完成,返回 6 条记录
19:03:48 - article_server - INFO - [SQL执行] 开始执行插入SQL
19:03:48 - article_server - INFO - [SQL语句]
INSERT INTO ai_logs
(user_id, action, target_type, target_id, description,
ip_address, user_agent, request_data, response_data,
status, error_message, created_at)
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
19:03:48 - 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)
19:03:48 - article_server - INFO - 获取员工列表成功,总数: 6
19:03:48 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200
19:03:48 - article_server - INFO - [SQL结果] 插入完成新记录ID: 63291
19:03:48 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 3 | 目标: user#3 | 状态: success | IP: 104.244.91.212 | 日志ID: 63291
19:03:48 - article_server - INFO - [API响应] GET /api/users/info - IP: 104.244.91.212 - 状态码: 200
19:07: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
19:07:30 - article_server - INFO - [Token验证成功] 用户ID: 3
19:07:30 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 104.244.91.212
19:07:30 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 3, 企业ID: 1, IP: 104.244.91.212
19:07:30 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=12, keyword=, type=, status=, 企业ID: 1, IP: 104.244.91.212
19:07:30 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:07:30 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted'
19:07:30 - article_server - INFO - [SQL参数] [1]
19:07:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:07:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 5}]
19:07:30 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:07: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
19:07:30 - article_server - INFO - [SQL参数] [1, 12, 0]
19:07:30 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录
19:07:30 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:07:30 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:07:30 - article_server - INFO - [SQL参数] (25,)
19:07:30 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:07:30 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:07:30 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:07:30 - article_server - INFO - [SQL参数] (13,)
19:07:30 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:07:30 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:07:30 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:07:30 - article_server - INFO - [SQL参数] (12,)
19:07:30 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:07: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
19:07:30 - article_server - INFO - [Token验证成功] 用户ID: 3
19:07:30 - article_server - INFO - [获取企业产品类型列表] 开始处理请求, IP: 104.244.91.212
19:07:30 - article_server - INFO - [获取企业产品类型列表] 企业ID: 1, IP: 104.244.91.212
19:07:30 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:07:30 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:07:30 - article_server - INFO - [SQL参数] (11,)
19:07:30 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:07:30 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_product_types WHERE enterprise_id = %s
19:07:30 - article_server - INFO - [SQL参数] [1]
19:07:30 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:07:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:07:30 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}]
19:07:30 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:07:30 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:07: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
19:07:30 - article_server - INFO - [SQL语句]
SELECT id, tag_name
FROM ai_product_tags
WHERE product_id = %s
19:07:30 - article_server - INFO - [SQL参数] [1, 100, 0]
19:07:30 - article_server - INFO - [SQL参数] (1,)
19:07:30 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
19:07:30 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:07:30 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}]
19:07:30 - article_server - INFO - [获取企业产品类型列表] 查询成功, 企业ID: 1, 总数: 0, 返回: 0, IP: 104.244.91.212
19:07:30 - article_server - INFO - [API响应] GET /api/products/types/list - IP: 104.244.91.212 - 状态码: 200
19:07:30 - article_server - INFO - [获取产品列表] 查询成功, 总数: 5, 当前页: 1, 每页: 12, 返回数量: 5, 企业ID: 1, IP: 104.244.91.212
19:07:30 - article_server - INFO - [API响应] GET /api/products/list - IP: 104.244.91.212 - 状态码: 200
19:07:31 - 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
19:07:31 - article_server - INFO - [Token验证成功] 用户ID: 3
19:07:31 - 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
19:07:31 - article_server - INFO - [Token验证成功] 用户ID: 3
19:07:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:07:31 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_users u WHERE u.enterprise_id = %s AND u.status != 'deleted'
19:07:31 - article_server - INFO - [SQL参数] [1]
19:07:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:07:31 - 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'
19:07:31 - article_server - INFO - [SQL参数] (1,)
19:07:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:07:31 - article_server - INFO - [SQL数据] 查询结果: [{'total': 6}]
19:07:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
19:07:31 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 6, 'active_count': Decimal('6'), 'bound_xhs_count': Decimal('3')}]
19:07:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
19:07:31 - article_server - INFO - [SQL语句]
SELECT u.id, u.enterprise_id, u.real_name as name, u.username, u.phone, u.role, u.department,
u.is_bound_xhs, a.xhs_account, u.status, u.created_at, u.updated_at
FROM ai_users u
LEFT JOIN ai_authors a ON u.id = a.created_user_id AND a.status = 'active'
WHERE u.enterprise_id = %s AND u.status != 'deleted'
ORDER BY u.created_at DESC
LIMIT %s OFFSET %s
19:07:31 - article_server - INFO - [SQL参数] [1, 10, 0]
19:07:31 - article_server - INFO - 获取员工统计成功
19:07:31 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 104.244.91.212 - 状态码: 200
19:07:31 - article_server - INFO - [SQL结果] 查询完成,返回 6 条记录
19:07:31 - article_server - INFO - 获取员工列表成功,总数: 6
19:07:31 - article_server - INFO - [API响应] GET /api/employees/list - IP: 104.244.91.212 - 状态码: 200