路飛支付相關

2022-03-12 00:18:51 字數 3760 閱讀 1565

前面文章

-**策略【用週期時間來模擬個數,7天,15天,乙個月】

-購買多個無意義,因為都是從同一天開始往後累加。

shopping_car_[user_id]_[commodity_id]為鍵,然後商品詳細為值。

,

"4":

},"default_policy

": "4"

},

},"default_policy

": "2"

} ],

"error

": null

}

示例可以對購買個數進行限制,通過計算長度,看買了多少

print(len(conn.keys("

luffy_shopping_car_1_1

")))

conn.expire("

luffy_shopping_car_1_1

",60*30) #

30min後過期也可以

使用方案:對購買課程個數進行限制

1.操作頻繁,對資料庫壓力大,可以使用redis

2.操作速度快

3.購物車只是乙個臨時狀態,而不是永久儲存的

django rest framework 介面書寫規範

原則:-內建

-框架自定義

url(r'

payment/$

',payment.paymentviewset.as_view())

#

author:jesi

#time : 2018/11/22 15:33

from rest_framework.views import

apiview

from ..auth.auth import

luffyauth

from rest_framework.response import

response

from django.conf import

settings

from django_redis import

get_redis_connection

import

json

from utils.response import

baseresponse

from api import

models

import

datetime

class

paymentviewset(apiview):

authentication_classes =[luffyauth,] #首先肯定還是進行認證

conn=get_redis_connection("

default

") #鏈結到redis

def post(self,request,*args,**kwargs):

ret=baseresponse()

try:

payment_dict={}

#1.1獲取使用者要結算課程id

course_id_list=request.data.get("

courseids")

for course_id in

course_id_list:

payment_course_dict={}

car_key=settings.shopping_car_key%(request.auth.user_id,course_id)

#1.2監測使用者要結算的課程是否已加入到購物車

ifnot

self.conn.exists(car_key):

ret.code=1001ret.error="

課程需要先加入購物車才能結算"#

1.3根據key去購物車中獲取資訊,放入到結算中心。

policy=json.loads(self.conn.hget(car_key,'

policy

').decode('

utf-8'))

default_policy=self.conn.hget(car_key,'

default_policy

').decode('

utf-8')

policy_info=policy[default_policy]

payment_course_dict=,

"default_coupon":0

}payment_course_dict.update(policy_info)

payment_dict[str(course_id)]=payment_course_dict

ret.data=payment_dict

#從這兒開始往下是優惠券的邏輯,還沒寫完【半成品】

#主要展示的是拿到購物車商品展示的邏輯

#2.獲取優惠券

ctime=datetime.date.today()

from django.db.models import

q

#a.通過表示式進行構造

q(q(account=request.auth.user)&q(status=0))|q(coupon__valid_begin_date__lte=ctime)

#b.通過方法進行構造

q=q()

q1=q()

q1.connector="

and"

'account

',request.auth.user))

'status

',0))

'coupon__valid_begin_date__lte

',ctime))

q2=q()

q2.connector = "

and"

'coupon__valid_end_date__lte

',ctime))

q.add(q1,'or

')q.add(q2,'or

')coupon_list=models.couponrecord.objects.filter(

account=request.auth.user,

status=0,

coupon__valid_begin_date__lte=ctime,

coupon__valid_end_date__gte=ctime,

)for coupon in

coupon_list:

print

(coupon)

#到此處結束購物車【半成品】

except

exception as e:

pass

return response(ret.dict)

既然要結算,那麼我們需要把拿到購物車中的物品,以課程號為鍵,以課程詳細資訊為值進行結構的構造,最後獲取到後,才可以進行優惠券的獲取然後對**進行減免。

我們傳入的值是乙個課程id,可為列表因為可能會出現購買多個課程

iOS支付寶支付相關問題

支付寶實現以及相關問題 1 支付寶支付流程 1.使用者點選支付 2.客戶端請求伺服器使用者支付 3.伺服器接收請求生成金額訂單等要給第三方支付的一切資訊,並生成 引數傳給客戶端 4.客戶端接收資訊 一般會再讓使用者確認支付或者乾脆購買後是生成訂單,然後才是付款 並將伺服器給的資訊分別傳入sdk需要的...

支付寶支付相關問題彙總

今天把支付寶支付的相關問題進行一下總結,在使用的時候步驟如下,1 匯入支付寶的sdk,openssl資料夾等相關檔案 2 根據支付寶提供的demo匯入系統需要的框架 3 這個時候執行專案應該會出現 找不到 include 的情況,出現這種情況需要我們配置一下header search paths,建...

路飛骷髏頭

路飛骷髏 import turtle as t 黃底帽子 t.pu t.goto 0,200 t.circle 130,80 t.pd t.colormode 255 t.pensize 5 t.color 242,232,184 帽子黃底rgb t.begin fill t.pencolor 0,...