|
@@ -34,6 +34,10 @@ class TrackService
|
|
|
// self::TiktokRedisDeal();
|
|
|
// }
|
|
|
break;
|
|
|
+ case 22:
|
|
|
+ Redis::lpush('orange_track',$track_data);
|
|
|
+ break;
|
|
|
+
|
|
|
default:
|
|
|
// code...
|
|
|
break;
|
|
@@ -46,6 +50,7 @@ class TrackService
|
|
|
public static function cronDeal (){
|
|
|
// 处理巨量平台的
|
|
|
self::TiktokRedisDeal();
|
|
|
+ self::OrangeRedisDeal();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -124,5 +129,68 @@ class TrackService
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 批量任务处理 橙子回传的监测连接
|
|
|
+ */
|
|
|
+ public static function OrangeRedisDeal ($data= []){
|
|
|
+ if (!$data) {
|
|
|
+ $len = Redis::llen('orange_track');
|
|
|
+ if($len > 4000){
|
|
|
+ $len= 4000;
|
|
|
+ }
|
|
|
+ for ($i = 1; $i <= $len; $i++) {
|
|
|
+ $data[] = Redis::rpop('orange_track');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(empty($data)){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $inster = [] ;
|
|
|
+ $model = DouyinTrack::model();
|
|
|
+ foreach ($data as $val){
|
|
|
+ $params = json_decode($val,true);
|
|
|
+ if(!getProp($params,'channel_id','')){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ $ua =mb_substr( getProp($params,'ua',''),0,250);
|
|
|
+ $link = getProp($params,'link','');
|
|
|
+ $other = explode('?', $link);
|
|
|
+ if (is_array($other)) {
|
|
|
+ $otherarr = explode('&', $link);
|
|
|
+ $callback = explode('=',$otherarr[0]);
|
|
|
+ $callback = $callback[1];
|
|
|
+ }else{
|
|
|
+ $callback = '';
|
|
|
+ }
|
|
|
+
|
|
|
+ //整理数据+
|
|
|
+ $inster[] = [
|
|
|
+ 'link' => getProp($params,'link',''),
|
|
|
+ 'link_source' => 'orange',
|
|
|
+ 'ip' => getProp($params,'ip',''),
|
|
|
+ 'ua' => $ua,
|
|
|
+ 'source' => 'zsy',
|
|
|
+ 'ip_ua' => md5(getProp($params,'ip','') . getProp($params,'ua','')),
|
|
|
+ 'distribution_channel_id' => getProp($params,'channel_id',''),
|
|
|
+ 'log_time' => getProp($params,'log_time',''),
|
|
|
+ 'created_at' => date('Y-m-d H:i:s',time()),
|
|
|
+ 'adid' => getProp($params,'adid',''),
|
|
|
+ 'callback' => $callback,
|
|
|
+ //新添加
|
|
|
+ 'advertiser_id' => getProp($params,'advertiser_id',''),
|
|
|
+ 'campaign_id' => getProp($params,'campaign_id',''),
|
|
|
+ 'creativeid' => getProp($params,'creativeid',''),
|
|
|
+
|
|
|
+ ];
|
|
|
+ if(count($inster) >= 2000){
|
|
|
+ $model->insert($inster);
|
|
|
+ $inster = [];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ($inster) {
|
|
|
+ $model->insert($inster);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
}
|