|
@@ -0,0 +1,54 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace App\Http\Middleware;
|
|
|
+
|
|
|
+use App\Modules\SendOrder\Services\SendOrderService;
|
|
|
+use App\Modules\User\Services\QappUserService;
|
|
|
+use App\Modules\User\Services\UserService;
|
|
|
+use Closure;
|
|
|
+use Exception;
|
|
|
+use Tymon\JWTAuth\Middleware\BaseMiddleware;
|
|
|
+
|
|
|
+class QuickAppUserInfoRefresh extends BaseMiddleware
|
|
|
+{
|
|
|
+ /**
|
|
|
+ * Handle an incoming request.
|
|
|
+ *
|
|
|
+ * @param \Illuminate\Http\Request $request
|
|
|
+ * @param \Closure $next
|
|
|
+ * @return mixed
|
|
|
+ */
|
|
|
+ public function handle($request, Closure $next)
|
|
|
+ {
|
|
|
+ // 获取头部信息
|
|
|
+ $package = $request->header('x-package', '');
|
|
|
+ $sendOrderId = $request->header('send-order-id', 0);
|
|
|
+
|
|
|
+ // 判断是否登录
|
|
|
+ $token = $this->auth->setRequest($request)->getToken();
|
|
|
+ if ($token) {
|
|
|
+ try {
|
|
|
+ //获取用户信息
|
|
|
+ $user = $this->auth->authenticate($token);
|
|
|
+ if ($sendOrderId) {
|
|
|
+ try {
|
|
|
+ $result = SendOrderService::recordUserSendOrder($user->id, $sendOrderId);
|
|
|
+ if($result){
|
|
|
+ UserService::setUserSendOrder($user->id, $sendOrderId);
|
|
|
+ }
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ myLog('QuickAppGetUserFromToken-sendOrderId')->error($e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 设置全局信息
|
|
|
+ (new QappUserService)->setGolableUser($user->id, $package);
|
|
|
+ } catch (Exception $e) {
|
|
|
+ myLog('QuickAppGetUserFromToken')->info($e->getMessage());
|
|
|
+ return response()->error('QAPP_NOT_LOGIN');
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return $next($request);
|
|
|
+ }
|
|
|
+}
|