| 12345678910111213141516171819202122232425262728293031323334353637 |
- from typing import List, Dict
- from app.core.database import DatabaseManager
- class PiaoquanCrawlerDatabaseMapper:
- # 兜底修改发文时间戳, 使用相同群发的msgID
- @staticmethod
- async def fallback_mechanism_by_msg_id(pool: DatabaseManager) -> int:
- # 通过msgId 来修改publish_timestamp
- query = """
- UPDATE official_articles_v2 oav
- JOIN (
- SELECT ghId, appMsgId, MAX(publish_timestamp) AS publish_timestamp
- FROM official_articles_v2
- WHERE publish_timestamp > %s
- GROUP by ghId, appMsgId
- ) vv
- ON oav.appMsgId = vv.appMsgId AND oav.ghId = vv.ghId
- SET oav.publish_timestamp = vv.publish_timestamp
- WHERE oav.publish_timestamp <= %s;
- """
- return await pool.async_save(
- query=query, params=(0, 0), db_name="piaoquan_crawler"
- )
- # 兜底修改发文时间戳,使用 update_time
- @staticmethod
- async def fallback_mechanism_by_update_time(pool: DatabaseManager) -> int:
- query = """
- UPDATE official_articles_v2
- SET publish_timestamp = updateTime
- WHERE publish_timestamp < %s;
- """
- return await pool.async_save(
- query=query, params=(0,), db_name="piaoquan_crawler"
- )
|