Просмотр исходного кода

付费用户的免费时长和局数统计

Tree 2 недель назад
Родитель
Сommit
0914e75e93
2 измененных файлов с 31 добавлено и 0 удалено
  1. 18 0
      app/Models/RecordPlatformData.php
  2. 13 0
      app/Services/OrderServices.php

+ 18 - 0
app/Models/RecordPlatformData.php

@@ -300,6 +300,24 @@ class RecordPlatformData extends Model
 
     }
 
+    public function UpdateFreeGameTime($Channel,$RegisterDate,$second=0,$count=0)
+    {
+        $dateID = Carbon::now()->format('Ymd');
+        $newCont = 0;
+//        if ($dateID == date('Ymd', strtotime($RegisterDate)) && $Extra == 1) {
+        if ($dateID != date('Ymd', strtotime($RegisterDate))) {
+            return false;
+        }
+
+        DB::table(TableName::QPRecordDB() . 'RecordPlatformData')
+            ->updateOrInsert(['Channel' => -1, 'DateID' => $dateID], ['FreeSecond' => DB::raw("FreeSecond+$second"),'FreeGameCount' => DB::raw("FreeGameCount+$count")]);
+
+
+        DB::table(TableName::QPRecordDB() . 'RecordPlatformData')
+            ->updateOrInsert(['Channel' => $Channel, 'DateID' => $dateID], ['FreeSecond' => DB::raw("FreeSecond+$second"),'FreeGameCount' => DB::raw("FreeGameCount+$count")]);
+
+    }
+
     public function PayRequestToday($Channel, $RegisterDate,$firstPayRequest = 0)
     {
         $dateID = Carbon::now()->format('Ymd');

+ 13 - 0
app/Services/OrderServices.php

@@ -574,6 +574,8 @@ class  OrderServices
                 ->where('UserID', $user_id)
                 ->first();
 
+            $freeSecond = 0;
+
             if ($scoreInfo) {
                 DB::connection('write')->table('QPTreasureDB.dbo.GameScoreInfo')
                     ->where('UserID', $user_id)
@@ -586,6 +588,7 @@ class  OrderServices
                         'PlayTimeCount' => 0,                   //重置游戏时间
                         'OnLineTimeCount' => $scoreInfo->PlayTimeCount, //赋值免费游戏时间
                     ]);
+                $freeSecond =  $scoreInfo->PlayTimeCount;
                 //TODO
                 \Log::info('GameScoreInfo切换成功', [
                     'user_id' => $user_id,
@@ -629,11 +632,21 @@ class  OrderServices
 
             \Log::info('RecordUserDataStatisticsNew清0成功', ['user_id' => $user_id]);
 
+            $freeCount = DB::connection('read')->table(TableName::QPRecordDB() . 'RecordUserGameCount')
+                ->where('UserID', $user_id)
+                ->sum('Cnt');
+
             // 4. RecordUserGameCount 关于用户的数据删除
             DB::connection('write')->table('QPRecordDB.dbo.RecordUserGameCount')
                 ->where('UserID', $user_id)
                 ->delete();
 
+            $userModel = GlobalUserInfo::getGameUserInfo('UserID', $user_id);
+            if ($userModel && $userModel->RegisterDate){
+                $RecordPlatformDataModel = new \App\Models\RecordPlatformData();
+                $RecordPlatformDataModel->UpdateFreeGameTime($userModel->Channel,$userModel->RegisterDate,$freeSecond,$freeCount);
+            }
+
             \Log::info('RecordUserGameCount清除成功', ['user_id' => $user_id]);
 
             \Log::info('金币银币切换完成', [