request->get('page', 1); $size = Yii::$app->request->get('size', 10); $platform_id = Yii::$app->request->getPlatformId(); if (1 == $platform_id) { $param_platform_id = Yii::$app->request->get('platform_id', ''); if (false != $param_platform_id) { $platform_id = $param_platform_id; } } if (Yii::$app->request->isPost) { $model = new ExploreAppCategory(); $model->setScenario(ExploreAppCategory::SCENARIOS_CREATE); $params = Yii::$app->request->post(); $params['platform_id'] = $platform_id; $lang = [ 'zh-CN', 'en-US', 'ja' ]; $name_arr = $params['name']; $name = []; foreach ($lang as $key => $val) { $name[$val] = isset($name_arr[$val]) ? $name_arr[$val] : ''; } unset($params['name']); $params['name'] = $name; if ($model->load($params, '') && $model->save()) { goto doEnd; } $msg = $model->errors; $code = -1; goto doEnd; } if (Yii::$app->request->isGet) { $query = ExploreAppCategory::find()->where(['platform_id' => $platform_id])->asArray(); $app_category_model = $query->offset(($page - 1) * $size)->orderBy('sort')->limit($size)->asArray()->all(); foreach ($app_category_model as &$val) { $name = json_decode($val['name'], true); $val['name'] = $name; unset($val['platform_id']); } $countQuery = clone $query; $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => '10']); $data = [ 'list' => $app_category_model, 'page' => [ 'pageCount' => $pages->pageCount, 'pageSize' => $size, 'currentPage' => $page, ] ]; } doEnd : return ['code' => $code, 'msg' => $msg, 'data' => $data]; } public function actionCategoryUpdate() { $msg = 'ok'; $code = 0; $data = null; $platform_id = Yii::$app->request->getPlatformId(); if (Yii::$app->request->isGet) { $id = Yii::$app->request->get('id'); $data = ExploreAppCategory::find()->select('id, name, sort, limit, style, status')->where(['platform_id' => $platform_id, 'id' => $id])->asArray()->one(); goto doEnd; } if (Yii::$app->request->isPut) { $params = Yii::$app->request->post(); $id = isset($params['id']) ? $params['id'] : null; if (false == $id) { $msg = '参数错误'; $code = -1; goto doEnd; } $model = ExploreAppCategory::findOne($id); if ($model->platform_id != $platform_id) { $msg = '无权修改'; $code = -1; goto doEnd; } $model->setScenario(ExploreAppCategory::SCENARIOS_UPDATE); unset($params['id']); $params['platform_id'] = $platform_id; $lang = [ 'zh-CN', 'en-US', 'ja' ]; $name_arr = $params['name']; $name = []; foreach ($lang as $key => $val) { $name[$val] = isset($name_arr[$val]) ? $name_arr[$val] : ''; } unset($params['name']); $params['name'] = $name; if ($model->load($params, '') && $model->save()) { goto doEnd; } $msg = $model->errors; $code = -1; goto doEnd; } doEnd : return ['code' => $code, 'msg' => $msg, 'data' => $data]; } public function actionCategoryRemove() { $msg = 'ok'; $code = 0; $data = null; $platform_id = Yii::$app->request->getPlatformId(); $id = Yii::$app->request->get('id'); if (false == $id) { $msg = '参数错误'; $code = -1; goto doEnd; } if (Yii::$app->request->isDelete) { $model_app = ExploreApp::find()->where(['app_category_id' => (int)$id])->asArray()->all(); if (false != $model_app) { $msg = '请先删除该类别下的应用'; $code = -1; goto doEnd; } $model = ExploreAppCategory::find()->where(['id' => $id, 'platform_id' => $platform_id])->one(); if ($model->platform_id != $platform_id) { $msg = '无权修改'; $code = -1; goto doEnd; } if (!$model->delete()) { $msg = '删除失败'; $code = -1; goto doEnd; } } doEnd : return ['code' => $code, 'msg' => $msg, 'data' => $data]; } public function actionApps() { $msg = 'ok'; $code = 0; $data = null; $platform_id = Yii::$app->request->getPlatformId(); if (Yii::$app->request->isGet) { $category_id = Yii::$app->request->get('id', 0); $page = Yii::$app->request->get('page', 1); $size = Yii::$app->request->get('size', 10); if (false == $platform_id || false == $category_id) { $msg = '参数错误'; $code = -1; $data = null; goto doEnd; } $query = ExploreApp::find() ->where(['app_category_id' => $category_id]) ->asArray(); $app_model = $query->offset(($page - 1) * $size)->orderBy('sort')->limit($size)->asArray()->all(); foreach ($app_model as &$val) { $name = json_decode($val['name'], true); $val['name'] = $name; } $countQuery = clone $query; $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => '10']); $data = [ 'list' => $app_model, 'page' => [ 'pageCount' => $pages->pageCount, 'pageSize' => $size, 'currentPage' => $page, ] ]; goto doEnd; } if (Yii::$app->request->isPost) { $model = new ExploreApp(); $model->setScenario(ExploreApp::SCENARIOS_CREATE); $params = Yii::$app->request->post(); $params['platform_id'] = $platform_id; $lang = [ 'zh-CN', 'en-US', 'ja' ]; $name_arr = $params['name']; $name = []; foreach ($lang as $key => $val) { $name[$val] = isset($name_arr[$val]) ? $name_arr[$val] : ''; } unset($params['name']); $params['name'] = $name; if ($model->load($params, '') && $model->save()) { goto doEnd; } $msg = $model->errors; $code = -1; goto doEnd; } doEnd : return ['code' => $code, 'msg' => $msg, 'data' => $data]; } public function actionAppUpdate() { $msg = 'ok'; $code = 0; $data = null; $platform_id = Yii::$app->request->getPlatformId(); if (Yii::$app->request->isGet) { $id = Yii::$app->request->get('id'); $data = ExploreApp::find()->select('id, name, icon, app_url, slogan, type, sort, status')->where(['platform_id' => $platform_id, 'id' => $id])->asArray()->one(); goto doEnd; } if (Yii::$app->request->isPut) { $params = Yii::$app->request->post(); $id = isset($params['id']) ? $params['id'] : null; if (false == $id) { $msg = '参数错误'; $code = -1; goto doEnd; } $model = ExploreApp::findOne($id); if ($model->platform_id != $platform_id) { $msg = '无权修改'; $code = -1; goto doEnd; } $model->setScenario(ExploreApp::SCENARIOS_UPDATE); unset($params['id']); $params['platform_id'] = $platform_id; $lang = [ 'zh-CN', 'en-US', 'ja' ]; $name_arr = $params['name']; $name = []; foreach ($lang as $key => $val) { $name[$val] = isset($name_arr[$val]) ? $name_arr[$val] : ''; } unset($params['name']); $params['name'] = $name; if ($model->load($params, '') && $model->update()) { goto doEnd; } $msg = $model->errors; $code = -1; goto doEnd; } doEnd : return ['code' => $code, 'msg' => $msg, 'data' => $data]; } public function actionAppRemove() { $msg = 'ok'; $code = 0; $data = null; $platform_id = Yii::$app->request->getPlatformId(); $id = Yii::$app->request->get('id'); if (false == $id) { $msg = '参数错误'; $code = -1; goto doEnd; } if (Yii::$app->request->isDelete) { $model = ExploreApp::find()->where(['id' => $id, 'platform_id' => $platform_id])->one(); if ($model->platform_id != $platform_id) { $msg = '无权修改'; $code = -1; goto doEnd; } if (false == $model || !$model->delete()) { $msg = '删除失败'; $code = -1; goto doEnd; } } doEnd : return ['code' => $code, 'msg' => $msg, 'data' => $data]; } }