feat(jituan): 集团多俱乐部改造 — club 隔离、财务/提现/分红/展示配置
This commit is contained in:
42
jituan/management/commands/backfill_tixian_club_id.py
Normal file
42
jituan/management/commands/backfill_tixian_club_id.py
Normal file
@@ -0,0 +1,42 @@
|
||||
"""按用户 ClubID 回填提现流水 club_id。"""
|
||||
from django.core.management.base import BaseCommand
|
||||
from django.db import transaction
|
||||
|
||||
from jituan.constants import CLUB_ID_DEFAULT
|
||||
from jituan.services.club_user import get_user_club_id
|
||||
from users.business_models import User
|
||||
from users.models import TixianAutoRecord, Tixianjilu, TixianShenheJilu
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = '回填 tixianjilu / tixian_shenhe_jilu / tixian_auto_record 的 club_id'
|
||||
|
||||
def handle(self, *args, **options):
|
||||
uid_club = {}
|
||||
for u in User.query.all().only('UserUID', 'ClubID'):
|
||||
uid_club[u.UserUID] = get_user_club_id(u)
|
||||
|
||||
updated = {'jilu': 0, 'shenhe': 0, 'auto': 0}
|
||||
|
||||
with transaction.atomic():
|
||||
for row in Tixianjilu.query.all().only('id', 'yonghuid', 'club_id'):
|
||||
cid = uid_club.get(row.yonghuid) or CLUB_ID_DEFAULT
|
||||
if row.club_id != cid:
|
||||
Tixianjilu.query.filter(id=row.id).update(club_id=cid)
|
||||
updated['jilu'] += 1
|
||||
|
||||
for row in TixianShenheJilu.query.all().only('id', 'yonghuid', 'club_id'):
|
||||
cid = uid_club.get(row.yonghuid) or CLUB_ID_DEFAULT
|
||||
if row.club_id != cid:
|
||||
TixianShenheJilu.query.filter(id=row.id).update(club_id=cid)
|
||||
updated['shenhe'] += 1
|
||||
|
||||
for row in TixianAutoRecord.query.all().only('id', 'yonghuid', 'club_id'):
|
||||
cid = uid_club.get(row.yonghuid) or CLUB_ID_DEFAULT
|
||||
if row.club_id != cid:
|
||||
TixianAutoRecord.query.filter(id=row.id).update(club_id=cid)
|
||||
updated['auto'] += 1
|
||||
|
||||
self.stdout.write(self.style.SUCCESS(
|
||||
f'回填完成: jilu={updated["jilu"]}, shenhe={updated["shenhe"]}, auto={updated["auto"]}'
|
||||
))
|
||||
Reference in New Issue
Block a user