作者 赵彬吉

update

@@ -82,6 +82,34 @@ class AdsController extends BaseController @@ -82,6 +82,34 @@ class AdsController extends BaseController
82 82
83 83
84 $relay_site_total = 0; 84 $relay_site_total = 0;
  85 + $fb_projects = ReInquiryCount::getFobProjects();
  86 +
  87 + $sites = ReInquiryTask::select('target', 'shop_site', 'fob_pro')->get()->toArray();
  88 + $targets = $shop_sites = $fob_pros = [];
  89 + foreach ($sites as $site){
  90 + foreach ($site['target'] as $v){
  91 + if(isset($targets[$v['url']])){
  92 + $targets[$v['url']] = $targets[$v['url']] + 1;
  93 + }else{
  94 + $targets[$v['url']] = 1;
  95 + }
  96 + }
  97 + foreach ($site['shop_site'] as $v){
  98 + if(isset($shop_sites[$v])){
  99 + $shop_sites[$v] = $shop_sites[$v] + 1;
  100 + }else{
  101 + $shop_sites[$v] = 1;
  102 + }
  103 + }
  104 + foreach ($site['fob_pro'] as $v){
  105 + if(isset($fob_pros[$v])){
  106 + $fob_pros[$v] = $fob_pros[$v] + 1;
  107 + }else{
  108 + $fob_pros[$v] = 1;
  109 + }
  110 + }
  111 + }
  112 +
85 foreach ($result['list'] as &$item){ 113 foreach ($result['list'] as &$item){
86 $relay_site_total += count($item['target']); 114 $relay_site_total += count($item['target']);
87 // $item['requiry_num'] = ReInquiryDetail::where('task_id', $item['id'])->where('status', ReInquiryDetail::STATUS_SUCCESS)->count(); 115 // $item['requiry_num'] = ReInquiryDetail::where('task_id', $item['id'])->where('status', ReInquiryDetail::STATUS_SUCCESS)->count();
@@ -93,9 +121,8 @@ class AdsController extends BaseController @@ -93,9 +121,8 @@ class AdsController extends BaseController
93 } 121 }
94 //关联网站是否有重复的 122 //关联网站是否有重复的
95 if($item['fob_pro']){ 123 if($item['fob_pro']){
96 - $fb_projects = ReInquiryCount::getFobProjects();  
97 foreach ($item['fob_pro'] as $k => $fob_pro){ 124 foreach ($item['fob_pro'] as $k => $fob_pro){
98 - $repeat = ReInquiryTask::where('fob_pro', 'like', '%"'.$fob_pro.'"%')->where('id', '<>', $item['id'])->first(); 125 + $repeat = $fob_pros[$fob_pro] > 1;
99 $fob_info = collect($fb_projects)->where('postid', $fob_pro)->first(); 126 $fob_info = collect($fb_projects)->where('postid', $fob_pro)->first();
100 $item['fob_pro_list'][$k] = [ 127 $item['fob_pro_list'][$k] = [
101 'is_repeat' => $repeat ? 1 : 0, 128 'is_repeat' => $repeat ? 1 : 0,
@@ -105,7 +132,7 @@ class AdsController extends BaseController @@ -105,7 +132,7 @@ class AdsController extends BaseController
105 } 132 }
106 if($item['shop_site']) { 133 if($item['shop_site']) {
107 foreach ($item['shop_site'] as $k => $site) { 134 foreach ($item['shop_site'] as $k => $site) {
108 - $repeat = ReInquiryTask::where('target', 'like', '%"' . $site . '"%')->where('id', '<>', $item['id'])->first(); 135 + $repeat = $shop_sites[$site] > 1;
109 $item['shop_site_list'][$k] = [ 136 $item['shop_site_list'][$k] = [
110 'is_repeat' => $repeat ? 1 : 0, 137 'is_repeat' => $repeat ? 1 : 0,
111 'url' => $site, 138 'url' => $site,
@@ -113,7 +140,7 @@ class AdsController extends BaseController @@ -113,7 +140,7 @@ class AdsController extends BaseController
113 } 140 }
114 } 141 }
115 foreach ($item['target'] as $k=>$target){ 142 foreach ($item['target'] as $k=>$target){
116 - $repeat = ReInquiryTask::where('target', 'like', '%"'.$target['url'].'"%')->where('id', '<>', $item['id'])->first(); 143 + $repeat = $targets[$target['url']] > 1;
117 $item['target'][$k]['is_repeat'] = $repeat ? 1 : 0; 144 $item['target'][$k]['is_repeat'] = $repeat ? 1 : 0;
118 $item['target'][$k]['is_ad_fee'] = 0; 145 $item['target'][$k]['is_ad_fee'] = 0;
119 if($item['target'][$k]['is_v6']){ 146 if($item['target'][$k]['is_v6']){
@@ -118,7 +118,7 @@ class ReInquiryCount extends Base @@ -118,7 +118,7 @@ class ReInquiryCount extends Base
118 if(!$res){ 118 if(!$res){
119 $res = HttpUtils::get('https://fob.ai.cc/api/get_bind_project_list', []); 119 $res = HttpUtils::get('https://fob.ai.cc/api/get_bind_project_list', []);
120 $res = json_decode($res, true)['data'] ?? []; 120 $res = json_decode($res, true)['data'] ?? [];
121 - Cache::put($cache_key, $res, 120); 121 + Cache::put($cache_key, $res, 2 * 3600);
122 } 122 }
123 return $res; 123 return $res;
124 } 124 }