Ejemplo n.º 1
0
def confirmOrder(request):
    oid = request.POST.get("oid", None)
    fee = request.POST.get("fee", None)
    notes = request.POST.get("notes", "")
    ipaddr = request.POST.get("ipaddr", "127.0.0.1")
    body = request.POST.get("body", "Unknown")
    detail = request.POST.get("detail", "Unknown")
    prepayid = request.POST.get("prepayid", None)
    if not fee or not oid:
        return Jsonify({"status":False, "error":"1101", "error_message":u"输入信息不足。"})
    oid = int(oid)
    fee = float(fee)
    _order = Order.objects.filter(oid=oid)
    if not _order:
        return Jsonify({"status":False, "error":"1302", "error_message":u"订单不存在。"})
    else:
        _order = _order[0]
        _sign = ""
        for i in range(8):
            _sign = _sign + ALPHABET[random.randint(0, 62)]
        _order.signature = _sign
        if notes:
            _order.notes = notes
        if fee != _order.fee:
            return Jsonify({"status":False, "error":"1303", "fee":fee, "order":_order.toDict(), "error_message":u"订单价格有误, 请重新下单。"})
        ##wechat order
        if fee==0:
            _order.paid_time=datetime.now()
            _order.state=1
            _order.save()
            return Jsonify({"status":True, "error":"", "error_message":"", "order":_order.toDict(), "detail":u"会员免运费: 0元。"})
        else:
            _order.state=0
            result = unifyOrder(_order.toDict(), body, detail, ipaddr, 0)
            if not prepayid:
                try:
                    root = ET.fromstring(result)
                    if root.find("return_code").text == "SUCCESS":
                        prepayid = root.find("prepay_id").text
                    else:
                        return Jsonify({"status":False, "error":"1310", "error_message":u"微信预支付失败,响应失败"})			
                    _order.prepayid = prepayid
                    _order.save()
                except Exception, e:
                    logger.error(e)
                    logger.error("1311 微信预支付失败, 未知错误")
                    return Jsonify({"status":False, "error":"1311", "error_message":u"微信预支付失败, 未知错误。"})
            #为iOS准备调起支付所需的参数
            data = iosOrder(prepayid)
            return Jsonify({"status":True, "error":"", "error_message":"", "order":_order.toDict(), "data":data, "detail":u"同仓存取快递费: 6元。"})
Ejemplo n.º 2
0
                "status": False,
                "error": "1310",
                "error_message": u"微信预支付失败,响应失败"
            })
    except Exception, e:
        logger.error(e)
        logger.error("1311 wechat order failed")
        return Jsonify({
            "status": False,
            "error": "1311",
            "error_message": u"微信预支付失败, 未知错误。"
        })
    _order.prepayid = prepayid
    _order.save()
    #为iOS准备调起支付所需的参数
    data = iosOrder(prepayid)
    return Jsonify({
        "status": True,
        "error": "",
        "error_message": "",
        "order": model_to_dict(_order),
        "data": data
    })


@UserAuthorization
def vipConfirm(request):
    _user = request.user
    _vip = VIP.objects.filter(vid=_user["vip"])
    if _vip:
        _vip = _vip[0]
Ejemplo n.º 3
0
    result = unifyOrder(model_to_dict(_order), body, detail, ipaddr, 1)
    prepayid = ""
    try:
        root = ET.fromstring(result)
        if root.find("return_code").text == "SUCCESS":
            prepayid = root.find("prepay_id").text
        else:
            return Jsonify({"status":False, "error":"1310", "error_message":u"微信预支付失败,响应失败"})           
    except Exception, e:
        logger.error(e)
        logger.error("1311 wechat order failed")
        return Jsonify({"status":False, "error":"1311", "error_message":u"微信预支付失败, 未知错误。"})
    _order.prepayid = prepayid
    _order.save()
    #为iOS准备调起支付所需的参数
    data = iosOrder(prepayid)
    return Jsonify({"status":True, "error":"", "error_message":"", "order":model_to_dict(_order), "data":data})

@UserAuthorization
def vipConfirm(request):
    _user = request.user
    _vip = VIP.objects.filter(vid=_user["vip"])
    if _vip:
        _vip = _vip[0]
        _vip.flush()
        vip_info = _vip.toDict()
    else:
        _vip = None
        vip_info = {}
    has_processing_order = False
    unfinishedOrder = VIPOrder.objects.filter(user_id=_user['uid']).filter(state=2)