修复签到bug
This commit is contained in:
@@ -40,7 +40,7 @@ class SignInDB(BaseDBOperator):
|
|||||||
return self.execute_query(sql, (wx_id, group_id), fetch_one=True)
|
return self.execute_query(sql, (wx_id, group_id), fetch_one=True)
|
||||||
|
|
||||||
def update_sign_record(self, wx_id: str, group_id: str, wx_nick_name: str,
|
def update_sign_record(self, wx_id: str, group_id: str, wx_nick_name: str,
|
||||||
points_to_add: int, sign_time: datetime, streak: int) -> bool:
|
points_to_add: int, sign_time: datetime, streak: int) -> bool:
|
||||||
"""更新签到记录"""
|
"""更新签到记录"""
|
||||||
sql = """
|
sql = """
|
||||||
UPDATE t_sign_record
|
UPDATE t_sign_record
|
||||||
@@ -53,7 +53,7 @@ class SignInDB(BaseDBOperator):
|
|||||||
return self.execute_update(sql, params)
|
return self.execute_update(sql, params)
|
||||||
|
|
||||||
def create_sign_record(self, wx_id: str, group_id: str, wx_nick_name: str,
|
def create_sign_record(self, wx_id: str, group_id: str, wx_nick_name: str,
|
||||||
points: int, sign_time: datetime, streak: int) -> bool:
|
points: int, sign_time: datetime, streak: int) -> bool:
|
||||||
"""创建签到记录"""
|
"""创建签到记录"""
|
||||||
sql = """
|
sql = """
|
||||||
INSERT INTO t_sign_record
|
INSERT INTO t_sign_record
|
||||||
@@ -64,7 +64,8 @@ class SignInDB(BaseDBOperator):
|
|||||||
return self.execute_update(sql, params)
|
return self.execute_update(sql, params)
|
||||||
|
|
||||||
def update_sign_record_with_last_date(self, wx_id: str, group_id: str, wx_nick_name: str,
|
def update_sign_record_with_last_date(self, wx_id: str, group_id: str, wx_nick_name: str,
|
||||||
points_to_add: int, sign_time: datetime, streak: int, last_sign_date: datetime) -> bool:
|
points_to_add: int, sign_time: datetime, streak: int,
|
||||||
|
last_sign_date: datetime) -> bool:
|
||||||
"""更新签到记录,包括上次签到日期"""
|
"""更新签到记录,包括上次签到日期"""
|
||||||
sql = """
|
sql = """
|
||||||
UPDATE t_sign_record
|
UPDATE t_sign_record
|
||||||
@@ -73,45 +74,27 @@ class SignInDB(BaseDBOperator):
|
|||||||
last_sign_date = %s, update_time = %s
|
last_sign_date = %s, update_time = %s
|
||||||
WHERE wx_id = %s AND group_id = %s
|
WHERE wx_id = %s AND group_id = %s
|
||||||
"""
|
"""
|
||||||
try:
|
params = (wx_nick_name, points_to_add,
|
||||||
with self._get_db_connection() as conn:
|
sign_time, streak,
|
||||||
with conn.cursor() as cursor:
|
last_sign_date, datetime.now(),
|
||||||
cursor.execute(sql, (
|
wx_id, group_id)
|
||||||
wx_nick_name, points_to_add,
|
self.execute_update(sql, params)
|
||||||
sign_time, streak,
|
|
||||||
last_sign_date, datetime.now(),
|
|
||||||
wx_id, group_id
|
|
||||||
))
|
|
||||||
conn.commit()
|
|
||||||
return True
|
|
||||||
except Exception as e:
|
|
||||||
self.LOG.error(f"更新签到记录失败: {e}")
|
|
||||||
return False
|
|
||||||
|
|
||||||
def create_sign_record_with_last_date(self, wx_id: str, group_id: str, wx_nick_name: str,
|
def create_sign_record_with_last_date(self, wx_id: str, group_id: str, wx_nick_name: str,
|
||||||
points: int, sign_time: datetime, streak: int, last_sign_date: datetime) -> bool:
|
points: int, sign_time: datetime, streak: int,
|
||||||
|
last_sign_date: datetime) -> bool:
|
||||||
"""创建新的签到记录,包括上次签到日期"""
|
"""创建新的签到记录,包括上次签到日期"""
|
||||||
sql = """
|
sql = """
|
||||||
INSERT INTO t_sign_record
|
INSERT INTO t_sign_record
|
||||||
(wx_id, group_id, wx_nick_name, points, sign_stat, signin_streak, last_sign_date, create_time, update_time)
|
(wx_id, group_id, wx_nick_name, points, sign_stat, signin_streak, last_sign_date, create_time, update_time)
|
||||||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)
|
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)
|
||||||
"""
|
"""
|
||||||
try:
|
params = (
|
||||||
with self._get_db_connection() as conn:
|
wx_id, group_id, wx_nick_name, points, sign_time, streak, last_sign_date, datetime.now(), datetime.now())
|
||||||
with conn.cursor() as cursor:
|
self.execute_update(sql, params)
|
||||||
cursor.execute(sql, (
|
|
||||||
wx_id, group_id, wx_nick_name,
|
|
||||||
points, sign_time, streak, last_sign_date,
|
|
||||||
datetime.now(), datetime.now()
|
|
||||||
))
|
|
||||||
conn.commit()
|
|
||||||
return True
|
|
||||||
except Exception as e:
|
|
||||||
self.LOG.error(f"创建签到记录失败: {e}")
|
|
||||||
return False
|
|
||||||
|
|
||||||
def update_makeup_sign(self, wx_id: str, group_id: str, wx_nick_name: str,
|
def update_makeup_sign(self, wx_id: str, group_id: str, wx_nick_name: str,
|
||||||
points_to_add: int, sign_time: datetime, streak: int, last_sign_date: datetime) -> bool:
|
points_to_add: int, sign_time: datetime, streak: int, last_sign_date: datetime) -> bool:
|
||||||
"""更新补签记录,专门处理今天已签到的情况"""
|
"""更新补签记录,专门处理今天已签到的情况"""
|
||||||
sql = """
|
sql = """
|
||||||
UPDATE t_sign_record
|
UPDATE t_sign_record
|
||||||
@@ -120,17 +103,9 @@ class SignInDB(BaseDBOperator):
|
|||||||
update_time = %s
|
update_time = %s
|
||||||
WHERE wx_id = %s AND group_id = %s
|
WHERE wx_id = %s AND group_id = %s
|
||||||
"""
|
"""
|
||||||
try:
|
params = (wx_nick_name, points_to_add,
|
||||||
with self._get_db_connection() as conn:
|
streak, last_sign_date,
|
||||||
with conn.cursor() as cursor:
|
datetime.now(),
|
||||||
cursor.execute(sql, (
|
wx_id, group_id
|
||||||
wx_nick_name, points_to_add,
|
)
|
||||||
streak, last_sign_date,
|
self.execute_update(sql, params)
|
||||||
datetime.now(),
|
|
||||||
wx_id, group_id
|
|
||||||
))
|
|
||||||
conn.commit()
|
|
||||||
return True
|
|
||||||
except Exception as e:
|
|
||||||
self.LOG.error(f"更新补签记录失败: {e}")
|
|
||||||
return False
|
|
||||||
|
|||||||
Reference in New Issue
Block a user