lid); $coin_release_check = CoinReleaseCheck::findOne($this->cid); if ($coin_release_list && $coin_release_check) { $result = Chain33Business::getTxByHashs([$this->txhash]); if ($result['code'] == 0) { $result = $result['result']['txs'][0]['receipt']['ty'] ?? 0; if ($result == 1) { //转账失败 $coin_release_list->status = 2; $coin_release_check->status = 3; $trans = CoinReleaseCheck::getDb()->beginTransaction(); try { if ($coin_release_check->save() && $coin_release_list->save()) { //退换资产 $coin_release_member = CoinReleaseMember::findOne($coin_release_list->mid); if ($coin_release_member) { $coin_release_member->release += $coin_release_list->amount; $coin_release_member->output -= $coin_release_list->amount; if ($coin_release_member->save()) { $trans->commit(); return 0; } } } $trans->rollBack(); } catch (\Exception $exception) { Yii::$app->queue->delay(15)->push($this); return 0; } } elseif ($result == 2) { //转账成功 $coin_release_list->status = 1; $coin_release_check->status = 4; $trans = CoinReleaseCheck::getDb()->beginTransaction(); try { if ($coin_release_check->save() && $coin_release_list->save()) { $trans->commit(); return 0; } $trans->rollBack(); } catch (\Exception $exception) { Yii::$app->queue->delay(15)->push($this); return 0; } } } } Yii::$app->queue->delay(15)->push($this); return 0; } }