加入了 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,9 +1,10 @@
from django.db import models
from gvsdsdk.model_base import QModel
from django.conf import settings
from orders.models import Dingdan
# ==================== 板块表 ====================
class Bankuai(models.Model):
class Bankuai(QModel):
bankuai_id = models.AutoField(primary_key=True, verbose_name='板块ID')
mingcheng = models.CharField(max_length=50, unique=True, db_index=True, verbose_name='板块名称')
create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
@@ -18,7 +19,7 @@ class Bankuai(models.Model):
# ==================== 打手订单表现记录 ====================
class DashouBiaoxian(models.Model):
class DashouBiaoxian(QModel):
dingdan = models.ForeignKey('orders.Dingdan', to_field='dingdan_id', on_delete=models.CASCADE, related_name='biaoxian', verbose_name='关联订单', db_index=True)
dashou_id = models.CharField(max_length=32, db_index=True, verbose_name='打手ID')
@@ -38,7 +39,7 @@ class DashouBiaoxian(models.Model):
# ==================== 经验变动记录 ====================
class JingyanJilu(models.Model):
class JingyanJilu(QModel):
yonghu_id = models.CharField(max_length=7, db_index=True, verbose_name='用户ID')
yonghu_leixing = models.CharField(max_length=10, choices=[('dashou','打手'),('boss','老板'),('shangjia','商家'),('guanshi','管事'),('zuzhang','组长')], verbose_name='用户类型')
bankuai = models.ForeignKey(Bankuai, on_delete=models.PROTECT, to_field='bankuai_id', verbose_name='所属板块', db_index=True)
@@ -59,7 +60,7 @@ class JingyanJilu(models.Model):
# ==================== 称号主表 ====================
class Chenghao(models.Model):
class Chenghao(QModel):
mingcheng = models.CharField(max_length=50, unique=True, verbose_name='称号名称')
leixing = models.CharField(max_length=10, choices=[('dashou','打手'),('boss','老板'),('shangjia','商家'),('guanshi','管事'),('zuzhang','组长')], verbose_name='称号类型')
bankuai = models.ForeignKey(Bankuai, on_delete=models.PROTECT, to_field='bankuai_id', null=True, blank=True, verbose_name='所属板块(空=全板块通用)')
@@ -77,7 +78,7 @@ class Chenghao(models.Model):
# ==================== 用户 - 称号关联 ====================
class YonghuChenghao(models.Model):
class YonghuChenghao(QModel):
yonghu = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='chenghao_list', verbose_name='用户', db_index=True)
chenghao = models.ForeignKey(Chenghao, on_delete=models.CASCADE, verbose_name='称号')
huode_time = models.DateTimeField(auto_now_add=True, verbose_name='获得时间')
@@ -94,7 +95,7 @@ class YonghuChenghao(models.Model):
class DingdanBiaoqian(models.Model):
class DingdanBiaoqian(QModel):
"""订单需求标签关联表"""
dingdan = models.ForeignKey(
Dingdan,
@@ -116,7 +117,7 @@ class DingdanBiaoqian(models.Model):
class ShenheJilu(models.Model):
class ShenheJilu(QModel):
"""审核记录表"""
shenqingren_id = models.CharField(max_length=7, verbose_name='申请人用户ID')
shenheguan_id = models.CharField(max_length=7, null = True,verbose_name='审核官用户ID')
@@ -144,7 +145,7 @@ class ShenheJilu(models.Model):
class KaohePayTemp(models.Model):
class KaohePayTemp(QModel):
"""考核支付临时上下文(仅用于支付成功后回调取参,不删除数据)"""
dingdan_id = models.CharField(max_length=50, unique=True, db_index=True, verbose_name='订单ID')
yonghuid = models.CharField(max_length=7, db_index=True, verbose_name='用户ID')
@@ -167,7 +168,7 @@ class KaohePayTemp(models.Model):
class KaoheCishuFeiyong(models.Model):
class KaoheCishuFeiyong(QModel):
"""各标签各考核次数所需缴纳金额"""
chenghao = models.ForeignKey(Chenghao, on_delete=models.CASCADE, verbose_name='标签')
cishu = models.IntegerField(verbose_name='第几次考核')
@@ -181,7 +182,7 @@ class KaoheCishuFeiyong(models.Model):
indexes = [models.Index(fields=['chenghao', 'cishu'])]
class KaoheJujueJilu(models.Model):
class KaoheJujueJilu(QModel):
"""考核拒绝原因记录"""
jilu = models.ForeignKey(ShenheJilu, on_delete=models.CASCADE, to_field='jilu_id', verbose_name='审核记录')
cishu = models.IntegerField(verbose_name='对应次数')
@@ -196,7 +197,7 @@ class KaoheJujueJilu(models.Model):
indexes = [models.Index(fields=['jilu_id', 'cishu'])]
class KaoheJiluFeiyong(models.Model):
class KaoheJiluFeiyong(QModel):
"""每次考核记录实际缴纳的费用明细"""
jilu = models.ForeignKey(ShenheJilu, on_delete=models.CASCADE, to_field='jilu_id', verbose_name='考核记录')
cishu = models.IntegerField(verbose_name='第几次考核')
@@ -210,7 +211,7 @@ class KaoheJiluFeiyong(models.Model):
class KaoheguanBankuai(models.Model):
class KaoheguanBankuai(QModel):
"""考核官与板块多对多关联表"""
kaoheguan_id = models.CharField(max_length=7, db_index=True, verbose_name='考核官用户ID')
bankuai = models.ForeignKey(Bankuai, on_delete=models.CASCADE, to_field='bankuai_id', verbose_name='所属板块')