request->get('platform_id', ''); if(empty($platform_id)){ $msg = '参数不能为空'; $code = -1; $data = null; goto doEnd; } $data = CoinPlatform::find()->select("name, download_url, introduce")->where(['id' => $platform_id])->asArray()->one(); if(empty($data)){ $msg = '数据不存在'; $data = null; $code = -1; goto doEnd; } $data['title'] = $data['name']; unset($data['name']); doEnd : return ['code' => $code, 'data' => $data, 'msg' => $msg]; } public function actionGameTradeUpdate() { $coinAirDropTrade = CoinAirDropTrade::find()->where(['attach' => 2 ,'msg' => '0'])->limit(30)->all(); foreach ($coinAirDropTrade as $val){ $fee = 100000; $amount = 1 * 1e8; $execer = 'coins'; $note = ''; $service = new Chain33Service(); $createRawTransaction = $service->createRawTransaction($val->coins_address, $amount, $fee, $note, $execer); if(0 != $createRawTransaction['code']){ continue; } $txHex = $createRawTransaction['result']; $privkey = '72c3879f1f9b523f266a9545b69bd41c0251483a93e21e348e85118afe17a5e2'; $expire = '1m'; $signRawTx = $service->signRawTx($privkey, $txHex, $expire); if(0 != $signRawTx['code']){ continue; } $sign_str = $signRawTx['result']; $result = $service->sendTransaction($sign_str); if(0 != $result['code']){ continue; } $currentModel = CoinAirDropTrade::findOne($val->id); $currentModel->attach = 2; $currentModel->balance = 0; $currentModel->msg = $result['result']; $currentModel->save(); } return ['code' => 1, 'msg' => 'ok']; } public function actionGetBalance() { $coinAirDropTrade = CoinAirDropTrade::find()->where(['balance' => 0])->limit(60)->all(); $address = []; foreach ($coinAirDropTrade as $val){ $address[] = $val->coins_address; } $service = new Chain33Service(); $execer = 'coins'; $result = $service->getBalance($address, $execer); if(0 == $result['code']){ $result_balance = $result['result']; foreach ($result_balance as $val){ $coinAirDropTrade = CoinAirDropTrade::find()->where(['coins_address' => $val['addr']])->one(); if(empty($coinAirDropTrade)) continue; $coinAirDropTrade->balance = $val['balance']; $coinAirDropTrade->save(); } } return ['code' => 1, 'msg' => 'ok']; } }