2025-05-07 18:01:48 +08:00
|
|
|
# apps/feishu/models.py
|
|
|
|
from django.db import models
|
|
|
|
from django.utils import timezone
|
|
|
|
import uuid
|
|
|
|
|
|
|
|
class FeishuCreator(models.Model):
|
|
|
|
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
|
|
|
record_id = models.CharField(max_length=100, unique=True, verbose_name='飞书记录ID')
|
|
|
|
|
|
|
|
# 对接人信息
|
|
|
|
contact_person = models.CharField(max_length=50, blank=True, verbose_name='对接人')
|
|
|
|
|
|
|
|
# 基本账号信息
|
|
|
|
handle = models.TextField(blank=True, verbose_name='Handle')
|
|
|
|
tiktok_url = models.TextField(blank=True, verbose_name='链接')
|
|
|
|
fans_count = models.CharField(max_length=50, blank=True, verbose_name='粉丝数')
|
|
|
|
gmv = models.CharField(max_length=100, blank=True, verbose_name='GMV')
|
|
|
|
|
|
|
|
# 联系方式
|
|
|
|
email = models.EmailField(blank=True, verbose_name='邮箱')
|
|
|
|
phone = models.CharField(max_length=50, blank=True, verbose_name='手机号|WhatsApp')
|
|
|
|
|
|
|
|
# 账号属性和报价
|
|
|
|
account_type = models.CharField(max_length=50, blank=True, verbose_name='账号属性')
|
|
|
|
price_quote = models.TextField(blank=True, verbose_name='报价')
|
|
|
|
response_speed = models.CharField(max_length=50, blank=True, verbose_name='回复速度')
|
|
|
|
|
|
|
|
# 合作相关
|
|
|
|
cooperation_intention = models.CharField(max_length=50, blank=True, verbose_name='合作意向')
|
|
|
|
payment_method = models.CharField(max_length=50, blank=True, verbose_name='支付方式')
|
|
|
|
payment_account = models.CharField(max_length=100, blank=True, verbose_name='收款账号')
|
|
|
|
address = models.TextField(blank=True, verbose_name='收件地址')
|
|
|
|
has_ooin = models.CharField(max_length=10, blank=True, verbose_name='签约OOIN?')
|
|
|
|
|
|
|
|
# 渠道和进度
|
|
|
|
source = models.CharField(max_length=100, blank=True, verbose_name='渠道来源')
|
|
|
|
contact_status = models.CharField(max_length=50, blank=True, verbose_name='建联进度')
|
|
|
|
cooperation_brands = models.JSONField(default=list, blank=True, verbose_name='合作品牌')
|
|
|
|
|
|
|
|
# 品类信息
|
|
|
|
system_categories = models.CharField(max_length=100, blank=True, verbose_name='系统展示的带货品类')
|
|
|
|
actual_categories = models.CharField(max_length=100, blank=True, verbose_name='实际高播放量带货品类')
|
|
|
|
human_categories = models.CharField(max_length=100, blank=True, verbose_name='达人标想要货品类')
|
|
|
|
|
|
|
|
# 其他信息
|
|
|
|
creator_base = models.CharField(max_length=100, blank=True, verbose_name='达人base')
|
|
|
|
notes = models.TextField(blank=True, verbose_name='父记录')
|
|
|
|
|
|
|
|
created_at = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
|
|
|
|
updated_at = models.DateTimeField(auto_now=True, verbose_name='更新时间')
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
db_table = 'feishu_creators'
|
|
|
|
verbose_name = '创作者数据'
|
2025-05-20 15:57:10 +08:00
|
|
|
verbose_name_plural = '创作者数据'
|
|
|
|
|
|
|
|
class FeishuTableMapping(models.Model):
|
|
|
|
"""
|
|
|
|
飞书多维表格与数据库表的映射关系
|
|
|
|
"""
|
|
|
|
id = models.AutoField(primary_key=True)
|
|
|
|
app_token = models.CharField(max_length=100, verbose_name='应用令牌')
|
|
|
|
table_id = models.CharField(max_length=100, verbose_name='表格ID')
|
|
|
|
table_url = models.TextField(verbose_name='表格URL')
|
|
|
|
table_name = models.CharField(max_length=100, verbose_name='数据库表名')
|
|
|
|
feishu_table_name = models.CharField(max_length=255, blank=True, null=True, verbose_name='飞书表格名称')
|
|
|
|
last_sync_time = models.DateTimeField(auto_now=True, verbose_name='最后同步时间')
|
|
|
|
total_records = models.IntegerField(default=0, verbose_name='总记录数')
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
db_table = 'feishu_table_mapping'
|
|
|
|
verbose_name = '飞书表格映射'
|
|
|
|
verbose_name_plural = '飞书表格映射'
|
|
|
|
unique_together = ('app_token', 'table_id')
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
return f"{self.feishu_table_name or self.table_name} ({self.table_id})"
|