diff --git a/backend/app.py b/backend/app.py index 9dd08ce..01354a1 100644 --- a/backend/app.py +++ b/backend/app.py @@ -500,7 +500,9 @@ def link_kakao_identity(user_id, kakao_id, kakao_data): WHERE provider = 'kakao' AND provider_user_id = ? """, (kakao_id,)) - if not cursor.fetchone(): + is_new_link = cursor.fetchone() is None + + if is_new_link: # raw_data 제외 (세션 크기 절약) store_data = {k: v for k, v in kakao_data.items() if k != 'raw_data'} cursor.execute(""" @@ -517,6 +519,11 @@ def link_kakao_identity(user_id, kakao_id, kakao_data): if kakao_data.get('email'): updates.append("email = ?") params.append(kakao_data['email']) + + # 카카오 인증일 기록 (최초 연동 시) + if is_new_link: + updates.append("kakao_verified_at = datetime('now')") + if updates: params.append(user_id) cursor.execute(f"UPDATE users SET {', '.join(updates)} WHERE id = ?", params) @@ -1840,7 +1847,7 @@ def admin(): # 최근 가입 사용자 (20명) cursor.execute(""" - SELECT id, nickname, phone, mileage_balance, created_at, updated_at + SELECT id, nickname, phone, mileage_balance, created_at, kakao_verified_at FROM users ORDER BY created_at DESC LIMIT 20 @@ -1852,7 +1859,7 @@ def admin(): for user in recent_users_raw: user_dict = dict(user) user_dict['created_at'] = utc_to_kst_str(user['created_at']) - user_dict['updated_at'] = utc_to_kst_str(user['updated_at']) if user['updated_at'] else None + user_dict['kakao_verified_at'] = utc_to_kst_str(user['kakao_verified_at']) if user['kakao_verified_at'] else None recent_users.append(user_dict) # 최근 적립 내역 (50건) diff --git a/backend/templates/admin.html b/backend/templates/admin.html index 2673009..60aa84d 100644 --- a/backend/templates/admin.html +++ b/backend/templates/admin.html @@ -484,8 +484,8 @@