ith5 5 месяцев назад
Родитель
Сommit
bf53653981
1 измененных файлов с 38 добавлено и 9 удалено
  1. 38 9
      app/v1/logic/gameLog/ChannelAnalysisLogic.php

+ 38 - 9
app/v1/logic/gameLog/ChannelAnalysisLogic.php

@@ -990,9 +990,9 @@ class channelAnalysisLogic extends BaseLogic
 
 
             if($row['pay_date'] == $regDate){
-                $totalRow['d0']['pay_total'] = !empty($totalRow['d0']['pay_total']) ? $totalRow['d0']['pay_total'] + $row['addup_pay_total'] : $row['addup_pay_total'];
-                $totalRow['d0']['addup_pay_amount'] = !empty($totalRow['d0']['addup_pay_amount']) ? $totalRow['d0']['addup_pay_amount'] + $row['addup_pay_amount'] : $row['addup_pay_amount'];
-                $totalRow['d0']['pay_num'] = !empty($totalRow['d0']['pay_num']) ? $totalRow['d0']['pay_num'] + $row['addup_pay_num'] : $row['addup_pay_num'];
+                $pay_total = !empty($pay_total) ? $pay_total + $row['addup_pay_total'] : $row['addup_pay_total'];
+                $pay_amount = !empty($pay_amount) ? $pay_amount + $row['addup_pay_amount'] : $row['addup_pay_amount'];
+                $pay_num = !empty($pay_num) ? $pay_num + $row['pay_num'] : $row['pay_num'];
             }
             
            
@@ -1015,9 +1015,6 @@ class channelAnalysisLogic extends BaseLogic
                         $fz = $totalLtv['d1']??0!=0 ? $totalLtv['d1'] : 1;
                         $totalRow[$key] = round($totalLtv[$key] / $fz, 2);
 
-                        $totalLtv['d0'] = ToolLogic::getRound($totalRow['d0']['addup_pay_total']??0,$totalRow['d0']['reg_total']??0);
-                        $fz = $totalLtv['d1']??0!=0 ? $totalLtv['d1'] : 1;
-                        $totalRow['d0'] = round($totalLtv['d0']/$fz, 2);
                     break;
                     case 'pay_num':
                         $totalRow[$key] = $totalRow[$key]['pay_num']??0;
@@ -1035,10 +1032,42 @@ class channelAnalysisLogic extends BaseLogic
             }
         }
 
-        
-
+        if($data && $totalRow){
+                switch($dataType){
+                    case 'recovery':
+                        $totalRow['d0'] = ToolLogic::getPercent($pay_total,$totalRow['cost'],1);
+                    break;
+                    case 'remount':
+                        $totalRow['d0'] = ToolLogic::getPercent($pay_amount,$totalRow['cost'],1);
+                    break;
+                    case 'ltv':
+                        $totalRow['d0'] = ToolLogic::getRound($pay_total,$totalRow['reg_total']);
+                    break;
+                    case 'ltvbs':
+                        $totalLtv['d0'] = ToolLogic::getRound($pay_total,$totalRow['reg_total']);
+                        $fz = $totalLtv['d1']??0!=0 ? $totalLtv['d1'] : 1;
+                        $totalRow['d0'] = round($totalLtv['d0']/$fz, 2);
+                        break;
+                    case 'pay_num':
+                        $totalRow['d0'] = $pay_num;
+                    break;
+                    case 'pay_total':
+                        $totalRow['d0'] = $pay_total;
+                    break;
+                    case 'pay_rate':
+                        $totalRow['d0'] = ToolLogic::getPercent($pay_num,$totalRow['reg_total']);
+                    break;
+                    case 'arpu':
+                        $totalRow['d0'] = ToolLogic::getRound($pay_total,$pay_num);
+                    break;
+                    default:
+                    break;
+                }
+                $totalRow['reg_cost'] = ToolLogic::getRound($totalRow['cost'],$totalRow['reg_total']);
+                $list = ToolLogic::arrSort($data,'tdate','asc');
+            }
         return [
-            'data' =>array_values($data),
+            'data' =>array_values( $list),
             'totalRow' => $totalRow
         ];