getMemberId(); $sysAddress=CommonServer::creatServer()->getConfigValue('sys_address'); $num=Contract::where('m_id',$mId)->where('status',2)->count(); $sendNum=Contract::where('m_id',$mId)->where('status',1)->count(); if($num>0){ $investId=2; }else{ $investId=1; } $investData=Invest::where('id',$investId)->select(['id','invest_money'])->first(); if(empty($investData)){ return $this->apiResponseError('信息异常'); } $investData->{'sysAddress'}=$sysAddress; $investData->{'sendNum'}=$sendNum; return $this->apiResponseSuccess('获取信息成功',$investData); } /** * 执行报单 * @return \Illuminate\Http\JsonResponse */ function setInvest(){ $mId=MemberServer::creatServer()->getMemberId(); $redis_on_name = 'setInvest' . $mId; $redis_time = RedisDataServer::creatServer()->getData($redis_on_name); $time=time(); if(!empty($redis_time) && $redis_time >$time-2){ return $this->apiResponseError( '请不要频繁执行'); } RedisDataServer::creatServer()->setData($redis_on_name,$time,'str',2,false); $investId=request()->input('id'); $txid=request()->input('txid'); if(empty($investId)){ return $this->apiResponseError('缺少必要参数'); } if(empty($txid)){ return $this->apiResponseError('缺少必要参数'); } $num=Contract::where('hash',$txid)->count(); if($num>0){ return $this->apiResponseError('当前交易已执行'); } $investData=Invest::where('id',$investId)->first(); $contractData=Contract::create([ 'm_id'=>$mId, 'type'=>$investId, 'status'=>1, 'hash'=>$txid, 'broadcast_data'=>'', 'error_msg'=>'', 'money'=>$investData->{'invest_money'}, 'direct_proportion'=>$investData->{'direct_proportion'}, 'grant_proportion'=>$investData->{'grant_proportion'}, 'point_proportion'=>$investData->{'point_proportion'}, 'dao_proportion'=>$investData->{'dao_proportion'}, 'technology_proportion'=>$investData->{'technology_proportion'}, 'reveal_proportion'=>$investData->{'reveal_proportion'}, 'parent_proportion'=>$investData->{'parent_proportion'}, 'contract_sn'=>IndentNumServer::creatServer()->getIndentNum(1), ]); if(empty($contractData)){ return $this->apiResponseError('执行失败'); }else{ ContractServer::creatServer()->addContractLog($contractData,'合约创建成功'); return $this->apiResponseSuccess('执行成功'); } } }