feat(jituan): 集团多俱乐部改造 — club 隔离、财务/提现/分红/展示配置

This commit is contained in:
XingQue
2026-06-24 05:02:18 +08:00
parent ce9b09f096
commit dcc4936428
82 changed files with 5748 additions and 924 deletions

View File

@@ -122,6 +122,7 @@ class AbnormalUserLog(QModel):
# ==================== 6. 商家每日统计 ====================
class MerchantDailyStats(QModel):
"""商家每日统计表(原 ShangjiaRiTongji"""
club_id = models.CharField(max_length=16, default='xq', db_index=True, verbose_name='俱乐部ID')
MerchantID = models.CharField(
max_length=7, db_index=True, db_column='yonghuid', verbose_name='商家用户ID')
Date = models.DateField(
@@ -151,7 +152,7 @@ class MerchantDailyStats(QModel):
class Meta:
db_table = 'shangjia_ri_tongji'
verbose_name = '商家每日统计'
unique_together = [['MerchantID', 'Date']]
unique_together = [['club_id', 'MerchantID', 'Date']]
indexes = [
models.Index(fields=['Date', '-AssignedAmount']),
models.Index(fields=['Date', '-SettledAmount']),
@@ -165,6 +166,7 @@ class MerchantDailyStats(QModel):
# ==================== 7. 打手每日统计 ====================
class PlayerDailyStats(QModel):
"""打手每日统计表(原 DashouRiTongji"""
club_id = models.CharField(max_length=16, default='xq', db_index=True, verbose_name='俱乐部ID')
PlayerID = models.CharField(
max_length=7, db_index=True, db_column='yonghuid', verbose_name='打手用户ID')
Date = models.DateField(
@@ -194,7 +196,7 @@ class PlayerDailyStats(QModel):
class Meta:
db_table = 'dashou_ri_tongji'
verbose_name = '打手每日统计'
unique_together = [['PlayerID', 'Date']]
unique_together = [['club_id', 'PlayerID', 'Date']]
indexes = [
models.Index(fields=['Date', '-AcceptedOrderTotal']),
models.Index(fields=['Date', '-CompletedOrderTotal']),
@@ -209,6 +211,7 @@ class PlayerDailyStats(QModel):
# ==================== 8. 组长每日统计 ====================
class LeaderDailyStats(QModel):
"""组长每日统计表(原 ZuzhangRiTongji"""
club_id = models.CharField(max_length=16, default='xq', db_index=True, verbose_name='俱乐部ID')
LeaderID = models.CharField(
max_length=7, db_index=True, db_column='yonghuid', verbose_name='组长用户ID')
Date = models.DateField(
@@ -226,7 +229,7 @@ class LeaderDailyStats(QModel):
class Meta:
db_table = 'zuzhang_ri_tongji'
verbose_name = '组长每日统计'
unique_together = [['LeaderID', 'Date']]
unique_together = [['club_id', 'LeaderID', 'Date']]
indexes = [
models.Index(fields=['Date', '-InvitedManagerCount']),
models.Index(fields=['Date', '-TotalIncome']),
@@ -239,6 +242,7 @@ class LeaderDailyStats(QModel):
# ==================== 9. 管事每日统计 ====================
class ManagerDailyStats(QModel):
"""管事每日统计表(原 GuanshiRiTongji"""
club_id = models.CharField(max_length=16, default='xq', db_index=True, verbose_name='俱乐部ID')
ManagerID = models.CharField(
max_length=7, db_index=True, db_column='yonghuid', verbose_name='管事用户ID')
Date = models.DateField(
@@ -255,7 +259,7 @@ class ManagerDailyStats(QModel):
class Meta:
db_table = 'guanshi_ri_tongji'
verbose_name = '管事每日统计'
unique_together = [['ManagerID', 'Date']]
unique_together = [['club_id', 'ManagerID', 'Date']]
indexes = [
models.Index(fields=['Date', '-InvitedPlayerCount']),
models.Index(fields=['Date', '-RechargedPlayerCount']),
@@ -269,6 +273,7 @@ class ManagerDailyStats(QModel):
# ==================== 10. 管事续费每日统计 ====================
class ManagerRenewalDailyStats(QModel):
"""管事续费每日统计表(原 GuanshiXufeiRiTongji"""
club_id = models.CharField(max_length=16, default='xq', db_index=True, verbose_name='俱乐部ID')
ManagerID = models.CharField(
max_length=7, db_index=True, db_column='yonghuid', verbose_name='管事用户ID')
Date = models.DateField(
@@ -283,7 +288,7 @@ class ManagerRenewalDailyStats(QModel):
class Meta:
db_table = 'guanshi_xufei_ri_tongji'
verbose_name = '管事续费每日统计'
unique_together = [['ManagerID', 'Date']]
unique_together = [['club_id', 'ManagerID', 'Date']]
indexes = [
models.Index(fields=['Date', '-RenewalTotal']),
models.Index(fields=['Date', '-RenewalRevenue']),
@@ -295,7 +300,8 @@ class ManagerRenewalDailyStats(QModel):
# ==================== 11. 提现每日统计 ====================
class WithdrawalDailyStats(QModel):
"""每日提现统计表(原 TixianRiTongji按身份统计当天提现总额"""
"""每日提现统计表(原 TixianRiTongji俱乐部+身份统计当天提现到账总额"""
club_id = models.CharField(max_length=16, default='xq', db_index=True, verbose_name='俱乐部ID')
Date = models.DateField(
db_index=True, db_column='riqi', verbose_name='日期')
WithdrawalType = models.IntegerField(
@@ -308,8 +314,11 @@ class WithdrawalDailyStats(QModel):
class Meta:
db_table = 'tixian_ri_tongji'
verbose_name = '每日提现统计'
unique_together = [['Date', 'WithdrawalType']]
indexes = [models.Index(fields=['Date', 'WithdrawalType'])]
unique_together = [['club_id', 'Date', 'WithdrawalType']]
indexes = [
models.Index(fields=['club_id', 'Date', 'WithdrawalType']),
models.Index(fields=['Date', 'WithdrawalType']),
]
def __str__(self):
return f"{self.Date} - {self.get_WithdrawalType_display()} 提现总额: {self.total_amount}"