3410 lines
283 KiB
Plaintext
3410 lines
283 KiB
Plaintext
21:38:58 - article_server - INFO - 日志系统已启动 - 记录器: article_server
|
||
21:38:58 - article_server - INFO - 主日志文件: logs/article_server.log
|
||
21:38:58 - article_server - INFO - 错误日志文件: logs/article_error.log
|
||
21:38:58 - article_server - INFO - 日志保留策略: 每天午夜分割,主日志保留3天
|
||
21:38:58 - article_server - INFO - 错误日志保留策略: 每天午夜分割,保留9天
|
||
21:38:58 - article_server - INFO - 万花筒API服务模块已加载
|
||
21:46:15 - article_server - INFO - [API访问] POST /api/auth/login - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:15 - article_server - INFO - [用户登录] 开始处理登录请求, IP: 36.27.52.26
|
||
21:46:15 - article_server - INFO - [用户登录] 收到登录请求, 账号: 13621242430, IP: 36.27.52.26
|
||
21:46:15 - article_server - INFO - [用户登录] 开始在ai_users表查询用户, 账号: 13621242430
|
||
21:46:16 - article_server - INFO - 数据库连接成功,字符集设置完成
|
||
21:46:16 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:16 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, phone, password,
|
||
real_name, role, status, is_bound_xhs, xhs_account
|
||
FROM ai_users
|
||
WHERE (phone = %s OR username = %s) AND status = 'active'
|
||
|
||
21:46:16 - article_server - INFO - [SQL参数] ('13621242430', '13621242430')
|
||
21:46:16 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
|
||
21:46:16 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'phone': '13621242430', 'password': '256dfd66db93b7ce0d1e260b01971dffaafa1dadca903ed16defc4fba24be83b', 'real_name': '饶文龙', 'role': 'enterprise', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': '小红书用户4'}, {'id': 10, 'enterprise_id': 10, 'enterprise_name': '测试企业10号', 'username': 'user010', 'phone': '13621242430', 'password': '256dfd66db93b7ce0d1e260b01971dffaafa1dadca903ed16defc4fba24be83b', 'real_name': '测试用户10', 'role': 'admin', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': '小红书用户'}]
|
||
21:46:16 - article_server - INFO - [用户登录] 查询到用户信息, 用户名: user004, 角色: enterprise, 企业: rwl企业4号, 企业ID: 1
|
||
21:46:16 - article_server - INFO - [用户登录] 开始验证密码, 账号: 13621242430
|
||
21:46:16 - article_server - WARNING - [用户登录失败] 密码错误: 13621242430, 用户名: user004, IP: 36.27.52.26
|
||
21:46:16 - article_server - INFO - [API响应] POST /api/auth/login - IP: 36.27.52.26 - 状态码: 401
|
||
21:46:16 - article_server - INFO - [API访问] POST /api/auth/employee/login - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:16 - article_server - INFO - [员工登录] 开始处理员工登录请求, IP: 36.27.52.26
|
||
21:46:16 - article_server - INFO - [员工登录] 收到登录请求, 手机号: 13621242430, IP: 36.27.52.26
|
||
21:46:16 - article_server - INFO - [员工登录] 开始查询员工信息, 手机号: 13621242430
|
||
21:46:16 - article_server - INFO - 数据库连接成功,字符集设置完成
|
||
21:46:16 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:16 - article_server - INFO - [SQL语句]
|
||
SELECT u.id, u.enterprise_id, u.real_name, u.phone, u.password, u.role, u.status,
|
||
u.is_bound_xhs, u.xhs_account,
|
||
e.name as enterprise_name
|
||
FROM ai_users u
|
||
LEFT JOIN ai_enterprises e ON u.enterprise_id = e.id
|
||
WHERE u.phone = %s
|
||
|
||
21:46:16 - article_server - INFO - [SQL参数] ('13621242430',)
|
||
21:46:16 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
|
||
21:46:16 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'real_name': '饶文龙', 'phone': '13621242430', 'password': '256dfd66db93b7ce0d1e260b01971dffaafa1dadca903ed16defc4fba24be83b', 'role': 'enterprise', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': '小红书用户4', 'enterprise_name': '乐航'}, {'id': 10, 'enterprise_id': 10, 'real_name': '测试用户10', 'phone': '13621242430', 'password': '256dfd66db93b7ce0d1e260b01971dffaafa1dadca903ed16defc4fba24be83b', 'role': 'admin', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': '小红书用户', 'enterprise_name': '测试企业10号'}]
|
||
21:46:16 - article_server - INFO - [员工登录] 查询到员工信息, 姓名: 饶文龙, 角色: enterprise, 企业: 乐航, 状态: active, 绑定小红书: 1
|
||
21:46:16 - article_server - INFO - [员工登录] 开始验证密码, 手机号: 13621242430, 姓名: 饶文龙
|
||
21:46:16 - article_server - WARNING - [员工登录失败] 密码错误: 13621242430, 姓名: 饶文龙, IP: 36.27.52.26
|
||
21:46:16 - article_server - INFO - [API响应] POST /api/auth/employee/login - IP: 36.27.52.26 - 状态码: 401
|
||
21:46:18 - article_server - INFO - [API访问] POST /api/auth/login - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:18 - article_server - INFO - [用户登录] 开始处理登录请求, IP: 36.27.52.26
|
||
21:46:18 - article_server - INFO - [用户登录] 收到登录请求, 账号: 15707023967, IP: 36.27.52.26
|
||
21:46:18 - article_server - INFO - [用户登录] 开始在ai_users表查询用户, 账号: 15707023967
|
||
21:46:19 - article_server - INFO - 数据库连接成功,字符集设置完成
|
||
21:46:19 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:19 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, phone, password,
|
||
real_name, role, status, is_bound_xhs, xhs_account
|
||
FROM ai_users
|
||
WHERE (phone = %s OR username = %s) AND status = 'active'
|
||
|
||
21:46:19 - article_server - INFO - [SQL参数] ('15707023967', '15707023967')
|
||
21:46:19 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:19 - article_server - INFO - [SQL数据] 查询结果: [{'id': 18, 'enterprise_id': 1, 'enterprise_name': '测试企业1号', 'username': '15707023967', 'phone': '15707023967', 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 'real_name': '测试员工API', 'role': 'admin', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': '小红书用户'}]
|
||
21:46:19 - article_server - INFO - [用户登录] 查询到用户信息, 用户名: 15707023967, 角色: admin, 企业: 测试企业1号, 企业ID: 1
|
||
21:46:19 - article_server - INFO - [用户登录] 开始验证密码, 账号: 15707023967
|
||
21:46:19 - article_server - INFO - [用户登录] 密码验证成功, 用户名: 15707023967, 角色: admin
|
||
21:46:19 - article_server - INFO - [用户登录] 开始生成token, 用户ID: 18, 角色: admin
|
||
21:46:19 - article_server - INFO - [Token生成] 用户: 15707023967, ID: 18, 角色: admin
|
||
21:46:19 - article_server - INFO - [用户登录成功] Token生成成功, 用户: 15707023967, 角色: admin, 企业: 测试企业1号, IP: 36.27.52.26
|
||
21:46:19 - article_server - INFO - [API响应] POST /api/auth/login - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:19 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:19 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:19 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:46:19 - article_server - INFO - [获取用户信息] 用户ID: 18, IP: 36.27.52.26
|
||
21:46:19 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:19 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:46:19 - article_server - INFO - [SQL参数] (18,)
|
||
21:46:19 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:19 - article_server - INFO - [SQL数据] 查询结果: [{'id': 18, 'enterprise_id': 1, 'enterprise_name': '测试企业1号', 'username': '15707023967', 'real_name': '测试员工API', 'email': None, 'phone': '15707023967', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': '[{"domain":"creator.xiaohongshu.com","expires":1765886300.80173,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a0d09d017658845007813469ec5670285b8340a360cc4c2201c75df086add"},{"domain":".xiaohongshu.com","expires":1797420519,"httpOnly":false,"name":"xsecappid","path":"/","sameSite":"Lax","secure":false,"value":"ugc"},{"domain":".xiaohongshu.com","expires":1797420501,"httpOnly":false,"name":"a1","path":"/","sameSite":"Lax","secure":false,"value":"19b26eb1f5676nwqq68tzsm1efzwnqb8rd8crbo9150000919444"},{"domain":".xiaohongshu.com","expires":1797420501,"httpOnly":false,"name":"webId","path":"/","sameSite":"Lax","secure":false,"value":"334b292408be369dee3e00cd00c02814"},{"domain":"edith.xiaohongshu.com","expires":1765886302.122995,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a5085af17658845020951798e0db2aa6b1f683c091ed8d263bdc1b3b0c979"},{"domain":"customer.xiaohongshu.com","expires":1765886302.418581,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a0d0fba17658845023665490e85c24a0b09d80521793f3b775c036091618b"},{"domain":".xiaohongshu.com","expires":1766143702,"httpOnly":false,"name":"websectiga","path":"/","sameSite":"Lax","secure":false,"value":"10f9a40ba454a07755a08f27ef8194c53637eba4551cf9751c009g9afb564467"},{"domain":".xiaohongshu.com","expires":1765885107,"httpOnly":false,"name":"sec_poison_id","path":"/","sameSite":"Lax","secure":false,"value":"6da615cb-087a-4c5a-9bbb-a9d1e0fc9e8a"},{"domain":".xiaohongshu.com","expires":1800444522.755296,"httpOnly":false,"name":"gid","path":"/","sameSite":"Lax","secure":false,"value":"yjDJKdDJdJFSyjDJKdDyifDl2KWKIEAAKY9uYjyM6ydiuS28EIADYF888jyj4448ifjjW8W4"},{"domain":".xiaohongshu.com","expires":1766489317.637236,"httpOnly":true,"name":"customer-sso-sid","path":"/","sameSite":"Lax","secure":false,"value":"68c517584416253487808513dmgvocd9wjabgnkp"},{"domain":".xiaohongshu.com","expires":1800444518.637453,"httpOnly":true,"name":"x-user-id-creator.xiaohongshu.com","path":"/","sameSite":"Lax","secure":false,"value":"68bc3f6e0000000006025a91"},{"domain":".xiaohongshu.com","expires":1800444518.637597,"httpOnly":true,"name":"customerClientId","path":"/","sameSite":"Lax","secure":false,"value":"089912385389949"},{"domain":".xiaohongshu.com","expires":1768476517.637676,"httpOnly":true,"name":"access-token-creator.xiaohongshu.com","path":"/","sameSite":"Lax","secure":false,"value":"customer.creator.AT-68c517584416253487808514asy0vghqougmrdd3"},{"domain":".xiaohongshu.com","expires":1768476518.637759,"httpOnly":true,"name":"galaxy_creator_session_id","path":"/","sameSite":"Lax","secure":false,"value":"8tDSYD75SNh8bbJhJodtab8gPBMlEAbI1jD6"},{"domain":".xiaohongshu.com","expires":1768476518.637825,"httpOnly":true,"name":"galaxy.creator.beaker.session.id","path":"/","sameSite":"Lax","secure":false,"value":"1765884518568024980624"},{"domain":".xiaohongshu.com","expires":1797420519,"httpOnly":false,"name":"loadts","path":"/","sameSite":"Lax","secure":false,"value":"1765884519319"}]', 'xhs_phone': '17710390289', 'xhs_account': '小红书用户', 'is_bound_xhs': 1, 'bound_at': datetime.datetime(2025, 12, 16, 19, 28, 51), 'department': '测试部', 'role': 'admin', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 19, 7, 24), 'updated_at': datetime.datetime(2025, 12, 16, 19, 28, 51)}]
|
||
21:46:19 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:19 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:19 - article_server - INFO - [获取用户信息] 查询成功, 用户: 15707023967, 角色: admin, 企业: 测试企业1号, IP: 36.27.52.26
|
||
21:46:19 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:19 - article_server - INFO - [SQL语句]
|
||
SELECT users_total, products_total, articles_total, published_total
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:46:19 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:19 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:19 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:19 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:46:19 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:46:19 - article_server - INFO - [SQL参数] (18, 'get_user_info', 'user', 18, '查询用户信息: 15707023967', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:46:19 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:19 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:19 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:19 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0}]
|
||
21:46:19 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 1
|
||
21:46:19 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 18 | 目标: user#18 | 状态: success | IP: 36.27.52.26 | 日志ID: 1
|
||
21:46:19 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:19 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:19 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(CURDATE())
|
||
AND MONTH(publish_time) = MONTH(CURDATE())
|
||
|
||
21:46:19 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:19 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:19 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 3}]
|
||
21:46:19 - article_server - INFO - 数据库连接成功,字符集设置完成
|
||
21:46:19 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:19 - article_server - INFO - [SQL语句]
|
||
SELECT r.id, r.publish_time,
|
||
u.real_name as employee_name,
|
||
p.name as product_name,
|
||
'success' as status
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_users u ON r.created_user_id = u.id
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
ORDER BY r.publish_time DESC
|
||
LIMIT %s
|
||
|
||
21:46:19 - article_server - INFO - [SQL参数] (1, 5)
|
||
21:46:19 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:46:19 - article_server - INFO - [SQL数据] 查询结果: [{'id': 7, 'publish_time': datetime.datetime(2025, 12, 16, 19, 32, 25), 'employee_name': '测试员工API', 'product_name': '洗面奶', 'status': 'success'}, {'id': 6, 'publish_time': datetime.datetime(2025, 12, 16, 11, 55, 56), 'employee_name': '测试员工API', 'product_name': '口红套装', 'status': 'success'}, {'id': 5, 'publish_time': datetime.datetime(2025, 12, 16, 10, 17, 8), 'employee_name': '测试员工API', 'product_name': '保湿精华', 'status': 'success'}]
|
||
21:46:19 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:19 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as last_month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
|
||
21:46:19 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:19 - article_server - INFO - 数据库连接成功,字符集设置完成
|
||
21:46:19 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:19 - article_server - INFO - [SQL语句]
|
||
SELECT r.product_id, p.name as product_name,
|
||
COUNT(*) as publishes,
|
||
ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
GROUP BY r.product_id, p.name
|
||
ORDER BY publishes DESC
|
||
LIMIT %s
|
||
|
||
21:46:19 - article_server - INFO - [SQL参数] (1, 1, 4)
|
||
21:46:19 - article_server - INFO - 获取最近发布成功
|
||
21:46:19 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:19 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:19 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
|
||
21:46:19 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:46:19 - article_server - INFO - [SQL数据] 查询结果: [{'product_id': 2, 'product_name': '保湿精华', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 4, 'product_name': '口红套装', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 5, 'product_name': '洗面奶', 'publishes': 1, 'percentage': Decimal('33')}]
|
||
21:46:19 - article_server - INFO - 获取工作台概览成功
|
||
21:46:19 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:19 - article_server - INFO - 获取热门产品成功
|
||
21:46:19 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:21 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:21 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:21 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:46:21 - article_server - INFO - [获取用户信息] 用户ID: 18, IP: 36.27.52.26
|
||
21:46:21 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:21 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:21 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:21 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:21 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:21 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:21 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:46:21 - article_server - INFO - [SQL参数] (18,)
|
||
21:46:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:21 - article_server - INFO - [SQL语句]
|
||
SELECT r.product_id, p.name as product_name,
|
||
COUNT(*) as publishes,
|
||
ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
GROUP BY r.product_id, p.name
|
||
ORDER BY publishes DESC
|
||
LIMIT %s
|
||
|
||
21:46:21 - article_server - INFO - [SQL参数] (1, 1, 4)
|
||
21:46:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:21 - article_server - INFO - [SQL语句]
|
||
SELECT r.id, r.publish_time,
|
||
u.real_name as employee_name,
|
||
p.name as product_name,
|
||
'success' as status
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_users u ON r.created_user_id = u.id
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
ORDER BY r.publish_time DESC
|
||
LIMIT %s
|
||
|
||
21:46:21 - article_server - INFO - [SQL参数] (1, 5)
|
||
21:46:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:21 - article_server - INFO - [SQL语句]
|
||
SELECT users_total, products_total, articles_total, published_total
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:46:21 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:21 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:46:21 - article_server - INFO - [SQL数据] 查询结果: [{'product_id': 2, 'product_name': '保湿精华', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 4, 'product_name': '口红套装', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 5, 'product_name': '洗面奶', 'publishes': 1, 'percentage': Decimal('33')}]
|
||
21:46:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:21 - article_server - INFO - [SQL数据] 查询结果: [{'id': 18, 'enterprise_id': 1, 'enterprise_name': '测试企业1号', 'username': '15707023967', 'real_name': '测试员工API', 'email': None, 'phone': '15707023967', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': '[{"domain":"creator.xiaohongshu.com","expires":1765886300.80173,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a0d09d017658845007813469ec5670285b8340a360cc4c2201c75df086add"},{"domain":".xiaohongshu.com","expires":1797420519,"httpOnly":false,"name":"xsecappid","path":"/","sameSite":"Lax","secure":false,"value":"ugc"},{"domain":".xiaohongshu.com","expires":1797420501,"httpOnly":false,"name":"a1","path":"/","sameSite":"Lax","secure":false,"value":"19b26eb1f5676nwqq68tzsm1efzwnqb8rd8crbo9150000919444"},{"domain":".xiaohongshu.com","expires":1797420501,"httpOnly":false,"name":"webId","path":"/","sameSite":"Lax","secure":false,"value":"334b292408be369dee3e00cd00c02814"},{"domain":"edith.xiaohongshu.com","expires":1765886302.122995,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a5085af17658845020951798e0db2aa6b1f683c091ed8d263bdc1b3b0c979"},{"domain":"customer.xiaohongshu.com","expires":1765886302.418581,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a0d0fba17658845023665490e85c24a0b09d80521793f3b775c036091618b"},{"domain":".xiaohongshu.com","expires":1766143702,"httpOnly":false,"name":"websectiga","path":"/","sameSite":"Lax","secure":false,"value":"10f9a40ba454a07755a08f27ef8194c53637eba4551cf9751c009g9afb564467"},{"domain":".xiaohongshu.com","expires":1765885107,"httpOnly":false,"name":"sec_poison_id","path":"/","sameSite":"Lax","secure":false,"value":"6da615cb-087a-4c5a-9bbb-a9d1e0fc9e8a"},{"domain":".xiaohongshu.com","expires":1800444522.755296,"httpOnly":false,"name":"gid","path":"/","sameSite":"Lax","secure":false,"value":"yjDJKdDJdJFSyjDJKdDyifDl2KWKIEAAKY9uYjyM6ydiuS28EIADYF888jyj4448ifjjW8W4"},{"domain":".xiaohongshu.com","expires":1766489317.637236,"httpOnly":true,"name":"customer-sso-sid","path":"/","sameSite":"Lax","secure":false,"value":"68c517584416253487808513dmgvocd9wjabgnkp"},{"domain":".xiaohongshu.com","expires":1800444518.637453,"httpOnly":true,"name":"x-user-id-creator.xiaohongshu.com","path":"/","sameSite":"Lax","secure":false,"value":"68bc3f6e0000000006025a91"},{"domain":".xiaohongshu.com","expires":1800444518.637597,"httpOnly":true,"name":"customerClientId","path":"/","sameSite":"Lax","secure":false,"value":"089912385389949"},{"domain":".xiaohongshu.com","expires":1768476517.637676,"httpOnly":true,"name":"access-token-creator.xiaohongshu.com","path":"/","sameSite":"Lax","secure":false,"value":"customer.creator.AT-68c517584416253487808514asy0vghqougmrdd3"},{"domain":".xiaohongshu.com","expires":1768476518.637759,"httpOnly":true,"name":"galaxy_creator_session_id","path":"/","sameSite":"Lax","secure":false,"value":"8tDSYD75SNh8bbJhJodtab8gPBMlEAbI1jD6"},{"domain":".xiaohongshu.com","expires":1768476518.637825,"httpOnly":true,"name":"galaxy.creator.beaker.session.id","path":"/","sameSite":"Lax","secure":false,"value":"1765884518568024980624"},{"domain":".xiaohongshu.com","expires":1797420519,"httpOnly":false,"name":"loadts","path":"/","sameSite":"Lax","secure":false,"value":"1765884519319"}]', 'xhs_phone': '17710390289', 'xhs_account': '小红书用户', 'is_bound_xhs': 1, 'bound_at': datetime.datetime(2025, 12, 16, 19, 28, 51), 'department': '测试部', 'role': 'admin', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 19, 7, 24), 'updated_at': datetime.datetime(2025, 12, 16, 19, 28, 51)}]
|
||
21:46:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:21 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0}]
|
||
21:46:21 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:46:21 - article_server - INFO - [SQL数据] 查询结果: [{'id': 7, 'publish_time': datetime.datetime(2025, 12, 16, 19, 32, 25), 'employee_name': '测试员工API', 'product_name': '洗面奶', 'status': 'success'}, {'id': 6, 'publish_time': datetime.datetime(2025, 12, 16, 11, 55, 56), 'employee_name': '测试员工API', 'product_name': '口红套装', 'status': 'success'}, {'id': 5, 'publish_time': datetime.datetime(2025, 12, 16, 10, 17, 8), 'employee_name': '测试员工API', 'product_name': '保湿精华', 'status': 'success'}]
|
||
21:46:21 - article_server - INFO - 获取热门产品成功
|
||
21:46:21 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:21 - article_server - INFO - [获取用户信息] 查询成功, 用户: 15707023967, 角色: admin, 企业: 测试企业1号, IP: 36.27.52.26
|
||
21:46:21 - article_server - INFO - 获取最近发布成功
|
||
21:46:21 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:21 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:46:21 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:46:21 - article_server - INFO - [SQL参数] (18, 'get_user_info', 'user', 18, '查询用户信息: 15707023967', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:46:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:21 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(CURDATE())
|
||
AND MONTH(publish_time) = MONTH(CURDATE())
|
||
|
||
21:46:21 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:21 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 2
|
||
21:46:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:21 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 3}]
|
||
21:46:21 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 18 | 目标: user#18 | 状态: success | IP: 36.27.52.26 | 日志ID: 2
|
||
21:46:21 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:21 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as last_month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
|
||
21:46:21 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:21 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
|
||
21:46:21 - article_server - INFO - 获取工作台概览成功
|
||
21:46:21 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:22 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:22 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:22 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:22 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:22 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:22 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:22 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:46:22 - article_server - INFO - [获取用户信息] 用户ID: 18, IP: 36.27.52.26
|
||
21:46:22 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:22 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT r.id, r.publish_time,
|
||
u.real_name as employee_name,
|
||
p.name as product_name,
|
||
'success' as status
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_users u ON r.created_user_id = u.id
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
ORDER BY r.publish_time DESC
|
||
LIMIT %s
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1, 5)
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT r.product_id, p.name as product_name,
|
||
COUNT(*) as publishes,
|
||
ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
GROUP BY r.product_id, p.name
|
||
ORDER BY publishes DESC
|
||
LIMIT %s
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1, 1, 4)
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (18,)
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT users_total, products_total, articles_total, published_total
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'id': 18, 'enterprise_id': 1, 'enterprise_name': '测试企业1号', 'username': '15707023967', 'real_name': '测试员工API', 'email': None, 'phone': '15707023967', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': '[{"domain":"creator.xiaohongshu.com","expires":1765886300.80173,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a0d09d017658845007813469ec5670285b8340a360cc4c2201c75df086add"},{"domain":".xiaohongshu.com","expires":1797420519,"httpOnly":false,"name":"xsecappid","path":"/","sameSite":"Lax","secure":false,"value":"ugc"},{"domain":".xiaohongshu.com","expires":1797420501,"httpOnly":false,"name":"a1","path":"/","sameSite":"Lax","secure":false,"value":"19b26eb1f5676nwqq68tzsm1efzwnqb8rd8crbo9150000919444"},{"domain":".xiaohongshu.com","expires":1797420501,"httpOnly":false,"name":"webId","path":"/","sameSite":"Lax","secure":false,"value":"334b292408be369dee3e00cd00c02814"},{"domain":"edith.xiaohongshu.com","expires":1765886302.122995,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a5085af17658845020951798e0db2aa6b1f683c091ed8d263bdc1b3b0c979"},{"domain":"customer.xiaohongshu.com","expires":1765886302.418581,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a0d0fba17658845023665490e85c24a0b09d80521793f3b775c036091618b"},{"domain":".xiaohongshu.com","expires":1766143702,"httpOnly":false,"name":"websectiga","path":"/","sameSite":"Lax","secure":false,"value":"10f9a40ba454a07755a08f27ef8194c53637eba4551cf9751c009g9afb564467"},{"domain":".xiaohongshu.com","expires":1765885107,"httpOnly":false,"name":"sec_poison_id","path":"/","sameSite":"Lax","secure":false,"value":"6da615cb-087a-4c5a-9bbb-a9d1e0fc9e8a"},{"domain":".xiaohongshu.com","expires":1800444522.755296,"httpOnly":false,"name":"gid","path":"/","sameSite":"Lax","secure":false,"value":"yjDJKdDJdJFSyjDJKdDyifDl2KWKIEAAKY9uYjyM6ydiuS28EIADYF888jyj4448ifjjW8W4"},{"domain":".xiaohongshu.com","expires":1766489317.637236,"httpOnly":true,"name":"customer-sso-sid","path":"/","sameSite":"Lax","secure":false,"value":"68c517584416253487808513dmgvocd9wjabgnkp"},{"domain":".xiaohongshu.com","expires":1800444518.637453,"httpOnly":true,"name":"x-user-id-creator.xiaohongshu.com","path":"/","sameSite":"Lax","secure":false,"value":"68bc3f6e0000000006025a91"},{"domain":".xiaohongshu.com","expires":1800444518.637597,"httpOnly":true,"name":"customerClientId","path":"/","sameSite":"Lax","secure":false,"value":"089912385389949"},{"domain":".xiaohongshu.com","expires":1768476517.637676,"httpOnly":true,"name":"access-token-creator.xiaohongshu.com","path":"/","sameSite":"Lax","secure":false,"value":"customer.creator.AT-68c517584416253487808514asy0vghqougmrdd3"},{"domain":".xiaohongshu.com","expires":1768476518.637759,"httpOnly":true,"name":"galaxy_creator_session_id","path":"/","sameSite":"Lax","secure":false,"value":"8tDSYD75SNh8bbJhJodtab8gPBMlEAbI1jD6"},{"domain":".xiaohongshu.com","expires":1768476518.637825,"httpOnly":true,"name":"galaxy.creator.beaker.session.id","path":"/","sameSite":"Lax","secure":false,"value":"1765884518568024980624"},{"domain":".xiaohongshu.com","expires":1797420519,"httpOnly":false,"name":"loadts","path":"/","sameSite":"Lax","secure":false,"value":"1765884519319"}]', 'xhs_phone': '17710390289', 'xhs_account': '小红书用户', 'is_bound_xhs': 1, 'bound_at': datetime.datetime(2025, 12, 16, 19, 28, 51), 'department': '测试部', 'role': 'admin', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 19, 7, 24), 'updated_at': datetime.datetime(2025, 12, 16, 19, 28, 51)}]
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'id': 7, 'publish_time': datetime.datetime(2025, 12, 16, 19, 32, 25), 'employee_name': '测试员工API', 'product_name': '洗面奶', 'status': 'success'}, {'id': 6, 'publish_time': datetime.datetime(2025, 12, 16, 11, 55, 56), 'employee_name': '测试员工API', 'product_name': '口红套装', 'status': 'success'}, {'id': 5, 'publish_time': datetime.datetime(2025, 12, 16, 10, 17, 8), 'employee_name': '测试员工API', 'product_name': '保湿精华', 'status': 'success'}]
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'product_id': 2, 'product_name': '保湿精华', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 4, 'product_name': '口红套装', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 5, 'product_name': '洗面奶', 'publishes': 1, 'percentage': Decimal('33')}]
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0}]
|
||
21:46:22 - article_server - INFO - [获取用户信息] 查询成功, 用户: 15707023967, 角色: admin, 企业: 测试企业1号, IP: 36.27.52.26
|
||
21:46:22 - article_server - INFO - 获取最近发布成功
|
||
21:46:22 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:22 - article_server - INFO - 获取热门产品成功
|
||
21:46:22 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (18, 'get_user_info', 'user', 18, '查询用户信息: 15707023967', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(CURDATE())
|
||
AND MONTH(publish_time) = MONTH(CURDATE())
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:22 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 3
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 3}]
|
||
21:46:22 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 18 | 目标: user#18 | 状态: success | IP: 36.27.52.26 | 日志ID: 3
|
||
21:46:22 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:22 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:22 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:22 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:22 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:22 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:22 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:22 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:46:22 - article_server - INFO - [获取用户信息] 用户ID: 18, IP: 36.27.52.26
|
||
21:46:22 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:22 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (18,)
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as last_month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT r.product_id, p.name as product_name,
|
||
COUNT(*) as publishes,
|
||
ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
GROUP BY r.product_id, p.name
|
||
ORDER BY publishes DESC
|
||
LIMIT %s
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1, 1, 4)
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT r.id, r.publish_time,
|
||
u.real_name as employee_name,
|
||
p.name as product_name,
|
||
'success' as status
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_users u ON r.created_user_id = u.id
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
ORDER BY r.publish_time DESC
|
||
LIMIT %s
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1, 5)
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'id': 18, 'enterprise_id': 1, 'enterprise_name': '测试企业1号', 'username': '15707023967', 'real_name': '测试员工API', 'email': None, 'phone': '15707023967', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': '[{"domain":"creator.xiaohongshu.com","expires":1765886300.80173,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a0d09d017658845007813469ec5670285b8340a360cc4c2201c75df086add"},{"domain":".xiaohongshu.com","expires":1797420519,"httpOnly":false,"name":"xsecappid","path":"/","sameSite":"Lax","secure":false,"value":"ugc"},{"domain":".xiaohongshu.com","expires":1797420501,"httpOnly":false,"name":"a1","path":"/","sameSite":"Lax","secure":false,"value":"19b26eb1f5676nwqq68tzsm1efzwnqb8rd8crbo9150000919444"},{"domain":".xiaohongshu.com","expires":1797420501,"httpOnly":false,"name":"webId","path":"/","sameSite":"Lax","secure":false,"value":"334b292408be369dee3e00cd00c02814"},{"domain":"edith.xiaohongshu.com","expires":1765886302.122995,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a5085af17658845020951798e0db2aa6b1f683c091ed8d263bdc1b3b0c979"},{"domain":"customer.xiaohongshu.com","expires":1765886302.418581,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a0d0fba17658845023665490e85c24a0b09d80521793f3b775c036091618b"},{"domain":".xiaohongshu.com","expires":1766143702,"httpOnly":false,"name":"websectiga","path":"/","sameSite":"Lax","secure":false,"value":"10f9a40ba454a07755a08f27ef8194c53637eba4551cf9751c009g9afb564467"},{"domain":".xiaohongshu.com","expires":1765885107,"httpOnly":false,"name":"sec_poison_id","path":"/","sameSite":"Lax","secure":false,"value":"6da615cb-087a-4c5a-9bbb-a9d1e0fc9e8a"},{"domain":".xiaohongshu.com","expires":1800444522.755296,"httpOnly":false,"name":"gid","path":"/","sameSite":"Lax","secure":false,"value":"yjDJKdDJdJFSyjDJKdDyifDl2KWKIEAAKY9uYjyM6ydiuS28EIADYF888jyj4448ifjjW8W4"},{"domain":".xiaohongshu.com","expires":1766489317.637236,"httpOnly":true,"name":"customer-sso-sid","path":"/","sameSite":"Lax","secure":false,"value":"68c517584416253487808513dmgvocd9wjabgnkp"},{"domain":".xiaohongshu.com","expires":1800444518.637453,"httpOnly":true,"name":"x-user-id-creator.xiaohongshu.com","path":"/","sameSite":"Lax","secure":false,"value":"68bc3f6e0000000006025a91"},{"domain":".xiaohongshu.com","expires":1800444518.637597,"httpOnly":true,"name":"customerClientId","path":"/","sameSite":"Lax","secure":false,"value":"089912385389949"},{"domain":".xiaohongshu.com","expires":1768476517.637676,"httpOnly":true,"name":"access-token-creator.xiaohongshu.com","path":"/","sameSite":"Lax","secure":false,"value":"customer.creator.AT-68c517584416253487808514asy0vghqougmrdd3"},{"domain":".xiaohongshu.com","expires":1768476518.637759,"httpOnly":true,"name":"galaxy_creator_session_id","path":"/","sameSite":"Lax","secure":false,"value":"8tDSYD75SNh8bbJhJodtab8gPBMlEAbI1jD6"},{"domain":".xiaohongshu.com","expires":1768476518.637825,"httpOnly":true,"name":"galaxy.creator.beaker.session.id","path":"/","sameSite":"Lax","secure":false,"value":"1765884518568024980624"},{"domain":".xiaohongshu.com","expires":1797420519,"httpOnly":false,"name":"loadts","path":"/","sameSite":"Lax","secure":false,"value":"1765884519319"}]', 'xhs_phone': '17710390289', 'xhs_account': '小红书用户', 'is_bound_xhs': 1, 'bound_at': datetime.datetime(2025, 12, 16, 19, 28, 51), 'department': '测试部', 'role': 'admin', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 19, 7, 24), 'updated_at': datetime.datetime(2025, 12, 16, 19, 28, 51)}]
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'product_id': 2, 'product_name': '保湿精华', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 4, 'product_name': '口红套装', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 5, 'product_name': '洗面奶', 'publishes': 1, 'percentage': Decimal('33')}]
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'id': 7, 'publish_time': datetime.datetime(2025, 12, 16, 19, 32, 25), 'employee_name': '测试员工API', 'product_name': '洗面奶', 'status': 'success'}, {'id': 6, 'publish_time': datetime.datetime(2025, 12, 16, 11, 55, 56), 'employee_name': '测试员工API', 'product_name': '口红套装', 'status': 'success'}, {'id': 5, 'publish_time': datetime.datetime(2025, 12, 16, 10, 17, 8), 'employee_name': '测试员工API', 'product_name': '保湿精华', 'status': 'success'}]
|
||
21:46:22 - article_server - INFO - [获取用户信息] 查询成功, 用户: 15707023967, 角色: admin, 企业: 测试企业1号, IP: 36.27.52.26
|
||
21:46:22 - article_server - INFO - 获取热门产品成功
|
||
21:46:22 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:22 - article_server - INFO - 获取工作台概览成功
|
||
21:46:22 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:22 - article_server - INFO - 获取最近发布成功
|
||
21:46:22 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (18, 'get_user_info', 'user', 18, '查询用户信息: 15707023967', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:46:22 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 4
|
||
21:46:22 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 18 | 目标: user#18 | 状态: success | IP: 36.27.52.26 | 日志ID: 4
|
||
21:46:22 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:22 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:22 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:22 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:22 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:22 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:46:22 - article_server - INFO - [获取用户信息] 用户ID: 18, IP: 36.27.52.26
|
||
21:46:22 - article_server - INFO - 数据库连接成功,字符集设置完成
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT users_total, products_total, articles_total, published_total
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (18,)
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT users_total, products_total, articles_total, published_total
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'id': 18, 'enterprise_id': 1, 'enterprise_name': '测试企业1号', 'username': '15707023967', 'real_name': '测试员工API', 'email': None, 'phone': '15707023967', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': '[{"domain":"creator.xiaohongshu.com","expires":1765886300.80173,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a0d09d017658845007813469ec5670285b8340a360cc4c2201c75df086add"},{"domain":".xiaohongshu.com","expires":1797420519,"httpOnly":false,"name":"xsecappid","path":"/","sameSite":"Lax","secure":false,"value":"ugc"},{"domain":".xiaohongshu.com","expires":1797420501,"httpOnly":false,"name":"a1","path":"/","sameSite":"Lax","secure":false,"value":"19b26eb1f5676nwqq68tzsm1efzwnqb8rd8crbo9150000919444"},{"domain":".xiaohongshu.com","expires":1797420501,"httpOnly":false,"name":"webId","path":"/","sameSite":"Lax","secure":false,"value":"334b292408be369dee3e00cd00c02814"},{"domain":"edith.xiaohongshu.com","expires":1765886302.122995,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a5085af17658845020951798e0db2aa6b1f683c091ed8d263bdc1b3b0c979"},{"domain":"customer.xiaohongshu.com","expires":1765886302.418581,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a0d0fba17658845023665490e85c24a0b09d80521793f3b775c036091618b"},{"domain":".xiaohongshu.com","expires":1766143702,"httpOnly":false,"name":"websectiga","path":"/","sameSite":"Lax","secure":false,"value":"10f9a40ba454a07755a08f27ef8194c53637eba4551cf9751c009g9afb564467"},{"domain":".xiaohongshu.com","expires":1765885107,"httpOnly":false,"name":"sec_poison_id","path":"/","sameSite":"Lax","secure":false,"value":"6da615cb-087a-4c5a-9bbb-a9d1e0fc9e8a"},{"domain":".xiaohongshu.com","expires":1800444522.755296,"httpOnly":false,"name":"gid","path":"/","sameSite":"Lax","secure":false,"value":"yjDJKdDJdJFSyjDJKdDyifDl2KWKIEAAKY9uYjyM6ydiuS28EIADYF888jyj4448ifjjW8W4"},{"domain":".xiaohongshu.com","expires":1766489317.637236,"httpOnly":true,"name":"customer-sso-sid","path":"/","sameSite":"Lax","secure":false,"value":"68c517584416253487808513dmgvocd9wjabgnkp"},{"domain":".xiaohongshu.com","expires":1800444518.637453,"httpOnly":true,"name":"x-user-id-creator.xiaohongshu.com","path":"/","sameSite":"Lax","secure":false,"value":"68bc3f6e0000000006025a91"},{"domain":".xiaohongshu.com","expires":1800444518.637597,"httpOnly":true,"name":"customerClientId","path":"/","sameSite":"Lax","secure":false,"value":"089912385389949"},{"domain":".xiaohongshu.com","expires":1768476517.637676,"httpOnly":true,"name":"access-token-creator.xiaohongshu.com","path":"/","sameSite":"Lax","secure":false,"value":"customer.creator.AT-68c517584416253487808514asy0vghqougmrdd3"},{"domain":".xiaohongshu.com","expires":1768476518.637759,"httpOnly":true,"name":"galaxy_creator_session_id","path":"/","sameSite":"Lax","secure":false,"value":"8tDSYD75SNh8bbJhJodtab8gPBMlEAbI1jD6"},{"domain":".xiaohongshu.com","expires":1768476518.637825,"httpOnly":true,"name":"galaxy.creator.beaker.session.id","path":"/","sameSite":"Lax","secure":false,"value":"1765884518568024980624"},{"domain":".xiaohongshu.com","expires":1797420519,"httpOnly":false,"name":"loadts","path":"/","sameSite":"Lax","secure":false,"value":"1765884519319"}]', 'xhs_phone': '17710390289', 'xhs_account': '小红书用户', 'is_bound_xhs': 1, 'bound_at': datetime.datetime(2025, 12, 16, 19, 28, 51), 'department': '测试部', 'role': 'admin', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 19, 7, 24), 'updated_at': datetime.datetime(2025, 12, 16, 19, 28, 51)}]
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0}]
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0}]
|
||
21:46:22 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:22 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:22 - article_server - INFO - [获取用户信息] 查询成功, 用户: 15707023967, 角色: admin, 企业: 测试企业1号, IP: 36.27.52.26
|
||
21:46:22 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:22 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT r.id, r.publish_time,
|
||
u.real_name as employee_name,
|
||
p.name as product_name,
|
||
'success' as status
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_users u ON r.created_user_id = u.id
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
ORDER BY r.publish_time DESC
|
||
LIMIT %s
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1, 5)
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (18, 'get_user_info', 'user', 18, '查询用户信息: 15707023967', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(CURDATE())
|
||
AND MONTH(publish_time) = MONTH(CURDATE())
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(CURDATE())
|
||
AND MONTH(publish_time) = MONTH(CURDATE())
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT r.product_id, p.name as product_name,
|
||
COUNT(*) as publishes,
|
||
ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
GROUP BY r.product_id, p.name
|
||
ORDER BY publishes DESC
|
||
LIMIT %s
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1, 1, 4)
|
||
21:46:22 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 5
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'id': 7, 'publish_time': datetime.datetime(2025, 12, 16, 19, 32, 25), 'employee_name': '测试员工API', 'product_name': '洗面奶', 'status': 'success'}, {'id': 6, 'publish_time': datetime.datetime(2025, 12, 16, 11, 55, 56), 'employee_name': '测试员工API', 'product_name': '口红套装', 'status': 'success'}, {'id': 5, 'publish_time': datetime.datetime(2025, 12, 16, 10, 17, 8), 'employee_name': '测试员工API', 'product_name': '保湿精华', 'status': 'success'}]
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 3}]
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 3}]
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'product_id': 2, 'product_name': '保湿精华', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 4, 'product_name': '口红套装', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 5, 'product_name': '洗面奶', 'publishes': 1, 'percentage': Decimal('33')}]
|
||
21:46:22 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 18 | 目标: user#18 | 状态: success | IP: 36.27.52.26 | 日志ID: 5
|
||
21:46:22 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:22 - article_server - INFO - 获取最近发布成功
|
||
21:46:22 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:22 - article_server - INFO - 获取热门产品成功
|
||
21:46:22 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as last_month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as last_month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
|
||
21:46:22 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:22 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:22 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:22 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:22 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:22 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:22 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:46:22 - article_server - INFO - [获取用户信息] 用户ID: 18, IP: 36.27.52.26
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
|
||
21:46:22 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:22 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:22 - article_server - INFO - 获取工作台概览成功
|
||
21:46:22 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (18,)
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT users_total, products_total, articles_total, published_total
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT r.product_id, p.name as product_name,
|
||
COUNT(*) as publishes,
|
||
ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
GROUP BY r.product_id, p.name
|
||
ORDER BY publishes DESC
|
||
LIMIT %s
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1, 1, 4)
|
||
21:46:22 - article_server - INFO - 获取工作台概览成功
|
||
21:46:22 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:22 - article_server - INFO - [SQL语句]
|
||
SELECT r.id, r.publish_time,
|
||
u.real_name as employee_name,
|
||
p.name as product_name,
|
||
'success' as status
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_users u ON r.created_user_id = u.id
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
ORDER BY r.publish_time DESC
|
||
LIMIT %s
|
||
|
||
21:46:22 - article_server - INFO - [SQL参数] (1, 5)
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'id': 18, 'enterprise_id': 1, 'enterprise_name': '测试企业1号', 'username': '15707023967', 'real_name': '测试员工API', 'email': None, 'phone': '15707023967', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': '[{"domain":"creator.xiaohongshu.com","expires":1765886300.80173,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a0d09d017658845007813469ec5670285b8340a360cc4c2201c75df086add"},{"domain":".xiaohongshu.com","expires":1797420519,"httpOnly":false,"name":"xsecappid","path":"/","sameSite":"Lax","secure":false,"value":"ugc"},{"domain":".xiaohongshu.com","expires":1797420501,"httpOnly":false,"name":"a1","path":"/","sameSite":"Lax","secure":false,"value":"19b26eb1f5676nwqq68tzsm1efzwnqb8rd8crbo9150000919444"},{"domain":".xiaohongshu.com","expires":1797420501,"httpOnly":false,"name":"webId","path":"/","sameSite":"Lax","secure":false,"value":"334b292408be369dee3e00cd00c02814"},{"domain":"edith.xiaohongshu.com","expires":1765886302.122995,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a5085af17658845020951798e0db2aa6b1f683c091ed8d263bdc1b3b0c979"},{"domain":"customer.xiaohongshu.com","expires":1765886302.418581,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a0d0fba17658845023665490e85c24a0b09d80521793f3b775c036091618b"},{"domain":".xiaohongshu.com","expires":1766143702,"httpOnly":false,"name":"websectiga","path":"/","sameSite":"Lax","secure":false,"value":"10f9a40ba454a07755a08f27ef8194c53637eba4551cf9751c009g9afb564467"},{"domain":".xiaohongshu.com","expires":1765885107,"httpOnly":false,"name":"sec_poison_id","path":"/","sameSite":"Lax","secure":false,"value":"6da615cb-087a-4c5a-9bbb-a9d1e0fc9e8a"},{"domain":".xiaohongshu.com","expires":1800444522.755296,"httpOnly":false,"name":"gid","path":"/","sameSite":"Lax","secure":false,"value":"yjDJKdDJdJFSyjDJKdDyifDl2KWKIEAAKY9uYjyM6ydiuS28EIADYF888jyj4448ifjjW8W4"},{"domain":".xiaohongshu.com","expires":1766489317.637236,"httpOnly":true,"name":"customer-sso-sid","path":"/","sameSite":"Lax","secure":false,"value":"68c517584416253487808513dmgvocd9wjabgnkp"},{"domain":".xiaohongshu.com","expires":1800444518.637453,"httpOnly":true,"name":"x-user-id-creator.xiaohongshu.com","path":"/","sameSite":"Lax","secure":false,"value":"68bc3f6e0000000006025a91"},{"domain":".xiaohongshu.com","expires":1800444518.637597,"httpOnly":true,"name":"customerClientId","path":"/","sameSite":"Lax","secure":false,"value":"089912385389949"},{"domain":".xiaohongshu.com","expires":1768476517.637676,"httpOnly":true,"name":"access-token-creator.xiaohongshu.com","path":"/","sameSite":"Lax","secure":false,"value":"customer.creator.AT-68c517584416253487808514asy0vghqougmrdd3"},{"domain":".xiaohongshu.com","expires":1768476518.637759,"httpOnly":true,"name":"galaxy_creator_session_id","path":"/","sameSite":"Lax","secure":false,"value":"8tDSYD75SNh8bbJhJodtab8gPBMlEAbI1jD6"},{"domain":".xiaohongshu.com","expires":1768476518.637825,"httpOnly":true,"name":"galaxy.creator.beaker.session.id","path":"/","sameSite":"Lax","secure":false,"value":"1765884518568024980624"},{"domain":".xiaohongshu.com","expires":1797420519,"httpOnly":false,"name":"loadts","path":"/","sameSite":"Lax","secure":false,"value":"1765884519319"}]', 'xhs_phone': '17710390289', 'xhs_account': '小红书用户', 'is_bound_xhs': 1, 'bound_at': datetime.datetime(2025, 12, 16, 19, 28, 51), 'department': '测试部', 'role': 'admin', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 19, 7, 24), 'updated_at': datetime.datetime(2025, 12, 16, 19, 28, 51)}]
|
||
21:46:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:22 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0}]
|
||
21:46:23 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:46:23 - article_server - INFO - [SQL数据] 查询结果: [{'product_id': 2, 'product_name': '保湿精华', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 4, 'product_name': '口红套装', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 5, 'product_name': '洗面奶', 'publishes': 1, 'percentage': Decimal('33')}]
|
||
21:46:23 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:46:23 - article_server - INFO - [SQL数据] 查询结果: [{'id': 7, 'publish_time': datetime.datetime(2025, 12, 16, 19, 32, 25), 'employee_name': '测试员工API', 'product_name': '洗面奶', 'status': 'success'}, {'id': 6, 'publish_time': datetime.datetime(2025, 12, 16, 11, 55, 56), 'employee_name': '测试员工API', 'product_name': '口红套装', 'status': 'success'}, {'id': 5, 'publish_time': datetime.datetime(2025, 12, 16, 10, 17, 8), 'employee_name': '测试员工API', 'product_name': '保湿精华', 'status': 'success'}]
|
||
21:46:23 - article_server - INFO - [获取用户信息] 查询成功, 用户: 15707023967, 角色: admin, 企业: 测试企业1号, IP: 36.27.52.26
|
||
21:46:23 - article_server - INFO - 获取热门产品成功
|
||
21:46:23 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:23 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:46:23 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:46:23 - article_server - INFO - [SQL参数] (18, 'get_user_info', 'user', 18, '查询用户信息: 15707023967', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:46:23 - article_server - INFO - 获取最近发布成功
|
||
21:46:23 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:23 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:23 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(CURDATE())
|
||
AND MONTH(publish_time) = MONTH(CURDATE())
|
||
|
||
21:46:23 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:23 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 6
|
||
21:46:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:23 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 3}]
|
||
21:46:23 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 18 | 目标: user#18 | 状态: success | IP: 36.27.52.26 | 日志ID: 6
|
||
21:46:23 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:23 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:23 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:23 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:23 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:23 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:23 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:23 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:46:23 - article_server - INFO - [获取用户信息] 用户ID: 18, IP: 36.27.52.26
|
||
21:46:23 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:23 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as last_month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
|
||
21:46:23 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:23 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:23 - article_server - INFO - [SQL语句]
|
||
SELECT r.id, r.publish_time,
|
||
u.real_name as employee_name,
|
||
p.name as product_name,
|
||
'success' as status
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_users u ON r.created_user_id = u.id
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
ORDER BY r.publish_time DESC
|
||
LIMIT %s
|
||
|
||
21:46:23 - article_server - INFO - [SQL参数] (1, 5)
|
||
21:46:23 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:23 - article_server - INFO - [SQL语句]
|
||
SELECT users_total, products_total, articles_total, published_total
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:46:23 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:23 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:23 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:46:23 - article_server - INFO - [SQL参数] (18,)
|
||
21:46:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:23 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
|
||
21:46:23 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:46:23 - article_server - INFO - [SQL数据] 查询结果: [{'id': 7, 'publish_time': datetime.datetime(2025, 12, 16, 19, 32, 25), 'employee_name': '测试员工API', 'product_name': '洗面奶', 'status': 'success'}, {'id': 6, 'publish_time': datetime.datetime(2025, 12, 16, 11, 55, 56), 'employee_name': '测试员工API', 'product_name': '口红套装', 'status': 'success'}, {'id': 5, 'publish_time': datetime.datetime(2025, 12, 16, 10, 17, 8), 'employee_name': '测试员工API', 'product_name': '保湿精华', 'status': 'success'}]
|
||
21:46:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:23 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0}]
|
||
21:46:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:23 - article_server - INFO - [SQL数据] 查询结果: [{'id': 18, 'enterprise_id': 1, 'enterprise_name': '测试企业1号', 'username': '15707023967', 'real_name': '测试员工API', 'email': None, 'phone': '15707023967', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': '[{"domain":"creator.xiaohongshu.com","expires":1765886300.80173,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a0d09d017658845007813469ec5670285b8340a360cc4c2201c75df086add"},{"domain":".xiaohongshu.com","expires":1797420519,"httpOnly":false,"name":"xsecappid","path":"/","sameSite":"Lax","secure":false,"value":"ugc"},{"domain":".xiaohongshu.com","expires":1797420501,"httpOnly":false,"name":"a1","path":"/","sameSite":"Lax","secure":false,"value":"19b26eb1f5676nwqq68tzsm1efzwnqb8rd8crbo9150000919444"},{"domain":".xiaohongshu.com","expires":1797420501,"httpOnly":false,"name":"webId","path":"/","sameSite":"Lax","secure":false,"value":"334b292408be369dee3e00cd00c02814"},{"domain":"edith.xiaohongshu.com","expires":1765886302.122995,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a5085af17658845020951798e0db2aa6b1f683c091ed8d263bdc1b3b0c979"},{"domain":"customer.xiaohongshu.com","expires":1765886302.418581,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a0d0fba17658845023665490e85c24a0b09d80521793f3b775c036091618b"},{"domain":".xiaohongshu.com","expires":1766143702,"httpOnly":false,"name":"websectiga","path":"/","sameSite":"Lax","secure":false,"value":"10f9a40ba454a07755a08f27ef8194c53637eba4551cf9751c009g9afb564467"},{"domain":".xiaohongshu.com","expires":1765885107,"httpOnly":false,"name":"sec_poison_id","path":"/","sameSite":"Lax","secure":false,"value":"6da615cb-087a-4c5a-9bbb-a9d1e0fc9e8a"},{"domain":".xiaohongshu.com","expires":1800444522.755296,"httpOnly":false,"name":"gid","path":"/","sameSite":"Lax","secure":false,"value":"yjDJKdDJdJFSyjDJKdDyifDl2KWKIEAAKY9uYjyM6ydiuS28EIADYF888jyj4448ifjjW8W4"},{"domain":".xiaohongshu.com","expires":1766489317.637236,"httpOnly":true,"name":"customer-sso-sid","path":"/","sameSite":"Lax","secure":false,"value":"68c517584416253487808513dmgvocd9wjabgnkp"},{"domain":".xiaohongshu.com","expires":1800444518.637453,"httpOnly":true,"name":"x-user-id-creator.xiaohongshu.com","path":"/","sameSite":"Lax","secure":false,"value":"68bc3f6e0000000006025a91"},{"domain":".xiaohongshu.com","expires":1800444518.637597,"httpOnly":true,"name":"customerClientId","path":"/","sameSite":"Lax","secure":false,"value":"089912385389949"},{"domain":".xiaohongshu.com","expires":1768476517.637676,"httpOnly":true,"name":"access-token-creator.xiaohongshu.com","path":"/","sameSite":"Lax","secure":false,"value":"customer.creator.AT-68c517584416253487808514asy0vghqougmrdd3"},{"domain":".xiaohongshu.com","expires":1768476518.637759,"httpOnly":true,"name":"galaxy_creator_session_id","path":"/","sameSite":"Lax","secure":false,"value":"8tDSYD75SNh8bbJhJodtab8gPBMlEAbI1jD6"},{"domain":".xiaohongshu.com","expires":1768476518.637825,"httpOnly":true,"name":"galaxy.creator.beaker.session.id","path":"/","sameSite":"Lax","secure":false,"value":"1765884518568024980624"},{"domain":".xiaohongshu.com","expires":1797420519,"httpOnly":false,"name":"loadts","path":"/","sameSite":"Lax","secure":false,"value":"1765884519319"}]', 'xhs_phone': '17710390289', 'xhs_account': '小红书用户', 'is_bound_xhs': 1, 'bound_at': datetime.datetime(2025, 12, 16, 19, 28, 51), 'department': '测试部', 'role': 'admin', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 19, 7, 24), 'updated_at': datetime.datetime(2025, 12, 16, 19, 28, 51)}]
|
||
21:46:23 - article_server - INFO - 获取工作台概览成功
|
||
21:46:23 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:23 - article_server - INFO - 获取最近发布成功
|
||
21:46:23 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:23 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:23 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:23 - article_server - INFO - [获取用户信息] 查询成功, 用户: 15707023967, 角色: admin, 企业: 测试企业1号, IP: 36.27.52.26
|
||
21:46:23 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:23 - article_server - INFO - [SQL语句]
|
||
SELECT r.product_id, p.name as product_name,
|
||
COUNT(*) as publishes,
|
||
ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
GROUP BY r.product_id, p.name
|
||
ORDER BY publishes DESC
|
||
LIMIT %s
|
||
|
||
21:46:23 - article_server - INFO - [SQL参数] (1, 1, 4)
|
||
21:46:23 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:23 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(CURDATE())
|
||
AND MONTH(publish_time) = MONTH(CURDATE())
|
||
|
||
21:46:23 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:23 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:46:23 - article_server - INFO - [SQL数据] 查询结果: [{'product_id': 2, 'product_name': '保湿精华', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 4, 'product_name': '口红套装', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 5, 'product_name': '洗面奶', 'publishes': 1, 'percentage': Decimal('33')}]
|
||
21:46:23 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:46:23 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:46:23 - article_server - INFO - [SQL参数] (18, 'get_user_info', 'user', 18, '查询用户信息: 15707023967', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:46:23 - article_server - INFO - 获取热门产品成功
|
||
21:46:23 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:23 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 3}]
|
||
21:46:23 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 7
|
||
21:46:23 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 18 | 目标: user#18 | 状态: success | IP: 36.27.52.26 | 日志ID: 7
|
||
21:46:23 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:23 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:23 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as last_month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
|
||
21:46:23 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:23 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
|
||
21:46:23 - article_server - INFO - 获取工作台概览成功
|
||
21:46:23 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:25 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:25 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:25 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:25 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:25 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:25 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:46:25 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:25 - article_server - INFO - [获取用户信息] 用户ID: 18, IP: 36.27.52.26
|
||
21:46:25 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:25 - article_server - INFO - [Token验证成功] 用户ID: 18
|
||
21:46:25 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:25 - article_server - INFO - [SQL语句]
|
||
SELECT users_total, products_total, articles_total, published_total
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:46:25 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:25 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:25 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:25 - article_server - INFO - [SQL语句]
|
||
SELECT r.product_id, p.name as product_name,
|
||
COUNT(*) as publishes,
|
||
ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
GROUP BY r.product_id, p.name
|
||
ORDER BY publishes DESC
|
||
LIMIT %s
|
||
|
||
21:46:25 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:46:25 - article_server - INFO - [SQL参数] (1, 1, 4)
|
||
21:46:25 - article_server - INFO - [SQL参数] (18,)
|
||
21:46:25 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:25 - article_server - INFO - [SQL语句]
|
||
SELECT r.id, r.publish_time,
|
||
u.real_name as employee_name,
|
||
p.name as product_name,
|
||
'success' as status
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_users u ON r.created_user_id = u.id
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
ORDER BY r.publish_time DESC
|
||
LIMIT %s
|
||
|
||
21:46:25 - article_server - INFO - [SQL参数] (1, 5)
|
||
21:46:25 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:25 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0}]
|
||
21:46:25 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:25 - article_server - INFO - [SQL数据] 查询结果: [{'id': 18, 'enterprise_id': 1, 'enterprise_name': '测试企业1号', 'username': '15707023967', 'real_name': '测试员工API', 'email': None, 'phone': '15707023967', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': '[{"domain":"creator.xiaohongshu.com","expires":1765886300.80173,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a0d09d017658845007813469ec5670285b8340a360cc4c2201c75df086add"},{"domain":".xiaohongshu.com","expires":1797420519,"httpOnly":false,"name":"xsecappid","path":"/","sameSite":"Lax","secure":false,"value":"ugc"},{"domain":".xiaohongshu.com","expires":1797420501,"httpOnly":false,"name":"a1","path":"/","sameSite":"Lax","secure":false,"value":"19b26eb1f5676nwqq68tzsm1efzwnqb8rd8crbo9150000919444"},{"domain":".xiaohongshu.com","expires":1797420501,"httpOnly":false,"name":"webId","path":"/","sameSite":"Lax","secure":false,"value":"334b292408be369dee3e00cd00c02814"},{"domain":"edith.xiaohongshu.com","expires":1765886302.122995,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a5085af17658845020951798e0db2aa6b1f683c091ed8d263bdc1b3b0c979"},{"domain":"customer.xiaohongshu.com","expires":1765886302.418581,"httpOnly":true,"name":"acw_tc","path":"/","sameSite":"Lax","secure":false,"value":"0a0d0fba17658845023665490e85c24a0b09d80521793f3b775c036091618b"},{"domain":".xiaohongshu.com","expires":1766143702,"httpOnly":false,"name":"websectiga","path":"/","sameSite":"Lax","secure":false,"value":"10f9a40ba454a07755a08f27ef8194c53637eba4551cf9751c009g9afb564467"},{"domain":".xiaohongshu.com","expires":1765885107,"httpOnly":false,"name":"sec_poison_id","path":"/","sameSite":"Lax","secure":false,"value":"6da615cb-087a-4c5a-9bbb-a9d1e0fc9e8a"},{"domain":".xiaohongshu.com","expires":1800444522.755296,"httpOnly":false,"name":"gid","path":"/","sameSite":"Lax","secure":false,"value":"yjDJKdDJdJFSyjDJKdDyifDl2KWKIEAAKY9uYjyM6ydiuS28EIADYF888jyj4448ifjjW8W4"},{"domain":".xiaohongshu.com","expires":1766489317.637236,"httpOnly":true,"name":"customer-sso-sid","path":"/","sameSite":"Lax","secure":false,"value":"68c517584416253487808513dmgvocd9wjabgnkp"},{"domain":".xiaohongshu.com","expires":1800444518.637453,"httpOnly":true,"name":"x-user-id-creator.xiaohongshu.com","path":"/","sameSite":"Lax","secure":false,"value":"68bc3f6e0000000006025a91"},{"domain":".xiaohongshu.com","expires":1800444518.637597,"httpOnly":true,"name":"customerClientId","path":"/","sameSite":"Lax","secure":false,"value":"089912385389949"},{"domain":".xiaohongshu.com","expires":1768476517.637676,"httpOnly":true,"name":"access-token-creator.xiaohongshu.com","path":"/","sameSite":"Lax","secure":false,"value":"customer.creator.AT-68c517584416253487808514asy0vghqougmrdd3"},{"domain":".xiaohongshu.com","expires":1768476518.637759,"httpOnly":true,"name":"galaxy_creator_session_id","path":"/","sameSite":"Lax","secure":false,"value":"8tDSYD75SNh8bbJhJodtab8gPBMlEAbI1jD6"},{"domain":".xiaohongshu.com","expires":1768476518.637825,"httpOnly":true,"name":"galaxy.creator.beaker.session.id","path":"/","sameSite":"Lax","secure":false,"value":"1765884518568024980624"},{"domain":".xiaohongshu.com","expires":1797420519,"httpOnly":false,"name":"loadts","path":"/","sameSite":"Lax","secure":false,"value":"1765884519319"}]', 'xhs_phone': '17710390289', 'xhs_account': '小红书用户', 'is_bound_xhs': 1, 'bound_at': datetime.datetime(2025, 12, 16, 19, 28, 51), 'department': '测试部', 'role': 'admin', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 19, 7, 24), 'updated_at': datetime.datetime(2025, 12, 16, 19, 28, 51)}]
|
||
21:46:25 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:46:25 - article_server - INFO - [SQL数据] 查询结果: [{'product_id': 2, 'product_name': '保湿精华', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 4, 'product_name': '口红套装', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 5, 'product_name': '洗面奶', 'publishes': 1, 'percentage': Decimal('33')}]
|
||
21:46:25 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:46:25 - article_server - INFO - [SQL数据] 查询结果: [{'id': 7, 'publish_time': datetime.datetime(2025, 12, 16, 19, 32, 25), 'employee_name': '测试员工API', 'product_name': '洗面奶', 'status': 'success'}, {'id': 6, 'publish_time': datetime.datetime(2025, 12, 16, 11, 55, 56), 'employee_name': '测试员工API', 'product_name': '口红套装', 'status': 'success'}, {'id': 5, 'publish_time': datetime.datetime(2025, 12, 16, 10, 17, 8), 'employee_name': '测试员工API', 'product_name': '保湿精华', 'status': 'success'}]
|
||
21:46:25 - article_server - INFO - 获取最近发布成功
|
||
21:46:25 - article_server - INFO - [获取用户信息] 查询成功, 用户: 15707023967, 角色: admin, 企业: 测试企业1号, IP: 36.27.52.26
|
||
21:46:25 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:25 - article_server - INFO - 获取热门产品成功
|
||
21:46:25 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:25 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:25 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(CURDATE())
|
||
AND MONTH(publish_time) = MONTH(CURDATE())
|
||
|
||
21:46:25 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:25 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:46:25 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:46:25 - article_server - INFO - [SQL参数] (18, 'get_user_info', 'user', 18, '查询用户信息: 15707023967', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:46:25 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:25 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 3}]
|
||
21:46:25 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 8
|
||
21:46:25 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 18 | 目标: user#18 | 状态: success | IP: 36.27.52.26 | 日志ID: 8
|
||
21:46:25 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:25 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:25 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as last_month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
|
||
21:46:25 - article_server - INFO - [SQL参数] (1,)
|
||
21:46:25 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:46:25 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
|
||
21:46:25 - article_server - INFO - 获取工作台概览成功
|
||
21:46:25 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 36.27.52.26 - 状态码: 200
|
||
21:46:35 - article_server - INFO - [API访问] POST /api/auth/login - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:35 - article_server - INFO - [用户登录] 开始处理登录请求, IP: 36.27.52.26
|
||
21:46:35 - article_server - INFO - [用户登录] 收到登录请求, 账号: 13621242430, IP: 36.27.52.26
|
||
21:46:35 - article_server - INFO - [用户登录] 开始在ai_users表查询用户, 账号: 13621242430
|
||
21:46:36 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:36 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, phone, password,
|
||
real_name, role, status, is_bound_xhs, xhs_account
|
||
FROM ai_users
|
||
WHERE (phone = %s OR username = %s) AND status = 'active'
|
||
|
||
21:46:36 - article_server - INFO - [SQL参数] ('13621242430', '13621242430')
|
||
21:46:36 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
|
||
21:46:36 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'phone': '13621242430', 'password': '256dfd66db93b7ce0d1e260b01971dffaafa1dadca903ed16defc4fba24be83b', 'real_name': '饶文龙', 'role': 'enterprise', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': '小红书用户4'}, {'id': 10, 'enterprise_id': 10, 'enterprise_name': '测试企业10号', 'username': 'user010', 'phone': '13621242430', 'password': '256dfd66db93b7ce0d1e260b01971dffaafa1dadca903ed16defc4fba24be83b', 'real_name': '测试用户10', 'role': 'admin', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': '小红书用户'}]
|
||
21:46:36 - article_server - INFO - [用户登录] 查询到用户信息, 用户名: user004, 角色: enterprise, 企业: rwl企业4号, 企业ID: 1
|
||
21:46:36 - article_server - INFO - [用户登录] 开始验证密码, 账号: 13621242430
|
||
21:46:36 - article_server - WARNING - [用户登录失败] 密码错误: 13621242430, 用户名: user004, IP: 36.27.52.26
|
||
21:46:36 - article_server - INFO - [API响应] POST /api/auth/login - IP: 36.27.52.26 - 状态码: 401
|
||
21:46:36 - article_server - INFO - [API访问] POST /api/auth/employee/login - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:46:36 - article_server - INFO - [员工登录] 开始处理员工登录请求, IP: 36.27.52.26
|
||
21:46:36 - article_server - INFO - [员工登录] 收到登录请求, 手机号: 13621242430, IP: 36.27.52.26
|
||
21:46:36 - article_server - INFO - [员工登录] 开始查询员工信息, 手机号: 13621242430
|
||
21:46:36 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:46:36 - article_server - INFO - [SQL语句]
|
||
SELECT u.id, u.enterprise_id, u.real_name, u.phone, u.password, u.role, u.status,
|
||
u.is_bound_xhs, u.xhs_account,
|
||
e.name as enterprise_name
|
||
FROM ai_users u
|
||
LEFT JOIN ai_enterprises e ON u.enterprise_id = e.id
|
||
WHERE u.phone = %s
|
||
|
||
21:46:36 - article_server - INFO - [SQL参数] ('13621242430',)
|
||
21:46:36 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
|
||
21:46:36 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'real_name': '饶文龙', 'phone': '13621242430', 'password': '256dfd66db93b7ce0d1e260b01971dffaafa1dadca903ed16defc4fba24be83b', 'role': 'enterprise', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': '小红书用户4', 'enterprise_name': '乐航'}, {'id': 10, 'enterprise_id': 10, 'real_name': '测试用户10', 'phone': '13621242430', 'password': '256dfd66db93b7ce0d1e260b01971dffaafa1dadca903ed16defc4fba24be83b', 'role': 'admin', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': '小红书用户', 'enterprise_name': '测试企业10号'}]
|
||
21:46:36 - article_server - INFO - [员工登录] 查询到员工信息, 姓名: 饶文龙, 角色: enterprise, 企业: 乐航, 状态: active, 绑定小红书: 1
|
||
21:46:36 - article_server - INFO - [员工登录] 开始验证密码, 手机号: 13621242430, 姓名: 饶文龙
|
||
21:46:36 - article_server - WARNING - [员工登录失败] 密码错误: 13621242430, 姓名: 饶文龙, IP: 36.27.52.26
|
||
21:46:36 - article_server - INFO - [API响应] POST /api/auth/employee/login - IP: 36.27.52.26 - 状态码: 401
|
||
21:47:18 - article_server - INFO - [API访问] POST /api/auth/login - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:18 - article_server - INFO - [用户登录] 开始处理登录请求, IP: 36.27.52.26
|
||
21:47:18 - article_server - INFO - [用户登录] 收到登录请求, 账号: 13621242430, IP: 36.27.52.26
|
||
21:47:18 - article_server - INFO - [用户登录] 开始在ai_users表查询用户, 账号: 13621242430
|
||
21:47:18 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:18 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, phone, password,
|
||
real_name, role, status, is_bound_xhs, xhs_account
|
||
FROM ai_users
|
||
WHERE (phone = %s OR username = %s) AND status = 'active'
|
||
|
||
21:47:18 - article_server - INFO - [SQL参数] ('13621242430', '13621242430')
|
||
21:47:18 - article_server - INFO - [SQL结果] 查询完成,返回 2 条记录
|
||
21:47:18 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'phone': '13621242430', 'password': '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 'real_name': '饶文龙', 'role': 'enterprise', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': '小红书用户4'}, {'id': 10, 'enterprise_id': 10, 'enterprise_name': '测试企业10号', 'username': 'user010', 'phone': '13621242430', 'password': '256dfd66db93b7ce0d1e260b01971dffaafa1dadca903ed16defc4fba24be83b', 'real_name': '测试用户10', 'role': 'admin', 'status': 'active', 'is_bound_xhs': 1, 'xhs_account': '小红书用户'}]
|
||
21:47:18 - article_server - INFO - [用户登录] 查询到用户信息, 用户名: user004, 角色: enterprise, 企业: rwl企业4号, 企业ID: 1
|
||
21:47:18 - article_server - INFO - [用户登录] 开始验证密码, 账号: 13621242430
|
||
21:47:18 - article_server - INFO - [用户登录] 密码验证成功, 用户名: user004, 角色: enterprise
|
||
21:47:18 - article_server - INFO - [用户登录] 检测到企业角色, 开始获取企业详细信息, 企业ID: 1
|
||
21:47:18 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:18 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_ID, name, short_name, phone, email, status,
|
||
users_total, products_total, articles_total, published_total
|
||
FROM ai_enterprises
|
||
WHERE id = %s AND status = 'active'
|
||
|
||
21:47:18 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:18 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:18 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业1222', 'phone': '13800138001', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0}]
|
||
21:47:18 - article_server - INFO - [用户登录] 获取企业信息成功, 企业名称: 乐航, 企业编号: ENT-2024-0001
|
||
21:47:18 - article_server - INFO - [用户登录] 开始生成token, 用户ID: 4, 角色: enterprise
|
||
21:47:18 - article_server - INFO - [Token生成] 用户: 13621242430, ID: 4, 角色: enterprise
|
||
21:47:18 - article_server - INFO - [用户登录成功] Token生成成功, 用户: user004, 角色: enterprise, 企业: rwl企业4号, IP: 36.27.52.26
|
||
21:47:18 - article_server - INFO - [API响应] POST /api/auth/login - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:18 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:18 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:18 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:47:18 - article_server - INFO - [获取用户信息] 用户ID: 4, IP: 36.27.52.26
|
||
21:47:18 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:18 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:18 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:18 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:18 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:18 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:47:18 - article_server - INFO - [SQL参数] (4,)
|
||
21:47:19 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:19 - article_server - INFO - [SQL语句]
|
||
SELECT users_total, products_total, articles_total, published_total
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:47:19 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:19 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:19 - article_server - INFO - [SQL语句]
|
||
SELECT r.id, r.publish_time,
|
||
u.real_name as employee_name,
|
||
p.name as product_name,
|
||
'success' as status
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_users u ON r.created_user_id = u.id
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
ORDER BY r.publish_time DESC
|
||
LIMIT %s
|
||
|
||
21:47:19 - article_server - INFO - [SQL参数] (1, 5)
|
||
21:47:19 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:19 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': None, 'phone': '13621242430', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': None, 'xhs_phone': '', 'xhs_account': '小红书用户4', 'is_bound_xhs': 1, 'bound_at': None, 'department': '技术部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 16, 13, 47, 4)}]
|
||
21:47:19 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:19 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0}]
|
||
21:47:19 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:47:19 - article_server - INFO - [SQL数据] 查询结果: [{'id': 7, 'publish_time': datetime.datetime(2025, 12, 16, 19, 32, 25), 'employee_name': '测试员工API', 'product_name': '洗面奶', 'status': 'success'}, {'id': 6, 'publish_time': datetime.datetime(2025, 12, 16, 11, 55, 56), 'employee_name': '测试员工API', 'product_name': '口红套装', 'status': 'success'}, {'id': 5, 'publish_time': datetime.datetime(2025, 12, 16, 10, 17, 8), 'employee_name': '测试员工API', 'product_name': '保湿精华', 'status': 'success'}]
|
||
21:47:19 - article_server - INFO - [获取用户信息] 查询成功, 用户: user004, 角色: enterprise, 企业: rwl企业4号, IP: 36.27.52.26
|
||
21:47:19 - article_server - INFO - 获取最近发布成功
|
||
21:47:19 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:19 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:19 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(CURDATE())
|
||
AND MONTH(publish_time) = MONTH(CURDATE())
|
||
|
||
21:47:19 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:19 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:19 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:47:19 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:19 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:47:19 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:47:19 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:19 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 3}]
|
||
21:47:19 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:19 - article_server - INFO - [SQL语句]
|
||
SELECT r.product_id, p.name as product_name,
|
||
COUNT(*) as publishes,
|
||
ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
GROUP BY r.product_id, p.name
|
||
ORDER BY publishes DESC
|
||
LIMIT %s
|
||
|
||
21:47:19 - article_server - INFO - [SQL参数] (1, 1, 4)
|
||
21:47:19 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 9
|
||
21:47:19 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:47:19 - article_server - INFO - [SQL数据] 查询结果: [{'product_id': 2, 'product_name': '保湿精华', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 4, 'product_name': '口红套装', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 5, 'product_name': '洗面奶', 'publishes': 1, 'percentage': Decimal('33')}]
|
||
21:47:19 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 36.27.52.26 | 日志ID: 9
|
||
21:47:19 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:19 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:19 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as last_month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
|
||
21:47:19 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:19 - article_server - INFO - 获取热门产品成功
|
||
21:47:19 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:19 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:19 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
|
||
21:47:19 - article_server - INFO - 获取工作台概览成功
|
||
21:47:19 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:20 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:20 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:20 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:20 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:20 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:20 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:20 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:20 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:20 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:47:20 - article_server - INFO - [获取用户信息] 用户ID: 4, IP: 36.27.52.26
|
||
21:47:20 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:20 - article_server - INFO - [SQL语句]
|
||
SELECT r.id, r.publish_time,
|
||
u.real_name as employee_name,
|
||
p.name as product_name,
|
||
'success' as status
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_users u ON r.created_user_id = u.id
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
ORDER BY r.publish_time DESC
|
||
LIMIT %s
|
||
|
||
21:47:20 - article_server - INFO - [SQL参数] (1, 5)
|
||
21:47:20 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:20 - article_server - INFO - [SQL语句]
|
||
SELECT users_total, products_total, articles_total, published_total
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:47:20 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:20 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:20 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:47:20 - article_server - INFO - [SQL参数] (4,)
|
||
21:47:20 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:20 - article_server - INFO - [SQL语句]
|
||
SELECT r.product_id, p.name as product_name,
|
||
COUNT(*) as publishes,
|
||
ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
GROUP BY r.product_id, p.name
|
||
ORDER BY publishes DESC
|
||
LIMIT %s
|
||
|
||
21:47:20 - article_server - INFO - [SQL参数] (1, 1, 4)
|
||
21:47:20 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:47:20 - article_server - INFO - [SQL数据] 查询结果: [{'id': 7, 'publish_time': datetime.datetime(2025, 12, 16, 19, 32, 25), 'employee_name': '测试员工API', 'product_name': '洗面奶', 'status': 'success'}, {'id': 6, 'publish_time': datetime.datetime(2025, 12, 16, 11, 55, 56), 'employee_name': '测试员工API', 'product_name': '口红套装', 'status': 'success'}, {'id': 5, 'publish_time': datetime.datetime(2025, 12, 16, 10, 17, 8), 'employee_name': '测试员工API', 'product_name': '保湿精华', 'status': 'success'}]
|
||
21:47:20 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:20 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': None, 'phone': '13621242430', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': None, 'xhs_phone': '', 'xhs_account': '小红书用户4', 'is_bound_xhs': 1, 'bound_at': None, 'department': '技术部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 16, 13, 47, 4)}]
|
||
21:47:20 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:20 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0}]
|
||
21:47:20 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:47:20 - article_server - INFO - [SQL数据] 查询结果: [{'product_id': 2, 'product_name': '保湿精华', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 4, 'product_name': '口红套装', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 5, 'product_name': '洗面奶', 'publishes': 1, 'percentage': Decimal('33')}]
|
||
21:47:20 - article_server - INFO - [获取用户信息] 查询成功, 用户: user004, 角色: enterprise, 企业: rwl企业4号, IP: 36.27.52.26
|
||
21:47:20 - article_server - INFO - 获取最近发布成功
|
||
21:47:20 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:21 - article_server - INFO - 获取热门产品成功
|
||
21:47:21 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(CURDATE())
|
||
AND MONTH(publish_time) = MONTH(CURDATE())
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:21 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 10
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 3}]
|
||
21:47:21 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 36.27.52.26 | 日志ID: 10
|
||
21:47:21 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as last_month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
|
||
21:47:21 - article_server - INFO - 获取工作台概览成功
|
||
21:47:21 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:21 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:21 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:21 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:21 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:21 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:47:21 - article_server - INFO - [获取用户信息] 用户ID: 4, IP: 36.27.52.26
|
||
21:47:21 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:21 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:21 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:21 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (4,)
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT users_total, products_total, articles_total, published_total
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT r.product_id, p.name as product_name,
|
||
COUNT(*) as publishes,
|
||
ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
GROUP BY r.product_id, p.name
|
||
ORDER BY publishes DESC
|
||
LIMIT %s
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (1, 1, 4)
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT r.id, r.publish_time,
|
||
u.real_name as employee_name,
|
||
p.name as product_name,
|
||
'success' as status
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_users u ON r.created_user_id = u.id
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
ORDER BY r.publish_time DESC
|
||
LIMIT %s
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (1, 5)
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': None, 'phone': '13621242430', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': None, 'xhs_phone': '', 'xhs_account': '小红书用户4', 'is_bound_xhs': 1, 'bound_at': None, 'department': '技术部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 16, 13, 47, 4)}]
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0}]
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'product_id': 2, 'product_name': '保湿精华', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 4, 'product_name': '口红套装', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 5, 'product_name': '洗面奶', 'publishes': 1, 'percentage': Decimal('33')}]
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'id': 7, 'publish_time': datetime.datetime(2025, 12, 16, 19, 32, 25), 'employee_name': '测试员工API', 'product_name': '洗面奶', 'status': 'success'}, {'id': 6, 'publish_time': datetime.datetime(2025, 12, 16, 11, 55, 56), 'employee_name': '测试员工API', 'product_name': '口红套装', 'status': 'success'}, {'id': 5, 'publish_time': datetime.datetime(2025, 12, 16, 10, 17, 8), 'employee_name': '测试员工API', 'product_name': '保湿精华', 'status': 'success'}]
|
||
21:47:21 - article_server - INFO - [获取用户信息] 查询成功, 用户: user004, 角色: enterprise, 企业: rwl企业4号, IP: 36.27.52.26
|
||
21:47:21 - article_server - INFO - 获取热门产品成功
|
||
21:47:21 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:47:21 - article_server - INFO - 获取最近发布成功
|
||
21:47:21 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(CURDATE())
|
||
AND MONTH(publish_time) = MONTH(CURDATE())
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:21 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 11
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 3}]
|
||
21:47:21 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 36.27.52.26 | 日志ID: 11
|
||
21:47:21 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as last_month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:21 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:21 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:21 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:21 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:21 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:47:21 - article_server - INFO - [获取用户信息] 用户ID: 4, IP: 36.27.52.26
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT users_total, products_total, articles_total, published_total
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (4,)
|
||
21:47:21 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:21 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:21 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:21 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0}]
|
||
21:47:21 - article_server - INFO - 获取工作台概览成功
|
||
21:47:21 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': None, 'phone': '13621242430', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': None, 'xhs_phone': '', 'xhs_account': '小红书用户4', 'is_bound_xhs': 1, 'bound_at': None, 'department': '技术部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 16, 13, 47, 4)}]
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT r.id, r.publish_time,
|
||
u.real_name as employee_name,
|
||
p.name as product_name,
|
||
'success' as status
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_users u ON r.created_user_id = u.id
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
ORDER BY r.publish_time DESC
|
||
LIMIT %s
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (1, 5)
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT r.product_id, p.name as product_name,
|
||
COUNT(*) as publishes,
|
||
ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
GROUP BY r.product_id, p.name
|
||
ORDER BY publishes DESC
|
||
LIMIT %s
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (1, 1, 4)
|
||
21:47:21 - article_server - INFO - [获取用户信息] 查询成功, 用户: user004, 角色: enterprise, 企业: rwl企业4号, IP: 36.27.52.26
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'id': 7, 'publish_time': datetime.datetime(2025, 12, 16, 19, 32, 25), 'employee_name': '测试员工API', 'product_name': '洗面奶', 'status': 'success'}, {'id': 6, 'publish_time': datetime.datetime(2025, 12, 16, 11, 55, 56), 'employee_name': '测试员工API', 'product_name': '口红套装', 'status': 'success'}, {'id': 5, 'publish_time': datetime.datetime(2025, 12, 16, 10, 17, 8), 'employee_name': '测试员工API', 'product_name': '保湿精华', 'status': 'success'}]
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(CURDATE())
|
||
AND MONTH(publish_time) = MONTH(CURDATE())
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'product_id': 2, 'product_name': '保湿精华', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 4, 'product_name': '口红套装', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 5, 'product_name': '洗面奶', 'publishes': 1, 'percentage': Decimal('33')}]
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:47:21 - article_server - INFO - 获取最近发布成功
|
||
21:47:21 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 3}]
|
||
21:47:21 - article_server - INFO - 获取热门产品成功
|
||
21:47:21 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:21 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 12
|
||
21:47:21 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 36.27.52.26 | 日志ID: 12
|
||
21:47:21 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as last_month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:21 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:21 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:21 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:21 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:21 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:21 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT users_total, products_total, articles_total, published_total
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT r.product_id, p.name as product_name,
|
||
COUNT(*) as publishes,
|
||
ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
GROUP BY r.product_id, p.name
|
||
ORDER BY publishes DESC
|
||
LIMIT %s
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (1, 1, 4)
|
||
21:47:21 - article_server - INFO - 获取工作台概览成功
|
||
21:47:21 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT r.id, r.publish_time,
|
||
u.real_name as employee_name,
|
||
p.name as product_name,
|
||
'success' as status
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_users u ON r.created_user_id = u.id
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
ORDER BY r.publish_time DESC
|
||
LIMIT %s
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (1, 5)
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0}]
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'product_id': 2, 'product_name': '保湿精华', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 4, 'product_name': '口红套装', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 5, 'product_name': '洗面奶', 'publishes': 1, 'percentage': Decimal('33')}]
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'id': 7, 'publish_time': datetime.datetime(2025, 12, 16, 19, 32, 25), 'employee_name': '测试员工API', 'product_name': '洗面奶', 'status': 'success'}, {'id': 6, 'publish_time': datetime.datetime(2025, 12, 16, 11, 55, 56), 'employee_name': '测试员工API', 'product_name': '口红套装', 'status': 'success'}, {'id': 5, 'publish_time': datetime.datetime(2025, 12, 16, 10, 17, 8), 'employee_name': '测试员工API', 'product_name': '保湿精华', 'status': 'success'}]
|
||
21:47:21 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:21 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:21 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:47:21 - article_server - INFO - [获取用户信息] 用户ID: 4, IP: 36.27.52.26
|
||
21:47:21 - article_server - INFO - 获取热门产品成功
|
||
21:47:21 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:21 - article_server - INFO - 获取最近发布成功
|
||
21:47:21 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (4,)
|
||
21:47:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:21 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(CURDATE())
|
||
AND MONTH(publish_time) = MONTH(CURDATE())
|
||
|
||
21:47:21 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': None, 'phone': '13621242430', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': None, 'xhs_phone': '', 'xhs_account': '小红书用户4', 'is_bound_xhs': 1, 'bound_at': None, 'department': '技术部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 16, 13, 47, 4)}]
|
||
21:47:21 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:21 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 3}]
|
||
21:47:22 - article_server - INFO - [获取用户信息] 查询成功, 用户: user004, 角色: enterprise, 企业: rwl企业4号, IP: 36.27.52.26
|
||
21:47:22 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:22 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as last_month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
|
||
21:47:22 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:22 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:47:22 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:47:22 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:47:22 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:22 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
|
||
21:47:22 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 13
|
||
21:47:22 - article_server - INFO - 获取工作台概览成功
|
||
21:47:22 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:22 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 36.27.52.26 | 日志ID: 13
|
||
21:47:22 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:23 - article_server - INFO - [API访问] GET /api/enterprises/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:23 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:23 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 36.27.52.26
|
||
21:47:23 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=100, keyword=, status=, IP: 36.27.52.26
|
||
21:47:23 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:23 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1
|
||
21:47:23 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:23 - article_server - INFO - [SQL数据] 查询结果: [{'total': 11}]
|
||
21:47:23 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:23 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_ID, name, short_name, phone, email, status,
|
||
users_total, products_total, articles_total, published_total,
|
||
created_at, updated_at
|
||
FROM ai_enterprises
|
||
WHERE 1=1
|
||
ORDER BY created_at DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:47:23 - article_server - INFO - [SQL参数] [100, 0]
|
||
21:47:23 - article_server - INFO - [SQL结果] 查询完成,返回 11 条记录
|
||
21:47:23 - article_server - INFO - [获取企业列表] 查询成功, 总数: 11, 当前页: 1, 每页: 100, 返回数量: 11, IP: 36.27.52.26
|
||
21:47:23 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:28 - article_server - INFO - [API访问] GET /api/enterprises/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:28 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:28 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:28 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_ID, name, short_name, phone, email, status,
|
||
users_total, products_total, articles_total, published_total,
|
||
created_at, updated_at
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:47:28 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:28 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:28 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业1222', 'phone': '13800138001', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 13, 9, 39, 53)}]
|
||
21:47:28 - article_server - INFO - 获取企业信息成功: ID 1
|
||
21:47:28 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:28 - article_server - INFO - [API访问] GET /api/employees/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:28 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:28 - article_server - INFO - [API访问] GET /api/employees/stats - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:28 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:28 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:28 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_users WHERE enterprise_id = %s AND status != 'deleted'
|
||
21:47:28 - article_server - INFO - [SQL参数] [1]
|
||
21:47:28 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:28 - article_server - INFO - [SQL语句]
|
||
SELECT
|
||
COUNT(*) as total_count,
|
||
SUM(CASE WHEN status = 'active' THEN 1 ELSE 0 END) as active_count,
|
||
SUM(CASE WHEN is_bound_xhs = 1 THEN 1 ELSE 0 END) as bound_xhs_count
|
||
FROM ai_users
|
||
WHERE enterprise_id = %s AND status != 'deleted'
|
||
|
||
21:47:28 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:28 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:28 - article_server - INFO - [SQL数据] 查询结果: [{'total': 5}]
|
||
21:47:28 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:28 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 5, 'active_count': Decimal('5'), 'bound_xhs_count': Decimal('4')}]
|
||
21:47:28 - article_server - INFO - 获取员工统计成功
|
||
21:47:28 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:29 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:29 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, real_name as name, username, phone, role, department,
|
||
is_bound_xhs, xhs_account, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE enterprise_id = %s AND status != 'deleted'
|
||
ORDER BY created_at DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:47:29 - article_server - INFO - [SQL参数] [1, 20, 0]
|
||
21:47:29 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录
|
||
21:47:29 - article_server - INFO - 获取员工列表成功,总数: 5
|
||
21:47:29 - article_server - INFO - [API响应] GET /api/employees/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:29 - article_server - INFO - [API访问] GET /api/products/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:29 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:29 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 36.27.52.26
|
||
21:47:29 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 4, 企业ID: 1, IP: 36.27.52.26
|
||
21:47:29 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=20, keyword=, type=, status=, 企业ID: 1, IP: 36.27.52.26
|
||
21:47:29 - article_server - INFO - [API访问] GET /api/products/types/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:29 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:29 - article_server - INFO - [获取企业产品类型列表] 开始处理请求, IP: 36.27.52.26
|
||
21:47:29 - article_server - INFO - [获取企业产品类型列表] 企业ID: 1, IP: 36.27.52.26
|
||
21:47:29 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:29 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted'
|
||
21:47:29 - article_server - INFO - [SQL参数] [1]
|
||
21:47:29 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:29 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_product_types WHERE enterprise_id = %s
|
||
21:47:29 - article_server - INFO - [SQL参数] [1]
|
||
21:47:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:29 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}]
|
||
21:47:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:29 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}]
|
||
21:47:29 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:29 - article_server - INFO - [SQL语句]
|
||
SELECT p.id, p.name, p.type_name, p.knowledge, p.status,
|
||
p.articles_total, p.published_total,
|
||
p.image_url, p.image_thumbnail_url,
|
||
p.created_at, p.updated_at
|
||
FROM ai_products p
|
||
WHERE enterprise_id = %s AND status != 'deleted'
|
||
ORDER BY p.created_at DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:47:29 - article_server - INFO - [SQL参数] [1, 20, 0]
|
||
21:47:29 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:29 - article_server - INFO - [SQL语句]
|
||
SELECT id, type_name, enterprise_id, product_id, created_at
|
||
FROM ai_product_types
|
||
WHERE enterprise_id = %s
|
||
ORDER BY created_at DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:47:29 - article_server - INFO - [SQL参数] [1, 100, 0]
|
||
21:47:29 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录
|
||
21:47:29 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:29 - article_server - INFO - [获取企业产品类型列表] 查询成功, 企业ID: 1, 总数: 0, 返回: 0, IP: 36.27.52.26
|
||
21:47:29 - article_server - INFO - [API响应] GET /api/products/types/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:29 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:29 - article_server - INFO - [SQL语句]
|
||
SELECT id, tag_name
|
||
FROM ai_product_tags
|
||
WHERE product_id = %s
|
||
|
||
21:47:29 - article_server - INFO - [SQL参数] (13,)
|
||
21:47:29 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:29 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:29 - article_server - INFO - [SQL语句]
|
||
SELECT id, tag_name
|
||
FROM ai_product_tags
|
||
WHERE product_id = %s
|
||
|
||
21:47:29 - article_server - INFO - [SQL参数] (12,)
|
||
21:47:29 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:29 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:29 - article_server - INFO - [SQL语句]
|
||
SELECT id, tag_name
|
||
FROM ai_product_tags
|
||
WHERE product_id = %s
|
||
|
||
21:47:29 - article_server - INFO - [SQL参数] (11,)
|
||
21:47:29 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:29 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:29 - article_server - INFO - [SQL语句]
|
||
SELECT id, tag_name
|
||
FROM ai_product_tags
|
||
WHERE product_id = %s
|
||
|
||
21:47:29 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:29 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}]
|
||
21:47:29 - article_server - INFO - [API访问] GET /api/images/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:29 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:29 - article_server - INFO - [获取产品列表] 查询成功, 总数: 4, 当前页: 1, 每页: 20, 返回数量: 4, 企业ID: 1, IP: 36.27.52.26
|
||
21:47:29 - article_server - INFO - [API响应] GET /api/products/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:29 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:29 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as total
|
||
FROM ai_images
|
||
WHERE enterprise_id = %s AND status = %s
|
||
|
||
21:47:29 - article_server - INFO - [SQL参数] [1, 'active']
|
||
21:47:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:29 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}]
|
||
21:47:29 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:29 - article_server - INFO - [SQL语句]
|
||
SELECT id, product_id, product_name, image_name, image_url, image_thumb_url, thumbnail_url,
|
||
image_type_id, image_type_name, department, keywords,
|
||
size_type, file_size, width, height, status,
|
||
created_at, updated_at
|
||
FROM ai_images
|
||
WHERE enterprise_id = %s AND status = %s
|
||
ORDER BY created_at DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:47:29 - article_server - INFO - [SQL参数] [1, 'active', 100, 0]
|
||
21:47:29 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:30 - article_server - INFO - 获取图片列表成功,总数: 0
|
||
21:47:30 - article_server - INFO - [API响应] GET /api/images/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:31 - article_server - INFO - [API访问] GET /api/prompts/tags/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:31 - article_server - INFO - [API访问] GET /api/prompts/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:31 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:31 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_tags WHERE enterprise_id = %s
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL参数] [1]
|
||
21:47:31 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s
|
||
21:47:31 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:31 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}]
|
||
21:47:31 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}]
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47: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
|
||
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL参数] [1, 100, 0]
|
||
21:47: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
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (1, 20, 0)
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 8 条记录
|
||
21:47:31 - article_server - INFO - 获取标签列表成功,总数: 0
|
||
21:47:31 - article_server - INFO - [API响应] GET /api/prompts/tags/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47: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
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (25,)
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:31 - article_server - INFO - [SQL数据] 查询结果: [{'id': 13, 'tag_name': 'gggggggggggg'}]
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47: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
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (16,)
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:31 - article_server - INFO - [API访问] GET /api/articles/list_dashboard - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:31 - article_server - INFO - [API访问] GET /api/articles/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:31 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:31 - article_server - INFO - [文章仪表盘] 开始处理请求, IP: 36.27.52.26
|
||
21:47:31 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:31 - article_server - INFO - [获取文章列表] 开始处理请求, IP: 36.27.52.26
|
||
21:47:31 - article_server - INFO - [获取文章列表] 用户信息 - 用户ID: 4, 企业ID: 1, IP: 36.27.52.26
|
||
21:47:31 - article_server - INFO - [获取文章列表] 查询参数: page=1, pageSize=20, keyword=, product_id=, status=, 企业ID: 1, IP: 36.27.52.26
|
||
21:47:31 - article_server - INFO - [API访问] GET /api/products/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:31 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:31 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 36.27.52.26
|
||
21:47:31 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 4, 企业ID: 1, IP: 36.27.52.26
|
||
21:47:31 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=100, keyword=, type=, status=, 企业ID: 1, IP: 36.27.52.26
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47: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
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (15,)
|
||
21:47:31 - article_server - INFO - [API访问] GET /api/prompts/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:31 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted'
|
||
21:47:31 - article_server - INFO - [SQL参数] [1]
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as total
|
||
FROM ai_articles a
|
||
WHERE a.enterprise_id = %s
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] [1]
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(id) as total
|
||
FROM ai_articles
|
||
WHERE enterprise_id = %s
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_prompt_workflow WHERE enterprise_id = %s
|
||
21:47:31 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:31 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}]
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:31 - article_server - INFO - [SQL数据] 查询结果: [{'total': 12}]
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:31 - article_server - INFO - [SQL数据] 查询结果: [{'total': 12}]
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:31 - article_server - INFO - [SQL数据] 查询结果: [{'total': 8}]
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句]
|
||
SELECT p.id, p.name, p.type_name, p.knowledge, p.status,
|
||
p.articles_total, p.published_total,
|
||
p.image_url, p.image_thumbnail_url,
|
||
p.created_at, p.updated_at
|
||
FROM ai_products p
|
||
WHERE enterprise_id = %s AND status != 'deleted'
|
||
ORDER BY p.created_at DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL参数] [1, 100, 0]
|
||
21:47: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
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (14,)
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - 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.enterprise_id = %s
|
||
ORDER BY a.created_at DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] [1, 20, 0]
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47: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
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (1, 100, 0)
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(id) as total
|
||
FROM ai_articles
|
||
WHERE enterprise_id = %s AND status = 'published_review'
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 12 条记录
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 8 条记录
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:31 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}]
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句]
|
||
SELECT id, tag_name
|
||
FROM ai_product_tags
|
||
WHERE product_id = %s
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (13,)
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47: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
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (13,)
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句]
|
||
SELECT id, image_id, image_url, image_thumb_url, image_tag_id,
|
||
sort_order, keywords_id, keywords_name, department_id,
|
||
department_name, image_source, created_at
|
||
FROM ai_article_images
|
||
WHERE article_id = %s
|
||
ORDER BY sort_order ASC, created_at ASC
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (31,)
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47: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
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (25,)
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(id) as total
|
||
FROM ai_articles
|
||
WHERE enterprise_id = %s AND status = 'published'
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:31 - article_server - INFO - [SQL数据] 查询结果: [{'id': 13, 'tag_name': 'gggggggggggg'}]
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句]
|
||
SELECT id, tag_name
|
||
FROM ai_product_tags
|
||
WHERE product_id = %s
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (12,)
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:31 - article_server - INFO - [SQL数据] 查询结果: [{'total': 0}]
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:31 - article_server - INFO - [文章仪表盘] 查询成功, 企业ID: 1, 总数: 12, 可发: 0, 已发: 0, IP: 36.27.52.26
|
||
21:47:31 - article_server - INFO - [API响应] GET /api/articles/list_dashboard - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句]
|
||
SELECT id, coze_tag, created_at
|
||
FROM ai_article_tags
|
||
WHERE article_id = %s
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (31,)
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47: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
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (12,)
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47: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
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (16,)
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句]
|
||
SELECT id, tag_name
|
||
FROM ai_product_tags
|
||
WHERE product_id = %s
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (11,)
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句]
|
||
SELECT id, image_id, image_url, image_thumb_url, image_tag_id,
|
||
sort_order, keywords_id, keywords_name, department_id,
|
||
department_name, image_source, created_at
|
||
FROM ai_article_images
|
||
WHERE article_id = %s
|
||
ORDER BY sort_order ASC, created_at ASC
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (30,)
|
||
21:47:31 - article_server - INFO - [API访问] GET /api/statistics/records - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:31 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47: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
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (15,)
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47: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
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (11,)
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句]
|
||
SELECT id, tag_name
|
||
FROM ai_product_tags
|
||
WHERE product_id = %s
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as total
|
||
FROM ai_article_published_records r
|
||
WHERE r.enterprise_id = %s
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] [1]
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:31 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}]
|
||
21:47:31 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:31 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}]
|
||
21:47:31 - article_server - INFO - [API访问] GET /api/statistics/overview - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:31 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:31 - article_server - INFO - [获取产品列表] 查询成功, 总数: 4, 当前页: 1, 每页: 100, 返回数量: 4, 企业ID: 1, IP: 36.27.52.26
|
||
21:47:31 - article_server - INFO - [API响应] GET /api/products/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句]
|
||
SELECT id, coze_tag, created_at
|
||
FROM ai_article_tags
|
||
WHERE article_id = %s
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (30,)
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47: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
|
||
|
||
21:47:31 - article_server - INFO - [SQL参数] (14,)
|
||
21:47:31 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:31 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_article_published_records WHERE enterprise_id = %s
|
||
21:47:31 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT t.id, t.tag_name
|
||
FROM ai_prompt_tags t
|
||
INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id
|
||
WHERE r.prompt_workflow_id = %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [API访问] GET /api/employees/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:32 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT r.id, r.publish_time, r.created_user_id, r.product_id, r.article_id,
|
||
r.publish_link, r.topic,
|
||
u.real_name as employee_name,
|
||
p.name as product_name,
|
||
a.title
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_users u ON r.created_user_id = u.id
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
LEFT JOIN ai_articles a ON r.article_id = a.id
|
||
WHERE r.enterprise_id = %s
|
||
ORDER BY r.publish_time DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] [1, 100, 0]
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:32 - article_server - INFO - [SQL数据] 查询结果: [{'total': 3}]
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_users WHERE enterprise_id = %s AND status != 'deleted'
|
||
21:47:32 - article_server - INFO - [SQL参数] [1]
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:47:32 - article_server - INFO - [SQL数据] 查询结果: [{'id': 7, 'publish_time': datetime.datetime(2025, 12, 16, 19, 32, 25), 'created_user_id': 18, 'product_id': 5, 'article_id': 5, 'publish_link': '', 'topic': '深层清洁', 'employee_name': '测试员工API', 'product_name': '洗面奶', 'title': '🧼洗面奶|深层清洁必备好物分享!'}, {'id': 6, 'publish_time': datetime.datetime(2025, 12, 16, 11, 55, 56), 'created_user_id': 18, 'product_id': 4, 'article_id': 4, 'publish_link': '', 'topic': '日常保养', 'employee_name': '测试员工API', 'product_name': '口红套装', 'title': '💄口红套装|日常保养必备好物分享!'}, {'id': 5, 'publish_time': datetime.datetime(2025, 12, 16, 10, 17, 8), 'created_user_id': 18, 'product_id': 2, 'article_id': 2, 'publish_link': '', 'topic': '夏日防晒', 'employee_name': '测试员工API', 'product_name': '保湿精华', 'title': '☀️保湿精华|夏日防晒必备好物分享!'}]
|
||
21:47:32 - article_server - INFO - 获取提示词列表成功,总数: 8
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, image_id, image_url, image_thumb_url, image_tag_id,
|
||
sort_order, keywords_id, keywords_name, department_id,
|
||
department_name, image_source, created_at
|
||
FROM ai_article_images
|
||
WHERE article_id = %s
|
||
ORDER BY sort_order ASC, created_at ASC
|
||
|
||
21:47:32 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:32 - article_server - INFO - [SQL参数] (28,)
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:32 - article_server - INFO - [SQL数据] 查询结果: [{'total': 5}]
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT t.id, t.tag_name
|
||
FROM ai_prompt_tags t
|
||
INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id
|
||
WHERE r.prompt_workflow_id = %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (13,)
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as today_count
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s AND DATE(publish_time) = CURDATE()
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:32 - article_server - INFO - 获取发布记录列表成功,总数: 3
|
||
21:47:32 - article_server - INFO - [API响应] GET /api/statistics/records - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [API访问] GET /api/products/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:32 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:32 - article_server - INFO - [获取产品列表] 开始处理请求, IP: 36.27.52.26
|
||
21:47:32 - article_server - INFO - [获取产品列表] 用户信息 - 用户ID: 4, 企业ID: 1, IP: 36.27.52.26
|
||
21:47:32 - article_server - INFO - [获取产品列表] 查询参数: page=1, pageSize=100, keyword=, type=, status=, 企业ID: 1, IP: 36.27.52.26
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, real_name as name, username, phone, role, department,
|
||
is_bound_xhs, xhs_account, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE enterprise_id = %s AND status != 'deleted'
|
||
ORDER BY created_at DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] [1, 100, 0]
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:32 - article_server - INFO - [SQL数据] 查询结果: [{'today_count': 3}]
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_products WHERE enterprise_id = %s AND status != 'deleted'
|
||
21:47:32 - article_server - INFO - [SQL参数] [1]
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, coze_tag, created_at
|
||
FROM ai_article_tags
|
||
WHERE article_id = %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (28,)
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT t.id, t.tag_name
|
||
FROM ai_prompt_tags t
|
||
INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id
|
||
WHERE r.prompt_workflow_id = %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (12,)
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:32 - article_server - INFO - [SQL数据] 查询结果: [{'total': 4}]
|
||
21:47:32 - article_server - INFO - 获取员工列表成功,总数: 5
|
||
21:47:32 - article_server - INFO - [API响应] GET /api/employees/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as week_count
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s AND YEARWEEK(publish_time, 1) = YEARWEEK(CURDATE(), 1)
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:32 - article_server - INFO - [SQL数据] 查询结果: [{'week_count': 3}]
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT p.id, p.name, p.type_name, p.knowledge, p.status,
|
||
p.articles_total, p.published_total,
|
||
p.image_url, p.image_thumbnail_url,
|
||
p.created_at, p.updated_at
|
||
FROM ai_products p
|
||
WHERE enterprise_id = %s AND status != 'deleted'
|
||
ORDER BY p.created_at DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] [1, 100, 0]
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, image_id, image_url, image_thumb_url, image_tag_id,
|
||
sort_order, keywords_id, keywords_name, department_id,
|
||
department_name, image_source, created_at
|
||
FROM ai_article_images
|
||
WHERE article_id = %s
|
||
ORDER BY sort_order ASC, created_at ASC
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (26,)
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT t.id, t.tag_name
|
||
FROM ai_prompt_tags t
|
||
INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id
|
||
WHERE r.prompt_workflow_id = %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (11,)
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 4 条记录
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as month_count
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s AND YEAR(publish_time) = YEAR(CURDATE())
|
||
AND MONTH(publish_time) = MONTH(CURDATE())
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:32 - article_server - INFO - [SQL数据] 查询结果: [{'month_count': 3}]
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, coze_tag, created_at
|
||
FROM ai_article_tags
|
||
WHERE article_id = %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (26,)
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, tag_name
|
||
FROM ai_product_tags
|
||
WHERE product_id = %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (13,)
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT t.id, t.tag_name
|
||
FROM ai_prompt_tags t
|
||
INNER JOIN ai_prompt_tags_relation r ON t.id = r.tag_id
|
||
WHERE r.prompt_workflow_id = %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(DISTINCT created_user_id) as employee_count
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:32 - article_server - INFO - 获取提示词列表成功,总数: 8
|
||
21:47:32 - article_server - INFO - [API响应] GET /api/prompts/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:32 - article_server - INFO - [SQL数据] 查询结果: [{'employee_count': 1}]
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, image_id, image_url, image_thumb_url, image_tag_id,
|
||
sort_order, keywords_id, keywords_name, department_id,
|
||
department_name, image_source, created_at
|
||
FROM ai_article_images
|
||
WHERE article_id = %s
|
||
ORDER BY sort_order ASC, created_at ASC
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (24,)
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, tag_name
|
||
FROM ai_product_tags
|
||
WHERE product_id = %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (12,)
|
||
21:47:32 - article_server - INFO - 获取统计概览成功
|
||
21:47:32 - article_server - INFO - [API响应] GET /api/statistics/overview - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [API访问] GET /api/statistics/by-product - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:32 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, coze_tag, created_at
|
||
FROM ai_article_tags
|
||
WHERE article_id = %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (24,)
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT r.product_id, p.name as product_name,
|
||
COUNT(*) as count,
|
||
ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE r.enterprise_id = %s), 0) as percentage
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
GROUP BY r.product_id, p.name
|
||
ORDER BY count DESC
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] [1, 1]
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, tag_name
|
||
FROM ai_product_tags
|
||
WHERE product_id = %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (11,)
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:47:32 - article_server - INFO - [SQL数据] 查询结果: [{'product_id': 2, 'product_name': '保湿精华', 'count': 1, 'percentage': Decimal('14')}, {'product_id': 4, 'product_name': '口红套装', 'count': 1, 'percentage': Decimal('14')}, {'product_id': 5, 'product_name': '洗面奶', 'count': 1, 'percentage': Decimal('14')}]
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - 按产品统计成功
|
||
21:47:32 - article_server - INFO - [API响应] GET /api/statistics/by-product - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, image_id, image_url, image_thumb_url, image_tag_id,
|
||
sort_order, keywords_id, keywords_name, department_id,
|
||
department_name, image_source, created_at
|
||
FROM ai_article_images
|
||
WHERE article_id = %s
|
||
ORDER BY sort_order ASC, created_at ASC
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (22,)
|
||
21:47:32 - article_server - INFO - [API访问] GET /api/statistics/employee-rank - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:32 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, tag_name
|
||
FROM ai_product_tags
|
||
WHERE product_id = %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT r.created_user_id as employee_id, u.real_name as employee_name,
|
||
COUNT(*) as count,
|
||
ROW_NUMBER() OVER (ORDER BY COUNT(*) DESC) as `rank`
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_users u ON r.created_user_id = u.id
|
||
WHERE r.enterprise_id = %s
|
||
GROUP BY r.created_user_id, u.real_name
|
||
ORDER BY count DESC
|
||
LIMIT %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] [1, 5]
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:32 - article_server - INFO - [SQL数据] 查询结果: [{'employee_id': 18, 'employee_name': '测试员工API', 'count': 3, 'rank': 1}]
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:32 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'tag_name': '保湿'}]
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, coze_tag, created_at
|
||
FROM ai_article_tags
|
||
WHERE article_id = %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (22,)
|
||
21:47:32 - article_server - INFO - 获取员工排行成功
|
||
21:47:32 - article_server - INFO - [API响应] GET /api/statistics/employee-rank - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:32 - article_server - INFO - [获取产品列表] 查询成功, 总数: 4, 当前页: 1, 每页: 100, 返回数量: 4, 企业ID: 1, IP: 36.27.52.26
|
||
21:47:32 - article_server - INFO - [API响应] GET /api/products/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, image_id, image_url, image_thumb_url, image_tag_id,
|
||
sort_order, keywords_id, keywords_name, department_id,
|
||
department_name, image_source, created_at
|
||
FROM ai_article_images
|
||
WHERE article_id = %s
|
||
ORDER BY sort_order ASC, created_at ASC
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (20,)
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, coze_tag, created_at
|
||
FROM ai_article_tags
|
||
WHERE article_id = %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (20,)
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, image_id, image_url, image_thumb_url, image_tag_id,
|
||
sort_order, keywords_id, keywords_name, department_id,
|
||
department_name, image_source, created_at
|
||
FROM ai_article_images
|
||
WHERE article_id = %s
|
||
ORDER BY sort_order ASC, created_at ASC
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (18,)
|
||
21:47:32 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:32 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:32 - article_server - INFO - [SQL语句]
|
||
SELECT id, coze_tag, created_at
|
||
FROM ai_article_tags
|
||
WHERE article_id = %s
|
||
|
||
21:47:32 - article_server - INFO - [SQL参数] (18,)
|
||
21:47:33 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:33 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:33 - article_server - INFO - [SQL语句]
|
||
SELECT id, image_id, image_url, image_thumb_url, image_tag_id,
|
||
sort_order, keywords_id, keywords_name, department_id,
|
||
department_name, image_source, created_at
|
||
FROM ai_article_images
|
||
WHERE article_id = %s
|
||
ORDER BY sort_order ASC, created_at ASC
|
||
|
||
21:47:33 - article_server - INFO - [SQL参数] (16,)
|
||
21:47:33 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:33 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:33 - article_server - INFO - [SQL语句]
|
||
SELECT id, coze_tag, created_at
|
||
FROM ai_article_tags
|
||
WHERE article_id = %s
|
||
|
||
21:47:33 - article_server - INFO - [SQL参数] (16,)
|
||
21:47:33 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:33 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:33 - article_server - INFO - [SQL语句]
|
||
SELECT id, image_id, image_url, image_thumb_url, image_tag_id,
|
||
sort_order, keywords_id, keywords_name, department_id,
|
||
department_name, image_source, created_at
|
||
FROM ai_article_images
|
||
WHERE article_id = %s
|
||
ORDER BY sort_order ASC, created_at ASC
|
||
|
||
21:47:33 - article_server - INFO - [SQL参数] (14,)
|
||
21:47:33 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:33 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:33 - article_server - INFO - [SQL语句]
|
||
SELECT id, coze_tag, created_at
|
||
FROM ai_article_tags
|
||
WHERE article_id = %s
|
||
|
||
21:47:33 - article_server - INFO - [SQL参数] (14,)
|
||
21:47:33 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:33 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:33 - article_server - INFO - [SQL语句]
|
||
SELECT id, image_id, image_url, image_thumb_url, image_tag_id,
|
||
sort_order, keywords_id, keywords_name, department_id,
|
||
department_name, image_source, created_at
|
||
FROM ai_article_images
|
||
WHERE article_id = %s
|
||
ORDER BY sort_order ASC, created_at ASC
|
||
|
||
21:47:33 - article_server - INFO - [SQL参数] (12,)
|
||
21:47:33 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:33 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:33 - article_server - INFO - [SQL语句]
|
||
SELECT id, coze_tag, created_at
|
||
FROM ai_article_tags
|
||
WHERE article_id = %s
|
||
|
||
21:47:33 - article_server - INFO - [SQL参数] (12,)
|
||
21:47:33 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:33 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:33 - article_server - INFO - [SQL语句]
|
||
SELECT id, image_id, image_url, image_thumb_url, image_tag_id,
|
||
sort_order, keywords_id, keywords_name, department_id,
|
||
department_name, image_source, created_at
|
||
FROM ai_article_images
|
||
WHERE article_id = %s
|
||
ORDER BY sort_order ASC, created_at ASC
|
||
|
||
21:47:33 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:33 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:33 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:33 - article_server - INFO - [SQL语句]
|
||
SELECT id, coze_tag, created_at
|
||
FROM ai_article_tags
|
||
WHERE article_id = %s
|
||
|
||
21:47:33 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:33 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:47:33 - article_server - INFO - [获取文章列表] 查询成功, 总数: 12, 当前页: 1, 每页: 20, 返回数量: 12, 企业ID: 1, IP: 36.27.52.26
|
||
21:47:33 - article_server - INFO - [API响应] GET /api/articles/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:34 - article_server - INFO - [API访问] GET /api/dashboard/overview - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:34 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:34 - article_server - INFO - [API访问] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:34 - article_server - INFO - [API访问] GET /api/dashboard/hot-products - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:34 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:34 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:34 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:34 - article_server - INFO - [SQL语句]
|
||
SELECT users_total, products_total, articles_total, published_total
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:47:34 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:34 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:34 - article_server - INFO - [SQL语句]
|
||
SELECT r.id, r.publish_time,
|
||
u.real_name as employee_name,
|
||
p.name as product_name,
|
||
'success' as status
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_users u ON r.created_user_id = u.id
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
ORDER BY r.publish_time DESC
|
||
LIMIT %s
|
||
|
||
21:47:34 - article_server - INFO - [SQL参数] (1, 5)
|
||
21:47:34 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:34 - article_server - INFO - [SQL语句]
|
||
SELECT r.product_id, p.name as product_name,
|
||
COUNT(*) as publishes,
|
||
ROUND(COUNT(*) * 100.0 / (SELECT COUNT(*) FROM ai_article_published_records WHERE enterprise_id = %s), 0) as percentage
|
||
FROM ai_article_published_records r
|
||
LEFT JOIN ai_products p ON r.product_id = p.id
|
||
WHERE r.enterprise_id = %s
|
||
GROUP BY r.product_id, p.name
|
||
ORDER BY publishes DESC
|
||
LIMIT %s
|
||
|
||
21:47:34 - article_server - INFO - [SQL参数] (1, 1, 4)
|
||
21:47:34 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:34 - article_server - INFO - [SQL数据] 查询结果: [{'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0}]
|
||
21:47:34 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:47:34 - article_server - INFO - [SQL数据] 查询结果: [{'id': 7, 'publish_time': datetime.datetime(2025, 12, 16, 19, 32, 25), 'employee_name': '测试员工API', 'product_name': '洗面奶', 'status': 'success'}, {'id': 6, 'publish_time': datetime.datetime(2025, 12, 16, 11, 55, 56), 'employee_name': '测试员工API', 'product_name': '口红套装', 'status': 'success'}, {'id': 5, 'publish_time': datetime.datetime(2025, 12, 16, 10, 17, 8), 'employee_name': '测试员工API', 'product_name': '保湿精华', 'status': 'success'}]
|
||
21:47:34 - article_server - INFO - [SQL结果] 查询完成,返回 3 条记录
|
||
21:47:34 - article_server - INFO - [SQL数据] 查询结果: [{'product_id': 2, 'product_name': '保湿精华', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 4, 'product_name': '口红套装', 'publishes': 1, 'percentage': Decimal('33')}, {'product_id': 5, 'product_name': '洗面奶', 'publishes': 1, 'percentage': Decimal('33')}]
|
||
21:47:34 - article_server - INFO - 获取最近发布成功
|
||
21:47:34 - article_server - INFO - [API响应] GET /api/dashboard/recent-publishes - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:34 - article_server - INFO - 获取热门产品成功
|
||
21:47:34 - article_server - INFO - [API响应] GET /api/dashboard/hot-products - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:34 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:34 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(CURDATE())
|
||
AND MONTH(publish_time) = MONTH(CURDATE())
|
||
|
||
21:47:34 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:34 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:34 - article_server - INFO - [SQL数据] 查询结果: [{'month_published': 3}]
|
||
21:47:34 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:34 - article_server - INFO - [SQL语句]
|
||
SELECT COUNT(*) as last_month_published
|
||
FROM ai_article_published_records
|
||
WHERE enterprise_id = %s
|
||
AND YEAR(publish_time) = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
AND MONTH(publish_time) = MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
|
||
|
||
21:47:34 - article_server - INFO - [SQL参数] (1,)
|
||
21:47:34 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:34 - article_server - INFO - [SQL数据] 查询结果: [{'last_month_published': 0}]
|
||
21:47:34 - article_server - INFO - 获取工作台概览成功
|
||
21:47:34 - article_server - INFO - [API响应] GET /api/dashboard/overview - IP: 36.27.52.26 - 状态码: 200
|
||
21:47:36 - article_server - INFO - [API访问] GET /api/enterprises/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:47:36 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:47:36 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 36.27.52.26
|
||
21:47:36 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=100, keyword=, status=, IP: 36.27.52.26
|
||
21:47:36 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:36 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1
|
||
21:47:36 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:47:36 - article_server - INFO - [SQL数据] 查询结果: [{'total': 11}]
|
||
21:47:36 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:47:36 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_ID, name, short_name, phone, email, status,
|
||
users_total, products_total, articles_total, published_total,
|
||
created_at, updated_at
|
||
FROM ai_enterprises
|
||
WHERE 1=1
|
||
ORDER BY created_at DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:47:36 - article_server - INFO - [SQL参数] [100, 0]
|
||
21:47:36 - article_server - INFO - [SQL结果] 查询完成,返回 11 条记录
|
||
21:47:36 - article_server - INFO - [获取企业列表] 查询成功, 总数: 11, 当前页: 1, 每页: 100, 返回数量: 11, IP: 36.27.52.26
|
||
21:47:36 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:48:02 - article_server - INFO - [API访问] POST /api/enterprises/create - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:48:02 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:48:02 - article_server - INFO - [创建企业] 开始处理创建企业请求, IP: 36.27.52.26
|
||
21:48:02 - article_server - INFO - [创建企业] 收到创建请求, 企业名称: fasdfasdf, 简称: fasdfdsaf, 手机号: 13621242433, IP: 36.27.52.26
|
||
21:48:02 - article_server - INFO - [创建企业] 检查ai_enterprises表手机号是否已存在: 13621242433
|
||
21:48:02 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:02 - article_server - INFO - [SQL语句] SELECT id FROM ai_enterprises WHERE phone = %s
|
||
21:48:02 - article_server - INFO - [SQL参数] ('13621242433',)
|
||
21:48:02 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:48:02 - article_server - INFO - [创建企业] 检查ai_users表手机号是否已存在: 13621242433
|
||
21:48:02 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:02 - article_server - INFO - [SQL语句] SELECT id FROM ai_users WHERE phone = %s
|
||
21:48:02 - article_server - INFO - [SQL参数] ('13621242433',)
|
||
21:48:02 - article_server - INFO - [SQL结果] 查询完成,返回 0 条记录
|
||
21:48:02 - article_server - INFO - [创建企业] 生成企业ID: ENT-20251216-6562C639, 企业名称: fasdfasdf
|
||
21:48:02 - article_server - INFO - [创建企业] 开始插入ai_enterprises表, 企业ID: ENT-20251216-6562C639, 名称: fasdfasdf
|
||
21:48:02 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:48:02 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_enterprises
|
||
(enterprise_ID, name, short_name, icon, phone, email, website, address, status,
|
||
users_total, products_total, published_total, articles_total, released_month_total, linked_to_xhs_num)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
|
||
|
||
21:48:02 - article_server - INFO - [SQL参数] ('ENT-20251216-6562C639', 'fasdfasdf', 'fasdfdsaf', '', '13621242433', 'raowenlong@baidu.com', '', '', 'active', 0, 0, 0, 0, 0, 0)
|
||
21:48:02 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 13
|
||
21:48:02 - article_server - INFO - [创建企业] ai_enterprises表插入成功, 数据库ID: 13, 企业ID: ENT-20251216-6562C639
|
||
21:48:02 - article_server - INFO - [创建企业] 开始创建企业管理员用户, 手机号: 13621242433, 角色: enterprise
|
||
21:48:02 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:48:02 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_users
|
||
(enterprise_id, enterprise_name, username, password, real_name, email, phone,
|
||
department, role, status)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
|
||
|
||
21:48:02 - article_server - INFO - [SQL参数] (13, 'fasdfasdf', '13621242433', '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 'fasdfdsaf', 'raowenlong@baidu.com', '13621242433', '', 'enterprise', 'active')
|
||
21:48:02 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 19
|
||
21:48:02 - article_server - INFO - [创建企业] ai_users表插入成功, 用户ID: 19, 用户名: 13621242433, 角色: enterprise
|
||
21:48:02 - article_server - INFO - [创建企业] 企业创建成功, 企业DB_ID: 13, 企业ID: ENT-20251216-6562C639, 名称: fasdfasdf, 管理员用户ID: 19, IP: 36.27.52.26
|
||
21:48:02 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:48:02 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:48:02 - article_server - INFO - [SQL参数] (4, 'create_enterprise', 'enterprise', 13, '创建企业: fasdfasdf, 同时创建企业管理员用户', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', '{"name": "fasdfasdf", "short_name": "fasdfdsaf", "phone": "13621242433", "password": "***", "email": "raowenlong@baidu.com"}', '{"enterprise_id": 13, "enterprise_ID": "ENT-20251216-6562C639", "user_id": 19}', 'success', None)
|
||
21:48:02 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 14
|
||
21:48:02 - article_server - INFO - [业务日志] 操作: create_enterprise | 用户ID: 4 | 目标: enterprise#13 | 状态: success | IP: 36.27.52.26 | 日志ID: 14
|
||
21:48:02 - article_server - INFO - [API响应] POST /api/enterprises/create - IP: 36.27.52.26 - 状态码: 200
|
||
21:48:02 - article_server - INFO - [API访问] GET /api/enterprises/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:48:02 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:48:02 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 36.27.52.26
|
||
21:48:02 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=100, keyword=, status=, IP: 36.27.52.26
|
||
21:48:02 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:02 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1
|
||
21:48:02 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:48:02 - article_server - INFO - [SQL数据] 查询结果: [{'total': 12}]
|
||
21:48:02 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:02 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_ID, name, short_name, phone, email, status,
|
||
users_total, products_total, articles_total, published_total,
|
||
created_at, updated_at
|
||
FROM ai_enterprises
|
||
WHERE 1=1
|
||
ORDER BY created_at DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:48:02 - article_server - INFO - [SQL参数] [100, 0]
|
||
21:48:02 - article_server - INFO - [SQL结果] 查询完成,返回 12 条记录
|
||
21:48:02 - article_server - INFO - [获取企业列表] 查询成功, 总数: 12, 当前页: 1, 每页: 100, 返回数量: 12, IP: 36.27.52.26
|
||
21:48:02 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:48:06 - article_server - INFO - [API访问] GET /api/enterprises/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:48:06 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:48:06 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 36.27.52.26
|
||
21:48:06 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=100, keyword=, status=, IP: 36.27.52.26
|
||
21:48:06 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:48:06 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:48:06 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:48:06 - article_server - INFO - [获取用户信息] 用户ID: 4, IP: 36.27.52.26
|
||
21:48:06 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:06 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:06 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:48:06 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1
|
||
21:48:06 - article_server - INFO - [SQL参数] (4,)
|
||
21:48:06 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:48:06 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': None, 'phone': '13621242430', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': None, 'xhs_phone': '', 'xhs_account': '小红书用户4', 'is_bound_xhs': 1, 'bound_at': None, 'department': '技术部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 16, 13, 47, 4)}]
|
||
21:48:06 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:48:06 - article_server - INFO - [SQL数据] 查询结果: [{'total': 12}]
|
||
21:48:06 - article_server - INFO - [获取用户信息] 查询成功, 用户: user004, 角色: enterprise, 企业: rwl企业4号, IP: 36.27.52.26
|
||
21:48:06 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:48:06 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:48:06 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:48:06 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:06 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_ID, name, short_name, phone, email, status,
|
||
users_total, products_total, articles_total, published_total,
|
||
created_at, updated_at
|
||
FROM ai_enterprises
|
||
WHERE 1=1
|
||
ORDER BY created_at DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:48:06 - article_server - INFO - [SQL参数] [100, 0]
|
||
21:48:06 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 15
|
||
21:48:06 - article_server - INFO - [SQL结果] 查询完成,返回 12 条记录
|
||
21:48:06 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 36.27.52.26 | 日志ID: 15
|
||
21:48:06 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:48:06 - article_server - INFO - [获取企业列表] 查询成功, 总数: 12, 当前页: 1, 每页: 100, 返回数量: 12, IP: 36.27.52.26
|
||
21:48:06 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:48:34 - article_server - INFO - [API访问] PUT /api/enterprises/13 - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:48:34 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:48:34 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:34 - article_server - INFO - [SQL语句] SELECT id FROM ai_enterprises WHERE id = %s
|
||
21:48:34 - article_server - INFO - [SQL参数] (13,)
|
||
21:48:34 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:48:34 - article_server - INFO - [SQL数据] 查询结果: [{'id': 13}]
|
||
21:48:34 - article_server - INFO - [SQL执行] 开始执行更新SQL
|
||
21:48:34 - article_server - INFO - [SQL语句] UPDATE ai_enterprises SET name = %s, short_name = %s, email = %s, password = %s, updated_at = NOW() WHERE id = %s
|
||
21:48:34 - article_server - INFO - [SQL参数] ['fasdfasdf1饶', 'fasdfasdf1饶', 'raowenlong@baidu.com', '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 13]
|
||
21:48:34 - article_server - ERROR - 数据库操作失败: (1054, "Unknown column 'password' in 'field list'")
|
||
21:48:34 - article_server - ERROR - [SQL执行失败] 更新SQL执行异常: (1054, "Unknown column 'password' in 'field list'")
|
||
21:48:34 - article_server - ERROR - [SQL语句] UPDATE ai_enterprises SET name = %s, short_name = %s, email = %s, password = %s, updated_at = NOW() WHERE id = %s
|
||
21:48:34 - article_server - ERROR - [SQL参数] ['fasdfasdf1饶', 'fasdfasdf1饶', 'raowenlong@baidu.com', '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 13]
|
||
21:48:34 - article_server - ERROR - [更新企业] 处理请求时发生错误: (1054, "Unknown column 'password' in 'field list'")
|
||
Traceback (most recent call last):
|
||
File "/home/work/ai_wht/enterprise_routes.py", line 305, in update_enterprise
|
||
db_manager.execute_update(sql, params)
|
||
File "/home/work/ai_wht/database_config.py", line 226, in execute_update
|
||
return self._execute_with_retry(_update_operation)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 103, in _execute_with_retry
|
||
return operation(*args, **kwargs)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 212, in _update_operation
|
||
affected_rows = cursor.execute(sql, params)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute
|
||
result = self._query(query)
|
||
^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query
|
||
conn.query(q)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query
|
||
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result
|
||
result.read()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read
|
||
first_packet = self.connection._read_packet()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet
|
||
packet.raise_for_error()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error
|
||
err.raise_mysql_exception(self._data)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception
|
||
raise errorclass(errno, errval)
|
||
pymysql.err.OperationalError: (1054, "Unknown column 'password' in 'field list'")
|
||
21:48:34 - article_server - INFO - [API响应] PUT /api/enterprises/13 - IP: 36.27.52.26 - 状态码: 500
|
||
21:48:43 - article_server - INFO - [API访问] PUT /api/enterprises/13 - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:48:43 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:48:43 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:43 - article_server - INFO - [SQL语句] SELECT id FROM ai_enterprises WHERE id = %s
|
||
21:48:43 - article_server - INFO - [SQL参数] (13,)
|
||
21:48:43 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:48:43 - article_server - INFO - [SQL数据] 查询结果: [{'id': 13}]
|
||
21:48:43 - article_server - INFO - [SQL执行] 开始执行更新SQL
|
||
21:48:43 - article_server - INFO - [SQL语句] UPDATE ai_enterprises SET name = %s, short_name = %s, email = %s, password = %s, updated_at = NOW() WHERE id = %s
|
||
21:48:43 - article_server - INFO - [SQL参数] ['fasdfasdf1饶', 'fasdfasdf1饶', 'raowenlong@baidu.com', '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 13]
|
||
21:48:43 - article_server - ERROR - 数据库操作失败: (1054, "Unknown column 'password' in 'field list'")
|
||
21:48:43 - article_server - ERROR - [SQL执行失败] 更新SQL执行异常: (1054, "Unknown column 'password' in 'field list'")
|
||
21:48:43 - article_server - ERROR - [SQL语句] UPDATE ai_enterprises SET name = %s, short_name = %s, email = %s, password = %s, updated_at = NOW() WHERE id = %s
|
||
21:48:43 - article_server - ERROR - [SQL参数] ['fasdfasdf1饶', 'fasdfasdf1饶', 'raowenlong@baidu.com', '240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9', 13]
|
||
21:48:43 - article_server - ERROR - [更新企业] 处理请求时发生错误: (1054, "Unknown column 'password' in 'field list'")
|
||
Traceback (most recent call last):
|
||
File "/home/work/ai_wht/enterprise_routes.py", line 305, in update_enterprise
|
||
db_manager.execute_update(sql, params)
|
||
File "/home/work/ai_wht/database_config.py", line 226, in execute_update
|
||
return self._execute_with_retry(_update_operation)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 103, in _execute_with_retry
|
||
return operation(*args, **kwargs)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 212, in _update_operation
|
||
affected_rows = cursor.execute(sql, params)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute
|
||
result = self._query(query)
|
||
^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query
|
||
conn.query(q)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query
|
||
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result
|
||
result.read()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read
|
||
first_packet = self.connection._read_packet()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet
|
||
packet.raise_for_error()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error
|
||
err.raise_mysql_exception(self._data)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception
|
||
raise errorclass(errno, errval)
|
||
pymysql.err.OperationalError: (1054, "Unknown column 'password' in 'field list'")
|
||
21:48:43 - article_server - INFO - [API响应] PUT /api/enterprises/13 - IP: 36.27.52.26 - 状态码: 500
|
||
21:48:49 - article_server - INFO - [API访问] GET /api/enterprises/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:48:49 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:48:49 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 36.27.52.26
|
||
21:48:49 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=100, keyword=, status=, IP: 36.27.52.26
|
||
21:48:49 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:48:49 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:48:49 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:48:49 - article_server - INFO - [获取用户信息] 用户ID: 4, IP: 36.27.52.26
|
||
21:48:49 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:49 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1
|
||
21:48:49 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:49 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:48:49 - article_server - INFO - [SQL参数] (4,)
|
||
21:48:49 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:48:49 - article_server - INFO - [SQL数据] 查询结果: [{'total': 12}]
|
||
21:48:49 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:48:49 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': None, 'phone': '13621242430', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': None, 'xhs_phone': '', 'xhs_account': '小红书用户4', 'is_bound_xhs': 1, 'bound_at': None, 'department': '技术部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 16, 13, 47, 4)}]
|
||
21:48:49 - article_server - INFO - [获取用户信息] 查询成功, 用户: user004, 角色: enterprise, 企业: rwl企业4号, IP: 36.27.52.26
|
||
21:48:49 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:49 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_ID, name, short_name, phone, email, status,
|
||
users_total, products_total, articles_total, published_total,
|
||
created_at, updated_at
|
||
FROM ai_enterprises
|
||
WHERE 1=1
|
||
ORDER BY created_at DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:48:49 - article_server - INFO - [SQL参数] [100, 0]
|
||
21:48:49 - article_server - INFO - [SQL结果] 查询完成,返回 12 条记录
|
||
21:48:49 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:48:49 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:48:49 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:48:49 - article_server - INFO - [获取企业列表] 查询成功, 总数: 12, 当前页: 1, 每页: 100, 返回数量: 12, IP: 36.27.52.26
|
||
21:48:49 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:48:49 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 16
|
||
21:48:49 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 36.27.52.26 | 日志ID: 16
|
||
21:48:49 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:48:54 - article_server - INFO - [API访问] DELETE /api/enterprises/13 - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:48:54 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:48:54 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:54 - article_server - INFO - [SQL语句] SELECT id, name FROM ai_enterprises WHERE id = %s
|
||
21:48:54 - article_server - INFO - [SQL参数] (13,)
|
||
21:48:54 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:48:54 - article_server - INFO - [SQL数据] 查询结果: [{'id': 13, 'name': 'fasdfasdf'}]
|
||
21:48:54 - article_server - INFO - [SQL执行] 开始执行更新SQL
|
||
21:48:54 - article_server - INFO - [SQL语句] DELETE FROM ai_enterprises WHERE id = %s
|
||
21:48:54 - article_server - INFO - [SQL参数] (13,)
|
||
21:48:54 - article_server - INFO - [SQL结果] 更新完成,影响 1 行
|
||
21:48:54 - article_server - INFO - 删除企业成功: fasdfasdf
|
||
21:48:54 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:48:54 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:48:54 - article_server - INFO - [SQL参数] (4, 'delete_enterprise', 'enterprise', 13, '删除企业: fasdfasdf', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:48:54 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 17
|
||
21:48:54 - article_server - INFO - [业务日志] 操作: delete_enterprise | 用户ID: 4 | 目标: enterprise#13 | 状态: success | IP: 36.27.52.26 | 日志ID: 17
|
||
21:48:54 - article_server - INFO - [API响应] DELETE /api/enterprises/13 - IP: 36.27.52.26 - 状态码: 200
|
||
21:48:54 - article_server - INFO - [API访问] GET /api/enterprises/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:48:54 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:48:54 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 36.27.52.26
|
||
21:48:54 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=100, keyword=, status=, IP: 36.27.52.26
|
||
21:48:54 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:54 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1
|
||
21:48:54 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:48:54 - article_server - INFO - [SQL数据] 查询结果: [{'total': 11}]
|
||
21:48:54 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:54 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_ID, name, short_name, phone, email, status,
|
||
users_total, products_total, articles_total, published_total,
|
||
created_at, updated_at
|
||
FROM ai_enterprises
|
||
WHERE 1=1
|
||
ORDER BY created_at DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:48:54 - article_server - INFO - [SQL参数] [100, 0]
|
||
21:48:54 - article_server - INFO - [SQL结果] 查询完成,返回 11 条记录
|
||
21:48:54 - article_server - INFO - [获取企业列表] 查询成功, 总数: 11, 当前页: 1, 每页: 100, 返回数量: 11, IP: 36.27.52.26
|
||
21:48:54 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:48:56 - article_server - INFO - [API访问] GET /api/enterprises/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:48:56 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:48:56 - article_server - INFO - [获取企业列表] 开始处理请求, IP: 36.27.52.26
|
||
21:48:56 - article_server - INFO - [获取企业列表] 查询参数: page=1, pageSize=100, keyword=, status=, IP: 36.27.52.26
|
||
21:48:56 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:48:56 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:48:56 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:48:56 - article_server - INFO - [获取用户信息] 用户ID: 4, IP: 36.27.52.26
|
||
21:48:56 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:56 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_enterprises WHERE 1=1
|
||
21:48:56 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:56 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:48:56 - article_server - INFO - [SQL参数] (4,)
|
||
21:48:56 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:48:56 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': None, 'phone': '13621242430', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': None, 'xhs_phone': '', 'xhs_account': '小红书用户4', 'is_bound_xhs': 1, 'bound_at': None, 'department': '技术部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 16, 13, 47, 4)}]
|
||
21:48:56 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:48:56 - article_server - INFO - [SQL数据] 查询结果: [{'total': 11}]
|
||
21:48:56 - article_server - INFO - [获取用户信息] 查询成功, 用户: user004, 角色: enterprise, 企业: rwl企业4号, IP: 36.27.52.26
|
||
21:48:56 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:48:56 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:48:56 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:48:56 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:56 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_ID, name, short_name, phone, email, status,
|
||
users_total, products_total, articles_total, published_total,
|
||
created_at, updated_at
|
||
FROM ai_enterprises
|
||
WHERE 1=1
|
||
ORDER BY created_at DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:48:56 - article_server - INFO - [SQL参数] [100, 0]
|
||
21:48:56 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 18
|
||
21:48:56 - article_server - INFO - [SQL结果] 查询完成,返回 11 条记录
|
||
21:48:56 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 36.27.52.26 | 日志ID: 18
|
||
21:48:56 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:48:56 - article_server - INFO - [获取企业列表] 查询成功, 总数: 11, 当前页: 1, 每页: 100, 返回数量: 11, IP: 36.27.52.26
|
||
21:48:56 - article_server - INFO - [API响应] GET /api/enterprises/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:48:59 - article_server - INFO - [API访问] GET /api/enterprises/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:48:59 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:48:59 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:48:59 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_ID, name, short_name, phone, email, status,
|
||
users_total, products_total, articles_total, published_total,
|
||
created_at, updated_at
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:48:59 - article_server - INFO - [SQL参数] (1,)
|
||
21:48:59 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:48:59 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业1222', 'phone': '13800138001', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 13, 9, 39, 53)}]
|
||
21:48:59 - article_server - INFO - 获取企业信息成功: ID 1
|
||
21:48:59 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:49:05 - article_server - INFO - [API访问] PUT /api/enterprises/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:05 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:05 - article_server - INFO - [SQL执行] 开始执行更新SQL
|
||
21:49:05 - article_server - INFO - [SQL语句] UPDATE ai_enterprises SET short_name = %s, email = %s, updated_at = NOW() WHERE id = %s
|
||
21:49:05 - article_server - INFO - [SQL参数] ['企业1222333', 'raowenlong@vizee.cn', 1]
|
||
21:49:05 - article_server - INFO - [SQL结果] 更新完成,影响 1 行
|
||
21:49:05 - article_server - INFO - 企业管理员更新企业信息成功: ID 1
|
||
21:49:05 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:49:05 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:49:05 - article_server - INFO - [SQL参数] (4, 'update_enterprise', 'enterprise', 1, '更新企业信息(企业管理员)', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', '{"short_name": "企业1222333", "email": "raowenlong@vizee.cn"}', None, 'success', None)
|
||
21:49:05 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 19
|
||
21:49:05 - article_server - INFO - [业务日志] 操作: update_enterprise | 用户ID: 4 | 目标: enterprise#1 | 状态: success | IP: 36.27.52.26 | 日志ID: 19
|
||
21:49:05 - article_server - INFO - [API响应] PUT /api/enterprises/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:49:08 - article_server - INFO - [API访问] GET /api/enterprises/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:08 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:08 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:08 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:08 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:49:08 - article_server - INFO - [获取用户信息] 用户ID: 4, IP: 36.27.52.26
|
||
21:49:08 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:49:08 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:49:08 - article_server - INFO - [SQL参数] (4,)
|
||
21:49:08 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:49:08 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_ID, name, short_name, phone, email, status,
|
||
users_total, products_total, articles_total, published_total,
|
||
created_at, updated_at
|
||
FROM ai_enterprises
|
||
WHERE id = %s
|
||
|
||
21:49:08 - article_server - INFO - [SQL参数] (1,)
|
||
21:49:08 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:49:08 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': None, 'phone': '13621242430', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': None, 'xhs_phone': '', 'xhs_account': '小红书用户4', 'is_bound_xhs': 1, 'bound_at': None, 'department': '技术部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 16, 13, 47, 4)}]
|
||
21:49:08 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:49:08 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业1222333', 'phone': '13800138001', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 16, 13, 49, 5)}]
|
||
21:49:08 - article_server - INFO - [获取用户信息] 查询成功, 用户: user004, 角色: enterprise, 企业: rwl企业4号, IP: 36.27.52.26
|
||
21:49:08 - article_server - INFO - 获取企业信息成功: ID 1
|
||
21:49:08 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:49:08 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:49:08 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:49:08 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:49:08 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 20
|
||
21:49:08 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 36.27.52.26 | 日志ID: 20
|
||
21:49:08 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:49:21 - article_server - INFO - [API访问] PUT /api/enterprises/change-password - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:21 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:21 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:49:21 - article_server - INFO - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:21 - article_server - INFO - [SQL参数] (1,)
|
||
21:49:21 - article_server - ERROR - 数据库操作失败: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:21 - article_server - ERROR - [SQL执行失败] 查询SQL执行异常: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:21 - article_server - ERROR - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:21 - article_server - ERROR - [SQL参数] (1,)
|
||
21:49:21 - article_server - ERROR - [修改密码] 处理请求时发生错误: (1054, "Unknown column 'password' in 'field list'")
|
||
Traceback (most recent call last):
|
||
File "/home/work/ai_wht/enterprise_routes.py", line 641, in change_password
|
||
result = db_manager.execute_query(sql, (enterprise_id,))
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 199, in execute_query
|
||
return self._execute_with_retry(_query_operation)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 103, in _execute_with_retry
|
||
return operation(*args, **kwargs)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 182, in _query_operation
|
||
cursor.execute(sql, params)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute
|
||
result = self._query(query)
|
||
^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query
|
||
conn.query(q)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query
|
||
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result
|
||
result.read()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read
|
||
first_packet = self.connection._read_packet()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet
|
||
packet.raise_for_error()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error
|
||
err.raise_mysql_exception(self._data)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception
|
||
raise errorclass(errno, errval)
|
||
pymysql.err.OperationalError: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:21 - article_server - INFO - [API响应] PUT /api/enterprises/change-password - IP: 36.27.52.26 - 状态码: 500
|
||
21:49:23 - article_server - INFO - [API访问] PUT /api/enterprises/change-password - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:23 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:23 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:49:23 - article_server - INFO - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:23 - article_server - INFO - [SQL参数] (1,)
|
||
21:49:23 - article_server - ERROR - 数据库操作失败: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:23 - article_server - ERROR - [SQL执行失败] 查询SQL执行异常: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:23 - article_server - ERROR - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:23 - article_server - ERROR - [SQL参数] (1,)
|
||
21:49:23 - article_server - ERROR - [修改密码] 处理请求时发生错误: (1054, "Unknown column 'password' in 'field list'")
|
||
Traceback (most recent call last):
|
||
File "/home/work/ai_wht/enterprise_routes.py", line 641, in change_password
|
||
result = db_manager.execute_query(sql, (enterprise_id,))
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 199, in execute_query
|
||
return self._execute_with_retry(_query_operation)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 103, in _execute_with_retry
|
||
return operation(*args, **kwargs)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 182, in _query_operation
|
||
cursor.execute(sql, params)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute
|
||
result = self._query(query)
|
||
^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query
|
||
conn.query(q)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query
|
||
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result
|
||
result.read()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read
|
||
first_packet = self.connection._read_packet()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet
|
||
packet.raise_for_error()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error
|
||
err.raise_mysql_exception(self._data)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception
|
||
raise errorclass(errno, errval)
|
||
pymysql.err.OperationalError: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:23 - article_server - INFO - [API响应] PUT /api/enterprises/change-password - IP: 36.27.52.26 - 状态码: 500
|
||
21:49:23 - article_server - INFO - [API访问] PUT /api/enterprises/change-password - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:23 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:23 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:49:23 - article_server - INFO - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:23 - article_server - INFO - [SQL参数] (1,)
|
||
21:49:23 - article_server - ERROR - 数据库操作失败: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:23 - article_server - ERROR - [SQL执行失败] 查询SQL执行异常: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:23 - article_server - ERROR - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:23 - article_server - ERROR - [SQL参数] (1,)
|
||
21:49:23 - article_server - ERROR - [修改密码] 处理请求时发生错误: (1054, "Unknown column 'password' in 'field list'")
|
||
Traceback (most recent call last):
|
||
File "/home/work/ai_wht/enterprise_routes.py", line 641, in change_password
|
||
result = db_manager.execute_query(sql, (enterprise_id,))
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 199, in execute_query
|
||
return self._execute_with_retry(_query_operation)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 103, in _execute_with_retry
|
||
return operation(*args, **kwargs)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 182, in _query_operation
|
||
cursor.execute(sql, params)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute
|
||
result = self._query(query)
|
||
^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query
|
||
conn.query(q)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query
|
||
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result
|
||
result.read()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read
|
||
first_packet = self.connection._read_packet()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet
|
||
packet.raise_for_error()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error
|
||
err.raise_mysql_exception(self._data)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception
|
||
raise errorclass(errno, errval)
|
||
pymysql.err.OperationalError: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:23 - article_server - INFO - [API响应] PUT /api/enterprises/change-password - IP: 36.27.52.26 - 状态码: 500
|
||
21:49:23 - article_server - INFO - [API访问] PUT /api/enterprises/change-password - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:23 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:23 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:49:23 - article_server - INFO - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:23 - article_server - INFO - [SQL参数] (1,)
|
||
21:49:23 - article_server - ERROR - 数据库操作失败: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:23 - article_server - ERROR - [SQL执行失败] 查询SQL执行异常: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:23 - article_server - ERROR - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:23 - article_server - ERROR - [SQL参数] (1,)
|
||
21:49:23 - article_server - ERROR - [修改密码] 处理请求时发生错误: (1054, "Unknown column 'password' in 'field list'")
|
||
Traceback (most recent call last):
|
||
File "/home/work/ai_wht/enterprise_routes.py", line 641, in change_password
|
||
result = db_manager.execute_query(sql, (enterprise_id,))
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 199, in execute_query
|
||
return self._execute_with_retry(_query_operation)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 103, in _execute_with_retry
|
||
return operation(*args, **kwargs)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 182, in _query_operation
|
||
cursor.execute(sql, params)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute
|
||
result = self._query(query)
|
||
^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query
|
||
conn.query(q)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query
|
||
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result
|
||
result.read()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read
|
||
first_packet = self.connection._read_packet()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet
|
||
packet.raise_for_error()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error
|
||
err.raise_mysql_exception(self._data)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception
|
||
raise errorclass(errno, errval)
|
||
pymysql.err.OperationalError: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:23 - article_server - INFO - [API响应] PUT /api/enterprises/change-password - IP: 36.27.52.26 - 状态码: 500
|
||
21:49:23 - article_server - INFO - [API访问] PUT /api/enterprises/change-password - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:23 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:23 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:49:23 - article_server - INFO - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:23 - article_server - INFO - [SQL参数] (1,)
|
||
21:49:24 - article_server - ERROR - 数据库操作失败: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:24 - article_server - ERROR - [SQL执行失败] 查询SQL执行异常: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:24 - article_server - ERROR - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:24 - article_server - ERROR - [SQL参数] (1,)
|
||
21:49:24 - article_server - ERROR - [修改密码] 处理请求时发生错误: (1054, "Unknown column 'password' in 'field list'")
|
||
Traceback (most recent call last):
|
||
File "/home/work/ai_wht/enterprise_routes.py", line 641, in change_password
|
||
result = db_manager.execute_query(sql, (enterprise_id,))
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 199, in execute_query
|
||
return self._execute_with_retry(_query_operation)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 103, in _execute_with_retry
|
||
return operation(*args, **kwargs)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 182, in _query_operation
|
||
cursor.execute(sql, params)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute
|
||
result = self._query(query)
|
||
^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query
|
||
conn.query(q)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query
|
||
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result
|
||
result.read()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read
|
||
first_packet = self.connection._read_packet()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet
|
||
packet.raise_for_error()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error
|
||
err.raise_mysql_exception(self._data)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception
|
||
raise errorclass(errno, errval)
|
||
pymysql.err.OperationalError: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:24 - article_server - INFO - [API响应] PUT /api/enterprises/change-password - IP: 36.27.52.26 - 状态码: 500
|
||
21:49:24 - article_server - INFO - [API访问] PUT /api/enterprises/change-password - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:24 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:24 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:49:24 - article_server - INFO - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:24 - article_server - INFO - [SQL参数] (1,)
|
||
21:49:24 - article_server - ERROR - 数据库操作失败: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:24 - article_server - ERROR - [SQL执行失败] 查询SQL执行异常: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:24 - article_server - ERROR - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:24 - article_server - ERROR - [SQL参数] (1,)
|
||
21:49:24 - article_server - ERROR - [修改密码] 处理请求时发生错误: (1054, "Unknown column 'password' in 'field list'")
|
||
Traceback (most recent call last):
|
||
File "/home/work/ai_wht/enterprise_routes.py", line 641, in change_password
|
||
result = db_manager.execute_query(sql, (enterprise_id,))
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 199, in execute_query
|
||
return self._execute_with_retry(_query_operation)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 103, in _execute_with_retry
|
||
return operation(*args, **kwargs)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 182, in _query_operation
|
||
cursor.execute(sql, params)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute
|
||
result = self._query(query)
|
||
^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query
|
||
conn.query(q)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query
|
||
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result
|
||
result.read()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read
|
||
first_packet = self.connection._read_packet()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet
|
||
packet.raise_for_error()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error
|
||
err.raise_mysql_exception(self._data)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception
|
||
raise errorclass(errno, errval)
|
||
pymysql.err.OperationalError: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:24 - article_server - INFO - [API响应] PUT /api/enterprises/change-password - IP: 36.27.52.26 - 状态码: 500
|
||
21:49:24 - article_server - INFO - [API访问] PUT /api/enterprises/change-password - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:24 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:24 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:49:24 - article_server - INFO - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:24 - article_server - INFO - [SQL参数] (1,)
|
||
21:49:24 - article_server - ERROR - 数据库操作失败: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:24 - article_server - ERROR - [SQL执行失败] 查询SQL执行异常: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:24 - article_server - ERROR - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:24 - article_server - ERROR - [SQL参数] (1,)
|
||
21:49:24 - article_server - ERROR - [修改密码] 处理请求时发生错误: (1054, "Unknown column 'password' in 'field list'")
|
||
Traceback (most recent call last):
|
||
File "/home/work/ai_wht/enterprise_routes.py", line 641, in change_password
|
||
result = db_manager.execute_query(sql, (enterprise_id,))
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 199, in execute_query
|
||
return self._execute_with_retry(_query_operation)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 103, in _execute_with_retry
|
||
return operation(*args, **kwargs)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 182, in _query_operation
|
||
cursor.execute(sql, params)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute
|
||
result = self._query(query)
|
||
^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query
|
||
conn.query(q)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query
|
||
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result
|
||
result.read()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read
|
||
first_packet = self.connection._read_packet()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet
|
||
packet.raise_for_error()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error
|
||
err.raise_mysql_exception(self._data)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception
|
||
raise errorclass(errno, errval)
|
||
pymysql.err.OperationalError: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:24 - article_server - INFO - [API响应] PUT /api/enterprises/change-password - IP: 36.27.52.26 - 状态码: 500
|
||
21:49:24 - article_server - INFO - [API访问] PUT /api/enterprises/change-password - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:24 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:24 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:49:24 - article_server - INFO - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:24 - article_server - INFO - [SQL参数] (1,)
|
||
21:49:24 - article_server - ERROR - 数据库操作失败: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:24 - article_server - ERROR - [SQL执行失败] 查询SQL执行异常: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:24 - article_server - ERROR - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:24 - article_server - ERROR - [SQL参数] (1,)
|
||
21:49:24 - article_server - ERROR - [修改密码] 处理请求时发生错误: (1054, "Unknown column 'password' in 'field list'")
|
||
Traceback (most recent call last):
|
||
File "/home/work/ai_wht/enterprise_routes.py", line 641, in change_password
|
||
result = db_manager.execute_query(sql, (enterprise_id,))
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 199, in execute_query
|
||
return self._execute_with_retry(_query_operation)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 103, in _execute_with_retry
|
||
return operation(*args, **kwargs)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 182, in _query_operation
|
||
cursor.execute(sql, params)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute
|
||
result = self._query(query)
|
||
^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query
|
||
conn.query(q)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query
|
||
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result
|
||
result.read()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read
|
||
first_packet = self.connection._read_packet()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet
|
||
packet.raise_for_error()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error
|
||
err.raise_mysql_exception(self._data)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception
|
||
raise errorclass(errno, errval)
|
||
pymysql.err.OperationalError: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:24 - article_server - INFO - [API响应] PUT /api/enterprises/change-password - IP: 36.27.52.26 - 状态码: 500
|
||
21:49:24 - article_server - INFO - [API访问] PUT /api/enterprises/change-password - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:24 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:24 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:49:24 - article_server - INFO - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:24 - article_server - INFO - [SQL参数] (1,)
|
||
21:49:24 - article_server - ERROR - 数据库操作失败: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:24 - article_server - ERROR - [SQL执行失败] 查询SQL执行异常: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:24 - article_server - ERROR - [SQL语句] SELECT password FROM ai_enterprises WHERE id = %s
|
||
21:49:24 - article_server - ERROR - [SQL参数] (1,)
|
||
21:49:24 - article_server - ERROR - [修改密码] 处理请求时发生错误: (1054, "Unknown column 'password' in 'field list'")
|
||
Traceback (most recent call last):
|
||
File "/home/work/ai_wht/enterprise_routes.py", line 641, in change_password
|
||
result = db_manager.execute_query(sql, (enterprise_id,))
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 199, in execute_query
|
||
return self._execute_with_retry(_query_operation)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 103, in _execute_with_retry
|
||
return operation(*args, **kwargs)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/ai_wht/database_config.py", line 182, in _query_operation
|
||
cursor.execute(sql, params)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute
|
||
result = self._query(query)
|
||
^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query
|
||
conn.query(q)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query
|
||
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result
|
||
result.read()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read
|
||
first_packet = self.connection._read_packet()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet
|
||
packet.raise_for_error()
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error
|
||
err.raise_mysql_exception(self._data)
|
||
File "/home/work/keyword_crawl/venv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception
|
||
raise errorclass(errno, errval)
|
||
pymysql.err.OperationalError: (1054, "Unknown column 'password' in 'field list'")
|
||
21:49:24 - article_server - INFO - [API响应] PUT /api/enterprises/change-password - IP: 36.27.52.26 - 状态码: 500
|
||
21:49:27 - article_server - INFO - [API访问] GET /api/enterprises/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:27 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:27 - article_server - INFO - [API访问] GET /api/users/info - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:27 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:27 - article_server - INFO - [获取用户信息] 开始处理请求, IP: 36.27.52.26
|
||
21:49:27 - article_server - INFO - [获取用户信息] 用户ID: 4, IP: 36.27.52.26
|
||
21:49:27 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:49: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
|
||
|
||
21:49:27 - article_server - INFO - [SQL参数] (1,)
|
||
21:49:27 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:49:27 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, enterprise_name, username, real_name, email, phone,
|
||
wechat_openid, wechat_unionid, xhs_cookie, xhs_phone, xhs_account,
|
||
is_bound_xhs, bound_at, department, role, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE id = %s AND status != 'deleted'
|
||
|
||
21:49:27 - article_server - INFO - [SQL参数] (4,)
|
||
21:49:27 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:49:27 - article_server - INFO - [SQL数据] 查询结果: [{'id': 1, 'enterprise_ID': 'ENT-2024-0001', 'name': '乐航', 'short_name': '企业1222333', 'phone': '13800138001', 'email': 'raowenlong@vizee.cn', 'status': 'active', 'users_total': 2, 'products_total': 1, 'articles_total': 12, 'published_total': 0, 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 16, 13, 49, 5)}]
|
||
21:49:27 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:49:27 - article_server - INFO - [SQL数据] 查询结果: [{'id': 4, 'enterprise_id': 1, 'enterprise_name': 'rwl企业4号', 'username': 'user004', 'real_name': '饶文龙', 'email': None, 'phone': '13621242430', 'wechat_openid': None, 'wechat_unionid': None, 'xhs_cookie': None, 'xhs_phone': '', 'xhs_account': '小红书用户4', 'is_bound_xhs': 1, 'bound_at': None, 'department': '技术部', 'role': 'enterprise', 'status': 'active', 'created_at': datetime.datetime(2025, 12, 12, 16, 58, 22), 'updated_at': datetime.datetime(2025, 12, 16, 13, 47, 4)}]
|
||
21:49:27 - article_server - INFO - 获取企业信息成功: ID 1
|
||
21:49:27 - article_server - INFO - [API响应] GET /api/enterprises/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:49:27 - article_server - INFO - [获取用户信息] 查询成功, 用户: user004, 角色: enterprise, 企业: rwl企业4号, IP: 36.27.52.26
|
||
21:49:27 - article_server - INFO - [SQL执行] 开始执行插入SQL
|
||
21:49:27 - article_server - INFO - [SQL语句]
|
||
INSERT INTO ai_logs
|
||
(user_id, action, target_type, target_id, description,
|
||
ip_address, user_agent, request_data, response_data,
|
||
status, error_message, created_at)
|
||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())
|
||
|
||
21:49:27 - article_server - INFO - [SQL参数] (4, 'get_user_info', 'user', 4, '查询用户信息: user004', '36.27.52.26', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36', None, None, 'success', None)
|
||
21:49:27 - article_server - INFO - [SQL结果] 插入完成,新记录ID: 21
|
||
21:49:27 - article_server - INFO - [业务日志] 操作: get_user_info | 用户ID: 4 | 目标: user#4 | 状态: success | IP: 36.27.52.26 | 日志ID: 21
|
||
21:49:27 - article_server - INFO - [API响应] GET /api/users/info - IP: 36.27.52.26 - 状态码: 200
|
||
21:49:29 - article_server - INFO - [API访问] GET /api/employees/list - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:29 - article_server - INFO - [API访问] GET /api/employees/stats - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:29 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:29 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:29 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:49:29 - article_server - INFO - [SQL语句]
|
||
SELECT
|
||
COUNT(*) as total_count,
|
||
SUM(CASE WHEN status = 'active' THEN 1 ELSE 0 END) as active_count,
|
||
SUM(CASE WHEN is_bound_xhs = 1 THEN 1 ELSE 0 END) as bound_xhs_count
|
||
FROM ai_users
|
||
WHERE enterprise_id = %s AND status != 'deleted'
|
||
|
||
21:49:29 - article_server - INFO - [SQL参数] (1,)
|
||
21:49:29 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:49:29 - article_server - INFO - [SQL语句] SELECT COUNT(*) as total FROM ai_users WHERE enterprise_id = %s AND status != 'deleted'
|
||
21:49:29 - article_server - INFO - [SQL参数] [1]
|
||
21:49:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:49:29 - article_server - INFO - [SQL数据] 查询结果: [{'total_count': 5, 'active_count': Decimal('5'), 'bound_xhs_count': Decimal('4')}]
|
||
21:49:29 - article_server - INFO - [SQL结果] 查询完成,返回 1 条记录
|
||
21:49:29 - article_server - INFO - [SQL数据] 查询结果: [{'total': 5}]
|
||
21:49:29 - article_server - INFO - 获取员工统计成功
|
||
21:49:29 - article_server - INFO - [API响应] GET /api/employees/stats - IP: 36.27.52.26 - 状态码: 200
|
||
21:49:29 - article_server - INFO - [SQL执行] 开始执行查询SQL
|
||
21:49:29 - article_server - INFO - [SQL语句]
|
||
SELECT id, enterprise_id, real_name as name, username, phone, role, department,
|
||
is_bound_xhs, xhs_account, status, created_at, updated_at
|
||
FROM ai_users
|
||
WHERE enterprise_id = %s AND status != 'deleted'
|
||
ORDER BY created_at DESC
|
||
LIMIT %s OFFSET %s
|
||
|
||
21:49:29 - article_server - INFO - [SQL参数] [1, 20, 0]
|
||
21:49:29 - article_server - INFO - [SQL结果] 查询完成,返回 5 条记录
|
||
21:49:29 - article_server - INFO - 获取员工列表成功,总数: 5
|
||
21:49:29 - article_server - INFO - [API响应] GET /api/employees/list - IP: 36.27.52.26 - 状态码: 200
|
||
21:49:35 - article_server - INFO - [API访问] DELETE /api/employees/18 - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:35 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:35 - article_server - WARNING - [权限检查失败] 用户角色 enterprise 不在允许的角色 ('enterprise_admin',) 中
|
||
21:49:35 - article_server - INFO - [API响应] DELETE /api/employees/18 - IP: 36.27.52.26 - 状态码: 403
|
||
21:49:37 - article_server - INFO - [API访问] DELETE /api/employees/18 - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:37 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:37 - article_server - WARNING - [权限检查失败] 用户角色 enterprise 不在允许的角色 ('enterprise_admin',) 中
|
||
21:49:37 - article_server - INFO - [API响应] DELETE /api/employees/18 - IP: 36.27.52.26 - 状态码: 403
|
||
21:49:44 - article_server - INFO - [API访问] DELETE /api/employees/18 - IP: 36.27.52.26 - User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Sa
|
||
21:49:44 - article_server - INFO - [Token验证成功] 用户ID: 4
|
||
21:49:44 - article_server - WARNING - [权限检查失败] 用户角色 enterprise 不在允许的角色 ('enterprise_admin',) 中
|
||
21:49:44 - article_server - INFO - [API响应] DELETE /api/employees/18 - IP: 36.27.52.26 - 状态码: 403
|