clear_somediarys_service.py 1.18 KB
from utils.rpc import rpc_client
import time
from django.core.management.base import BaseCommand
from talos.models.diary import Diary
from gm_types.gaia import DOCTOR_TYPE

hospital_ids=['BJYLHZXMRYY','49a24a1c15b011e6950800163e0051d4']
def clear_somediarys_service():
    doctor_ids=[]
    for doctor_type in DOCTOR_TYPE:
        for hospital_id in hospital_ids:
            doctors=rpc_client['api/hospital/doctor'](hospital_id=hospital_id,doctor_type=doctor_type[0]).unwrap()
            if doctors:
               doctor_ids.extend([doctor["id"] for doctor in doctors if  doctor.get("id")])
    service_ids = rpc_client['doctors/service_id/list'](doctor_ids=doctor_ids).unwrap()

    if service_ids:
       Diary.objects.filter(service_id__in=service_ids).update(service_id=None)


class Command(BaseCommand):

    def handle(self, *args, **options):
        """删除部分美购与日记本的关联"""

        print('------ starting -----')
        start_time = time.time()
        print("start at: ", start_time)
        clear_somediarys_service()
        end_time = time.time()
        print("end at: ", end_time)
        print('total use {} s.'.format(end_time - start_time))
        print('Done!')