request->headers; $platform_id = $header['FZM-PLATFORM-ID'] ?? null; if (empty($platform_id)) { $msg = '缺少必要的参数'; $code = -1; goto doEnd; } $model = new CoinIssueCoin(); $model->setScenario(CoinIssueCoin::SCENARIOS_CREATE); if (!Yii::$app->request->isPost) { $msg = '错误的请求方式'; $code = -1; goto doEnd; } $result = Yii::$app->request->post(); $chain_id = isset($result['chain_id']) ? $result['chain_id'] : 0; $issue_charge = CoinPlatform::find()->where(['id' => $platform_id])->asArray()->one(); if (false == $chain_id) { $msg = '不存在的链'; $code = -1; goto doEnd; } $result = [ 'name' => isset($result['name']) ? $result['name'] : '', 'symbol' => isset($result['symbol']) ? strtoupper($result['symbol']) : '', 'total' => isset($result['total']) ? $result['total'] : '', 'owner' => isset($result['owner']) ? $result['owner'] : '', 'introduction' => isset($result['introduction']) ? $result['introduction'] : '', 'category' => isset($result['category']) ? $result['category'] : 0, 'platform_id' => $platform_id, 'chain_id' => $chain_id, 'charge' => $issue_charge['issue_charge'] ]; $model->load($result, ''); if (!$model->save()) { $msg = current($model->firstErrors); $code = -1; goto doEnd; } $msg = 'ok'; $code = 0; $data = $model->getPrimaryKey(); doEnd : return ['code' => $code, 'msg' => $msg, 'data' => $data]; } public function actionApplyList() { $data = null; $header = Yii::$app->request->headers; $platform_id = $header['FZM-PLATFORM-ID'] ?? null; if (empty($platform_id)) { $msg = '缺少必要的参数'; $code = -1; goto doEnd; } $page = \Yii::$app->request->get('page', 1); $size = \Yii::$app->request->get('size', 5); if (1 == $platform_id) { $query = CoinIssueCoin::find() ->select('id, name, total, create_time, status, chain_id') ->orderBy('create_time desc'); } else { $query = CoinIssueCoin::find() ->select('id, name, total, create_time, status, chain_id') ->where(['platform_id' => $platform_id]) ->orderBy('create_time desc'); } $countQuery = clone $query; $models = $query->offset(($page - 1) * $size)->limit($size)->all(); $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => $size]); foreach ($models as &$val) { $val->chain_id = $val->chain->platform; } $data = [ 'list' => $models, 'page' => [ 'pageCount' => $pages->pageCount, 'pageSize' => $size, 'currentPage' => $page, ] ]; $msg = 'ok'; $code = 0; doEnd : return ['code' => $code, 'msg' => $msg, 'data' => $data]; } public function actionApplyDetail() { $id = Yii::$app->request->get('id', ''); $data = null; if (empty($id)) { $msg = '缺少必要的参数'; $code = -1; goto doEnd; } $data = CoinIssueCoin::find()->where(['id' => $id])->asArray()->one(); $code = 0; $msg = 'success'; doEnd : return ['code' => $code, 'msg' => $msg, 'data' => $data]; } }