Files
Django/jituan/management/commands/seed_szjilu_clubs.py

41 lines
1.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""为每个启用俱乐部初始化 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 记录'))