# coding=utf-8
# create by oldman at 2018/7/11
from django.core.management import BaseCommand
from django.db import transaction

from api import Service
from hippo.models import Doctor


class Command(BaseCommand):
    """修改医生美购的名字
    python manage.py update_2018_07_11_update_service_name

    Hi 李鹏
    如刚才沟通，辛苦进行如下操作：
    医生ID：4184e0e47d8211e6a70500163e00062b
    姓名由丁雅晴 修改为 马群

    医生ID：473991886a4f4cff9aafa1447dd1c413
    姓名由程志伟 修改为 丁雅晴

    7月13号
    Hi 李鹏 & 承洋
    还有一个医生换名字的，辛苦也处理一下吧。
    医生id 05aa1857d45f40578405d999868aea31
    姓名由 雷中元 更改为 徐利刚

    医生id 98086aac83b14d05888c132055d14041
    姓名由 刘清波 更改为 陈福旺

    7月27号 ：
    医生ID：e69423254043414abaf447ee35ebac31

    原医生姓名：展望

    更改为：王光辉

    并将该账号下所有包含“展望”的美购更改为“王光辉”

    10月24号

    机构名称：杭州艺星医疗美容医院
    原医生名字：王祎
    原医生ID：5e0f19897f4b4f64b6caf7e61bd9837b
    修改为：杨连华

    机构名称：杭州艺星医疗美容医院
    原医生名字：徐利刚（系统中有两个徐利刚，请核对ID和登录手机号）
    原医生ID：05aa1857d45f40578405d999868aea31
    登录手机号：13175729924
    修改为：王祎

    12月11号
    李鹏好
      商务需要修改的信息如下，还请协助变更。

    机构名称：北京欧扬医疗美容门诊部
    原医生名字：薄滨
    原医生ID：46dc09b2c8d411e6961e00163e002cb6
    修改为：胡智鹏
    修改影响范围：该医生账号的名称、该医生账号名下美购的名称（其中包含有医生姓名）

    19年1月25号
    需要改动的账号信息如下：
    机构名称：天津知妍医疗美容
    原医生名字：薛云鹏
    原医生ID：ba59d341ac054ab79cd8e67c19ff4f7f
    修改为：刘雪涛


    """

    def handle(self, *args, **options):
        # doctor1 = Doctor.objects.get(id='5e0f19897f4b4f64b6caf7e61bd9837b')
        # services = Service.objects.filter(doctor=doctor1)
        # for service in services:
        #     try:
        #         with transaction.atomic():
        #             print service.id, service.name
        #             service.name = service.name.replace(u'王祎', u'杨连华')
        #             service.save(update_fields=['name'])
        #             print service.name
        #             serviceregister = service.servicereg.all()[0]
        #             print serviceregister.name
        #             serviceregister.name = service.name
        #             serviceregister.save(update_fields=['name'])
        #             print serviceregister.name
        #     except Exception as e:
        #         print e.message
        #         continue

        doctor2 = Doctor.objects.get(id='ba59d341ac054ab79cd8e67c19ff4f7f')
        services = Service.objects.filter(doctor=doctor2)
        for service in services:
            try:
                with transaction.atomic():
                    print service.id, service.name
                    service.name = service.name.replace(u'薛云鹏', u'刘雪涛')
                    service.save(update_fields=['name'])
                    print service.name

                    serviceregister = service.servicereg.all()[0]
                    print serviceregister.name
                    serviceregister.name = service.name
                    serviceregister.save(update_fields=['name'])
                    print serviceregister.name
            except Exception as e:
                print e.message
                continue
