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
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")
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))
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))