*/ namespace backend\controllers; use common\business\Chain33Business; use Yii; use backend\models\coin\CoinPublishForm; use common\models\psources\CoinPublish; use common\models\psources\Coin; class CoinPublishController extends BaseController { public function actionList() { if (Yii::$app->request->isAjax) { Yii::$app->response->format = 'json'; $get = Yii::$app->request->get(); $page = $get['page'] ?? 1; $limit = $get['limit'] ?? 10; $auth = Yii::$app->authManager; $role_self = current($auth->getRolesByUser(Yii::$app->user->id)); $child_roles = $auth->getChildRoles($role_self->name); $userful_roles = array_keys($child_roles); $condition[] = ['in', 'owner', $userful_roles]; $data = CoinPublish::getList($page, $limit, $condition); //获取热钱包数量 if ($data['code'] == 0 && !empty($data['data'])) { $list = &$data['data']; $amount = Chain33Business::getMulAccountTokenAssets($list); foreach ($list as $k => &$v) { $v['amount'] = $amount[$v['id']]; } } return $data; } return $this->render('list'); } public function actionAdd() { if (Yii::$app->request->isGet) { $this->layout = false; $id = Yii::$app->request->get('id', null); if ($id) { $model = CoinPublish::findOne($id); } else { $model = new CoinPublishForm(); } $auth = Yii::$app->authManager; $role = current($auth->getRolesByUser(Yii::$app->user->id)); $childRoles = array_keys($auth->getChildRoles($role->name)); // $coins = Coin::getAllByPlatformId(Yii::$app->user->identity->platform_id, 0, 999); return $this->render('form', ['model' => $model, 'roles' => $childRoles]); } elseif (Yii::$app->request->isPost) { Yii::$app->response->format = 'json'; $post = Yii::$app->request->post(); $model = new CoinPublishForm(); if (isset($post['id']) && !empty($post['id'])) { $model->scenario = CoinPublishForm::SCENARIOS_UPDATE; } else { $model->scenario = CoinPublishForm::SCENARIOS_ADD; } if ($model->load($post) && $model->validate()) { if ($model->id) { $CoinPublish = CoinPublish::findOne($model->id); } else { $CoinPublish = new CoinPublish(); } $CoinPublish->company_name = $model->company_name; $CoinPublish->coin_name_zh = $model->coin_name_zh; $CoinPublish->coin_name_en = $model->coin_name_en; $CoinPublish->address = $model->address; $CoinPublish->owner = $model->owner; $CoinPublish->platform_id = Yii::$app->user->identity->platform_id; if ($CoinPublish->save(false)) { return ['code' => 0, 'msg' => 'succeed', 'data' => '']; } else { return ['code' => -1, 'msg' => 'failed']; } } else { return ['code' => -1, 'msg' => current($model->firstErrors)]; } } } public function actionDel() { Yii::$app->response->format = 'json'; $id = Yii::$app->request->get('id', null); if ($id) { $model = CoinPublish::findOne(['id' => $id]); if ($model->delete()) { return ['code' => 0, 'msg' => 'succeed']; } } return ['code' => -1, 'msg' => 'failed']; } }