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'; } public function get_clues() { //登录态缓存文件 $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"); } $token = $resArr['token']; $pageIndex = 1; $pageSize = 100; $dollor = '$'; $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); $curl = <<execCurl($curl); $resArr = json_decode($content, true); if (!$resArr['result']) { $this->doLogin($autoLogin, $loginResultFile); } //print_r($resArr); 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); } foreach ($resArr['data']['clueServerQueryFromDlr']['rows'] as $k => $v) { //原始数据 $add = array( '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']) ); //福州狸车 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); } } private function doLogin($autoLogin, $loginResultFile) { echo "无登录态,模拟登录...\n"; debug_log("无登录态,模拟登录...\n", $this->file_name, $this->log_dir); $curl = <<execCurl($curl); $resArr = json_decode($content, true); file_put_contents($loginResultFile, $content); //存储登录结果 return $resArr; } private function takeOrder($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); 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); 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; } $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); } }