request; if ($retuest->isGet) { $params = Yii::$app->request->get(); // 检查提交的参数 $where = []; $time = time(); $where[] = ['<', 'start_time', $time]; $where[] = ['>', 'end_time', $time]; $where[] = ['=', 'status', StatusEnum::ENABLED]; $where[] = ['=', 'mall_id', $this->mall_id]; $order = 'id desc'; $params = array('where' => $where, 'order'=>$order, 'limit' => 5); $list = Recommen::listPage($params, false, true); if($list){ foreach($list['list'] as $k=>$v){ $list['list'][$k]['recommen_reward'] = json_decode($v['recommen_reward']); $list['list'][$k]['open_time'] = date("Y-m-d H:i",$v['start_time']).'-'.date("Y-m-d H:i",$v['end_time']); } } $this->success('获取成功', $list); } } /** * 活动列表 * @Author: ltm * @DateTime: 2022/5/17 0021 11:29 * @Copyright: copyright (c) 2021 广东七件事集团 * @return mixed|string|void */ public function actionRanking(){ $retuest = Yii::$app->request; if ($retuest->isGet) { $get = Yii::$app->request->get(); $where = []; $with = ['user']; //筛选出正在进行的活动 $active = Recommen::find()->select("id")->where(['mall_id' => $this->mall_id])->andWhere(['>', 'start_time', time()])->andWhere(['<', 'end_time', time()])->asArray()->column(); if($active) { $where[] = ['in', 'active_id', $active]; } $where[] = ['=', 'mall_id', $this->mall_id]; $where[] = ['>=', 'status', StatusEnum::DISABLED]; $order = 'new_num desc'; $params = array('where' => $where,'with' => $with,'group'=>'user_id','order'=>$order, 'limit' => $get['limit']); $params['select'] = 'user_id,max(new_num) as new_num'; $list = RecommenLog::listPage($params, false, true); //获取奖励 if($list['list'] && $get['page'] ==1){ if($list['list']){ $user_ids = array_column($list['list'],'user_id'); $user_ids = array_unique($user_ids); $reward_data = ['where' => [['in','user_id',$user_ids]],'order'=>'id desc', 'limit' => 5]; $reward = RecommenReward::lists($reward_data,true); $reward_data = []; if($reward){ foreach($reward as $v){ if($v['reward'] && $v['reward'] != "null" && $v['reward'] != null){ $reward_data[] = implode(',',json_decode($v['reward'],true)); } } } $list['reward'] = $reward_data; } } $this->success('获取成功', $list); } } /** * 活动详情 * @Author: ltm * @DateTime: 2022/5/17 0021 11:29 * @Copyright: copyright (c) 2021 广东七件事集团 * @return mixed|string|void */ public function actionDetail() { $retuest = Yii::$app->request; if ($retuest->isGet) { $params = Yii::$app->request->get(); // 检查提交的参数 $res = Yii::$app->services->validate->validate($params,[ [['scene','id'], 'safe'], ]); if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); // 检查提交的参数 if($params['scene']){ $where[] = ['=', 'mall_id', $this->mall_id]; $where[] = ['>=', 'status', StatusEnum::DISABLED]; $where[] = ['=', 'code', $params['scene']]; $qrode = PosterCode::getOne($where,true); if($qrode){ $params['id'] = $qrode['item_id']; } } $where = []; $where[] = ['=', 'id', $params['id']]; $where[] = ['=', 'status', StatusEnum::ENABLED]; $where[] = ['=', 'mall_id', $this->mall_id]; $detail = Recommen::getOne($where, true); if($detail){ $detail['recommen_reward'] = json_decode($detail['recommen_reward']); $detail['be_recommen_reward'] = json_decode($detail['be_recommen_reward']); $detail['type_name'] = RecommenEnum::getRewardType()[$detail['type']]; $detail['open_time'] = date("Y-m-d H:i",$detail['start_time']).'-'.date("Y-m-d H:i",$detail['end_time']); } $data['detail'] = $detail; $sign = $this->mall['mall_sign']; $data['qrcode'] = '/plugins/recommen/detail?active_id='.$params['id']."?sign={$sign}&pid=".$this->user_id."&share_type=1"; $data['qrcode_id'] = RecommenEnum::SHARE_TYPE; $this->success('获取成功', $data); } } }