修正機敏資料

This commit is contained in:
2025-09-24 00:15:04 +08:00
parent 6f3b56d494
commit e2df87c6b7
2 changed files with 32 additions and 28 deletions

View File

@@ -37,17 +37,17 @@ export async function GET(request: NextRequest) {
const today = new Date().toISOString().split('T')[0]
const yesterday = new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString().split('T')[0]
// 批次查詢基本統計數據
// 批次查詢基本統計數據 - 主要使用 activity_logs 表
let basicStats
try {
basicStats = await db.query(`
SELECT
(SELECT COUNT(*) FROM users) as total_users,
(SELECT COUNT(DISTINCT user_id) FROM activity_logs WHERE DATE(CONVERT_TZ(created_at, '+00:00', '+08:00')) = ? AND action IN ('login', 'view', 'submit', 'vote', 'like')) as today_active_users,
(SELECT COUNT(DISTINCT user_id) FROM activity_logs WHERE DATE(CONVERT_TZ(created_at, '+00:00', '+08:00')) = ? AND action IN ('login', 'view', 'submit', 'vote', 'like')) as yesterday_active_users,
(SELECT COUNT(DISTINCT user_id) FROM activity_logs WHERE DATE(created_at) = ? AND action IN ('login', 'view', 'submit', 'vote', 'like', 'favorite')) as today_active_users,
(SELECT COUNT(DISTINCT user_id) FROM activity_logs WHERE DATE(created_at) = ? AND action IN ('login', 'view', 'submit', 'vote', 'like', 'favorite')) as yesterday_active_users,
(SELECT COALESCE(AVG(rating), 0) FROM user_ratings WHERE rating > 0) as avg_rating,
(SELECT COUNT(*) FROM apps) as total_apps,
(SELECT COUNT(*) FROM apps WHERE DATE(CONVERT_TZ(created_at, '+00:00', '+08:00')) >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)) as new_this_week
(SELECT COUNT(*) FROM apps WHERE DATE(created_at) >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)) as new_this_week
`, [today, yesterday])
} catch (dbError) {
console.error('📊 資料庫查詢錯誤:', dbError)
@@ -89,7 +89,7 @@ export async function GET(request: NextRequest) {
const debugActivityLogs = await db.query(`
SELECT action, COUNT(*) as count
FROM activity_logs
WHERE DATE(CONVERT_TZ(created_at, '+00:00', '+08:00')) >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
WHERE DATE(created_at) >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
GROUP BY action
ORDER BY count DESC
`)
@@ -98,7 +98,7 @@ export async function GET(request: NextRequest) {
const debugTodayActivity = await db.query(`
SELECT action, COUNT(DISTINCT user_id) as unique_users
FROM activity_logs
WHERE DATE(CONVERT_TZ(created_at, '+00:00', '+08:00')) = ?
WHERE DATE(created_at) = ?
GROUP BY action
ORDER BY unique_users DESC
`, [today])
@@ -221,31 +221,35 @@ export async function GET(request: NextRequest) {
console.log('📊 查詢日期範圍:', { startDate, endDate })
// 先測試查詢是否有數據
// 先測試查詢是否有數據 - 使用 activity_logs 表
const testQuery = await db.query(`
SELECT
viewed_at,
DATE(viewed_at) as date_direct,
created_at,
DATE(created_at) as date_direct,
user_id,
app_id
FROM user_views
WHERE DATE(viewed_at) BETWEEN ? AND ?
ORDER BY viewed_at DESC
action,
resource_type
FROM activity_logs
WHERE DATE(created_at) BETWEEN ? AND ?
ORDER BY created_at DESC
LIMIT 10
`, [startDate, endDate])
console.log('📊 測試查詢結果最近10筆:', testQuery)
// 使用 activity_logs 表獲取每日用戶和會話數據
dailyStats = await db.query(`
SELECT
DATE(viewed_at) as date,
DATE(created_at) as date,
COUNT(DISTINCT user_id) as daily_users,
COUNT(*) as daily_sessions
FROM user_views
WHERE DATE(viewed_at) BETWEEN ? AND ?
GROUP BY DATE(viewed_at)
FROM activity_logs
WHERE DATE(created_at) BETWEEN ? AND ?
AND action IN ('login', 'view', 'submit', 'vote', 'like', 'favorite')
GROUP BY DATE(created_at)
ORDER BY date DESC
`, [startDate, endDate])
// 獲取所有活動的統計
dailyActivityStats = await db.query(`
SELECT
DATE(created_at) as date,

View File

@@ -3,18 +3,18 @@
# =====================================================
# ===== 主機資料庫配置 =====
DB_HOST=mysql.theaken.com
DB_PORT=33306
DB_NAME=db_AI_Platform
DB_USER=AI_Platform
DB_PASSWORD=Aa123456
DB_HOST=XXXXX
DB_PORT=XXXX
DB_NAME=XXXXX
DB_USER=XXXX
DB_PASSWORD=XXXX
# ===== 備機資料庫配置 =====
SLAVE_DB_HOST=122.100.99.161
SLAVE_DB_PORT=43306
SLAVE_DB_NAME=db_AI_Platform
SLAVE_DB_USER=A999
SLAVE_DB_PASSWORD=1023
SLAVE_DB_HOST=XXXX
SLAVE_DB_PORT=XXXX
SLAVE_DB_NAME=XXXX
SLAVE_DB_USER=XXXX
SLAVE_DB_PASSWORD=XXXX
# ===== 資料庫備援配置 =====
DB_FAILOVER_ENABLED=true
@@ -30,7 +30,7 @@ DB_RETRY_DELAY=2000
# ===== AI API 配置 =====
# Gemini API 配置 (主要使用)
NEXT_PUBLIC_GEMINI_API_KEY=AIzaSyAN3pEJr_Vn2xkCidGZAq9eQqsMVvpj8g4
NEXT_PUBLIC_GEMINI_API_KEY=your_api_key_here
NEXT_PUBLIC_GEMINI_API_URL=https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-latest:generateContent
# DeepSeek API 配置 (備用)