示例#1
0
 def clean_password_2nd(self):
     password_2nd = self.cleaned_data['password_2nd']
     verify_result = verify_password_2nd(password_2nd,self.user)
     print verify_result,'ssssssssssssss'
     if not verify_result:
         raise forms.ValidationError("二级密码错误")
     return password_2nd
示例#2
0
def charge(request, **kwargs):
    """
    报单中心充值
    """
    UserBasic = kwargs.pop("Mem")
    style = request.GET.get("style",None)
    amount = request.GET.get("amount",None)
    password_2nd = request.GET.get("password_2nd",None)
    result = verify_password_2nd(password_2nd,request.user)
    print result
    if result:
        try:
            amount = Decimal(amount)
            UserBasic.cash = UserBasic.cash - amount
            UserBasic.store_order  = UserBasic.store_order + amount
            UserBasic.save()
            data = '1'
        except:
            data = '0'
    else:
        data = '2'
    return HttpResponse(json.dumps(data),mimetype="application/json")
示例#3
0
def index(request, **kwargs):
    """
    会员首页
    """
    error = ""
    template_name = "member/base.html"
    UserBasic = kwargs.pop("Mem")
    request.session["contactor_name"] = UserBasic.name
    print request.session["contactor_name"]
    ValueSetting = value_setting.objects.defer("grade_summit", "mall_VIP_threshold").all()[0]
    UserBasic = get_submmit_level(UserBasic=UserBasic)

    #    cursor = connection.cursor()
    #    try:
    #        cursor.execute('SELECT FA_SUM.father_id as min_id , max(MA_SUM.id) as summit_level FROM (SELECT FATHER.id AS father_id , count(SON.id) AS summit_son_number FROM member_user_recommender AS RECC INNER JOIN member_user_basic AS FATHER ON FATHER.id = RECC.recommending_id INNER JOIN member_user_basic AS SON ON SON.id = RECC.recommended_id ,management_value_setting AS SETTING WHERE SON.mall_team_score > SETTING.grade_summit GROUP BY FATHER.id AS FA_SUM INNER JOIN management_mall_summit AS MA_SUM ON FA_SUM.summit_son_number >= MA_SUM.summit_num where FA_SUM.father_id=%s GROUP BY min_id',UserBasic.id)
    #        cursor.execute('SELECT `V_SETTLE_CWEB_BASIC`.`level_name`,`V_SETTLE_CWEB_BASIC`.`threshold_value`,`V_SETTLE_CWEB_BASIC`.`gain_rate`,`V_SETTLE_CWEB_BASIC`.`is_summit` FROM `rtyk_triple`.`V_SETTLE_CWEB_BASIC` where id=%s',UserBasic.id)
    #        level = cursor.fetchall()[0]
    #        is_summit = level[3]
    #        UserBasic.level = level[0]
    #        UserBasic.is_summit = is_summit
    #    except:
    #        UserBasic.level = "新手上路"
    #        UserBasic.is_summit = False
    notices = Notice.objects.notices_for(request.user, on_site=True, unseen=True)
    request.session["ValueSetting"] = ValueSetting
    request.session["name"] = UserBasic.name
    if request.method == "POST":
        password_2nd = request.POST.get("password_2nd")
        result = verify_password_2nd(password_2nd, request.user)
        if result:
            request.session["password_2nd"] = True
            return HttpResponseRedirect(reverse("member_index"))
        else:
            error = "二级密码错误"
    ctx = {"UserBasic": UserBasic, "error": error, "notices": notices}
    return render_to_response(template_name, RequestContext(request, ctx))
示例#4
0
def order(request, **kwargs):
    """
    生成订单
    """
    UserBasic = kwargs.pop("Mem")
    StuffList = request.GET.get("stuff_list",None)
    sum_price = 0
    print StuffList
    error = ""
    if StuffList:
        request.session['StuffList'] = StuffList
    
    template_name = "store/order.html"
    
    if request.method == "POST":
        if 'add_address' in request.POST:
            address = user_address(user = UserBasic)
            UserAddressForm = AddressForm(request.POST, instance=address) 
            print UserAddressForm
            if UserAddressForm.is_valid():
                UserAddressForm.save()
        elif 'order' in request.POST:
            
            password_2nd = request.POST.get("password_2nd")
            result = verify_password_2nd(password_2nd,request.user)

            if result:
                lock = threading.Lock()
                StuffList = request.session.get('StuffList')
                print StuffList
                address_id = request.POST.get("address_id")
                print address_id

                UserMaxMem = user_max_mem.objects.get(user_mid = user_mid_mem.objects.get(user = UserBasic))
                lock.acquire()
                try:
                    StuffList = StuffList.split("_")
                    success = False
                    x = 0
                    address = user_address.objects.get(id = address_id)
                    MyOrder = my_order(max = UserMaxMem,state = "wait",address = address)
                    MyOrder.save()
                    while x < len(StuffList)-1:
                        print x,StuffList
                        Stuff = stuff.objects.get(id = StuffList[x])
                        num = int(StuffList[x+1])
                        if Stuff.total_num >= num:
                            Stuff.total_num -=  num
                            price_total = Stuff.price_single * num
                            sum_price += price_total
                            UserBasic.store_cash -= Decimal(price_total)
                            UserBasic.save()
                            Stuff.save()
                            OrderStuff = order_stuff(order = MyOrder,stuff = Stuff,amount =num, price_total = price_total)
                            OrderStuff.save()
                            x += 2
                            success = True
                        else:
                            error += Stuff.name+"没有足够的数量,所以没有购买成功"
                    if success:
                        extra_context = UserBasic.number+"有新的订单"
                        admin = User.objects.filter(is_superuser = True)
                        notification.send(admin,"order_notice",extra_context,True, request.user)
                        url = reverse('stuff_order_records')+"?error="+error
                        return HttpResponseRedirect(url)
                finally:
                    lock.release()
            else:
                error = "二级密码错误"
    else:
        x = 0
        try:
            StuffList = StuffList.split("_")
            while x < len(StuffList)-1:
                print x,StuffList
                Stuff = stuff.objects.get(id = StuffList[x])
                num = int(StuffList[x+1])
                price_total = Stuff.price_single * num
                sum_price += price_total
                x += 2
            request.session['sum_price'] = sum_price
        except:
            print sum_price
        UserAddressForm = AddressForm
    UserAddress = user_address.objects.filter(user = UserBasic).order_by("-id")
    if not UserAddress:
        display = "block"
    else:
        display = "none"
    include_template = 'store/address.html'
    print error,'test'
    ctx = {
        'include_template':include_template,
        'UserAddress': UserAddress,
        'UserBasic': UserBasic,
        'display':display,
        'UserAddressForm':AddressForm,
        'sum_price':request.session.get('sum_price',0),
        "error":error
    }
    return render_to_response(template_name,RequestContext(request,ctx))