yuewantong.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # coding=utf-8
  2. from apilib.monetary import VirtualCoin, RMB
  3. from apps.web.device.models import Device
  4. from base import init_env
  5. init_env(True)
  6. from apps.web.user.models import ConsumeRecord, UniqueUser
  7. from apps.web.core.device_define.ywt_chongdiangui_new import Calculater
  8. def _handle_not_finished_order():
  9. """
  10. 某些信号状态不好的情况下 粤万通的充电柜可能会导致结算失败,从而无法继续使用下一个订单
  11. 清理程序
  12. """
  13. userId = raw_input("请输入用户个人中心ID, userId = ")
  14. try:
  15. user = UniqueUser.objects.get(userId=userId) # type: UniqueUser
  16. openId = user.openId
  17. except Exception:
  18. print u"未找到用户"
  19. return
  20. orders = ConsumeRecord.objects.filter(
  21. openId=openId,
  22. status__ne="finished"
  23. )
  24. for _order in orders: # type: ConsumeRecord
  25. _dev = Device.get_dev(_order.devNo)
  26. consumeMoney = Calculater.get_consume_by_order(_dev, _order.orderNo)
  27. isContinue = raw_input("""
  28. 订单编号:{};
  29. 当前订单状态:{};
  30. 订单结算金额: {};
  31. yes/no""".format(_order.orderNo, _order.status, consumeMoney))
  32. if isContinue == "yes":
  33. _order.update(money=RMB(consumeMoney).mongo_amount, coin=VirtualCoin(consumeMoney).mongo_amount)
  34. _order.reload()
  35. _order.s_to_e()
  36. print "OK!"
  37. else:
  38. print "ignore"