update Event Ranking, Tech Challenge, and Music Ranking

This commit is contained in:
2023-11-07 04:38:04 +01:00
committed by phantomlan
parent 1897e8002d
commit d2e2c14074
3 changed files with 56 additions and 47 deletions

View File

@ -100,6 +100,7 @@ music_ranking = Table(
"ongeki_static_music_ranking_list",
metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column("version", Integer, nullable=False),
Column("musicId", Integer, nullable=False),
Column("point", Integer, nullable=False),
Column("userName", String(255)),
@ -136,6 +137,18 @@ present = Table(
mysql_charset="utf8mb4",
)
tech_music = Table(
"ongeki_static_tech_music",
metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column("version", Integer, nullable=False),
Column("eventId", Integer, nullable=False),
Column("musicId", Integer, nullable=False),
Column("level", Integer, nullable=False),
UniqueConstraint("version", "musicId", name="ongeki_static_tech_music_uk"),
mysql_charset="utf8mb4",
)
class OngekiStaticData(BaseData):
def put_card(self, version: int, card_id: int, **card_data) -> Optional[int]:
sql = insert(cards).values(version=version, cardId=card_id, **card_data)
@ -373,8 +386,8 @@ class OngekiStaticData(BaseData):
return None
return result.fetchone()
def get_ranking_list(self) -> Optional[List[Dict]]:
sql = select(music_ranking.c.musicId.label('id'), music_ranking.c.point, music_ranking.c.userName)
def get_ranking_list(self, version: int) -> Optional[List[Dict]]:
sql = select(music_ranking.c.musicId.label('id'), music_ranking.c.point, music_ranking.c.userName).where(music_ranking.c.version == version)
result = self.execute(sql)
if result is None:
return None
@ -414,3 +427,12 @@ class OngekiStaticData(BaseData):
self.logger.warning(f"Failed to load present list")
return None
return result.fetchall()
def get_tech_music(self, version: int) -> Optional[List[Dict]]:
sql = select(tech_music).where(tech_music.c.version == version)
result = self.execute(sql)
if result is None:
return None
return result.fetchall()