inital commit

This commit is contained in:
2026-06-24 18:29:01 +06:00
commit f401802bf7
3918 changed files with 553085 additions and 0 deletions

View File

@@ -0,0 +1,314 @@
<?php
namespace App\Services;
use App\Models\Creditreport;
use App\Utility\CurlRequest;
use App\Models\IqCallHistory;
use App\Utility\Email;
use function PHPUnit\Framework\isEmpty;
class CreditReportService
{
const HTML_SCRAPPER_API_DOMAIN = "https://readytogoletters.com:8080";
// const HTML_SCRAPPER_API_DOMAIN = "https://test.readytogoletters.com:8080";
// const HTML_SCRAPPER_API_DOMAIN = "http://localhost:5000";
public $identity_iq_html_url = self::HTML_SCRAPPER_API_DOMAIN."/identity-iq-credit-report-html";
public $identity_iq_refresh_date_url = self::HTML_SCRAPPER_API_DOMAIN."/identity-iq-report-refresh-date"; // For Import button hit request for getting popup
public $identity_iq_refresh_button_url = self::HTML_SCRAPPER_API_DOMAIN."/identity-iq-click-refresh-btn";
public $smart_credit_refresh_button_url = self::HTML_SCRAPPER_API_DOMAIN."/smart-credit-credit-click-refresh-btn";
public $SMART_CREDIT_HTML_URL = self::HTML_SCRAPPER_API_DOMAIN."/smart-credit-credit-report-3b";
public $smart_credit_refresh_date_url = self::HTML_SCRAPPER_API_DOMAIN."/smart-credit-credit-refresh-status";
public $SMART_CREDIT_JSON_URL = self::HTML_SCRAPPER_API_DOMAIN."/smart-credit-credit-report-3b-json";
public $ip = "45.55.43.211:8080";
public function getIdentityRefreshButtonContent($username, $password,$ssn) {
$result['status'] = false;
$result['message'] = 'api problem.';
$credentials['email'] = $username;
$credentials['password'] = $password;
$credentials['ssn'] = $ssn;
$status = 0;
$params = json_encode($credentials);
$URL = $this->identity_iq_refresh_button_url;
$curlRequest = new CurlRequest();
$response = $curlRequest->makeCurlRequest($params,'POST',$URL);
$response = json_decode($response,true);
if (!empty($response) && $response['status_code'] == 200) {
$status = 1;
$result['status'] = true;
$result['message'] = $response['data'];
}
if(isset($response['ip']) && !empty($response["ip"])){
$this->ip = $response['ip'];
}
$ip_explode = explode(":", $this->ip );
(new IqCallHistory())->insertHistory($ip_explode[0],$ip_explode[1],$response['page'],$response['page_code'],$status);
return $result;
}
public function getIdentityIQHTML($username, $password,$ssn) {
$logData['action'] = "GET_IDENTITY_IQ_HTML";
$result['status'] = false;
$result['html'] = "";
$result['message'] = '';
$credentials['email'] = $username;
$credentials['password'] = $password;
$credentials['ssn'] = $ssn;
$status = 0;
try {
$params = json_encode($credentials);
$URL = $this->identity_iq_html_url;
$curlRequest = new CurlRequest();
$response = $curlRequest->makeCurlRequest($params,'POST', $URL);
$response = json_decode($response,true);
// if ($response['data'] == "ERROR" || $response['data'] == "TIME_OUT" || $response['data'] == "INVALID_LOGIN" || $response['data'] == 'ACCOUNT_LOCKED' ) {
if (!empty($response) && $response['status_code'] == 200){
$status = 1;
$result['status'] = true;
$result['html'] = $response['data'];
$result['message'] = 'User is valid.';
}else{
$result['status_code'] = $response['status_code'];
$result['message'] = config('constant.SCRAPPER_RESPONSE'.'.'.$response['data']);
$response['page_code'] = $response['page_code']??"403";
throw new \Exception(config('constant.SCRAPPER_RESPONSE'.$response['data']));
}
/*
if ($response == "ERROR" || $response == "TIME_OUT" || $response == "INVALID_LOGIN" || $response == "ACCOUNT_LOCKED") {
$result['message'] = config('constant.SCRAPPER_RESPONSE'.'.'.$response);
throw new \Exception(config('constant.SCRAPPER_RESPONSE'.$response));
}
if (!empty($response) ) {
$result['status'] = true;
$result['html'] = $response['data'];
$result['message'] = 'User is valid.';
}
*/
$logData['user_info'] = $credentials['email'];
$logData['status'] = $result['status'];
}catch (\Exception $ex){
$logData['data']['response'] = $response;
$logData['data']['credentials'] = $credentials['email'];
}
if(isset($response['ip']) && !empty($response["ip"])){
$this->ip = $response['ip'];
}
$ip_explode = explode(":", $this->ip );
(new IqCallHistory())->insertHistory($ip_explode[0],$ip_explode[1],$response['page'],$response['page_code'],$status);
appLog($logData);
return $result;
}
public function getIdentityIQRefreshDate($username, $password,$ssn) {
$credentials['email'] = $username;
$credentials['password'] = $password;
$credentials['ssn'] = $ssn;
$status = 0;
$params = json_encode($credentials);
$URL = $this->identity_iq_refresh_date_url;
$curlRequest = new CurlRequest();
$response = $curlRequest->makeCurlRequest($params,'POST',$URL);
$response = json_decode($response,true);
// if ($response['data'] == "ERROR" || $response['data'] == "TIME_OUT" || $response['data'] == "INVALID_LOGIN" || $response['data'] == 'ACCOUNT_LOCKED' ) {
if(!empty($response) && $response['status_code'] == 200) {
$status = 1;
}
if(isset($response['ip']) && !empty($response["ip"])){
$this->ip = $response['ip'];
}
$ip_explode = explode(":", $this->ip );
(new IqCallHistory())->insertHistory($ip_explode[0],$ip_explode[1],$response['page'],$response['page_code'],$status);
if ($response['status_code'] != 200){
$status = 0;
$result['refresh_date'] = 'ERROR';
$result['message'] = config('constant.SCRAPPER_RESPONSE'.'.'.$response['data']) ;
return $result;
}
return $response;
}
public function getSmartCreditRefreshButtonContent($username, $password) {
$result['status'] = false;
$result['message'] = 'api problem.';
$credentials['email'] = $username;
$credentials['password'] = $password;
//$credentials['ssn'] = $ssn;
$params = json_encode($credentials);
$URL = $this->smart_credit_refresh_button_url;
$curlRequest = new CurlRequest();
$response =$curlRequest->makeCurlRequest($params,'POST',$URL);
if (!empty($response)) {
$result['status'] = true;
$result['message'] = $response;
}
return $result;
}
public function getSmartCreditRefreshDate($username, $password,$ssn) {
$credentials['email'] = $username;
$credentials['password'] = $password;
//$credentials['ssn'] = $ssn;
$params = json_encode($credentials);
$URL = $this->smart_credit_refresh_date_url;
$curlRequest = new CurlRequest();
$response = $curlRequest->makeCurlRequest($params,'POST',$URL);
if ($response == "ERROR" || $response == "TIME_OUT" || $response == "INVALID_LOGIN" || $response == 'ACCOUNT_LOCKED' ) {
$result['refresh_date'] = 'ERROR';
$result['message'] = config('constant.SCRAPPER_RESPONSE'.'.'.$response) ;
return $result;
}
return json_decode($response,true);
}
public function getSmartCreditHTML($username, $password) {
$result['status'] = false;
$result['html'] = "";
$result['message'] = '';
$logData['action'] = "GET_SMART_CREDIT_HTML";
try {
$credentials['email'] = $username;
$credentials['password'] = $password;
// $credentials['email'] = "stevetest@consumerdirect.com";
// $credentials['password'] = "123456789";
$params = json_encode($credentials);
$URL = $this->SMART_CREDIT_HTML_URL;
if(config('app.SMART_CREDIT_REPORT_BY_JSON') == '1') {
$URL = $this->SMART_CREDIT_JSON_URL;
}
$curlRequest = new CurlRequest();
$response = $curlRequest->makeCurlRequest($params,'POST', $URL);
if ($response == "ERROR" || $response == "TIME_OUT" || $response == "INVALID_LOGIN" ) {
$result['message'] = config('constant.SCRAPPER_RESPONSE'.'.'.$response);
throw new \Exception('Report not found');
}
if (!empty($response)) {
$result['status'] = true;
$result['html'] = $response;
$result['message'] = 'User is valid.';
}
$logData['user_info'] = $credentials['email'];
$logData['status'] = $result['status'];
}catch (\Exception $ex){
$logData['data']['response'] = $response;
$logData['data']['credentials'] = $credentials['email'];
}
appLog($logData);
return $result;
}
public static function getCreditReportContent($user_id,$file_name){
if(empty($user_id) || empty($file_name)){
return "";
}
$file_path = config('constant.CREDIT_REPORT_CONTENT_PATH').DIRECTORY_SEPARATOR.$user_id.DIRECTORY_SEPARATOR.$file_name ?? "";
return getFile($file_path);
}
public function getUpdatedReport($user_id,$report_type,$ssn){
$reportContent = [];
try {
$creditReportDataObj = (new Creditreport())->getCreditReportInfoByUserIdAndType($user_id, $report_type);
/*$creditReportDataObj->email = "stevetest@consumerdirect.com";*/
/*$reportContent = $this->getSmartCreditHTML("stevetest@consumerdirect.com", "123456789");
$reportContent = $this->getIdentityIQHTML("faust_89@ukr.net", "Faust_4639672",'5150');
$reportContent['status'] = true;*/
if (!empty($creditReportDataObj)) {
$creditReportDataObj->password = customDecrypt($creditReportDataObj->password);
if($report_type == config('constant.reportType.SMART_CREDIT')) {
$reportContent = $this->getSmartCreditHTML($creditReportDataObj->email, $creditReportDataObj->password);
// $reportContent = $this->getSmartCreditHTML("stevetest@consumerdirect.com", "123456789");
}else if($report_type == config('constant.reportType.IDENTITY_IQ')){
$reportContent = $this->getIdentityIQHTML($creditReportDataObj->email, $creditReportDataObj->password,$ssn);
// $reportContent = $this->getIdentityIQHTML("faust_89@ukr.net", "Faust_4639672",'5150');
}
$reportContent['credit_report_file_name'] = $creditReportDataObj->file_name ?? "";
$reportContent['credit_report_user_obj']=$creditReportDataObj;
}else{
$reportContent['status'] = false;
}
}
catch (\Exception $ex){
$reportContent['status'] = false;
$reportContent['message'] = $ex->getMessage();
}
return $reportContent;
}
public function uploadCreditReport($inputData)
{
return (new Creditreport())->updateCreditReport($inputData);
}
public function validateUserInCreditReportProvider($inputData){
$reportContent = [];
try {
if($inputData['source_type'] == config('constant.reportType.SMART_CREDIT')) {
$reportContent = $this->getSmartCreditHTML($inputData['email'], $inputData['password']);
// $reportContent = $this->getSmartCreditHTML("stevetest@consumerdirect.com", "123456789");
}else if($inputData['source_type'] == config('constant.reportType.IDENTITY_IQ')){
$reportContent = $this->getIdentityIQHTML($inputData['email'], $inputData['password'], $inputData['ssn']);
// $reportContent = $this->getIdentityIQHTML("faust_89@ukr.net", "Faust_4639672",'5150');
}
}
catch (\Exception $ex){
$reportContent['status'] = false;
$reportContent['message'] = $ex->getMessage();
}
return $reportContent;
}
public function sampledata(){
$data = [
"button_type" => 1,
"ip" => "206.206.124.81:6662",
"page" => "Dashboard.aspx",
"page_code" => 403,
"data" => "ERROR",
"status_code" => 408
];
return $data;
}
}