ith5 5 місяців тому
батько
коміт
ae889ea662

+ 15 - 0
app/v1/controller/gameLog/ChannelAnalysisController.php

@@ -93,4 +93,19 @@ class channelAnalysisController extends BaseController
         $resultData = $this->logic->getAgentDayDataList($where);
         return $this->success($resultData);
     }
+
+    // ltv
+    public function getLtvDataList(Request $request){
+        $where = $request->more([
+            ['game_id', ''],
+            ['media_id', ''],
+            ['auth_id', ''],
+            ['agent_id', ''],
+            ['site_id', ''],
+            ['reg_date', ''],
+            ['data_type', '']
+        ]);
+        $resultData = $this->logic->getLtvDataList($where);
+        return $this->success($resultData);
+    }
 }

+ 34 - 0
app/v1/logic/gameLog/ChannelAnalysisLogic.php

@@ -824,6 +824,40 @@ class channelAnalysisLogic extends BaseLogic
         return $resultData;
     }
 
+    /**
+     * ltv
+     */
+    public function getLtvDataList($where){
+        $params = $this->searchByAuth($where);
+        $nowDate = date("Y-m-d");
+        $whereSql = $this->generateWhereSql($params);
+
+        // 1. 获取消耗金额
+        $costData = Db::connect('db_advert')->query("SELECT SUM(money) as cost FROM media_cost WHERE 1=1 $whereSql group by tdate");
+        $costData = array_column($costData, 'cost', 'tdate');
+
+        // 2. 获取注册数
+        $baseData = $this->generateYearUnionList('base_total_day_', $params['reg_date'], $whereSql, "SUM(reg_total) as reg_total, tdate", 'tdate');
+     
+
+        // 3. 获取日期列表(注册日期和今天之间的日期)
+      
+
+
+        foreach($baseData as &$row){
+            $dateList = ToolLogic::getDatesBetween($row['tdate'], $nowDate);
+            for($i=0;$i<count($dateList);$i++){
+                $row['d'.($i+1)] = '';
+            }
+        }
+
+        print_r($baseData);
+
+        return $baseData;
+        
+        
+    }
+
     /**
      * @return void
      * 大盘数据(没有权限)