Commit b610502b authored by luxq's avatar luxq

fix bug

parent e6a55d33
...@@ -22,8 +22,9 @@ func NewPayment(redisConfig RedisConnParam) *Payment { ...@@ -22,8 +22,9 @@ func NewPayment(redisConfig RedisConnParam) *Payment {
func (p *Payment) IncrBalance(ctx context.Context, uid string, bal int64) (int64, error) { func (p *Payment) IncrBalance(ctx context.Context, uid string, bal int64) (int64, error) {
key := "balance:" + uid key := "balance:" + uid
lockkey := "lk-bal" + uid
for { for {
locked, release, err := tryAcquire(ctx, p.rdb, key, 5*time.Second) locked, release, err := tryAcquire(ctx, p.rdb, lockkey, 5*time.Second)
if err != nil { if err != nil {
return 0, err return 0, err
} }
...@@ -42,8 +43,9 @@ func (p *Payment) GetBalance(ctx context.Context, uid string) (int64, error) { ...@@ -42,8 +43,9 @@ func (p *Payment) GetBalance(ctx context.Context, uid string) (int64, error) {
func (p *Payment) DecrBalance(ctx context.Context, uid string, bal int64) (int64, error) { func (p *Payment) DecrBalance(ctx context.Context, uid string, bal int64) (int64, error) {
key := "balance:" + uid key := "balance:" + uid
lockkey := "lk-bal" + uid
for { for {
locked, release, err := tryAcquire(ctx, p.rdb, key, 5*time.Second) locked, release, err := tryAcquire(ctx, p.rdb, lockkey, 5*time.Second)
if err != nil { if err != nil {
return 0, err return 0, err
} }
...@@ -59,8 +61,9 @@ func (p *Payment) DecrBalance(ctx context.Context, uid string, bal int64) (int64 ...@@ -59,8 +61,9 @@ func (p *Payment) DecrBalance(ctx context.Context, uid string, bal int64) (int64
// also implement three method with key charge // also implement three method with key charge
func (p *Payment) IncrCharge(ctx context.Context, uid string, bal int64) (int64, error) { func (p *Payment) IncrCharge(ctx context.Context, uid string, bal int64) (int64, error) {
key := "charge:" + uid key := "charge:" + uid
lockkey := "lk-char" + uid
for { for {
locked, release, err := tryAcquire(ctx, p.rdb, key, 5*time.Second) locked, release, err := tryAcquire(ctx, p.rdb, lockkey, 5*time.Second)
if err != nil { if err != nil {
return 0, err return 0, err
} }
...@@ -81,8 +84,9 @@ func (p *Payment) GetCharge(ctx context.Context, uid string) (int64, error) { ...@@ -81,8 +84,9 @@ func (p *Payment) GetCharge(ctx context.Context, uid string) (int64, error) {
// implement DecrCharge // implement DecrCharge
func (p *Payment) DecrCharge(ctx context.Context, uid string, bal int64) (int64, error) { func (p *Payment) DecrCharge(ctx context.Context, uid string, bal int64) (int64, error) {
key := "charge:" + uid key := "charge:" + uid
lockkey := "lk-char" + uid
for { for {
locked, release, err := tryAcquire(ctx, p.rdb, key, 5*time.Second) locked, release, err := tryAcquire(ctx, p.rdb, lockkey, 5*time.Second)
if err != nil { if err != nil {
return 0, err return 0, err
} }
...@@ -98,8 +102,9 @@ func (p *Payment) DecrCharge(ctx context.Context, uid string, bal int64) (int64, ...@@ -98,8 +102,9 @@ func (p *Payment) DecrCharge(ctx context.Context, uid string, bal int64) (int64,
// implement IncrCredits // implement IncrCredits
func (p *Payment) IncrCredits(ctx context.Context, uid string, bal int64) (int64, error) { func (p *Payment) IncrCredits(ctx context.Context, uid string, bal int64) (int64, error) {
key := "credits:" + uid key := "credits:" + uid
lockkey := "lk-credit" + uid
for { for {
locked, release, err := tryAcquire(ctx, p.rdb, key, 5*time.Second) locked, release, err := tryAcquire(ctx, p.rdb, lockkey, 5*time.Second)
if err != nil { if err != nil {
return 0, err return 0, err
} }
...@@ -120,8 +125,9 @@ func (p *Payment) GetCredits(ctx context.Context, uid string) (int64, error) { ...@@ -120,8 +125,9 @@ func (p *Payment) GetCredits(ctx context.Context, uid string) (int64, error) {
// implement DecrCredits // implement DecrCredits
func (p *Payment) DecrCredits(ctx context.Context, uid string, bal int64) (int64, error) { func (p *Payment) DecrCredits(ctx context.Context, uid string, bal int64) (int64, error) {
key := "credits:" + uid key := "credits:" + uid
lockkey := "lk-credit" + uid
for { for {
locked, release, err := tryAcquire(ctx, p.rdb, key, 5*time.Second) locked, release, err := tryAcquire(ctx, p.rdb, lockkey, 5*time.Second)
if err != nil { if err != nil {
return 0, err return 0, err
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment