songdb 6 年之前
父节点
当前提交
7ed4e606c5

+ 28 - 0
app/Http/Controllers/Wap/Web/WelcomeController.php

@@ -207,6 +207,10 @@ class WelcomeController extends BaseController
             myLog('special')->info('welcome --------------------------');
             myLog('special')->info(json_decode($options, 1));
         }
+
+        //统计用户ua
+        $this->recordUA();
+
         return view('wap.index', compact('options', 'title'));
     }
 
@@ -2083,4 +2087,28 @@ class WelcomeController extends BaseController
         }
         return  '';
     }
+
+    //统计ua
+    private function recordUA(Request $request)
+    {
+        $is_ua_open = RedisEnv('ua_open');
+        if($is_ua_open)//开启
+        {
+            //判断是否已经统计
+            $has_got = Redis::hget('book_read:'.$this->uid,'ua');
+            if(!$has_got)
+            {
+                try{
+                    $ua = $request->server('HTTP_USER_AGENT');
+                    if($ua)
+                    {
+                        UserService::recordUA($ua,$this->uid);
+                        Redis::hset('book_read:'.$this->uid,'ua',1);
+                    }
+                }catch (\Exception $e) {
+
+                }
+            }
+        }
+    }
 }

+ 26 - 0
app/Modules/User/Models/UserEnv.php

@@ -0,0 +1,26 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: hp
+ * Date: 2017/11/21
+ * Time: 10:42
+ */
+
+namespace App\Modules\User\Models;
+
+use Illuminate\Database\Eloquent\Model;
+use DB;
+
+class UserEnv extends Model
+{
+    protected $table = 'user_envs';
+
+    protected $fillable = ['uid', 'ua'];
+
+
+    static function recordUA($ua,$uid)
+    {
+        return self::create(compact('uid','ua'));
+    }
+
+}

+ 6 - 0
app/Modules/User/Services/UserService.php

@@ -9,6 +9,7 @@
 namespace App\Modules\User\Services;
 
 use App\Modules\User\Models\User;
+use App\Modules\User\Models\UserEnv;
 use DB;
 use App\Jobs\ActionTrigger;
 use App\Modules\OfficialAccount\Models\DistributionSelfDefineConfig;
@@ -353,4 +354,9 @@ WHERE u.openid in (SELECT openid from users WHERE  id = %s)";
         }
         return $is_has_force_subscribe_three_days;
     }
+
+    public static function recordUA($ua,$uid)
+    {
+        return UserEnv::recordUA($ua,$uid);
+    }
 }