43 lines
1.8 KiB
Python
43 lines
1.8 KiB
Python
"""按用户 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"]}'
|
|
))
|