Sales PD reinsert api : ps

This commit is contained in:
VE10-Sanjeev 2023-03-01 17:39:42 +05:30
parent 81a1ef0ee7
commit 2af65c7d10
4 changed files with 168 additions and 12 deletions

View File

@ -136,6 +136,7 @@ defined('IMAGE_OPTIMIZE_LAMBDA_URL') OR define('IMAGE_OPTIMIZE_LAMBDA_URL','http
defined('VIDEO_SHORT_URL') OR define('VIDEO_SHORT_URL','https://lkt.pdgenie.com/');
defined('CET_SALESPD_INTEGRATION_URL') OR define('CET_SALESPD_INTEGRATION_URL','https://demo.devopsmcfinance.com/cet_salespd/api/PullSalesPdData');
defined('CET_SALESPD_INTEGRATION_IMG_URL') OR define('CET_SALESPD_INTEGRATION_IMG_URL','https://demo.devopsmcfinance.com/cet_salespd/api/PullSalesPdPhotographsData');
defined('CET_SALESPD_INTEGRATION_REINSERTIMG_URL') OR define('CET_SALESPD_INTEGRATION_REINSERTIMG_URL','https://demo.devopsmcfinance.com/cet_salespd/api/ReInsertImageData');
defined('CET_CREDIT_PD_INTEGRATION_URL') OR define('CET_CREDIT_PD_INTEGRATION_URL','https://demo.devopsmcfinance.com/cet_creditpd/api/PullCreditPdData');
defined('CET_CREDIT_PD_INTEGRATION_IMG_URL') OR define('CET_CREDIT_PD_INTEGRATION_IMG_URL','https://demo.devopsmcfinance.com/cet_creditpd/api/PullCreditPdPhotographsData');
defined('DIGILOCKER_TOKEN_URI') OR define('DIGILOCKER_TOKEN_URI','https://api.digitallocker.gov.in/public/oauth2/1/token');
@ -162,6 +163,7 @@ else if(ENVIRONMENT == 'testing')
defined('VIDEO_SHORT_URL') OR define('VIDEO_SHORT_URL','https://lkt.pdgenie.com/');
defined('CET_SALESPD_INTEGRATION_URL') OR define('CET_SALESPD_INTEGRATION_URL','https://demo.devopsmcfinance.com/cet_salespd/api/PullSalesPdData');
defined('CET_SALESPD_INTEGRATION_IMG_URL') OR define('CET_SALESPD_INTEGRATION_IMG_URL','https://demo.devopsmcfinance.com/cet_salespd/api/PullSalesPdPhotographsData');
defined('CET_SALESPD_INTEGRATION_REINSERTIMG_URL') OR define('CET_SALESPD_INTEGRATION_REINSERTIMG_URL','https://demo.devopsmcfinance.com/cet_salespd/api/ReInsertImageData');
defined('CET_CREDIT_PD_INTEGRATION_URL') OR define('CET_CREDIT_PD_INTEGRATION_URL','https://demo.devopsmcfinance.com/cet_creditpd/api/PullCreditPdData');
defined('CET_CREDIT_PD_INTEGRATION_IMG_URL') OR define('CET_CREDIT_PD_INTEGRATION_IMG_URL','https://demo.devopsmcfinance.com/cet_creditpd/api/PullCreditPdPhotographsData');
defined('DIGILOCKER_TOKEN_URI') OR define('DIGILOCKER_TOKEN_URI','https://api.digitallocker.gov.in/public/oauth2/1/token');
@ -186,14 +188,15 @@ else if(ENVIRONMENT == 'production')
defined('OPTIMIZED_IMAGE_BUCKET_NAME') OR define('OPTIMIZED_IMAGE_BUCKET_NAME','optimized-images-live');
defined('IMAGE_OPTIMIZE_LAMBDA_URL') OR define('IMAGE_OPTIMIZE_LAMBDA_URL','https://4u9t03hvfb.execute-api.ap-south-1.amazonaws.com/live');
defined('VIDEO_SHORT_URL') OR define('VIDEO_SHORT_URL','https://l.pdgenie.com/');
defined('CET_SALESPD_INTEGRATION_URL') OR define('CET_SALESPD_INTEGRATION_URL','https://demo.devopsmcfinance.com/cet_salespd/api/PullSalesPdData');
defined('CET_SALESPD_INTEGRATION_URL') OR define('CET_SALESPD_INTEGRATION_URL','https://demo.devopsmcfinance.com/cet_salespd/api/PullSalesPdData');
defined('CET_SALESPD_INTEGRATION_IMG_URL') OR define('CET_SALESPD_INTEGRATION_IMG_URL','https://demo.devopsmcfinance.com/cet_salespd/api/PullSalesPdPhotographsData');
defined('CET_SALESPD_INTEGRATION_REINSERTIMG_URL') OR define('CET_SALESPD_INTEGRATION_REINSERTIMG_URL','https://demo.devopsmcfinance.com/cet_salespd/api/ReInsertImageData');
defined('CET_CREDIT_PD_INTEGRATION_URL') OR define('CET_CREDIT_PD_INTEGRATION_URL','https://demo.devopsmcfinance.com/cet_creditpd/api/PullCreditPdData');
defined('CET_CREDIT_PD_INTEGRATION_IMG_URL') OR define('CET_CREDIT_PD_INTEGRATION_IMG_URL','https://demo.devopsmcfinance.com/cet_creditpd/api/PullCreditPdPhotographsData');
defined('DIGILOCKER_TOKEN_URI') OR define('DIGILOCKER_TOKEN_URI','https://api.digitallocker.gov.in/public/oauth2/1/token');
defined('DIGILOCKER_FILESLIST_URI') OR define('DIGILOCKER_FILESLIST_URI','https://api.digitallocker.gov.in/public/oauth2/2/files/issued');
defined('DIGILOCKER_GETFILE_URI') OR define('DIGILOCKER_GETFILE_URI','https://api.digitallocker.gov.in/public/oauth2/1/file/');
defined('GCP_BUCKET_NAME') OR define('GCP_BUCKET_NAME','sales-pd-demo');
defined('GCP_BUCKET_NAME') OR define('GCP_BUCKET_NAME','sales-pd');
}
/*********************END of AWS resources Constants*************************************************/

