{'hash'})->first(); if($contract){ if($contract->{'status'}!=1){ ErrorRecord::create([ 'm_id' => 0, 'msg' => '合约状态从异常', 'data' => json_encode($contract) ]); $this->addContractLog($contract,'合约状态异常,程序终止清分,记录扫快信息',$blockItem); }else{ $ret = TronRPC::CreationTron()->getTransaction($contract->{'hash'}); if (!empty($ret['ret'][0]['contractRet']) && $ret['ret'][0]['contractRet'] == 'SUCCESS') { //检测交易信息 if($contract->{'type'}==1){ //初始合约 //生成双轨关系 $member=Member::where('id',$contract->{'m_id'})->select(['id','recom_id'])->first(); JobServer::creatServer()->creatBothJob($member->{'id'},$member->{'recom_id'}); //报单拆分 $this->oneSettle($contract); }else{ //复投合约 $this->twoSettle($contract); } } else { ErrorRecord::create([ 'm_id' => $contract->{'m_id'}, 'msg' => '交易失败', 'data' => json_encode($contract) ]); } } }else{ ErrorRecord::create([ 'm_id' => 0, 'msg' => '合约信息不存在,扫快信息:', 'data' => json_encode($blockItem) ]); } } /** * 首单清分 * @param Contract $contract */ function oneSettle(Contract $contract){ if($contract->{'direct_proportion'}>0){ //直推金额分化 } } /** * 复投清分 * @param Contract $contract */ function twoSettle(Contract $contract){ } /** * 合约日志记录 * @param Contract $contract * @param $msg * @param array $data */ function addContractLog(Contract $contract,$msg,$data=[]){ ContractLog::create([ 'contract_id'=> $contract->{'id'}, 'm_id'=> $contract->{'m_id'}, 'msg'=> $msg, 'contract_data'=> json_encode($contract), 'data'=> json_encode($data), ]); } }