/** * 解析邮件内容 * @param int $bankId * @param string $content * @return boolean 是否解析成功 */ public static function getMailDetail($mail, $bankId, $content, $emailBasicInfo = array()) { $filename = "{$mail}.{$bankId}." . ParseUtil::microtimeFloat() . '.html'; $dir = EcConfig::$zhangdanPath . date('Ymd') . '/'; if (!file_exists($dir)) { mkdir($dir); } file_put_contents($dir . $filename, $content); //抓取的文件内容同步到云盘并将url写入zhangdan表(风控系统访问) $fileExtension = 'html'; $mimeType = 'text/html'; $yunStorageModel = new YunStorageDocFile('loan'); $html_url = $yunStorageModel->uploadDoc($content, $fileExtension, $mimeType, $remark = ''); $emailBasicInfo['html_url'] = $html_url; // $path_url = $yunStorageModel->getDocFileAbsPath($html_name); // $html_url = $yunStorageModel->createLoanDocUrl($html_name); Yii::log($dir . $filename, CLogger::LEVEL_INFO); //检查是否支持该银行的解析 if (!isset(EcConfig::$BANK_PARSE_CONFIG[$bankId])) { Yii::log('Did not support this bank.bank_id=' . $bankId, CLogger::LEVEL_WARNING); return false; } $className = EcConfig::$BANK_PARSE_CONFIG[$bankId]; if (!class_exists($className)) { Yii::log('Class not exist.bank_id=' . $bankId, CLogger::LEVEL_WARNING); return false; } $billModel = new $className($mail, $bankId); $billModel->setEmailBasicInfo($emailBasicInfo); $ret = $billModel->parse($content); return $ret; }