diff --git a/api/controllers/plan/Plan.php b/api/controllers/plan/Plan.php index 9ee3fce7..3b55e406 100644 --- a/api/controllers/plan/Plan.php +++ b/api/controllers/plan/Plan.php @@ -53,7 +53,7 @@ class Plan extends CI_Controller // $plan[] = array('url' => base_url(array('plan', 'syt', 'subscribemsg')), 'interval' => 1); //私域通模板消息 $plan[] = array('url' => base_url(array('plan', 'syt', 'syn_polyv')), 'interval' => 60); //私域通直播间数据同步 - $plan[] = array('url' => base_url(array('plan', 'syt', 'api_viewlog')), 'interval' => 5); //私域通直播间播放日志数据同步 + $plan[] = array('url' => base_url(array('plan', 'syt', 'api_viewlog')), 'interval' => 1); //私域通直播间播放日志数据同步 $plan[] = array('url' => base_url(array('plan', 'syt', 'out_time')), 'interval' => 1); //订单过期 $plan[] = array('url' => base_url(array('plan', 'syt', 'union_user')), 'interval' => 1); //直播数据关联用户 diff --git a/api/controllers/plan/Syt.php b/api/controllers/plan/Syt.php index 0a0b2363..fe014177 100644 --- a/api/controllers/plan/Syt.php +++ b/api/controllers/plan/Syt.php @@ -46,14 +46,16 @@ class Syt extends CI_Controller $where['status'] = 0; $min_row = $this->mdSytSubscribemsg->get($where,'min(id) as id'); $max_row = $this->mdSytSubscribemsg->get($where,'max(id) as id'); - if(($max_row['id']-$min_row['id'])>100){ - $ids_arr = []; - for($i=0;$i<$size;$i++){ - $ids_arr[] = rand($min_row['id'],$max_row['id']); - } - $ids = implode(',',array_unique($ids_arr)); - $ids && $where["id in ({$ids})"] = null; - } +// if(($max_row['id']-$min_row['id'])>1000){ +// $ids_arr = []; +// for($i=0;$i<$size;$i++){ +// $s_id = rand($min_row['id'],$max_row['id']); +// $s_id += 1; +// $ids_arr[] = $s_id; +// } +// $ids = implode(',',array_unique($ids_arr)); +// $ids && $where["id in ({$ids})"] = null; +// } $res = $this->mdSytSubscribemsg->select($where, 'id asc', 1, $size); $log = array(); if ($res) { @@ -127,8 +129,8 @@ class Syt extends CI_Controller debug_log("开始同步{$item['activityId']}活动直播", $this->log_file, $this->log_dir); $polyv = new PolyvApi(['channel_id' => $item['channelId']]); $pl_where = [ - 'startTime' => strtotime($item['timeStart']) * 1000, - 'endTime' => strtotime($item['timeEnd']) * 1000 + 'startTime' => (strtotime($item['timeStart'])-10*60*60) * 1000, + 'endTime' => (strtotime($item['timeEnd'])+24*60*60) * 1000 ]; $results = $polyv->getSessionStats($pl_where); if ($results['status'] == 'success') { @@ -335,7 +337,17 @@ class Syt extends CI_Controller $user = $this->user_model->get(['unionid'=>$value['param1']]); $user && $ac_user = $this->act_user_model->get(['activityId'=>$value['activityId'],'userId'=>$user['userId']]); if($ac_user['channelId']){ - $p_user = $this->user_model->get(['userId'=>$ac_user['channelId']]); + $ac_user['channelId'] && $p_user = $this->user_model->get(['userId'=>$ac_user['channelId']]); + if(!$p_user){ + if($ac_user['teamId']){ + $t_level_id = $this->sylive_entity->get_team_level($ac_user['teamId']); + $p_user = $t_level_id<3 ? $user : 0; + } + if($ac_user['organizationId']){ + $group_id = $this->sylive_entity->get_level($ac_user['organizationId']); + $p_user = $group_id<4 ? $p_user : 0; + } + } } if($p_user['teamId']){ $addData['type'] = 1; @@ -347,8 +359,8 @@ class Syt extends CI_Controller if($p_user['organizationId']){ $addData['type'] = 0; $team_lists = $this->sylive_entity->get_level_lists($p_user['organizationId']); - $area_id = $team_lists[0]['organizationId']; //大团长id - $biz_id = $team_lists[1]['organizationId']; //团长id + $area_id = $team_lists[1]['organizationId']; //获取大区id + $biz_id = $team_lists[2]['organizationId']; //获取店铺id $addData['cfUserId'] = $p_user['userId']; } $area_id && $addData['areaId'] = $area_id; @@ -563,18 +575,20 @@ class Syt extends CI_Controller if($rows){ foreach ($rows as $key => $val) { $update = [ - 'orderTotal' => $this->mdSytActivityKpiData->count(['activityId'=>4,'bizId'=>$val['bizId'],'kpi'=>'order','type'=>0]) + 'browse' => $this->mdSytActivityKpiData->count(['activityId'=>4,'bizId'=>$val['bizId'],'kpi'=>'browse','type'=>0]), + 'subscribe' => $this->mdSytActivityKpiData->count(['activityId'=>4,'bizId'=>$val['bizId'],'kpi'=>'subscribe','type'=>0]), + 'orderTotal' => $this->mdSytActivityKpiData->count(['activityId'=>4,'bizId'=>$val['bizId'],'kpi'=>'order','type'=>0]), + 'watch' => $this->mdSytActivityKpiData->count(['activityId'=>4,'bizId'=>$val['bizId'],'kpi'=>'watch','type'=>0]), ]; $this->mdSytActivityBiz->update($update,['id'=>$val['id']]); - echo "id:{$val['id']}
"; - echo "原来订单数{$val['orderTotal']},更新结果:".json_encode($update,JSON_UNESCAPED_UNICODE)."
"; + echo "id:{$val['id']}原来订单数".json_encode($val,JSON_UNESCAPED_UNICODE)."
,更新结果:".json_encode($update,JSON_UNESCAPED_UNICODE)."
"; } }else{ echo '执行结束'; } } public function user_order(){ - $this->ci->load->model('market/market_sylive_activity_user_model', 'act_user_model'); + $this->load->model('market/market_sylive_activity_user_model', 'act_user_model'); $this->load->model('market/market_sylive_activity_kpidata_model','mdSytActivityKpiData'); $page = $this->input->get('page'); $size = $this->input->get('size'); @@ -588,14 +602,51 @@ class Syt extends CI_Controller if($rows){ foreach ($rows as $key => $val) { $update = [ - 'orderTotal' => $this->mdSytActivityKpiData->count(['activityId'=>4,'cfUserId'=>$val['userId'],'kpi'=>'order','type'=>0]) + 'browse' => $this->mdSytActivityKpiData->count(['activityId'=>4,'cfUserId'=>$val['userId'],'kpi'=>'browse','type'=>0]), + 'subscribe' => $this->mdSytActivityKpiData->count(['activityId'=>4,'cfUserId'=>$val['userId'],'kpi'=>'subscribe','type'=>0]), + 'orderTotal' => $this->mdSytActivityKpiData->count(['activityId'=>4,'cfUserId'=>$val['userId'],'kpi'=>'order','type'=>0]), + 'watch' => $this->mdSytActivityKpiData->count(['activityId'=>4,'cfUserId'=>$val['userId'],'kpi'=>'watch','type'=>0]) ]; $this->act_user_model->update($update,['id'=>$val['id']]); - echo "id:{$val['id']}
"; - echo "原来订单数{$val['orderTotal']},更新结果:".json_encode($update,JSON_UNESCAPED_UNICODE)."
"; + echo "id:{$val['id']}原来订单数".json_encode($val,JSON_UNESCAPED_UNICODE)."
,更新结果:".json_encode($update,JSON_UNESCAPED_UNICODE)."
"; } }else{ echo '执行结束'; } } + + public function up_kpi_jsondata(){ + $this->load->model('market/market_sylive_activity_kpidata_model','mdSytActivityKpiData'); + $this->load->model('market/market_sylive_order_model','order_model'); + $page = $this->input->get('page'); + $size = $this->input->get('size'); + !$page && $page = 1; + !$size && $size = 20; + $where = [ + 'activityId' => 4, + 'tagId>' => 0, + 'jsondata is null' => null, + 'kpi' => 'order' + ]; + $rows = $this->mdSytActivityKpiData->select($where,'id asc',$page,$size); + if($rows){ + foreach ($rows as $item) { + $order = $this->order_model->get(['id'=>$item['tagId']]); + if($order){ + $jsondata = $item['jsondata'] ? json_decode($item['jsondata'],true) : []; + $jsondata['order_id'] = $order['id']; + $jsondata['sid'] = $order['sid']; + $update = [ + 'jsondata' => json_encode($jsondata,JSON_UNESCAPED_UNICODE) + ]; + $this->mdSytActivityKpiData->update($update,['id'=>$item['id']]); + echo "更新成功:".json_encode($update,JSON_UNESCAPED_UNICODE).",kpidata id:{$item['id']}
"; + }else{ + echo "找不到订单:{$item['tagId']},kpidata id:{$item['id']}
"; + } + } + } + echo $this->mdSytActivityKpiData->db->last_query();exit; + print_r($rows); + } }