feat(jituan): 集团多俱乐部改造 — club 隔离、财务/提现/分红/展示配置
This commit is contained in:
40
jituan/management/commands/seed_szjilu_clubs.py
Normal file
40
jituan/management/commands/seed_szjilu_clubs.py
Normal 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 记录'))
|
||||
Reference in New Issue
Block a user