liyan_IC_card_fix.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. # -*- coding: utf-8 -*-
  2. #!/usr/bin/env python
  3. import os
  4. import sys
  5. import datetime
  6. PROJECT_ROOT = os.path.join(os.path.abspath(os.path.split(os.path.realpath(__file__))[0] + "/.."), '..')
  7. sys.path.insert(0, PROJECT_ROOT)
  8. # 引入项目环境和日志
  9. from script.base import init_env, get_logger
  10. init_env(interactive=True)
  11. logger = get_logger(__name__)
  12. from apps.web.user.models import RechargeRecord, CardRechargeOrder, ICChargeOperating
  13. from bson.objectid import ObjectId
  14. # 传orderNo
  15. arr = []
  16. for _ in arr:
  17. r = RechargeRecord.objects(orderNo=_).first()
  18. if r is None:
  19. logger.error('invalid orderNo=%s' % _)
  20. continue
  21. if r.via != u'chargeCard':
  22. logger.error('not chargeCard=%s' % _)
  23. continue
  24. cardId = r.attachParas['cardId']
  25. c = CardRechargeOrder.objects(rechargeNo=ObjectId(cardId)).first()
  26. if c is None:
  27. logger.error('get orderNo=%s but undefined cardId=%s' % (_, r.attachParas['cardId']))
  28. continue
  29. # 1.删
  30. ics = ICChargeOperating.objects(cardId=cardId)
  31. for ic in ics:
  32. ic.delete()
  33. # 2.改状态
  34. c.status = u'finishedPay'
  35. # 3.改时间
  36. c.dateTimeAdded = datetime.datetime.now()
  37. c.save()
  38. print 'done!'