加入了 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,7 +1,8 @@
from django.db import models
from gvsdsdk.model_base import QModel
class Dingdan(models.Model):
class Dingdan(QModel):
"""订单主表"""
# 核心编号:唯一且不可为空[citation:3][citation:9]
dingdan_id = models.CharField(max_length=32, unique=True,db_index=True, verbose_name='订单ID')
@@ -65,7 +66,7 @@ class Dingdan(models.Model):
def __str__(self):
return self.dingdan_id
class DingdanPingtai(models.Model):
class DingdanPingtai(QModel):
"""平台订单扩展表 (当 fadan_pingtai=1 时使用)"""
dingdan = models.OneToOneField(Dingdan, on_delete=models.CASCADE, related_name='pingtai_kuozhan', verbose_name='订单')
laoban_id = models.CharField(max_length=32, null=True, blank=True, db_index=True,verbose_name='老板ID')
@@ -98,7 +99,7 @@ class DingdanPingtai(models.Model):
return f"平台扩展-{self.dingdan.dingdan_id}"
class DingdanShangjia(models.Model):
class DingdanShangjia(QModel):
"""商家发单扩展表 (当 fadan_pingtai=2 时使用)"""
dingdan = models.OneToOneField(Dingdan, on_delete=models.CASCADE, related_name='shangjia_kuozhan', verbose_name='订单')
shangjia_id = models.CharField(max_length=32, null=True, blank=True,db_index=True, verbose_name='商家ID')
@@ -135,7 +136,7 @@ class DingdanShangjia(models.Model):
class DingdanPeihu(models.Model):
class DingdanPeihu(QModel):
"""陪护订单表一个订单最多2个陪护"""
# 关联订单(一对一,陪护订单依附于原订单)
dingdan_id = models.CharField(max_length=32, unique=True, db_index=True, verbose_name='订单ID')
@@ -180,7 +181,7 @@ class DingdanPeihu(models.Model):
class Fadan(models.Model):
class Fadan(QModel):
"""罚单表——平台各类处罚信息"""
id = models.AutoField(primary_key=True, verbose_name='自增主键')
beichufa_id = models.CharField(max_length=20, db_index=True, verbose_name='被处罚用户ID') # 直接用yonghuid后续可改为外键
@@ -228,7 +229,7 @@ class Fadan(models.Model):
# ==================== 罚款申诉图片表 ====================
class FadanShensuTupian(models.Model):
class FadanShensuTupian(QModel):
"""罚款申诉图片,关联罚单"""
fadan = models.ForeignKey(Fadan, on_delete=models.CASCADE, related_name='shensu_tupians', verbose_name='关联罚单')
beichufa_id = models.CharField(max_length=7, db_index=True, verbose_name='被处罚用户ID') # 冗余,便于直接按用户查
@@ -253,7 +254,7 @@ class FadanShensuTupian(models.Model):
# 与 Fadan 放在同一个文件或独立的 fadan/models.py
class FadanFenhong(models.Model):
class FadanFenhong(QModel):
"""罚款分红表——记录罚款产生的分红信息"""
id = models.AutoField(primary_key=True, verbose_name='自增主键')
fenhongzhe_id = models.CharField(max_length=20, db_index=True, verbose_name='分红者ID')
@@ -282,7 +283,7 @@ class FadanFenhong(models.Model):
class FadanFenhongLilv(models.Model):
class FadanFenhongLilv(QModel):
shenfen = models.IntegerField(primary_key=True, choices=[(1, '客服'), (2, '售后'), (3, '管理员'), (4, '店铺'), (5, '商家')], verbose_name='申请处罚人身份')
lilv = models.DecimalField(max_digits=5, decimal_places=4, default=0.0000, verbose_name='分红费率')
create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
@@ -299,7 +300,7 @@ class FadanFenhongLilv(models.Model):
class OrderDashouHistory(models.Model):
class OrderDashouHistory(QModel):
"""
订单打手变更历史表
记录订单每次更换打手的操作
@@ -327,7 +328,7 @@ class OrderDashouHistory(models.Model):
class Dashoutupian(models.Model):
class Dashoutupian(QModel):
dingdan_id = models.CharField(max_length=32,db_index=True, null=True, verbose_name='订单ID')
dashou = models.CharField(max_length=32, null=True, blank=True,db_index=True, verbose_name='接单打手ID')
tupian = models.CharField(max_length=500, null=True, blank=True, verbose_name='打手提交图片URL')
@@ -344,7 +345,7 @@ class Dashoutupian(models.Model):
class Pingfen(models.Model):
class Pingfen(QModel):
dashou = models.CharField(max_length=32, null=True, blank=True, db_index=True,verbose_name='接单打手ID')
zongfen = models.PositiveIntegerField(default=0, verbose_name='总分')
cishu = models.PositiveIntegerField(default=0, verbose_name='评分次数')
@@ -368,7 +369,7 @@ class Pingfen(models.Model):
class Lilubiao(models.Model):
class Lilubiao(QModel):
lilu = models.DecimalField(max_digits=5, decimal_places=4,null=True, verbose_name='平台分成利率1是平台,2是商家')
#sahngjialilu = models.DecimalField(max_digits=5, decimal_places=4,null=True, verbose_name='商家利率')
fadanpingtai = models.CharField(max_length=10,null=True,verbose_name='订单所属平台,(商家或平台)')
@@ -380,7 +381,7 @@ class Lilubiao(models.Model):
class Chufajilu(models.Model):
class Chufajilu(QModel):
dashouid = models.CharField(max_length=7, null=True, db_index=True, verbose_name='被罚打手ID')
qingqiuid = models.CharField(max_length=11, null=True, db_index=True, verbose_name='请求处罚ID')
chuliid = models.CharField(max_length=11, null=True, db_index=True, verbose_name='处理处罚ID')
@@ -402,7 +403,7 @@ class Chufajilu(models.Model):
]
class Chufatupian(models.Model):
class Chufatupian(QModel):
dingdan_id = models.CharField(max_length=32,db_index=True, null=True, verbose_name='订单ID')
yonghuid = models.CharField(max_length=32, null=True, blank=True,db_index=True, verbose_name='用户ID')
tupian = models.CharField(max_length=500, null=True, blank=True, verbose_name='证据图片URL')
@@ -418,7 +419,7 @@ class Chufatupian(models.Model):
]
class Tuikuanjilu(models.Model):
class Tuikuanjilu(QModel):
dingdan_id = models.CharField(max_length=32, unique=True, verbose_name='订单ID')
dashouid = models.CharField(max_length=7, null=True, verbose_name='接单打手ID')
qingqiuid = models.CharField(max_length=7, null=True, verbose_name='请求用户ID')
@@ -442,7 +443,7 @@ class Tuikuanjilu(models.Model):
]
class Ptliushui(models.Model):
class Ptliushui(QModel):
zonge = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True, verbose_name='收取总金额')
zhichuzonge = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True, verbose_name='支出总金额')
zongshouyi = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True, verbose_name='总收益')
@@ -457,7 +458,7 @@ class Ptliushui(models.Model):
db_table = 'ptliushui'
class Liaotian(models.Model):
class Liaotian(QModel):
"""聊天关系表 - 极简设计,不设置唯一约束"""
# 主键
id = models.BigAutoField(primary_key=True, verbose_name='主键ID')