market_statistics_1031_2

This commit is contained in:
dengbw
2022-10-31 17:49:50 +08:00
parent a54f57f6af
commit a4cef41ae2
+11 -9
View File
@@ -39,7 +39,6 @@ class Statistics extends BaseController
}
$title = '';
$activityData1 = $activityData2 = $areaData = $bizData = $consultantData = $areaAry = $funnel = $allOrganizationIds = [];
$browse = $subscribe = $watch = $order = 0;
$re = $this->mdSyliveActivity->get(['activityId' => $activityId]);
if ($re) {
$title = $re['title'];
@@ -184,18 +183,19 @@ class Statistics extends BaseController
$subscribe = $this->mdSyliveActivityKpidata->count(['a_id' => $activityId, 'type' => 0, 'kpi' => 'subscribe']);
$watch = $this->mdSyliveActivityKpidata->count(['a_id' => $activityId, 'type' => 0, 'kpi' => 'watch']);
$order = $this->mdSyliveOrder->count(['item_id' => $activityId, 'cfrom' => 0, 'status' => 1]);
$duration_min = $livePV = $watchDuration = $watchDuration = $pvDuration = 0;
$duration_min = $livePV = $liveUV = $watchDuration = $watchDuration = $pvDuration = 0;
if ($channelId) {
$re_duration = $this->mdPolyvSession->sum('duration', ['channelId' => $channelId]);
if ($re_duration['duration']) {
$re_liveUV = $this->mdPolyvSession->sum('liveUV', ['channelId' => $channelId]);
$re_livePV = $this->mdPolyvSession->sum('livePV', ['channelId' => $channelId]);
$re_liveUV = $this->mdPolyvSession->sum('liveUV', ['channelId' => $channelId]);
$livePV = $re_livePV['livePV'];
$liveUV = $re_liveUV['liveUV'];
$re_totalPlayDuration = $this->mdPolyvSession->sum('totalPlayDuration', ['channelId' => $channelId]);
$duration_min = round($re_duration['duration'] / 60);
$totalPlayDuration_min = round($re_totalPlayDuration['totalPlayDuration'] / 60);
$livePV = $re_livePV['livePV'];
$watchDuration = round($totalPlayDuration_min / $re_liveUV['liveUV']);
$pvDuration = round($livePV / $re_liveUV['liveUV'], 1);
$watchDuration = round($totalPlayDuration_min / $liveUV);
$pvDuration = round($livePV / $liveUV, 1);
}
}
$allConsultant = 0;
@@ -208,8 +208,10 @@ class Statistics extends BaseController
$activityData1 = [['name' => '参与区域数', 'value' => count($areaData)], ['name' => '参与门店数', 'value' => count($bizData)]
, ['name' => '参与/全部顾问数', 'value' => $consultant . '/' . $allConsultant]];
$url = "/sylive/activity/statistics/piechart?activityId={$activityId}&";
$watch_un = $watch - $liveUV;
$watch_un < 0 && $watch_un = 0;
$activityData2 = [['name' => '浏览数(人)', 'value' => $browse, 'url' => ''], ['name' => '预约数(人)', 'value' => $subscribe, 'url' => '']
, ['name' => '观看数(人)', 'value' => $watch, 'url' => ''], ['name' => '订单数(单)', 'value' => $order, 'url' => '']
, ['name' => '订单数(单)', 'value' => $order, 'url' => ''], ['name' => '有效观看(人)', 'value' => $liveUV, 'url' => ''], ['name' => '无效观看(人)', 'value' => $watch_un, 'url' => '']
, ['name' => '直播时长(分)', 'value' => $duration_min, 'url' => ''], ['name' => '观看数(人次)', 'value' => $livePV, 'url' => '']
, ['name' => '人均观看(分)', 'value' => $watchDuration, 'url' => ''], ['name' => '人均观看(次)', 'value' => $pvDuration, 'url' => '']];
// $activityData2 = [['name' => '浏览数(人)', 'value' => $browse, 'url' => "{$url}kpi=browse"], ['name' => '预约数(人)', 'value' => $subscribe, 'url' => "{$url}kpi=subscribe"]
@@ -242,8 +244,8 @@ class Statistics extends BaseController
$right_actual_data = [['name' => '浏览人数_' . $right_browse, 'value' => $right_browse], ['name' => '观看人数', 'value' => $right_watch], ['name' => '订单数', 'value' => $right_order]];
$funnel_subscribe = ['title' => '浏览转化漏斗(直播阶段)', 'expected_data' => $right_expected_data, 'actual_data' => $right_actual_data];
$data = ['activityId' => $activityId, 'title' => $title, 'activityData1' => $activityData1, 'activityData2' => $activityData2, 'areaData' => $areaData
, 'bizData' => $bizData, 'consultantData' => $consultantData, 'funnelBrowse' => $funnel_browse, 'funnelSubscribe' => $funnel_subscribe];
$data = ['activityId' => $activityId, 'title' => $title, 'activityData1' => ['list' => $activityData1, 'style' => 'width: 33.3%'], 'activityData2' => ['list' => $activityData2, 'style' => 'width: 11.1%']
, 'areaData' => $areaData, 'bizData' => $bizData, 'consultantData' => $consultantData, 'funnelBrowse' => $funnel_browse, 'funnelSubscribe' => $funnel_subscribe];
$this->return_response($data);
}