shish 4 жил өмнө
parent
commit
31dd05d0ba

+ 30 - 3
biz-hd/stat/classes/StatVisitClass.php

@@ -38,7 +38,7 @@ class StatVisitClass extends BaseClass
     }
 
     //保存访客数
-    public static function saveVisit($shop, $date = null)
+    public static function saveVisit($shop, $visitNum, $date = null)
     {
         $sjId = $shop->sjId ?? 0;
         $shopId = $shop->id ?? 0;
@@ -49,10 +49,37 @@ class StatVisitClass extends BaseClass
         if (!empty($resource)) {
             return false;
         }
-        $visitNum = self::getVisitNum($shop, $date);
-        $data = ['time' => $date, 'riseNum' => $visitNum, 'shopId' => $shopId, 'sjId' => $sjId, 'createTime' => date("Y-m-d H:i:s")];
+        $totalNum = $shop->totalVisit ?? 0;
+        $data = [
+            'time' => $date,
+            'riseNum' => $visitNum,
+            'totalNum' => $totalNum,
+            'shopId' => $shopId,
+            'sjId' => $sjId,
+            'createTime' => date("Y-m-d H:i:s")
+        ];
         self::add($data);
 
+        //每月
+        if ($date == null) {
+            $time = date('Ym');
+            $year = date('Y');
+            $month = date('m');
+        } else {
+            $timestamp = strtotime($date);
+            $time = date('Ym', $timestamp);
+            $year = date('Y', $timestamp);
+            $month = date('m', $timestamp);
+        }
+        $stat = self::getByCondition(['sjId' => $sjId, 'shopId' => $shopId, 'time' => $time], true);
+        if (empty($stat)) {
+            $stat = self::add(['shopId' => $shopId, 'sjId' => $sjId, 'time' => $time, 'year' => $year, 'month' => $month], true);
+        }
+        $currentNum = bcadd($stat->riseNum, $visitNum);
+        $stat->riseNum = $currentNum;
+        $stat->totalNum = $totalNum;
+        $stat->save();
+
         self::clearVisit($shop, $date);
     }
 

+ 9 - 1
console/controllers/GlobalController.php

@@ -35,9 +35,17 @@ class GlobalController extends Controller
             $shopList = ShopClass::getAllByCondition(['ptStyle' => 2], null, '*', null, true);
             if (!empty($shopList)) {
                 foreach ($shopList as $shop) {
+
                     $date = date("Ymd", strtotime("-1 day"));
+
                     //$date = date("Ymd");
-                    StatVisitClass::saveVisit($shop, $date);
+
+                    $visitNum = StatVisitClass::getVisitNum($shop, $date);
+                    $currentNum = bcadd($shop->totalVisit, $visitNum, 2);
+                    $shop->totalVisit = $currentNum;
+                    $shop->save();
+
+                    StatVisitClass::saveVisit($shop, $visitNum, $date);
                 }
             }
         }