# coding=utf-8 from apilib.monetary import VirtualCoin, RMB from apps.web.device.models import Device from base import init_env init_env(True) from apps.web.user.models import ConsumeRecord, UniqueUser from apps.web.core.device_define.ywt_chongdiangui_new import Calculater def _handle_not_finished_order(): """ 某些信号状态不好的情况下 粤万通的充电柜可能会导致结算失败,从而无法继续使用下一个订单 清理程序 """ userId = raw_input("请输入用户个人中心ID, userId = ") try: user = UniqueUser.objects.get(userId=userId) # type: UniqueUser openId = user.openId except Exception: print u"未找到用户" return orders = ConsumeRecord.objects.filter( openId=openId, status__ne="finished" ) for _order in orders: # type: ConsumeRecord _dev = Device.get_dev(_order.devNo) consumeMoney = Calculater.get_consume_by_order(_dev, _order.orderNo) isContinue = raw_input(""" 订单编号:{}; 当前订单状态:{}; 订单结算金额: {}; yes/no""".format(_order.orderNo, _order.status, consumeMoney)) if isContinue == "yes": _order.update(money=RMB(consumeMoney).mongo_amount, coin=VirtualCoin(consumeMoney).mongo_amount) _order.reload() _order.s_to_e() print "OK!" else: print "ignore"