BF-202210271038\Administrator 3 lat temu
rodzic
commit
86c19c5230

+ 3 - 2
app/Http/Controllers/Api/CommonController.php

@@ -10,6 +10,7 @@ use App\Models\AgencySet;
 use App\Models\Config;
 use App\Models\Region;
 use App\Servers\CommonServer;
+use App\Servers\ContractServer;
 use App\Servers\Icon\BanRPC;
 use App\Servers\ShopServer;
 use App\Servers\SmsServer;
@@ -31,8 +32,8 @@ class CommonController extends FrontController
 
     function index()
     {
-        $ret=BanRPC::creatServer()->getTransactionReceipt('0xc47a91e730e44c1beb80182f69c117b74dfdf9e6b2fdbb81def8bc704cd0cb5b');
-        dd($ret);
+        ContractServer::creatServer()->broadcastDetection();
+        dd(11);
     }
 
 

+ 7 - 16
app/Http/Controllers/Api/ContractController.php

@@ -28,21 +28,12 @@ class ContractController extends FrontController
      * @return \Illuminate\Http\JsonResponse
      */
     function getInvestData(){
-        $mId=MemberServer::creatServer()->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();
+        $investData=Invest::where('id',1)->select(['id','invest_money'])->first();
         if(empty($investData)){
             return $this->apiResponseError('信息异常');
         }
         $investData->{'sysAddress'}=$sysAddress;
-        $investData->{'sendNum'}=$sendNum;
         return $this->apiResponseSuccess('获取信息成功',$investData);
     }
 
@@ -81,13 +72,13 @@ class ContractController extends FrontController
             'broadcast_data'=>'',
             'error_msg'=>'',
             'money'=>$investData->{'invest_money'},
+            'platform_money'=>$investData->{'platform_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'},
+            'indirect_proportion'=>$investData->{'indirect_proportion'},
+            'team_proportion'=>$investData->{'team_proportion'},
+            'common_proportion'=>$investData->{'common_proportion'},
+            'sediment_proportion'=>$investData->{'sediment_proportion'},
+            'agency_proportion'=>$investData->{'agency_proportion'},
             'contract_sn'=>IndentNumServer::creatServer()->getIndentNum(1),
         ]);
         if(empty($contractData)){

+ 17 - 37
app/Servers/ContractServer.php

@@ -16,6 +16,7 @@ use App\Models\ErrorRecord;
 use App\Models\Invest;
 use App\Models\Member;
 use App\Models\MemberBoth;
+use App\Servers\Icon\BanRPC;
 use App\Servers\Icon\TronRPC;
 
 /**
@@ -56,49 +57,28 @@ class ContractServer
 
     /**
      * 报单信息检测
-     * @param BlockItems $blockItem
      */
-    function broadcastDetection(BlockItems $blockItem){
+    function broadcastDetection(){
         //检测报单信息
-        $contract=Contract::where('hash',$blockItem->{'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);
-                    }
+        $contractList=Contract::where('status',1)->select(['id','hash','m_id'])->limit(50)->get();
+        foreach ($contractList as $contract){
+            $broadcastData=BanRPC::creatServer()->getTransactionReceipt($contract->{'hash'});
+            if (empty($broadcastData)) {
+                //交易正在广播中,下次继续查询
+                continue;
+            } else {
+                //交易已完成 返回数据格式数据 ,将数据json保存
+                $updateInfo['broadcast_data'] = json_encode($broadcastData);
+                if ($broadcastData['status'] == '0x1') {
+                    $updateInfo['status'] = 2;
                 } else {
-                    ErrorRecord::create([
-                        'm_id' => $contract->{'m_id'},
-                        'msg' => '交易失败',
-                        'data' => json_encode($contract)
-                    ]);
+                    $updateInfo['status'] = 3;
                 }
+                dd($updateInfo);
+
             }
-        }else{
-            ErrorRecord::create([
-                'm_id' => 0,
-                'msg' => '合约信息不存在,扫快信息:',
-                'data' => json_encode($blockItem)
-            ]);
         }
+
     }
 
 

+ 0 - 1
app/Servers/Icon/Utils.php

@@ -51,7 +51,6 @@ class Utils
         curl_setopt_array($ch, $options);
         $rawResp = curl_exec($ch);
 //        $e=curl_error($ch);
-        dd($rawResp);
         if ($rawResp === false) {
             return false;
         }