Ai_Admin/MyApi/migrations/0001_initial.py

616 lines
23 KiB
Python
Raw Normal View History

2024-06-05 05:25:27 +08:00
# Generated by Django 5.0.3 on 2024-06-01 04:23
import django.utils.timezone
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = []
operations = [
migrations.CreateModel(
name="Administrator",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("username", models.CharField(max_length=150, unique=True)),
("password", models.CharField(max_length=128)),
("role", models.CharField(max_length=100)),
("is_active", models.BooleanField(default=True)),
("last_login", models.DateTimeField(blank=True, null=True)),
("created_at", models.DateTimeField(auto_now_add=True)),
],
options={
"db_table": "Administrator",
},
),
migrations.CreateModel(
name="ApiCallLog",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"source",
models.CharField(
blank=True,
choices=[("index", "Index"), ("weixin", "Weixin")],
max_length=100,
null=True,
verbose_name="来源",
),
),
(
"openid",
models.CharField(
blank=True, max_length=150, null=True, verbose_name="openid"
),
),
(
"nickname",
models.CharField(
blank=True, max_length=255, null=True, verbose_name="用户标识"
),
),
(
"wxid",
models.CharField(
blank=True, max_length=255, null=True, verbose_name="微信id"
),
),
(
"wechat_alias",
models.CharField(
blank=True, max_length=255, null=True, verbose_name="微信号"
),
),
("api_name", models.CharField(max_length=255, verbose_name="调用接口")),
(
"is_successful",
models.BooleanField(default=False, verbose_name="是否成功"),
),
("remarks", models.TextField(blank=True, null=True, verbose_name="备注")),
(
"call_time",
models.DateTimeField(auto_now_add=True, verbose_name="调用时间"),
),
],
options={
"verbose_name": "API调用日志",
"verbose_name_plural": "API调用日志",
"db_table": "api_call_log",
},
),
migrations.CreateModel(
name="ChatRecord",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("openid", models.CharField(default=None, max_length=150)),
("nickname", models.CharField(max_length=150, verbose_name="用户昵称")),
(
"conversation_id",
models.CharField(max_length=100, verbose_name="会话ID"),
),
("role", models.CharField(max_length=100, verbose_name="角色")),
("message_content", models.TextField(verbose_name="消息内容")),
(
"is_response",
models.BooleanField(default=False, verbose_name="是否为AI回复"),
),
(
"timestamp",
models.DateTimeField(
default=django.utils.timezone.now, verbose_name="时间戳"
),
),
],
options={
"verbose_name": "聊天记录",
"verbose_name_plural": "聊天记录",
"db_table": "chat_record",
"ordering": ["-timestamp"],
},
),
migrations.CreateModel(
name="Copywriting",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"openid",
models.CharField(
blank=True, max_length=150, null=True, verbose_name="openid"
),
),
(
"nickname",
models.CharField(
blank=True, max_length=255, null=True, verbose_name="用户标识"
),
),
("text_content", models.TextField(verbose_name="文本内容")),
("source", models.CharField(max_length=255, verbose_name="来源")),
(
"tag",
models.CharField(default=None, max_length=255, verbose_name="标签"),
),
("popularity", models.IntegerField(default=0, verbose_name="热度")),
(
"added_time",
models.DateTimeField(auto_now_add=True, verbose_name="添加时间"),
),
(
"is_approved",
models.BooleanField(default=False, verbose_name="审核通过"),
),
],
options={
"verbose_name": "文案库",
"verbose_name_plural": "文案库",
"db_table": "Copywriting",
},
),
migrations.CreateModel(
name="FriendRequest",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("fromusername", models.CharField(max_length=255, verbose_name="微信ID")),
(
"alias",
models.CharField(
blank=True, max_length=255, null=True, verbose_name="微信号"
),
),
(
"fromnickname",
models.CharField(
blank=True, max_length=255, null=True, verbose_name="昵称"
),
),
(
"country",
models.CharField(
blank=True, max_length=255, null=True, verbose_name="国家"
),
),
(
"province",
models.CharField(
blank=True, max_length=255, null=True, verbose_name="省份"
),
),
(
"city",
models.CharField(
blank=True, max_length=255, null=True, verbose_name="城市"
),
),
(
"sex",
models.CharField(
blank=True, max_length=1, null=True, verbose_name="性别"
),
),
(
"scene",
models.CharField(
blank=True, max_length=255, null=True, verbose_name="来源"
),
),
("time", models.DateTimeField(verbose_name="申请时间")),
("towxid", models.CharField(max_length=255, verbose_name="目标微信ID")),
],
options={
"verbose_name": "添加好友请求",
"verbose_name_plural": "添加好友请求",
"db_table": "FriendRequest",
},
),
migrations.CreateModel(
name="IDCounter",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("count", models.IntegerField(default=10000)),
],
options={
"db_table": "IDCounter",
},
),
migrations.CreateModel(
name="MembershipType",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"type",
models.CharField(max_length=50, unique=True, verbose_name="卡类型"),
),
("title", models.CharField(max_length=100, verbose_name="标题")),
("description", models.TextField(verbose_name="描述")),
(
"price",
models.DecimalField(
decimal_places=2, max_digits=10, verbose_name="价格"
),
),
("duration_days", models.IntegerField(verbose_name="有效天数")),
],
options={
"verbose_name": "会员卡类型",
"verbose_name_plural": "会员卡类型",
"db_table": "membership_type",
},
),
migrations.CreateModel(
name="RedemptionCard",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"code",
models.CharField(max_length=100, unique=True, verbose_name="卡密"),
),
(
"card_type",
models.CharField(
choices=[("member", "会员卡"), ("quota", "额度卡")],
max_length=50,
verbose_name="卡类型",
),
),
(
"created_date",
models.DateTimeField(auto_now_add=True, verbose_name="生成日期"),
),
("expiry_date", models.DateTimeField(verbose_name="到期时间")),
("is_used", models.BooleanField(default=False, verbose_name="是否已使用")),
(
"used_by_openid",
models.CharField(
blank=True, max_length=150, null=True, verbose_name="使用者OpenID"
),
),
(
"used_by_nickname",
models.CharField(
blank=True, max_length=150, null=True, verbose_name="使用者昵称"
),
),
(
"card_creation_time",
models.DateTimeField(auto_now_add=True, verbose_name="卡密创建时间"),
),
(
"validity_period",
models.PositiveIntegerField(default=0, verbose_name="有效期"),
),
],
options={
"verbose_name": "兑换卡",
"verbose_name_plural": "兑换卡",
"db_table": "redemption_card",
},
),
migrations.CreateModel(
name="TransactionLog",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"transaction_no",
models.CharField(max_length=255, unique=True, verbose_name="交易编号"),
),
(
"transaction_status",
models.CharField(
choices=[
("pending", "待处理"),
("completed", "完成"),
("failed", "失败"),
],
default="pending",
max_length=50,
verbose_name="交易状态",
),
),
(
"user_openid",
models.CharField(max_length=150, verbose_name="用户OpenID"),
),
(
"transaction_type",
models.CharField(
choices=[("member", "会员购买"), ("quota", "续费会员")],
max_length=50,
verbose_name="交易类型",
),
),
(
"transaction_amount",
models.DecimalField(
decimal_places=2, max_digits=10, verbose_name="交易金额"
),
),
(
"remark",
models.TextField(
blank=True,
choices=[
("day", "一天会员充值"),
("week", "一周会员充值"),
("month", "一月会员充值"),
("season", "三月会员充值"),
("year", "一年会员充值"),
],
null=True,
verbose_name="备注",
),
),
(
"created_at",
models.DateTimeField(auto_now_add=True, verbose_name="创建时间"),
),
(
"updated_at",
models.DateTimeField(auto_now=True, verbose_name="更新时间"),
),
],
options={
"verbose_name": "交易记录",
"verbose_name_plural": "交易记录",
"db_table": "transaction_log",
},
),
migrations.CreateModel(
name="User",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("openid", models.CharField(max_length=150, unique=True)),
("wxid", models.CharField(blank=True, max_length=150, null=True)),
(
"wechat_number",
models.CharField(
blank=True, max_length=150, null=True, verbose_name="微信号"
),
),
("nickname", models.CharField(blank=True, max_length=150, null=True)),
("gender", models.CharField(blank=True, max_length=10, null=True)),
("region", models.CharField(blank=True, max_length=150, null=True)),
("email", models.EmailField(blank=True, max_length=254, null=True)),
("phone", models.CharField(blank=True, max_length=20, null=True)),
("password", models.CharField(blank=True, max_length=128, null=True)),
("scene", models.CharField(blank=True, max_length=100, null=True)),
("is_member", models.BooleanField(default=False)),
("member_start_time", models.BigIntegerField(blank=True, null=True)),
("member_end_time", models.BigIntegerField(blank=True, null=True)),
("is_active", models.BooleanField(default=True)),
("usage_count", models.IntegerField(blank=True, default=0, null=True)),
("coins", models.IntegerField(default=100, verbose_name="金币数量")),
(
"balance",
models.DecimalField(
decimal_places=2,
default=0.0,
max_digits=10,
verbose_name="用户余额",
),
),
(
"inviter_nickname",
models.CharField(
blank=True, max_length=150, null=True, verbose_name="邀请人昵称"
),
),
(
"invitees_count",
models.IntegerField(default=0, verbose_name="邀请人数量"),
),
(
"daily_video_quota",
models.IntegerField(default=5, verbose_name="每日视频生成额度"),
),
("created_at", models.DateTimeField(auto_now_add=True)),
],
options={
"db_table": "User",
},
),
migrations.CreateModel(
name="VideoExtractionRecord",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"extraction_link",
models.URLField(max_length=2048, verbose_name="提取链接"),
),
(
"source",
models.CharField(
choices=[("index", "Index"), ("weixin", "Weixin")],
max_length=100,
verbose_name="来源",
),
),
(
"openid",
models.CharField(
blank=True, max_length=150, null=True, verbose_name="openid"
),
),
(
"nickname",
models.CharField(
blank=True, max_length=255, null=True, verbose_name="用户标识"
),
),
(
"video_title",
models.TextField(blank=True, null=True, verbose_name="视频标题"),
),
(
"wxid",
models.CharField(
blank=True, max_length=255, null=True, verbose_name="微信id"
),
),
(
"wechat_alias",
models.CharField(
blank=True, max_length=255, null=True, verbose_name="微信号"
),
),
(
"is_successful",
models.CharField(
blank=True, max_length=255, null=True, verbose_name="是否提取成功"
),
),
(
"exception_reason",
models.TextField(blank=True, null=True, verbose_name="异常原因"),
),
(
"extraction_time",
models.DateTimeField(auto_now_add=True, verbose_name="提取时间"),
),
],
options={
"verbose_name": "视频提取记录",
"verbose_name_plural": "视频提取记录",
"db_table": "VideoExtractionRecord",
},
),
migrations.CreateModel(
name="VideoTask",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("openid", models.CharField(max_length=150)),
("nickname", models.CharField(max_length=150)),
("task_id", models.CharField(max_length=255, unique=True)),
("task_type", models.CharField(max_length=50)),
(
"status",
models.CharField(
choices=[
("PENDING", "待处理"),
("IN_PROGRESS", "处理中"),
("RUNNING", "运行中"),
("SUCCEEDED", "成功"),
("FAILED", "失败"),
],
default="PENDING",
max_length=20,
),
),
("created_at", models.DateTimeField(auto_now_add=True)),
("updated_at", models.DateTimeField(auto_now=True)),
("text_prompt", models.TextField(null=True)),
("width", models.IntegerField(null=True)),
("height", models.IntegerField(null=True)),
("motion_score", models.IntegerField(null=True)),
("style", models.CharField(blank=True, max_length=255, null=True)),
("seconds", models.IntegerField(null=True)),
("image_url", models.TextField(blank=True, null=True)),
("result_url", models.TextField(blank=True, null=True)),
("qiniu_url", models.TextField(blank=True, null=True)),
("progress", models.FloatField(default=0.0)),
("error_message", models.TextField(blank=True, null=True)),
],
options={
"db_table": "video_task",
"ordering": ["-created_at"],
},
),
]