From 04b0f3a8cad4bd5c353f8da8226fc0097ec76cfb Mon Sep 17 00:00:00 2001 From: thug0bin Date: Fri, 27 Feb 2026 16:31:31 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=B9=B4=EC=B9=B4=EC=98=A4=20=EC=9D=B8?= =?UTF-8?q?=EC=A6=9D=EC=9D=BC(kakao=5Fverified=5Fat)=20=ED=95=84=EB=93=9C?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - DB에 kakao_verified_at 컬럼 추가 - link_kakao_identity()에서 최초 연동 시 인증일 기록 - 대시보드 테이블에 실제 인증일 표시 - 기존 카카오 연동 사용자 마이그레이션 완료 --- backend/app.py | 13 ++++++++++--- backend/templates/admin.html | 4 ++-- 2 files changed, 12 insertions(+), 5 deletions(-) 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 @@ {{ "{:,}".format(user.mileage_balance) }}P {{ user.created_at[:16].replace('T', ' ') }} - {% if user.nickname != '고객' %} - 💬 {{ user.updated_at[:10] if user.updated_at else '-' }} + {% if user.kakao_verified_at %} + 💬 {{ user.kakao_verified_at[:10] }} {% else %} 미인증 {% endif %}