24 lines
975 B
Python
24 lines
975 B
Python
"""按充值订单 / 订单 / 用户回填 gsfenhong.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_penalty import resolve_gsfenhong_club_id
|
|
from products.models import Gsfenhong
|
|
|
|
|
|
class Command(BaseCommand):
|
|
help = '回填 gsfenhong.club_id'
|
|
|
|
def handle(self, *args, **options):
|
|
updated = 0
|
|
with transaction.atomic():
|
|
for row in Gsfenhong.query.all().only('dingdan_id', 'dashouid', 'club_id'):
|
|
cid = resolve_gsfenhong_club_id(dingdan_id=row.dingdan_id, dashouid=row.dashouid)
|
|
if not cid:
|
|
cid = CLUB_ID_DEFAULT
|
|
if row.club_id != cid:
|
|
Gsfenhong.query.filter(dingdan_id=row.dingdan_id).update(club_id=cid)
|
|
updated += 1
|
|
self.stdout.write(self.style.SUCCESS(f'gsfenhong club_id 更新 {updated} 条'))
|