diff --git a/api/controllers/plan/Score.php b/api/controllers/plan/Score.php index 4a953b40..518e808c 100644 --- a/api/controllers/plan/Score.php +++ b/api/controllers/plan/Score.php @@ -20,6 +20,12 @@ class Score extends HD_Controller $biz_id = $this->input->get('biz_id'); $uid = $this->input->get('uid'); $getPage = $this->input->get('page'); + $t_limit = $this->input->get('time_limit'); + $h = date('H'); + if (!$t_limit && $h > 5) { + echo '当前时间段不可执行'; + exit; + } $redis = &load_cache('redis'); $pageCacheKey = "RECEIVER_SCORE_PLAN_PAGE"; if ($getPage) { @@ -41,6 +47,9 @@ class Score extends HD_Controller foreach ($rows as $item) { $result = Score_entity::init($day, $item['id'], $item['group_id'], $item['biz_id']); } + debug_log("[info]# 当前执行页数" . $page, __FUNCTION__, $this->log_dir); + $page++; + $redis->set($pageCacheKey, $page, 60 * 60); } else { $msg = '执行完成'; echo $msg; @@ -51,12 +60,24 @@ class Score extends HD_Controller //每日统计 public function scoreDay() { + $t_limit = $this->input->get('time_limit'); + $h = date('H'); + if (!$t_limit && $h > 5) { + echo '当前时间段不可执行'; + exit; + } + $getPage = $this->input->get('page'); $day = date('Y-m-d', strtotime("-1 day")); $scoreLogModel = new Receiver_score_log_model(); $receiverScoreDayModel = new Receiver_score_day_model(); $redis = &load_cache('redis'); - $page = 1; - $size = 100; + $pageCacheKey = "RECEIVER_SCORE_DAY_USER_PLAN_PAGE"; + if ($getPage) { + $page = $getPage; + } else { + $page = $redis->get($pageCacheKey) ?: 1; + } + $size = 50; $where = [ 'day' => $day, ]; @@ -92,17 +113,35 @@ class Score extends HD_Controller $receiverScoreDayModel->add($addData); } } + debug_log("[info]# 当前执行页数" . $page, __FUNCTION__, $this->log_dir); + $page++; + $redis->set($pageCacheKey, $page, 60 * 60); } else { //合并门店数据 + $finishCacheKey = "RECEIVER_SCORE_DAY_USER_FINISH"; + if ($redis->get($finishCacheKey)) { + $msg = '用户合并统计数据执行完成'; + echo $msg; + debug_log("[info]# " . $msg, __FUNCTION__, $this->log_dir); + echo "开始执行店铺合并数据"; + $redis->set($finishCacheKey, 1, 6 * 60 * 60); + } $this->scoreBizDay($day); } } public function scoreBizDay($day) { + $getPage = $this->input->get('page'); + !$day && $day = date('Y-m-d', strtotime("-1 day")); $receiverScoreDayModel = new Receiver_score_day_model(); $redis = &load_cache('redis'); - $page = 1; - $size = 100; + $pageCacheKey = "RECEIVER_SCORE_DAY_BIZ_PLAN_PAGE"; + if ($getPage) { + $page = $getPage; + } else { + $page = $redis->get($pageCacheKey) ?: 1; + } + $size = 50; $where = [ 'day' => $day, 'type' => Receiver_score_day_model::TYPE_USER @@ -137,6 +176,13 @@ class Score extends HD_Controller $receiverScoreDayModel->add($addData); } } + debug_log("[info]# 当前执行页数" . $page, __FUNCTION__, $this->log_dir); + $page++; + $redis->set($pageCacheKey, $page, 60 * 60); + } else { + $msg = '店铺合并统计数据执行完成'; + echo $msg; + debug_log("[info]# " . $msg, __FUNCTION__, $this->log_dir); } } } \ No newline at end of file