From 90b0c0d181e5a47572297a20f68223a26f63e31d Mon Sep 17 00:00:00 2001 From: liuwei Date: Fri, 11 Apr 2025 12:20:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=AD=BE=E5=88=B0bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/sign_in.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/db/sign_in.py b/db/sign_in.py index 4ae355e..66b8cb4 100644 --- a/db/sign_in.py +++ b/db/sign_in.py @@ -126,3 +126,38 @@ class SignInDB(BaseDBOperator): last_sign_date, previous_streak, datetime.now(), wx_id, group_id) return self.execute_update(sql, params) + + def update_makeup_sign_with_streak_recovery(self, wx_id: str, group_id: str, wx_nick_name: str, + points_to_add: int, sign_time: datetime, streak: int, + last_sign_date: datetime, previous_streak: int) -> bool: + """更新补签记录,支持连签恢复""" + sql = """ + UPDATE t_sign_record + SET wx_nick_name = %s, points = points + %s, + signin_streak = %s, last_sign_date = %s, + previous_streak = %s, update_time = %s + WHERE wx_id = %s AND group_id = %s + """ + params = (wx_nick_name, points_to_add, + streak, last_sign_date, + previous_streak, datetime.now(), + wx_id, group_id + ) + return self.execute_update(sql, params) + + def update_sign_record_with_streak_recovery(self, wx_id: str, group_id: str, wx_nick_name: str, + points_to_add: int, sign_time: datetime, streak: int, + last_sign_date: datetime, previous_streak: int) -> bool: + """更新签到记录,支持连签恢复""" + sql = """ + UPDATE t_sign_record + SET wx_nick_name = %s, points = points + %s, + sign_stat = %s, signin_streak = %s, + last_sign_date = %s, previous_streak = %s, update_time = %s + WHERE wx_id = %s AND group_id = %s + """ + params = (wx_nick_name, points_to_add, + sign_time, streak, + last_sign_date, previous_streak, datetime.now(), + wx_id, group_id) + return self.execute_update(sql, params)