diff --git a/api/controllers/dms/Spider.php b/api/controllers/dms/Spider.php index 7fbcc69a..7e835a9e 100644 --- a/api/controllers/dms/Spider.php +++ b/api/controllers/dms/Spider.php @@ -12,6 +12,7 @@ class Spider extends HD_Controller { parent::__construct(); $this->load->model('dms/dms_clues_model','dms_clues_model'); + $this->load->model('receiver/receiver_customers_model','receiver_customers_model'); $this->log_dir = 'dms'; $this->file_name = 'clues.txt'; } @@ -40,8 +41,11 @@ class Spider extends HD_Controller $pageSize = 100; $dollor = '$'; - $createdDateStart = date("Y-m-d H:i:s", strtotime("-1 minute")); - $createdDateEnd = date("Y-m-d H:i:s", strtotime("now")); + $createdDateStart = date("Y-m-d H:i:00", strtotime("-15 minute")); + $createdDateEnd = date("Y-m-d H:i:00", strtotime("now")); + + echo "开始时间: ".$createdDateStart." "; + echo "截止时间: ".$createdDateEnd." \n"; debug_log("开始时间: ".$createdDateStart." ", $this->file_name, $this->log_dir); debug_log("截止时间: ".$createdDateEnd." ", $this->file_name, $this->log_dir); @@ -57,7 +61,7 @@ curl 'http://dms.dna-nev.com.cn/ly/mp/busicen/csc/graphql.do?v=clueServerQueryFr -H 'Origin: http://dms.dna-nev.com.cn' \ -H 'Referer: http://dms.dna-nev.com.cn/' \ -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36' \ - --data-raw '{"query":"query({$dollor}pageIndex: Int, {$dollor}pageSize: Int, {$dollor}dataInfo: InputClueServer){clueServerQueryFromDlr(dataInfo: {$dollor}dataInfo, pageIndex: {$dollor}pageIndex, pageSize: {$dollor}pageSize){msg pageindex pages records result rows{serverOrder custName contactTel carBrandName carSeriesCn clueLevelCode nextDealUserName createdName cantactWayName infoChanMName infoChanDName clueLabel clueActive assignStatusName statusName crruNodeName column6 createdDate remainDataDate isFirstCallbackName firstReviewDate isOneHour isFourHour isTwentyFourHour orderDate deliveryDate nextCallbackDate changeIntentDate nextDealEmpName inteSeriesCode}}}","variables":{"pageSize":$pageSize,"pageIndex":$pageIndex,"dataInfo":{"custName":"","contactTel":"","inteSeriesId":"","clueLevelCode":"","createdDateStart":"$createdDateStart","createdDateEnd":"$createdDateEnd","orderDateStart":"","orderDateEnd":"","status":"","csr":"","serverOrder":"","cantactWayCode":"CS001","infoChanMCode":"","carBrandCode":"","assignStatus":"","crruNode":"","createdName":"","dlrCode":"","handleCode":"1","assignStatusName":"","statusArray":["10","20","21","30","31","40","50"],"nextDealUserId":"","nextDealUserName":"","infoChanDName":"","isQueryHistory":"0"}}}' \ + --data-raw '{"query":"query({$dollor}pageIndex: Int, {$dollor}pageSize: Int, {$dollor}dataInfo: InputClueServer){clueServerQueryFromDlr(dataInfo: {$dollor}dataInfo, pageIndex: {$dollor}pageIndex, pageSize: {$dollor}pageSize){msg pageindex pages records result rows{serverOrder custId custName contactTel carBrandName carSeriesCn clueLevelCode nextDealUserName createdName cantactWayName infoChanMName infoChanDName assignStatusName statusName crruNodeName createdDate remainDataDate inteSeriesCode}}}","variables":{"pageSize":$pageSize,"pageIndex":$pageIndex,"dataInfo":{"custName":"","contactTel":"","inteSeriesId":"","clueLevelCode":"","createdDateStart":"$createdDateStart","createdDateEnd":"$createdDateEnd","orderDateStart":"","orderDateEnd":"","status":"","csr":"","serverOrder":"","cantactWayCode":"CS001","infoChanMCode":"","carBrandCode":"","assignStatus":"","crruNode":"","createdName":"","dlrCode":"","handleCode":"1","assignStatusName":"","statusArray":["10","20","21","30","31","40","50"],"nextDealUserId":"","nextDealUserName":"","infoChanDName":"","isQueryHistory":"0"}}}' \ --compressed \ --insecure CURL; @@ -68,6 +72,8 @@ CURL; $this->doLogin($autoLogin, $loginResultFile); } + //print_r($resArr); + if(!$resArr['data']['clueServerQueryFromDlr']['rows']){ debug_log("无新增数据\n", $this->file_name, $this->log_dir); exit; @@ -76,17 +82,44 @@ CURL; } foreach ($resArr['data']['clueServerQueryFromDlr']['rows'] as $k => $v) { + + //原始数据 $add = array( - 'c_id' => $v['serverOrder'], + 'o_id' => $v['serverOrder'], + 'c_id' => $v['custId'], 'name' => $v['custName'], 'mobile' => $v['contactTel'], 'cfrom1' => $v['infoChanMName'], 'cfrom2' => $v['infoChanDName'], 'jsondata' => json_encode($v, JSON_UNESCAPED_UNICODE), + 'log_date' => date('Y-m-d'), 'c_time' => strtotime($v['createdDate']) ); - $this->dms_clues_model->add($add); + //福州狸车 + if(strpos($v['serverOrder'], 'FJ0011') && $v['statusName'] == '待分配'){ + //插入狸车宝 + $this->pushLcb($add); + + //抢单 + $this->takeOrder($v['serverOrder'], $autoLogin); + + //跟进 + sleep(1); + $cust = $this->customer($v['serverOrder'], $autoLogin); + if($cust['data']['clueServerQueryFromDlr']['rows']){ + $this->follow1($cust['data']['clueServerQueryFromDlr']['rows'][0], $autoLogin); + } + + //二次跟进 + sleep(1); + $cust = $this->customer($v['serverOrder'], $autoLogin); + if($cust['data']['clueServerQueryFromDlr']['rows']){ + $this->follow2($cust['data']['clueServerQueryFromDlr']['rows'][0], $autoLogin); + } + } + + //$this->dms_clues_model->add($add); } } @@ -116,35 +149,164 @@ CURL; return $resArr; } - public function mytest() + private function takeOrder($serverOrder, $autoLogin) { //登录态缓存文件 $loginResultFile = APPPATH . "cache/loginRes.txt"; - $autoLogin = new CurlAutoLogin(); - - //已有登录态,则直接读取登录态,避免多次重复登录 - if (!file_exists($loginResultFile)) { - $resArr = $this->doLogin($autoLogin, $loginResultFile); - } else { - debug_log("有登录态,自动登录...\n", $this->file_name, $this->log_dir); - $resArr = json_decode(file_get_contents($loginResultFile), true); - } - - if (empty($resArr['username'])) { - debug_log("未登录成功...\n", $this->file_name, $this->log_dir); - exit("未登录成功\n"); - } - + $resArr = json_decode(file_get_contents($loginResultFile), true); $token = $resArr['token']; - $pageIndex = 1; - $pageSize = 100; $dollor = '$'; - $createdDateStart = date("Y-m-d 00:00:00", strtotime("today")); - $createdDateEnd = date("Y-m-d H:i:s", strtotime("now")); + $curl = <<execCurl($curl); + $resArr = json_decode($content, true); - debug_log("开始时间: ".$createdDateStart." ", $this->file_name, $this->log_dir); - debug_log("截止时间: ".$createdDateEnd." ", $this->file_name, $this->log_dir); + print_r($resArr); + } + + public function follow1($info, $autoLogin) + { + //登录态缓存文件 + $loginResultFile = APPPATH . "cache/loginRes.txt"; + $resArr = json_decode(file_get_contents($loginResultFile), true); + $token = $resArr['token']; + $dollor = '$'; + $nextCallbackDate = date('Y-m-d 00:00:00', strtotime('+3 days')); + + $dataInfo = '{"dataInfo":{"custId":"'.$info['custId'].'","custName":"'.$info['custName'].'","contactTel":"'.$info['contactTel'].'","gender":"0","backupTel":null,"serverOrder":"'.$info['serverOrder'].'","cantactWayCode":"'.$info['cantactWayCode'].'","infoChanMCode":"'.$info['infoChanMCode'].'","infoChanDCode":"'.$info['infoChanDCode'].'","clueLevelCode":"H","crruLevel":null,"intentPriceCode":null,"carBrandCode":"1","inteSeriesId":"cf38e6909c1a41a29871868c79c2eccc","inteSeriesCode":"纳米BOX","inteTypeId":"1d5029d0a5df4be5a063d08256722f47","inteTypeCode":"B420EV0014C001","inteTypeName":"标准型/201km(2022-001)","planReviewDate":"'.$nextCallbackDate.'","color":"","innerColor":"","optionalPackId":"","optionalPackCn":"","remainDataDate":"'.$info['remainDataDate'].'","clueDesc":"继续跟进","remark":null,"touchStatus":"15","buyFocus":null,"custSource":null,"originalCustId":null,"originalCustName":null,"isFirstCallback":"1","recommendPersonRelation":null,"carLicense":null,"introducerRelationship":null,"introducer":null,"introduceTel":null,"introduceGender":null,"compCarBrandCode":null,"compCarBrandName":null,"compCarSeriesCode":null,"compCarSeriesName":null,"reviewCars":[{"seriesCode":"纳米BOX","seriesName":"纳米BOX","modelId":"1d5029d0a5df4be5a063d08256722f47","modelCode":"B420EV0014C001","modelName":"标准型/201km(2022-001)","colorId":"","colorName":null,"inColorId":"","inColorName":null,"optionId":"","optionName":"","isFirstChoice":"1","isCompVehicle":"0"}],"reviewDesc":"继续跟进","nextCallbackDate":"'.$nextCallbackDate.'"}}'; + + $curl = <<execCurl($curl); + $resArr = json_decode($content, true); + + echo $curl; + print_r($resArr); + } + + public function follow2($info, $autoLogin){ + //登录态缓存文件 + $loginResultFile = APPPATH . "cache/loginRes.txt"; + $resArr = json_decode(file_get_contents($loginResultFile), true); + $token = $resArr['token']; + $dollor = '$'; + $nextCallbackDate = date('Y-m-d 00:00:00', strtotime('+15 days')); + + $dataInfo = '{"dataInfo": { + "custId": "'.$info['custId'].'", + "custName": "'.$info['custName'].'", + "contactTel": "'.$info['contactTel'].'", + "gender": "0", + "backupTel": null, + "serverOrder": "'.$info['serverOrder'].'", + "cantactWayCode": "'.$info['cantactWayCode'].'", + "infoChanMCode": "'.$info['infoChanMCode'].'", + "infoChanDCode": "'.$info['infoChanDCode'].'", + "clueLevelCode": "B", + "crruLevel": "H", + "intentPriceCode": null, + "carBrandCode": "1", + "inteSeriesId": "cf38e6909c1a41a29871868c79c2eccc", + "inteSeriesCode": "纳米BOX", + "inteTypeId": "1d5029d0a5df4be5a063d08256722f47", + "inteTypeCode": "B420EV0014C001", + "inteTypeName": "标准型/201km(2022-001)", + "planReviewDate": "'.$nextCallbackDate.'", + "color": "", + "innerColor": "", + "optionalPackId": "", + "optionalPackCn": "", + "remainDataDate": "'.date("Y-m-d H:i:00").'", + "clueDesc": "继续跟进", + "remark": null, + "touchStatus": "15", + "buyFocus": null, + "custSource": null, + "originalCustId": null, + "originalCustName": null, + "isFirstCallback": "0", + "recommendPersonRelation": null, + "carLicense": null, + "introducerRelationship": null, + "introducer": null, + "introduceTel": null, + "introduceGender": null, + "compCarBrandCode": null, + "compCarBrandName": null, + "compCarSeriesCode": null, + "compCarSeriesName": null, + "reviewCars": [{ + "seriesCode": "纳米BOX", + "seriesName": "纳米BOX", + "modelId": "1d5029d0a5df4be5a063d08256722f47", + "modelCode": "B420EV0014C001", + "modelName": "标准型/201km(2022-001)", + "colorId": "", + "colorName": null, + "inColorId": "", + "inColorName": null, + "optionId": "", + "optionName": "", + "isFirstChoice": "1", + "isCompVehicle": "0" + }],"reviewDesc":"继续跟进","nextCallbackDate":"'.$nextCallbackDate.'"}}'; + + $curl = <<execCurl($curl); + $resArr = json_decode($content, true); + + print_r($resArr); + } + + private function customer($serverOrder, $autoLogin){ + //登录态缓存文件 + $loginResultFile = APPPATH . "cache/loginRes.txt"; + $resArr = json_decode(file_get_contents($loginResultFile), true); + $token = $resArr['token']; + $dollor = '$'; $curl = <<execCurl($curl); $resArr = json_decode($content, true); - if (!$resArr['result']) { - $this->doLogin($autoLogin, $loginResultFile); + print_r($resArr); + + return $resArr; + } + + + private function pushLcb($data){ + $add = array( + 'name' => $data['name'], + 'mobile' => $data['mobile'], + 'city_id' => 350100, + 'county_id' => 350102, + 'of_id' => 7, + 'biz_id' => 55, + 'cf_title' => '自有资源', + 'cf_clues' => '狸车宝', + 'c_time' => time(), + ); + + //来源 + switch ($data['cfrom1']){ + case '新媒体线索': + if($data['cfrom2'] == '直播团购会'){ + $add['of2_id'] = 77; + }else{ + $add['of2_id'] = 76; + } + break; + case '传播引流': + $add['of2_id'] = 74; + break; + case '垂媒线索': + if($data['cfrom2'] == '汽车之家'){ + $add['of2_id'] = 72; + }elseif ($data['cfrom2'] == '易车'){ + $add['of2_id'] = 73; + }else{ + $add['of2_id'] = 71; + } + break; + default: + $add['of2_id'] = 70; + break; } - if(!$resArr['data']['clueServerQueryFromDlr']['rows']){ - debug_log("无新增数据\n", $this->file_name, $this->log_dir); - exit; - }else{ - debug_log("共 ".$resArr['data']['clueServerQueryFromDlr']['records']." 条新增数据\n", $this->file_name, $this->log_dir); - } + $rt = $this->receiver_customers_model->add($add); + echo $rt; + debug_log("新增狸车宝线索...\n", $this->file_name, $this->log_dir); + } + + public function mytest() + { + //登录态缓存文件 + $loginResultFile = APPPATH . "cache/loginRes.txt"; + $autoLogin = new CurlAutoLogin(); + +// //已有登录态,则直接读取登录态,避免多次重复登录 +// if (!file_exists($loginResultFile)) { +// $resArr = $this->doLogin($autoLogin, $loginResultFile); +// } else { +// debug_log("有登录态,自动登录...\n", $this->file_name, $this->log_dir); +// $resArr = json_decode(file_get_contents($loginResultFile), true); +// } +// +// if (empty($resArr['username'])) { +// debug_log("未登录成功...\n", $this->file_name, $this->log_dir); +// exit("未登录成功\n"); +// } + + $resArr = $this->doLogin($autoLogin, $loginResultFile); + $token = $resArr['token']; + + $pageIndex = 1; + $pageSize = 100; + $dollor = '$'; + + $createdDateStart = date("Y-m-d 00:00:00", strtotime("-10 minute")); + $createdDateEnd = date("Y-m-d H:i:s", strtotime("now")); + + debug_log("开始时间: ".$createdDateStart." ", $this->file_name, $this->log_dir); + debug_log("截止时间: ".$createdDateEnd." ", $this->file_name, $this->log_dir); + + $curl = <<execCurl($curl); + $resArr = json_decode($content, true); print_r($resArr); -// foreach ($resArr['data']['clueServerQueryFromDlr']['rows'] as $k => $v) { -// $add = array( -// 'c_id' => $v['serverOrder'], -// 'name' => $v['custName'], -// 'mobile' => $v['contactTel'], -// 'cfrom1' => $v['infoChanMName'], -// 'cfrom2' => $v['infoChanDName'], -// 'jsondata' => json_encode($v, JSON_UNESCAPED_UNICODE), -// 'c_time' => strtotime($v['createdDate']) -// ); -// -// $this->dms_clues_model->add($add); -// } } } diff --git a/api/controllers/plan/Plan.php b/api/controllers/plan/Plan.php index 5c0a0365..b5bff123 100644 --- a/api/controllers/plan/Plan.php +++ b/api/controllers/plan/Plan.php @@ -63,7 +63,7 @@ class Plan extends CI_Controller $plan[] = array('url' => base_url(array('plan', 'syt', 'out_time')), 'interval' => 1); //订单过期 $plan[] = array('url' => base_url(array('plan', 'syt', 'thApi')), 'interval' => 1); //私域通通知第三方脚本 - $plan[] = array('url' => base_url(array('dms', 'spider', 'get_clues')), 'interval' => 1); //dms爬虫 + //$plan[] = array('url' => base_url(array('dms', 'spider', 'get_clues')), 'interval' => 1); //dms爬虫 $this->plan = $plan; } diff --git a/home/views/h5/market/sylive2/user/index.php b/home/views/h5/market/sylive2/user/index.php index b2ba562c..f60dc43f 100644 --- a/home/views/h5/market/sylive2/user/index.php +++ b/home/views/h5/market/sylive2/user/index.php @@ -33,7 +33,7 @@
修改 - + | 删除 | @@ -41,7 +41,7 @@ @click=showAble(index)>启用 禁用 - +