新增医生接诊新增处理服务包订单
This commit is contained in:
@@ -22,25 +22,29 @@ class LockRequestMiddleware implements MiddlewareInterface
|
||||
|
||||
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
|
||||
{
|
||||
$user_info = $request->getAttribute("userInfo");
|
||||
if (empty($user_info)){
|
||||
return $handler->handle($request);
|
||||
}
|
||||
try {
|
||||
$user_info = $request->getAttribute("userInfo");
|
||||
if (empty($user_info)){
|
||||
return $handler->handle($request);
|
||||
}
|
||||
|
||||
// 获取请求路径
|
||||
$path_info = $request->getUri()->getPath();
|
||||
if (empty($path_info)){
|
||||
return $handler->handle($request);
|
||||
}
|
||||
// 获取请求路径
|
||||
$path_info = $request->getUri()->getPath();
|
||||
if (empty($path_info)){
|
||||
return $handler->handle($request);
|
||||
}
|
||||
|
||||
$redis = $this->container->get(Redis::class);
|
||||
$redis_key = "lock_request_" . $path_info . $user_info['user_id'];
|
||||
$redis_lock = $redis->setnx($redis_key,1);
|
||||
// 设置过期时间
|
||||
$redis->expire($redis_key,1);
|
||||
if (!$redis_lock){
|
||||
// 设置失败,表示已经设置该值
|
||||
sleep(1);
|
||||
$redis = $this->container->get(Redis::class);
|
||||
$redis_key = "lock_request_" . $path_info . $user_info['user_id'];
|
||||
$redis_lock = $redis->setnx($redis_key,1);
|
||||
// 设置过期时间
|
||||
$redis->expire($redis_key,1);
|
||||
if (!$redis_lock){
|
||||
// 设置失败,表示已经设置该值
|
||||
sleep(1);
|
||||
}
|
||||
}catch (\Throwable $e){
|
||||
// 异常不进行处理
|
||||
}
|
||||
|
||||
return $handler->handle($request);
|
||||
|
||||
Reference in New Issue
Block a user