下单调整分布式锁
This commit is contained in:
parent
b91ea42ab6
commit
245b12d69d
|
@ -46,19 +46,16 @@ func (l *CreateOrderLogic) CreateOrder(req *types.CreateOrderReq, userinfo *auth
|
||||||
return resp.SetStatus(basic.CodeUnAuth)
|
return resp.SetStatus(basic.CodeUnAuth)
|
||||||
}
|
}
|
||||||
|
|
||||||
var lockKey string
|
|
||||||
for _, v := range req.CartIds {
|
for _, v := range req.CartIds {
|
||||||
var vStr = strconv.Itoa(int(v))
|
var lockKey = strconv.Itoa(int(v))
|
||||||
lockKey = lockKey + "|" + vStr
|
// 分布式锁--防止重复下单
|
||||||
}
|
_, ok1 := lockMap.Load(lockKey) //获取锁
|
||||||
// 分布式锁--防止重复下单
|
if ok1 {
|
||||||
_, ok1 := lockMap.Load(lockKey) //获取锁
|
return resp.SetStatusWithMessage(basic.CodeErrOrder, "create order failed, cannot place duplicate order")
|
||||||
|
} else {
|
||||||
if ok1 {
|
lockMap.Store(lockKey, true) //加锁
|
||||||
return resp.SetStatusWithMessage(basic.CodeErrOrder, "create order failed, cannot place duplicate order")
|
defer lockMap.Delete(lockKey) //释放锁
|
||||||
} else {
|
}
|
||||||
lockMap.Store(lockKey, true) //加锁
|
|
||||||
defer lockMap.Delete(lockKey) //释放锁
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tPlus60Days := time.Now().AddDate(0, 0, 60).UTC()
|
tPlus60Days := time.Now().AddDate(0, 0, 60).UTC()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user