Răsfoiți Sursa

收集访问情况的方法

shish 6 ani în urmă
părinte
comite
371bd013e4
2 a modificat fișierele cu 24 adăugiri și 27 ștergeri
  1. 8 10
      biz/stat/classes/StatVisitClass.php
  2. 16 17
      biz/stat/services/StatVisitService.php

+ 8 - 10
biz/stat/classes/StatVisitClass.php

@@ -2,26 +2,24 @@
 
 namespace biz\stat\classes;
 
+use common\components\util;
 use Yii;
 use biz\base\classes\BaseClass;
 
 class StatVisitClass extends BaseClass
 {
-
+	
 	public static $baseFile = '\biz\stat\models\StatVisit';
-
-	//$time 日期date("Ymd")
-	public static function getKeyName($merchantId, $type, $time = null)
+	
+	//$time 日期
+	public static function getKeyName($merchantId, $class, $time = null)
 	{
-		if (in_array($type, [
-				'whole_site_view',//全站每天的访问量
-				'whole_site_ip',//全站每天的访问ip量
-			]) == false
-		) {
+		//全站每天的访问量 //全站每天的访问ip量
+		if (in_array($class, ['whole_site_visit', 'whole_site_ip',]) == false) {
 			util::fail('无效键名');
 		}
 		$time = isset($time) == false ? date("Ymd") : $time;
-		return $type . '_' . $merchantId . '_' . $time;
+		return $class . '_' . $merchantId . '_' . $time;
 	}
 	
 }

+ 16 - 17
biz/stat/services/StatVisitService.php

@@ -4,34 +4,33 @@ namespace biz\stat\services;
 
 use biz\base\services\BaseService;
 use biz\merchant\services\MerchantAssetService;
-use biz\stat\classes\VisitByDayClass;
+use biz\stat\classes\StatVisitClass;
 use Yii;
 use common\components\stringUtil;
-use linslin\yii2\curl;
 
 class StatVisitService extends BaseService
 {
-	
+
 	public static $baseFile = '\biz\stat\classes\StatVisitClass';
-	
+
 	/**
-	 * 收集当天访问的IP,统计当天访问量
+	 * 收集访问次数和访问IP
 	 */
-	public static function gatherIP($merchantId)
+	public static function gatherVisit($merchantId)
 	{
 		/**整站的访问量**/
-		$wholeSiteView = VisitByDayClass::getKeyName($merchantId, 'whole_site_view');
+		$wholeSiteView = StatVisitClass::getKeyName($merchantId, 'whole_site_visit');
 		Yii::$app->redis->executeCommand('INCRBY', [$wholeSiteView, 1]);//记录当天访问人数
 		/**整站的访问IP量**/
 		$ip = Yii::$app->request->userIP;
-		$wholeSiteIp = VisitByDayClass::getKeyName($merchantId, 'whole_site_ip');
+		$wholeSiteIp = StatVisitClass::getKeyName($merchantId, 'whole_site_ip');
 		$exists = Yii::$app->redis->executeCommand('SISMEMBER', [$wholeSiteIp, $ip]);
 		if (!empty($exists)) {
 			return;
 		}
 		Yii::$app->redis->executeCommand('SADD', [$wholeSiteIp, $ip]);//记录当天的IP
 	}
-	
+
 	/**
 	 * 将昨天的保存入库
 	 */
@@ -43,7 +42,7 @@ class StatVisitService extends BaseService
 		if (!empty($resource)) {
 			return [];
 		}
-		$wholeSiteView = VisitByDayClass::getKeyName($merchantId, 'whole_site_view', $yesTime);
+		$wholeSiteView = StatVisitClass::getKeyName($merchantId, 'whole_site_visit', $yesTime);
 		$num = Yii::$app->redis->executeCommand('GET', [$wholeSiteView]);//记录当天访问网站人数
 		$asset = MerchantAssetService::getByMerchantId($merchantId);
 		$totalVisit = $asset['totalVisit'];
@@ -64,10 +63,10 @@ class StatVisitService extends BaseService
 	{
 		$yesTime = date("Ymd", strtotime("-1 day"));
 		//访问量
-		$wholeSiteView = VisitByDayClass::getKeyName($merchantId, 'whole_site_view', $yesTime);
+		$wholeSiteView = StatVisitClass::getKeyName($merchantId, 'whole_site_visit', $yesTime);
 		Yii::$app->redis->executeCommand('DEL', [$wholeSiteView]);
 		//访问IP量
-		$wholeSiteIp = VisitByDayClass::getKeyName($merchantId, 'whole_site_ip', $yesTime);
+		$wholeSiteIp = StatVisitClass::getKeyName($merchantId, 'whole_site_ip', $yesTime);
 		Yii::$app->redis->executeCommand('DEL', [$wholeSiteIp]);
 	}
 	
@@ -76,7 +75,7 @@ class StatVisitService extends BaseService
 	 */
 	public static function getTodayNum($merchantId)
 	{
-		$wholeSiteView = VisitByDayClass::getKeyName($merchantId, 'whole_site_view');
+		$wholeSiteView = StatVisitClass::getKeyName($merchantId, 'whole_site_visit');
 		$nowNum = Yii::$app->redis->executeCommand('GET', [$wholeSiteView]);//记录当天访问网站人数
 		$nowNum = !empty($nowNum) ? $nowNum : 0;
 		return $nowNum;
@@ -104,14 +103,14 @@ class StatVisitService extends BaseService
 		echo "\n开始创建昨天的访问量…\n";
 		for ($i = 0; $i < $count; $i++) {
 			$ip = stringUtil::randIP();
-			$wholeSiteIp = VisitByDayClass::getKeyName($merchantId, 'whole_site_ip', $yesTime);
+			$wholeSiteIp = StatVisitClass::getKeyName($merchantId, 'whole_site_ip', $yesTime);
 			$exists = Yii::$app->redis->executeCommand('SISMEMBER', [$wholeSiteIp, $ip]);
 			if (!empty($exists)) {
 				return;
 			}
 			echo $wholeSiteIp . "\n";
 			Yii::$app->redis->executeCommand('SADD', [$wholeSiteIp, $ip]);//记录访问过网站的IP
-			$wholeSiteView = VisitByDayClass::getKeyName($merchantId, 'whole_site_view', $yesTime);
+			$wholeSiteView = StatVisitClass::getKeyName($merchantId, 'whole_site_visit', $yesTime);
 			Yii::$app->redis->executeCommand('INCRBY', [$wholeSiteView, 1]);//记录访问网站人数
 		}
 		echo "\n创建完成\n";
@@ -124,11 +123,11 @@ class StatVisitService extends BaseService
 	public static function getYesNum($merchantId)
 	{
 		$yesTime = date("Ymd", strtotime("-1 day"));
-		$wholeSiteView = VisitByDayClass::getKeyName($merchantId, 'whole_site_view', $yesTime);
+		$wholeSiteView = StatVisitClass::getKeyName($merchantId, 'whole_site_visit', $yesTime);
 		$yesterdayVisitNum = Yii::$app->redis->executeCommand('GET', [$wholeSiteView]);
 		echo '<pre>';
 		echo '昨天的访问总量:' . $yesterdayVisitNum . '<br />';
-		$wholeSiteIp = VisitByDayClass::getKeyName($merchantId, 'whole_site_ip', $yesTime);
+		$wholeSiteIp = StatVisitClass::getKeyName($merchantId, 'whole_site_ip', $yesTime);
 		echo 'ipList的Key:' . $wholeSiteIp . '<br />';
 		$list = Yii::$app->redis->executeCommand('SMEMBERS', [$wholeSiteIp]);
 		echo 'ipList:<br />';