1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- # -*- coding: utf-8 -*-
- # !/usr/bin/env python
- import os
- from base import init_env
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", "configs.production")
- init_env(interactive=False)
- from apps.web.device.models import Device
- from apps.web.dealer.models import Dealer
- from apps.web.device.models import Group
- from bson.json_util import dumps
- from apps.web.user.models import MyUser
- old_dealer_id = 'None'
- new_dealer_id = ''
- new_group_id = ''
- logicalCodes = []
- old_group_ids = []
- for logicalCode in logicalCodes:
- device = Device.get_collection().find_one({'logicalCode': logicalCode})
- if device['ownerId'] != old_dealer_id:
- print 'error {}'.format(logicalCode)
- continue
- print dumps(device)
- old_group_id = device['groupId']
- old_group_ids.append(old_group_id)
- Device.get_collection().update_one({'logicalCode': logicalCode, 'groupId': old_group_id},
- {'$set': {'ownerId': new_dealer_id, 'groupId': new_group_id}})
- Device.invalid_device_cache(device['devNo'])
- Device.invalid_group_device_list_cache([old_group_id, new_group_id])
- # 备份用户
- # for user in MyUser.get_collection().find({'groupId':{'$in': old_group_ids}}):
- # print dumps(user)
- # 迁移用户
- # users = MyUser.objects(groupId__in=old_group_ids)
- # for user in users: # type: MyUser
- # balance = user.balance
- # total_consume = user.total_consumed
- # total_charged = user.total_recharged
- #
- # print 'openId = {}, groupId = {}, newGroupId = {}, balance = {}, totalc = {}, totalr = {}'.format(
- # user.openId, user.groupId, new_group_id, balance, total_consume, total_charged)
- #
- # try:
- # user.update(groupId=new_group_id)
- # print 'finished, openId = {}, groupId = {}'.format(user.openId, new_group_id)
- # except Exception as e:
- # # print(e)
- # new_user = MyUser.objects(openId=user.openId, groupId=new_group_id).first()
- # if new_user:
- # new_user.update(inc__balance=balance, inc__total_recharged=total_charged, inc__total_consumed=total_consume)
- # user.delete()
- # print 'finished2, openId = {}, groupId = {}'.format(new_user.openId, new_user.groupId)
- # else:
- # print 'failure, openId = {}, groupId = {}'.format(user.openId, user.groupId)
|