redis->get('issue_chain_manual_review'); if ('close' == $manual_review) { return 0; } $issue_coin_model = CoinIssueCoin::find() ->select('id, name, platform_id, symbol, introduction, total, category, owner') ->where(['status' => CoinIssueCoin::UN_AUDIT]) ->orderBy('create_time desc') ->all(); if (false == $issue_coin_model) { echo date('Y-m-d H:i:s') . '暂无发行任务' . PHP_EOL; return 0; } $chain_service = new Chain33Service(); foreach ($issue_coin_model as $issue_coin) { go(function () use ($issue_coin, $chain_service) { \Co::sleep(0.5); $params = [ 'name' => $issue_coin->name, 'symbol' => $issue_coin->symbol, 'introduction' => $issue_coin->introduction, //'total' => (int)$issue_coin->total, 'total' => 10, 'price' => isset($issue_coin->platform->issue_charge) ? (int)$issue_coin->platform->issue_charge : 0, 'category' => (int)$issue_coin->category, //'owner' => $issue_coin->owner 'owner' => '14TaZDqdzzmt8FcLrSJuWQux62JXmJynR9' ]; $result = $chain_service->createRawTokenPreCreateTx($params); if (null == $result['error'] && false == $result['code']) { $status = CoinIssueCoin::SUCCESS_ISSUE; $params['platform'] = $issue_coin->chain->platform; $this->syncCoin($params); } else { $status = CoinIssueCoin::FAIL_ISSUE; } if ($status > CoinIssueCoin::REFUSE_ISSUE) { CoinIssueCoin::updateAll([ 'msg' => $result['result'], 'status' => $status ], [ 'id' => $issue_coin['id'], ]); } }); } echo date('Y-m-d H:i:s') . '发行成功' . PHP_EOL; return 0; } public function actionManualIssue() { $issue_coin_model = CoinIssueCoin::find() ->select('id, name, platform_id, symbol, introduction, total, category, owner') ->where(['status' => CoinIssueCoin::ALLOW_ISSUE]) ->orderBy('create_time desc') ->all(); if (false == $issue_coin_model) { echo date('Y-m-d H:i:s') . '暂无发行任务' . PHP_EOL; return 0; } $chain_service = new Chain33Service(); foreach ($issue_coin_model as $issue_coin) { go(function () use ($issue_coin, $chain_service) { \Co::sleep(0.5); $params = [ 'name' => $issue_coin->name, 'symbol' => $issue_coin->symbol, 'introduction' => $issue_coin->introduction, //'total' => (int)$issue_coin->total, 'total' => 10, 'price' => isset($issue_coin->platform->issue_charge) ? (int)$issue_coin->platform->issue_charge : 0, 'category' => (int)$issue_coin->category, //'owner' => $issue_coin->owner 'owner' => '14TaZDqdzzmt8FcLrSJuWQux62JXmJynR9' ]; $result = $chain_service->createRawTokenPreCreateTx($params); if (null == $result['error'] && false == $result['code']) { $status = CoinIssueCoin::SUCCESS_ISSUE; $params['platform'] = $issue_coin->chain->platform; $this->syncCoin($params); } else { $status = CoinIssueCoin::FAIL_ISSUE; } if ($status > CoinIssueCoin::REFUSE_ISSUE) { CoinIssueCoin::updateAll([ 'msg' => $result['result'], 'status' => $status ], [ 'id' => $issue_coin['id'], ]); } }); } echo date('Y-m-d H:i:s') . '发行成功' . PHP_EOL; return 0; } public function syncCoin($params = []) { $model_coin = Coin::find()->where(['name' => $params['name'], 'platform' => $params['platform']])->one(); if (false == $model_coin) { $model = new Coin(); $model->name = $params['name']; $model->sid = $params['symbol']; $model->platform = $params['platform']; $model->introduce['zh-CN'] = $params['introduction']; $model->chain = 'BTY'; $model->treaty = 1; $model->save(); } } }