From b0a28b3d6bd47858e63982c6977655a8fd027f54 Mon Sep 17 00:00:00 2001
From: lccsw <805383944@qq.com>
Date: Fri, 11 Nov 2022 19:42:12 +0800
Subject: [PATCH] edit-plan-subscribemsg
---
api/controllers/plan/Plan.php | 2 +-
api/controllers/plan/Syt.php | 85 ++++++++++++++++++++++++++++++-----
2 files changed, 74 insertions(+), 13 deletions(-)
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 518f70f5..fe014177 100644
--- a/api/controllers/plan/Syt.php
+++ b/api/controllers/plan/Syt.php
@@ -44,6 +44,18 @@ class Syt extends CI_Controller
$date = date('Y-m-d H:i:s', strtotime('+10 minute'));//提前10分钟发送
$where['timeStart<='] = $date;
$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'])>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) {
@@ -117,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') {
@@ -325,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;
@@ -337,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;
@@ -553,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 "用户userid:{$val['userId']}
";
- echo "更新结果:".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');
@@ -578,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 "用户userid:{$val['userId']}
";
- echo "更新结果:".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);
+ }
}