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

@@ -0,0 +1,40 @@
"""为每个启用俱乐部初始化 szjilu 收支流水行。"""
from django.core.management.base import BaseCommand
from django.db import transaction
from config.models import Szjilu
from jituan.constants import CLUB_ID_DEFAULT
from jituan.models import Club
from jituan.services.szjilu_accounting import normalize_szjilu_club_id
class Command(BaseCommand):
help = '为每个俱乐部创建 szjilu 收支流水行(已有则跳过)'
def add_arguments(self, parser):
parser.add_argument(
'--club-id',
type=str,
default='',
help='仅处理指定 club_id默认处理全部启用俱乐部',
)
def handle(self, *args, **options):
club_id = (options.get('club_id') or '').strip()
if club_id:
club_ids = [normalize_szjilu_club_id(club_id)]
else:
club_ids = list(
Club.query.filter(status=1).values_list('club_id', flat=True)
)
if CLUB_ID_DEFAULT not in club_ids:
club_ids.append(CLUB_ID_DEFAULT)
created = 0
with transaction.atomic():
for cid in club_ids:
_, was_created = Szjilu.objects.get_or_create(club_id=cid)
if was_created:
created += 1
self.stdout.write(f'创建 szjilu: club_id={cid}')
self.stdout.write(self.style.SUCCESS(f'完成,新建 {created} 条 szjilu 记录'))