request->isAjax) { if (\Yii::$app->request->isGet) { $params = \Yii::$app->request->get(); $where[] = ['mall_id' => $this->mall_id]; $where[] = ['status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]]; if (!empty($params['keyword'])) { $course_list = AddonsCourse::lists(['where' => [['like', 'name', $params['keyword'] . '%', false]], 'select' => 'id']); $cid = array_column($course_list, 'id'); $where[] = ['cid' => $cid]; } $params = [ 'where' => $where, 'order' => 'created_at desc' ]; $page_data = AddonsCourseDiscuss::listPage($params); if (!empty($page_data['list'])) { $user_id_arr = array_column($page_data['list'], 'uid'); $c_id_arr = array_column($page_data['list'], 'cid'); $user_list = User::lists(['where' => [['id' => $user_id_arr]], 'index' => 'id', 'select' => 'id,nickname,avatar_url,mobile']); $course_list = AddonsCourse::lists(['where' => [['id' => $c_id_arr]], 'index' => 'id', 'select' => 'id,name']); foreach ($page_data['list'] as &$item) { strpos($item['content'], '"') !== false && $item['content'] = json_decode($item['content']); $item['course_name'] = ''; $item['nickname'] = ''; $item['avatar_url'] = ''; $item['mobile'] = ''; if (isset($course_list[$item['cid']])) $item['course_name'] = $course_list[$item['cid']]['name']; if (isset($user_list[$item['uid']])) { $item['nickname'] = $user_list[$item['uid']]['nickname']; $item['avatar_url'] = $user_list[$item['uid']]['avatar_url']; $item['mobile'] = $user_list[$item['uid']]['mobile']; } } } return $this->success('success', $page_data); } else { return $this->error('请求方式错误'); } } else { return $this->render('index'); } } public function actionEdit() { if (\Yii::$app->request->isAjax) { if (\Yii::$app->request->isGet) { $params = \Yii::$app->request->get(); $discuss_info = ''; if (!empty($params['id'])) $discuss_info = AddonsCourseDiscuss::getOne([['id' => $params['id'], 'mall_id' => $this->mall_id]], true); $course_list = AddonsCourse::lists([ 'where' => [ ['mall_id' => $this->mall_id], ['status' => StatusEnum::ENABLED] ], 'select' => 'id,name' ]); $data['discuss_info'] = $discuss_info; $data['course_list'] = $course_list; return $this->success('success', $data); } else { $params = \Yii::$app->request->post(); $res = \Yii::$app->services->validate->validate($params, [ [['cid','content','score'], 'required'], [['id','is_anonymous'], 'integer'] ]); if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage()); $params['mall_id'] = $this->mall_id; $params['cpid'] = 0; $res = AddonsCourseDiscuss::setData($params); if ($res === false) return $this->error(AddonsCourseDiscuss::getStaticError()); return $this->success('操作成功'); } } else { return $this->render('edit'); } } public function actionSwitchShield() { $post = \Yii::$app->request->post(); $params['id'] = $post['id']; $params['mall_id'] = $this->mall_id; $params['is_shield'] = $post['val']; $res = AddonsCourseDiscuss::setData($params); if ($res === false) return $this->error(AddonsCourseDiscuss::getStaticError()); return $this->success('操作成功'); } public function actionDelete() { $post = \Yii::$app->request->post(); $params['id'] = $post['id']; $params['mall_id'] = $this->mall_id; $params['status'] = StatusEnum::DELETE; $res = AddonsCourseDiscuss::setData($params); if ($res === false) return $this->error(AddonsCourseDiscuss::getStaticError()); return $this->success('操作成功'); } }