ongeki: proper handling of music ranking list

This commit is contained in:
2025-01-06 18:39:49 +00:00
parent 0cf41ff389
commit fa667d15f2
4 changed files with 75 additions and 32 deletions

View File

@ -98,18 +98,6 @@ cards = Table(
mysql_charset="utf8mb4",
)
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)),
UniqueConstraint("version", "musicId", name="ongeki_static_music_ranking_uk"),
mysql_charset="utf8mb4",
)
rewards = Table(
"ongeki_static_rewards",
metadata,
@ -425,13 +413,6 @@ class OngekiStaticData(BaseData):
return None
return result.fetchone()
async 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 = await self.execute(sql)
if result is None:
return None
return result.fetchall()
async def put_reward(self, version: int, rewardId: int, rewardname: str, itemKind: int, itemId: int) -> Optional[int]:
sql = insert(rewards).values(
version=version,