加入了 GVSDSDK 模块,进行了 QModel 兼容层的尝试,生产环境可用

This commit is contained in:
2026-06-16 00:13:10 +08:00
parent 9d9cfa53a4
commit 63e0f4edfc
68 changed files with 10256 additions and 1143 deletions

View File

@@ -1,10 +1,11 @@
# models.py
from django.db import models
from django.contrib.auth.models import AbstractBaseUser
from gvsdsdk.model_base import QModel
# ==================== 用户主表 ====================
class UserMain(AbstractBaseUser):
class UserMain(AbstractBaseUser, QModel):
# ID字段
id = models.AutoField(primary_key=True, verbose_name='主键ID')
yonghuid = models.CharField(max_length=7, unique=True, db_index=True, verbose_name='用户ID')
@@ -70,7 +71,7 @@ class UserMain(AbstractBaseUser):
# 新增服务号用户表
class OfficialAccountUser(models.Model):
class OfficialAccountUser(QModel):
unionid = models.CharField(max_length=64, null =True,db_index=True, verbose_name='UnionID')
official_openid = models.CharField(max_length=64, db_index=True, unique=True, verbose_name='服务号OpenID')
subscribe_time = models.DateTimeField(auto_now_add=True, verbose_name='关注时间')
@@ -88,7 +89,7 @@ class OfficialAccountUser(models.Model):
# ==================== 老板扩展表 ====================
class UserBoss(models.Model):
class UserBoss(QModel):
user = models.OneToOneField(UserMain, on_delete=models.CASCADE, related_name='boss_profile',
verbose_name='关联用户')
nickname = models.CharField(max_length=50, verbose_name='老板昵称')
@@ -105,7 +106,7 @@ class UserBoss(models.Model):
# ==================== 打手扩展表 ====================
class UserDashou(models.Model):
class UserDashou(QModel):
user = models.OneToOneField(UserMain, on_delete=models.CASCADE, related_name='dashou_profile',
verbose_name='关联用户')
nicheng = models.CharField(max_length=50, null=True, verbose_name='打手昵称')
@@ -149,7 +150,7 @@ class UserDashou(models.Model):
# ==================== 商家扩展表 ====================
class UserShangjia(models.Model):
class UserShangjia(QModel):
user = models.OneToOneField(UserMain, on_delete=models.CASCADE, related_name='shop_profile',
verbose_name='关联用户')
nicheng = models.CharField(max_length=50, unique=True, db_index=True, verbose_name='商家昵称')
@@ -178,7 +179,7 @@ class UserShangjia(models.Model):
# ==================== 管事扩展表 ====================
class UserGuanshi(models.Model):
class UserGuanshi(QModel):
user = models.OneToOneField(UserMain, on_delete=models.CASCADE, related_name='guanshi_profile',
verbose_name='关联用户')
yaoqingren = models.CharField(max_length=7,null=True, db_index=True, verbose_name='邀请人ID')
@@ -219,7 +220,7 @@ class UserGuanshi(models.Model):
class UserZuzhang(models.Model):
class UserZuzhang(QModel):
"""组长扩展表与UserMain一对一关联"""
user = models.OneToOneField(
UserMain,
@@ -273,7 +274,7 @@ class UserZuzhang(models.Model):
def __str__(self):
return f"组长 {self.user.yonghuid}"
class UserShenheguan(models.Model):
class UserShenheguan(QModel):
"""审核官扩展表与UserMain一对一关联"""
user = models.OneToOneField(UserMain, on_delete=models.CASCADE, related_name='shenheguan_profile', verbose_name='关联用户', db_index=True)
zhuangtai = models.IntegerField(choices=[(0, '禁用'), (1, '正常')], default=1, verbose_name='账号状态')
@@ -294,7 +295,7 @@ class UserShenheguan(models.Model):
# ==================== 管理员扩展表 ====================
class AdminProfile(models.Model):
class AdminProfile(QModel):
user = models.OneToOneField(UserMain, on_delete=models.CASCADE, related_name='admin_profile',
verbose_name='关联用户')
password = models.CharField(max_length=255, verbose_name='密码')
@@ -309,7 +310,7 @@ class AdminProfile(models.Model):
indexes = [models.Index(fields=['user']), ]
class UserKefu(models.Model):
class UserKefu(QModel):
user = models.OneToOneField(UserMain, on_delete=models.CASCADE, related_name='kefu_profile', verbose_name='关联用户')
nicheng = models.CharField(max_length=50, verbose_name='客服昵称')
erjimima = models.CharField(max_length=128, verbose_name='二级密码')
@@ -335,7 +336,7 @@ class UserKefu(models.Model):
class Tixianjilu(models.Model):
class Tixianjilu(QModel):
id = models.AutoField(primary_key=True, verbose_name='提现记录ID')
yonghuid = models.CharField(max_length=7, db_index=True, verbose_name='提现用户ID')
avatar = models.CharField(max_length=500, null=True, blank=True, verbose_name='头像') # 用CharField
@@ -380,7 +381,7 @@ class Tixianjilu(models.Model):
class TixianShenheJilu(models.Model):
class TixianShenheJilu(QModel):
"""
提现审核记录表(自动打款新流程)
状态码与前端 TX_STATUS / Tixianjilu.zhuangtai 完全对标:
@@ -440,7 +441,7 @@ class TixianShenheJilu(models.Model):
class TixianAutoRecord(models.Model):
class TixianAutoRecord(QModel):
"""
自动提现记录表(微信自动打款)
"""
@@ -499,7 +500,7 @@ class TixianAutoRecord(models.Model):
# yonghu/models.py
class Xiugaijilu(models.Model):
class Xiugaijilu(QModel):
id = models.AutoField(primary_key=True, verbose_name='记录ID')
yonghuid = models.CharField(max_length=7, verbose_name='被修改用户ID')
xiugaiid = models.CharField(max_length=30, verbose_name='修改人账号ID')
@@ -549,7 +550,7 @@ class Xiugaijilu(models.Model):
# yonghu/models.py - 新增排行榜模型
class RankingRecord(models.Model):
class RankingRecord(QModel):
# id: 主键ID
id = models.AutoField(primary_key=True, verbose_name='ID')