View File

@ -423,6 +423,7 @@ $route['deleteS3Image']='Data_Dump_Controller/deleteS3Images';
$route['saveShortsVideo'] = 'PD_Controller/saveShortsVideo';
$route['transferSalesPDToCETApp'] = 'Sales_PD_Controller/transferSalesPDToCETApp';
$route['transferSalesPDImgToCETApp'] = 'Sales_PD_Controller/transferSalesPDImgToCETApp';
$route['transferCreditPDToCETApp'] = 'SMC_Credit_PD_Controller/transferCreditPDToCETApp';
$route['newSalesPd'] = 'Sales_PD_Controller/cetNewSalesPd';

View File

@ -218,7 +218,8 @@ class Sales_PD_Controller extends REST_Controller {
foreach ($view_data['section9'] as $key => $value){
if($value['img_name'] != '' ){
$bucket_name = LENDER_BUCKET_NAME_PREFIX.$sales_pd_data[0]['lender_id'];
$bucket_key = "sales_pd/".$sales_pd_data[0]['sales_pd_id']."/images/".$value['img_name'].".png";
$img_rand_name = $value['rand_name'] != null ? $value['rand_name'] : $value['img_name']."png" ;
$bucket_key = "sales_pd/".$sales_pd_data[0]['sales_pd_id']."/images/".$img_rand_name;
$singed_uri = $this->aws_s3->getSingleObjectInaBucketAsSignedURI($bucket_name, $bucket_key,'30 minutes');
$img_url = $value['img'] ? $value['img'] : ($singed_uri ? $singed_uri : "");
$view_data['section9'][$key]['img'] = $img_url;
@ -766,6 +767,7 @@ class Sales_PD_Controller extends REST_Controller {
$is_customer_app = isset($records['is_customer_app']) ? $records['is_customer_app'] : null;
unset($records['is_customer_app']);
if($records['img_name'] == 'selfie_with_person_met')
{
//$location = $records['location'];
@ -795,8 +797,16 @@ class Sales_PD_Controller extends REST_Controller {
$source=$records['img'];
//Google Library - GCP
$this->load->library('Googlecloud');
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < 6; $i++)
{
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
$rand_name = $records['img_name'] == 'satellite' ? $records['img_name'].".png" : $records['img_name']."_".$randomString.".png";
$gcpBucketName = GCP_BUCKET_NAME;
$objectName = "pd".$sales_pd_id."/images/".$records['img_name'].".png";
$objectName = "pd".$sales_pd_id."/images/".$rand_name;
$result = $this->googlecloud->uploadFileToGCPBucket($gcpBucketName,$objectName,$source);
if($result == true){
$image_inserted++;
@ -807,9 +817,8 @@ class Sales_PD_Controller extends REST_Controller {
$table = SALES_PD_DATA.' as SALES_PD_DATA';
$where_condition_array = array('SALES_PD_DATA.sales_pd_id' => $sales_pd_id);
$sales_pd_data = $this->Sales_PD_Model->selectCustomRecords($columns,$where_condition_array,$table);
$bucket_name = LENDER_BUCKET_NAME_PREFIX.$sales_pd_data[0]['lender_id'];
$bucket_key = "sales_pd/".$sales_pd_id."/images/".$records['img_name'].".png";
$bucket_key = "sales_pd/".$sales_pd_id."/images/".$rand_name;
$bucket_data = array('bucket_name' => $bucket_name, 'key' => $bucket_key, 'sourcefile' => $source);
$s3result = $this->aws_s3->uploadFileToS3Bucket($bucket_data);
if (is_object($s3result) && $s3result['ObjectURL'] != '' && $s3result['@metadata']['statusCode'] == 200) {
@ -818,6 +827,7 @@ class Sales_PD_Controller extends REST_Controller {
}else{ log_message('ERROR', '### Sales-PD ('.$sales_pd_id.') '.$records['img_name'].' Image Not Stored In S3'); }
if($image_inserted>=1){
unset($records['img']);
$records['rand_name'] = $rand_name;
$id = $this->Sales_PD_Model->saveRecords($records,SALEPD_DOCS);
log_message('ERROR', '### Sales-PD ('.$sales_pd_id.') Image Saved in DB - id : '.$id);
}
@ -1223,7 +1233,8 @@ class Sales_PD_Controller extends REST_Controller {
if(count($selfie))
{
$bucket_name = LENDER_BUCKET_NAME_PREFIX.$sales_pd_data[0]['lender_id'];
$bucket_key = "sales_pd/".$records['sales_pd_id']."/images/".$selfie[0]['img_name'].".png";
$img_rand_name = $selfie[0]['rand_name'] != null ? $selfie[0]['rand_name'] : $selfie[0]['img_name']."png" ;
$bucket_key = "sales_pd/".$records['sales_pd_id']."/images/".$img_rand_name;
$singed_uri = $this->aws_s3->getSingleObjectInaBucketAsSignedURI($bucket_name, $bucket_key, '30 minutes');
$photo_questions['questions'][$key]['answer_value'] = $singed_uri;
// $photo_questions['questions'][$key]['answer_value'] = $selfie[0]['img'];
@ -1248,7 +1259,8 @@ class Sales_PD_Controller extends REST_Controller {
if($individual_value['questions'][0]['question_key'] == $img_value['img_name'])
{
$bucket_name = LENDER_BUCKET_NAME_PREFIX.$sales_pd_data[0]['lender_id'];
$bucket_key = "sales_pd/".$records['sales_pd_id']."/images/".$img_value['img_name'].".png";
$img_rand_name = $img_value['rand_name'] != null ? $img_value['rand_name'] : $img_value['img_name']."png" ;
$bucket_key = "sales_pd/".$records['sales_pd_id']."/images/".$img_rand_name;
$singed_uri = $this->aws_s3->getSingleObjectInaBucketAsSignedURI($bucket_name, $bucket_key,'30 minutes');
$photo_questions['questions'][$key]['questions_group'][$v_key]['questions'][0]['answer_value'] = $singed_uri;
// $photo_questions['questions'][$key]['questions_group'][$v_key]['questions'][0]['answer_value'] = $img_value['img'];
@ -1445,7 +1457,8 @@ public function filterSalesPDList_post() {
if(!array_key_exists($key,$img_data))
{
$bucket_name = LENDER_BUCKET_NAME_PREFIX.$sales_pd_master_data[0]['lender_id'];
$bucket_key = "sales_pd/".$sales_pd_master_data[0]['sales_pd_id']."/images/".$sales_pd_img_data_value['img_name'].".png";
$img_rand_name = $sales_pd_img_data_value['rand_name'] != null ? $sales_pd_img_data_value['rand_name'] : $sales_pd_img_data_value['img_name']."png" ;
$bucket_key = "sales_pd/".$sales_pd_master_data[0]['sales_pd_id']."/images/".$img_rand_name;
$singed_uri = $this->aws_s3->getSingleObjectInaBucketAsSignedURI($bucket_name, $bucket_key,'30 minutes');
$img_url = $sales_pd_img_data_value['img'] ? $sales_pd_img_data_value['img'] : ($singed_uri ? $singed_uri : "");
$img_data[$key] = array('img_key' => $key,'img_name' => $value['img_name'],'img_data' => [array('img_url' => $img_url,'img_id'=>($sales_pd_img_data_value['doc_id']) ? $sales_pd_img_data_value['doc_id'] : '','location'=>($sales_pd_img_data_value['location']) ? $sales_pd_img_data_value['location'] : '')],'is_multiple' => 1,'section_heading' => $value['img_name']);
@ -1454,7 +1467,8 @@ public function filterSalesPDList_post() {
else
{
$bucket_name = LENDER_BUCKET_NAME_PREFIX.$sales_pd_master_data[0]['lender_id'];
$bucket_key = "sales_pd/".$sales_pd_master_data[0]['sales_pd_id']."/images/".$sales_pd_img_data_value['img_name'].".png";
$img_rand_name = $sales_pd_img_data_value['rand_name'] != null ? $sales_pd_img_data_value['rand_name'] : $sales_pd_img_data_value['img_name']."png" ;
$bucket_key = "sales_pd/".$sales_pd_master_data[0]['sales_pd_id']."/images/".$img_rand_name;
$singed_uri = $this->aws_s3->getSingleObjectInaBucketAsSignedURI($bucket_name, $bucket_key,'30 minutes');
$img_url = $sales_pd_img_data_value['img'] ? $sales_pd_img_data_value['img'] : ($singed_uri ? $singed_uri : "");
$img_data[$key]['img_data'][] = array('img_url' => $img_url,'img_id'=>($sales_pd_img_data_value['doc_id']) ? $sales_pd_img_data_value['doc_id'] : '','location'=>($sales_pd_img_data_value['location']) ? $sales_pd_img_data_value['location'] : '');
@ -1468,7 +1482,8 @@ public function filterSalesPDList_post() {
else
{
$bucket_name = LENDER_BUCKET_NAME_PREFIX.$sales_pd_master_data[0]['lender_id'];
$bucket_key = "sales_pd/".$sales_pd_master_data[0]['sales_pd_id']."/images/".$sales_pd_img_data_value['img_name'].".png";
$img_rand_name = $sales_pd_img_data_value['rand_name'] != null ? $sales_pd_img_data_value['rand_name'] : $sales_pd_img_data_value['img_name']."png" ;
$bucket_key = "sales_pd/".$sales_pd_master_data[0]['sales_pd_id']."/images/".$img_rand_name;
$singed_uri = $this->aws_s3->getSingleObjectInaBucketAsSignedURI($bucket_name, $bucket_key,'30 minutes');
$img_url = $sales_pd_img_data_value['img'] ? $sales_pd_img_data_value['img'] : ($singed_uri ? $singed_uri : "");
$img_data[$key] = array('img_key' => $key,'img_name' => $value['img_name'],'img_url' => $img_url,'is_multiple' => 0,'section_heading' => $value['img_name'],'img_id'=>($sales_pd_img_data_value['doc_id']) ? $sales_pd_img_data_value['doc_id'] : '','location'=>($sales_pd_img_data_value['location']) ? $sales_pd_img_data_value['location'] : '');//$sales_pd_img_data_value['img']
@ -1909,6 +1924,117 @@ public function filterSalesPDList_post() {
}
}
}
function transferSalesPDImgToCETApp_post(){
$records = $this->post('records');
log_message('ERROR',"### CET APP SALES PD-IMG, PDID are :".implode(', ', $records));
if(!empty($records))
{
$j = 0;$section_fields=array();
foreach ($records as $key => $value)
{
$sales_pd_id = $value;
if(!empty($sales_pd_id)){
$columns = array('SALES_PD_DATA.*','ENTITY.short_name','PRODUCT.abbr','USERPROFILE.smc_emp_code');
$table = SALES_PD_DATA.' as SALES_PD_DATA';
$joins = array(array('table' => ENTITY. ' as ENTITY',
'condition' =>'SALES_PD_DATA.lender_id = ENTITY.entity_id',
'jointype' => 'INNER'),
array('table' => PRODUCTS. ' as PRODUCT',
'condition' =>'SALES_PD_DATA.product_id = PRODUCT.product_id',
'jointype' => 'INNER'),
array('table' => USERPROFILE. ' as USERPROFILE',
'condition' =>'SALES_PD_DATA.createdby = USERPROFILE.userid',
'jointype' => 'LEFT')
);
$where_condition_array = array('SALES_PD_DATA.sales_pd_id' => $sales_pd_id);
$sales_pd_data = $this->Sales_PD_Model->getJoinRecords($columns,$table,$joins,$where_condition_array);
if(count($sales_pd_data)>0)
{
$section_fields = array('pdid'=>$sales_pd_data[0]['sales_pd_id'],
'product'=>$sales_pd_data[0]['abbr'],
'caseno'=>$sales_pd_data[0]['sales_pd_sno'],
'completed_date'=>$sales_pd_data[0]['completed_date']
);
// $photograph_data = $this->Sales_PD_Model->selectCustomRecords(array('img_name','case when img IS NOT NULL then CONCAT(img_name, ".png") when rand_name IS NULL then CONCAT(img_name, ".png") else rand_name end AS img'),array('fk_sales_pd_id' => $sales_pd_id,'isactive' => 1),SALEPD_DOCS);
$photograph_data = $this->Sales_PD_Model->selectCustomRecords(array('*'),array('fk_sales_pd_id' => $sales_pd_id,'isactive' => 1),SALEPD_DOCS);
log_message('ERROR', '#### Sales PD ('.$sales_pd_id.') - Total Images'.count($photograph_data));
if(!empty($photograph_data)){
$this->load->library('Googlecloud');
$k=0;
foreach ($photograph_data as $key => $value){
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < 6; $i++)
{
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
$rand_name = $value['img_name'] == 'satellite' ? $value['img_name'].".png" : $value['img_name']."_".$randomString.".png";
$section_fields['data']['section9'][$k]['img_name'] = $value['img_name'];
$section_fields['data']['section9'][$k]['img'] = $rand_name;
$CET_response = cet_salespd::repushwithcetphotographapi($section_fields);
if(isset($CET_response->status) && $CET_response->status == 200){
$source=$value['img_name'] == 'satellite' ? 'data:image/png;base64,'.$value['img'] : $value['img'];
//Google Library - GCP
$gcpBucketName = GCP_BUCKET_NAME;
$objectName = "pd".$sales_pd_id."/images/".$rand_name;
$gcp_result = $this->googlecloud->uploadFileToGCPBucket($gcpBucketName,$objectName,$source);
if($gcp_result == true){
log_message('ERROR', '### Sales-PD ('.$sales_pd_id.') '.$value['img_name'].' Image Stored In GCP');
}else{ log_message('ERROR', '### Sales-PD ('.$sales_pd_id.') '.$records['img_name'].' Image Not Stored In GCP'); }
// Amazon Library - S3
$bucket_name = LENDER_BUCKET_NAME_PREFIX.$sales_pd_data[0]['lender_id'];
$bucket_key = "sales_pd/".$sales_pd_id."/images/".$rand_name;
$bucket_data = array('bucket_name' => $bucket_name, 'key' => $bucket_key, 'sourcefile' => $source);
$s3result = $this->aws_s3->uploadFileToS3Bucket($bucket_data);
if (is_object($s3result) && $s3result['ObjectURL'] != '' && $s3result['@metadata']['statusCode'] == 200) {
log_message('ERROR', '### Sales-PD ('.$sales_pd_id.') '.$value['img_name'].' Image Stored In S3');
}else{ log_message('ERROR', '### Sales-PD ('.$sales_pd_id.') '.$records['img_name'].' Image Not Stored In S3'); }
if($gcp_result == true && is_object($s3result) && $s3result['ObjectURL'] != '' && $s3result['@metadata']['statusCode'] == 200){
$update_fields2 = array('rand_name' => $rand_name);
$this->Sales_PD_Model->updateRecords($update_fields2,SALEPD_DOCS,array('doc_id'=>$value['doc_id']));
}
log_message('ERROR', '#### Sales PD ('.$sales_pd_id.') - CET response - '.json_encode($CET_response,true));
}
else{
log_message('ERROR', '#### Sales PD ('.$sales_pd_id.') - CET response - '.json_encode($CET_response,true));
}
}
}else{
log_message('ERROR', '#### Sales PD ('.$sales_pd_id.') - No Images');
}
}
else
{
log_message('ERROR', '#### Sales PD ('.$sales_pd_id.') - No Data In ParentTable');
}
}else{
log_message('ERROR', '#### Sales PDID Not Founded');
}
}
$data['dataStatus'] = true;
$data['status'] = REST_Controller::HTTP_OK;
$data['reInsertImageDataApiResponse'] = $CET_response;
$this->response($data,REST_Controller::HTTP_OK);
}
else
{
log_message('ERROR', '#### Sales PDID Array Empty');
$data['dataStatus'] = false;
$data['status'] = REST_Controller::HTTP_NO_CONTENT;
$data['msg'] = 'No Data Found';
$this->response($data,REST_Controller::HTTP_OK);
}
}

View File

@ -106,7 +106,33 @@ class CET_SALESPD
curl_close( $ch );
unlink($file);
return $response;
}
}
public static function repushwithcetphotographapi($fields)
{
$headers = array('Content-Type: application/json');
try{
$ch = curl_init();
$output_data = json_encode( $fields );
// print_r($output_data);die();
log_message('ERROR',"ReInsertImageData api Request Format : ".$output_data);
curl_setopt( $ch,CURLOPT_URL, CET_SALESPD_INTEGRATION_REINSERTIMG_URL);
curl_setopt( $ch,CURLOPT_POST, true );
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, true );
curl_setopt( $ch,CURLOPT_POSTFIELDS, $output_data);
$result = curl_exec($ch );
$response = json_decode($result);
log_message('ERROR',"ReInsertImageData api response :".json_encode($response));
curl_close( $ch );
}
catch (Exception $e) {
$response->error = array($e->getMessage());
log_message('ERROR', "ReInsertImageData ERR : " . $e->getMessage());
}
return $response;
}
}
?>