close_charge_switch.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # -*- coding: utf-8 -*-
  2. # !/usr/bin/env python
  3. import os,sys
  4. PROJECT_ROOT = os.path.join(os.path.abspath(os.path.split(os.path.realpath(__file__))[0] + "/.."), '..')
  5. sys.path.insert(0, PROJECT_ROOT)
  6. os.environ.update({"DJANGO_SETTINGS_MODULE": "configs.production"})
  7. import django
  8. django.setup()
  9. from apps.web.dealer.models import Dealer
  10. from apps.web.device.models import Device
  11. from apps.web.device.models import Group
  12. from apps.web.agent.models import Agent
  13. agentBlackList = ['15888766630','13966711825','13812791529']
  14. dealerBlackList = ['13827102928','18674568321','13930448219','15854515805','13837145142','13838521870','13812791529','13053339762','13968093002','19916092108','19916092108','13837145142','15915611166','15359713511','13122516396','13705625096','15896595915']
  15. #黑名单中的关闭掉
  16. # agentIds = [str(agent.id) for agent in Agent.objects.filter(username__in = agentBlackList)]
  17. # dealers = [dealer for dealer in Dealer.objects.filter(agentId__in = agentIds).only('id')]
  18. # dealers2 = [dealer for dealer in Dealer.objects.filter(username__in = dealerBlackList).only('id')]
  19. # dealers.extend(dealers2)
  20. # agentIds = [str(agent.id) for agent in Agent.objects.filter(username__in = ['13930448219'])]
  21. # dealers = [dealer for dealer in Dealer.objects.filter(agentId__in = agentIds).only('id')]
  22. dealers = [dealer for dealer in Dealer.objects.filter(username__in = ['13837145142'])]
  23. count = 0
  24. dealerIds = []
  25. for dealer in dealers:
  26. devCount = Device.objects.filter(ownerId = str(dealer.id)).count()
  27. if devCount > 10:
  28. continue
  29. dealerIds.append(str(dealer.id))
  30. print 'dealer id num',len(dealerIds)
  31. groupIds = [str(_.id) for _ in Group.objects.filter(ownerId__in = dealerIds)]
  32. for groupId in groupIds:
  33. Group.update_group(groupId,beforeChargeUnpay = False)
  34. print 'finished'