Explorar el Código

短剧统计commadn

zhaoyang hace 1 año
padre
commit
a9b2f9d6d5

+ 17 - 5
app/Console/Commands/Stats/MiniprogramStats.php

@@ -44,9 +44,9 @@ class MiniprogramStats extends Command{
         VideoStatByCompany::where('day',$this->day)->update(['is_delete'=>1]);
         VideoStatByCompany::where('day',$this->day)->update(['is_delete'=>1]);
         $sql = <<<EDF
         $sql = <<<EDF
 insert into video_stat_by_company(`day`,user_id,video_id,video_name,amount,charge_count,charge_user_num,play_count,created_at,updated_at)
 insert into video_stat_by_company(`day`,user_id,video_id,video_name,amount,charge_count,charge_user_num,play_count,created_at,updated_at)
-select '%s' as `date`,puser_id,video_id,video_name,sum(amount),sum(charge_count),sum(charge_user_num),sum(play_count),now(),now() FROM video_stat_by_user where `day`='%s' group by puser_id,video_id
+select '%s' as `date`,puser_id,video_id,video_name,sum(amount),sum(charge_count),sum(charge_user_num),sum(play_count),now(),now() FROM video_stat_by_user where `day`='%s' group by puser_id,video_id,video_name
 EDF;
 EDF;
-        $sql = sprintf($sql,$this->day);
+        $sql = sprintf($sql,$this->day,$this->day);
         DB::insert($sql);
         DB::insert($sql);
     }
     }
 
 
@@ -67,6 +67,18 @@ EDF;
                 $this->processUserDetail($optimizer_item->pid,$video->id,$optimizer_item->id,$video->name);
                 $this->processUserDetail($optimizer_item->pid,$video->id,$optimizer_item->id,$video->name);
             }
             }
         }
         }
+        $all_company = User::join('user_has_roles','user_has_roles.user_id','=','users.id')
+        ->join('roles','roles.id','=','user_has_roles.role_id')
+        ->where('roles.identify','company')
+        ->select('users.id','users.pid')
+        ->get();
+
+        foreach($all_company as $company_item){
+            foreach($all_video as $video){
+                $this->processUserDetail($company_item->id,$video->id,$company_item->id,$video->name);
+            }
+        }
+
         MiniprogramStatService::deleteAll($this->day);
         MiniprogramStatService::deleteAll($this->day);
     }
     }
 
 
@@ -78,14 +90,14 @@ EDF;
      * @param integer $user_id
      * @param integer $user_id
      * @param string $video_name
      * @param string $video_name
      * @return void
      * @return void
-     */
+     */ 
     private function processUserDetail(int $puser_id, int $video_id,int $user_id,string $video_name){
     private function processUserDetail(int $puser_id, int $video_id,int $user_id,string $video_name){
         $day = $this->day;
         $day = $this->day;
         $stat_data = MiniprogramStatService::getOneItem($video_id,$user_id,$day);
         $stat_data = MiniprogramStatService::getOneItem($video_id,$user_id,$day);
         if(!$stat_data['amount']  && !$stat_data['charge_count'] && !$stat_data['charge_user_num'] && !$stat_data['play_count']){
         if(!$stat_data['amount']  && !$stat_data['charge_count'] && !$stat_data['charge_user_num'] && !$stat_data['play_count']){
             return ;
             return ;
         }
         }
-        $stat_data['amount'] = int($stat_data['amount'])/100;
+        $stat_data['amount'] = ((int)($stat_data['amount']))/100;
         $old_record = VideoStatByUser::where('user_id',$user_id)->where('day',$day)->where('video_id',$video_id)->select('id')->first();
         $old_record = VideoStatByUser::where('user_id',$user_id)->where('day',$day)->where('video_id',$video_id)->select('id')->first();
         if($old_record){
         if($old_record){
             VideoStatByUser::where('id',$old_record->id)->update($stat_data);
             VideoStatByUser::where('id',$old_record->id)->update($stat_data);
@@ -97,6 +109,6 @@ EDF;
             $stat_data['puser_id'] = $puser_id;
             $stat_data['puser_id'] = $puser_id;
             VideoStatByUser::create($stat_data);
             VideoStatByUser::create($stat_data);
         }
         }
-        MiniprogramStatService::deleteCache($video_id,$user_id,$day);
+       MiniprogramStatService::deleteCache($video_id,$user_id,$day);
     }
     }
 }
 }

+ 1 - 1
app/Models/VideoStatByUser.php

@@ -7,7 +7,7 @@ class VideoStatByUser extends Model{
 
 
     protected $table = 'video_stat_by_user';
     protected $table = 'video_stat_by_user';
     protected $fillable = [
     protected $fillable = [
-        'id','user_id','puser_id','video_name','video_id','amount','charge_count','charge_user_num','play_count','created_at','updated_at'
+        'id','day','user_id','puser_id','video_name','video_id','amount','charge_count','charge_user_num','play_count','created_at','updated_at'
     ];
     ];
 
 
 }
 }

+ 2 - 2
app/Service/Stats/MiniprogramStatService.php

@@ -1,7 +1,7 @@
 <?php
 <?php
 namespace App\Service\Stats;
 namespace App\Service\Stats;
 
 
-use Redis;
+use Illuminate\Support\Facades\Redis;
 
 
 /**
 /**
  * 短剧统计
  * 短剧统计
@@ -18,7 +18,7 @@ class MiniprogramStatService{
         $amount = Redis::hget($amountKey,$field);
         $amount = Redis::hget($amountKey,$field);
 
 
         $chargeCountkey = 'VideoStat:chargeCount:'.$day; 
         $chargeCountkey = 'VideoStat:chargeCount:'.$day; 
-        $charge_count = Redis::hget($amountKey,$field);
+        $charge_count = Redis::hget($chargeCountkey,$field);
 
 
         //充值人数
         //充值人数
         $chargeUserNumKey = 'VideoStat:chargeUserNum:'.$day.':';
         $chargeUserNumKey = 'VideoStat:chargeUserNum:'.$day.':';