Files
offerpie_job_cleaner/app/models/mysql/company.py
T
2026-06-02 18:38:36 +08:00

37 lines
2.2 KiB
Python

"""MySQL: bg_company 表模型"""
from datetime import datetime
from typing import Optional
from sqlalchemy import BigInteger, DateTime, Integer, JSON, String, Text
from sqlalchemy.orm import Mapped, mapped_column
from app.core.database import MysqlBase
class Company(MysqlBase):
"""公司表"""
__tablename__ = "bg_company"
id: Mapped[int] = mapped_column(BigInteger, primary_key=True, comment="主键ID(雪花)")
name: Mapped[Optional[str]] = mapped_column(String(255), comment="公司全称")
short_name: Mapped[str] = mapped_column(String(128), nullable=False, comment="公司简称")
logo_url: Mapped[Optional[str]] = mapped_column(String(512), comment="Logo地址")
region_code: Mapped[Optional[str]] = mapped_column(String(20), comment="地区编码")
company_type: Mapped[Optional[str]] = mapped_column(String(32), comment="企业类型:上市企业/独角兽/国企等")
industry_id: Mapped[Optional[int]] = mapped_column(BigInteger, comment="行业ID")
tags: Mapped[Optional[list]] = mapped_column(JSON, comment="公司标签JSON数组")
summary: Mapped[Optional[str]] = mapped_column(String(512), comment="一句话简介")
description: Mapped[Optional[str]] = mapped_column(Text, comment="公司详细描述")
founded_year: Mapped[Optional[str]] = mapped_column(String(10), comment="成立年份")
address: Mapped[Optional[str]] = mapped_column(String(255), comment="总部地址")
scale: Mapped[Optional[str]] = mapped_column(String(32), comment="企业规模")
website: Mapped[Optional[str]] = mapped_column(String(255), comment="官网地址")
financing_stage: Mapped[Optional[str]] = mapped_column(String(32), comment="融资状态")
latest_valuation: Mapped[Optional[str]] = mapped_column(String(64), comment="最新估值")
news: Mapped[Optional[list]] = mapped_column(JSON, comment="相关新闻JSON数组")
status: Mapped[int] = mapped_column(Integer, default=0, comment="0=待完善 1=已完善 2=禁用 3=补充中 4=补充失败")
create_time: Mapped[datetime] = mapped_column(DateTime, nullable=False, comment="创建时间")
update_time: Mapped[datetime] = mapped_column(DateTime, nullable=False, comment="更新时间")