From 06ea9e2d096aa7c01f2aab12926effe181a3ead0 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Mon, 30 Sep 2024 10:26:32 +0800 Subject: [PATCH] fix siteuserdata --- app/chain/site.py | 1 + app/db/models/siteuserdata.py | 2 ++ app/db/site_oper.py | 9 +++++++- database/versions/0fb94bf69b38_2_0_2.py | 30 +++++++++++++++++++++++++ 4 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 database/versions/0fb94bf69b38_2_0_2.py diff --git a/app/chain/site.py b/app/chain/site.py index 748b4330..48fd6fa2 100644 --- a/app/chain/site.py +++ b/app/chain/site.py @@ -64,6 +64,7 @@ class SiteChain(ChainBase): userdata: SiteUserData = self.run_module("refresh_userdata", site=site) if userdata: self.siteoper.update_userdata(domain=StringUtils.get_url_domain(site.get("domain")), + name=site.get("name"), payload=userdata.dict()) return userdata diff --git a/app/db/models/siteuserdata.py b/app/db/models/siteuserdata.py index ce23a970..0db26662 100644 --- a/app/db/models/siteuserdata.py +++ b/app/db/models/siteuserdata.py @@ -13,6 +13,8 @@ class SiteUserData(Base): id = Column(Integer, Sequence('id'), primary_key=True, index=True) # 站点域名 domain = Column(String, index=True) + # 站点名称 + name = Column(String) # 用户名 username = Column(String) # 用户ID diff --git a/app/db/site_oper.py b/app/db/site_oper.py index 768a907b..7a2f9c02 100644 --- a/app/db/site_oper.py +++ b/app/db/site_oper.py @@ -105,7 +105,7 @@ class SiteOper(DbOper): }) return True, "更新站点RSS地址成功" - def update_userdata(self, domain: str, payload: dict) -> Tuple[bool, str]: + def update_userdata(self, domain: str, name: str, payload: dict) -> Tuple[bool, str]: """ 更新站点用户数据 """ @@ -114,6 +114,7 @@ class SiteOper(DbOper): current_time = datetime.now().strftime('%H:%M:%S') payload.update({ "domain": domain, + "name": name, "updated_day": current_day, "updated_time": current_time }) @@ -130,6 +131,12 @@ class SiteOper(DbOper): SiteUserData(**payload).create(self._db) return True, "更新站点用户数据成功" + def get_userdata(self) -> List[SiteUserData]: + """ + 获取站点用户数据 + """ + return SiteUserData.list(self._db) + def get_userdata_by_domain(self, domain: str, workdate: str = None) -> List[SiteUserData]: """ 获取站点用户数据 diff --git a/database/versions/0fb94bf69b38_2_0_2.py b/database/versions/0fb94bf69b38_2_0_2.py new file mode 100644 index 00000000..14fa4c9e --- /dev/null +++ b/database/versions/0fb94bf69b38_2_0_2.py @@ -0,0 +1,30 @@ +"""2.0.2 + +Revision ID: 0fb94bf69b38 +Revises: 262735d025da +Create Date: 2024-09-30 10:03:58.546036 + +""" +import contextlib + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '0fb94bf69b38' +down_revision = '262735d025da' +branch_labels = None +depends_on = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + with contextlib.suppress(Exception): + with op.batch_alter_table("siteuserdata") as batch_op: + batch_op.add_column(sa.Column('name', sa.VARCHAR)) + # ### end Alembic commands ### + + +def downgrade() -> None: + pass