| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | <?phpnamespace App\Task;use App\Model\Transit\TransitWalletCoin;use App\Library\Log;class GetOKTRealtimeRate{    public function execute()    {         try {            $url = 'https://www.okx.com/api/v5/market/index-tickers?instId=TRX-USDT"eCcy=USDT';                    $data = Get_Pay($url);            $usdttrx = 1; #默认汇率            $is_update = 'N'; #是否更新:N不更新,Y更新                if(!empty($data)){                $data = json_decode($data,true);                if(isset($data['data']) && count($data['data']) > 0){                    $trxusdt = $data['data'][0]['idxPx'];                    $usdttrx = number_format(1 / $trxusdt, 2);                    $is_update = 'Y';                }            }else{                $this->log('getoktrealtimerate','获取okx实时汇率失败');            }                        //查询汇率成功的时候才更新            if($is_update == 'Y'){                #更新实时汇率                $walletdata = TransitWalletCoin::where('in_coin_name','usdt')->where('out_coin_name','trx')->whereIn('is_realtime_rate',[1,3])->get();                    if($walletdata->count() > 0){                    foreach ($walletdata as $k => $v) {                        if($v['is_realtime_rate'] == 1){                            $realrate = $usdttrx - $v['profit_rate']; //直接扣                        }else{                            $realrate = bcmul($usdttrx, (1 - $v['profit_rate']),2); //按百分比扣                        }                                                $updatedata['exchange_rate'] = $realrate > 0 ? $realrate:1; #如果汇率计算后小于0,则取默认汇率                        TransitWalletCoin::where('rid',$v['rid'])->update($updatedata);                    }                }            }                    }catch (\Exception $e){            $this->log('getoktrealtimerate','----------任务执行报错,请联系管理员。报错原因:----------'.$e->getMessage());        }    }    /**     * 记入日志     * @param $log_title [日志路径]     * @param $message [内容,不支持数组]     * @param $remarks [备注]    */    protected function log($log_title,$message,$remarks='info'){        Log::get($remarks,$log_title)->info($message);    }}
 |