diff --git a/app/Controllers/Notifications.php b/app/Controllers/Notifications.php index b341b87b..b4c6a15e 100755 --- a/app/Controllers/Notifications.php +++ b/app/Controllers/Notifications.php @@ -571,6 +571,7 @@ class Notifications extends BaseController ################################################################ public function getExpCustomerDetail($window_time = null) { + // Email flow only Whatsapp flow Deleted. $this->update_expired_members(); echo "Hi, "; # Step 1: add the days to retrive the data// @@ -606,7 +607,7 @@ class Notifications extends BaseController } $emailTemplateName = $NotificationModel->getTempName('EXPIRY NOTIFY TEMPLATE EMAIL'); - echo "Started.
Customer expiring. till dated = ".$newDate."
There are ".count($queryResult)." persons
"; + echo "Started.
Customer expiring. till dated = ".date('d-m-Y', strtotime($newDate))."
There are ".count($queryResult)." persons
"; foreach ($queryResult as $inx => $row) { $status = $row['status']; $userFirstName = $row['first_name']; @@ -616,15 +617,16 @@ class Notifications extends BaseController $schemename = $row['title']; $expirydate = $row['to_subscription']; $customerId = $row['customer_id']; + $countdays = $row['countdays']; $membership_id = $row['membership_id']; if (empty($fullName)) { $this->logger->error('There is no subcription Name'); continue; } + echo ($inx+1).") #".$customerId." - Person Name : ".$fullName." ----- ( Expiry on ". date('d-m-Y', strtotime($expirydate)).")
"; if ($status === 'Approved') { # EXPIRY NOTIFY TEMPLATE EMAIL $emailTemplateName = $NotificationModel->getTempName('EXPIRY NOTIFY TEMPLATE EMAIL'); - echo "#".$customerId." - Person Name :".$fullName." ----- ( Expiry on ". $expirydate.")
"; if(empty($row['email'])){ echo ($inx+1).") Email Not Available
"; continue; @@ -654,7 +656,7 @@ class Notifications extends BaseController } if($check_existing){ - echo ($inx+1).") Email already send on - ".$check_date."
"; + echo ($inx+1).") Email already send on - ".date('d-m-Y h:i A', strtotime($check_date))."
"; continue; } @@ -675,6 +677,8 @@ class Notifications extends BaseController if (isset($expirydate)) { $expiryon = $expirydate ? date('d-m-Y', strtotime($expirydate)) : ''; $emailContent = str_replace("{EXPIRY_DATE}", $expiryon, $emailContent); + $replaceContent = (int)$countdays == 0 ? 'expires today, ' : 'expiring on '; + $emailContent = str_replace("expiring on", $replaceContent, $emailContent); } if (isset($membership_id)) { $emailContent = str_replace("{RENEWAL_LINK}", base_url() . 'subscription_renewal/' . $membership_id, $emailContent); @@ -734,142 +738,13 @@ class Notifications extends BaseController } else{ + echo ($inx+1).") Staus = ".$status."
"; $this->logger->error("status is Draft"); } - # EXPIRY NOTIFY TEMPLATE EMAIL Closed - if ($status === 'Approved') { - - - $existingcheck2 = $NotificationModel->checkEmailAlreadyExisting($userMobileNumber,$customerId); - $check_existing2 = 0; - $check_date2 = ""; - $check_diff_days2 = ""; - - if(!empty($existingcheck2)){ - - foreach ($existingcheck2 as $i2 => $r2) { - if($r2['receiving_status'] == 1){ - $check_existing2 = 1; - $check_date2 = $r2['sent_time']; - $sentTimestamp2 = strtotime($r2['sent_time']); - $provedTimestamp2 = strtotime($providedDate); - - - $diffInSeconds2 = abs($provedTimestamp2 - $sentTimestamp2); - $diffInDays2 = $diffInSeconds2 / (60 * 60 * 24); - - $check_diff_days2 = $diffInDays2; - } - } - } - - if($check_existing2){ - echo ($inx+1).") whatsapp already send ".$check_date2."
"; - continue; - } - # EXPIRY NOTIFY TEMPLATE WHATSAPP - $whatsappTemplateName = $NotificationModel->getTempName('EXPIRY NOTIFY TEMPLATE WHATSAPP'); - // print_r($whatsappTemplateName);die; - if ((count($whatsappTemplateName) > 0) && !empty($whatsappTemplateName)) { - $campaign_id = 2; // hardcoded because static Template. - $history_parents_data = ['campaign_id' => 2,'status' => 0]; - $history_parent_id = $NotificationModel->save_notification_history_parents($history_parents_data); - if (empty($userMobileNumber)) { - $history_msg = 'There is no subscriber mobile number'; - $history_child_updatedata = ['receiving_status'=>0,'result'=>$history_msg]; - $history_child_where = ['fkid' => $history_parent_id,'id' => (int)$history_child_id]; - $history_child_statement = $NotificationModel->update_notification_history_child($history_child_updatedata,$history_child_where); - $this->logger->error($history_child_statement); - - $history_parent_statement = $NotificationModel->update_notification_history_parent_status(['status' => 1],$history_parent_id,$campaign_id); - $this->logger->error($history_parent_statement); - $this->logger->error($history_msg); - echo ($inx+1).") ".$history_msg."
"; - continue; - } - # Insertion on History Whatsapp Means Campaign ID 2 Hardcoded - $history_parents_data = ['campaign_id' => 2,'status' => 0]; - $history_parent_id = $NotificationModel->save_notification_history_parents($history_parents_data); - - # Step 7: Prepare whatsapp content based on the template - $whatsappContent = $whatsappTemplateName[0]['message']; - if (isset($fullName)) { - $whatsappContent = str_replace("{USER_NAME}", $fullName, $whatsappContent); - } - if (isset($schemename)) { - $whatsappContent = str_replace("{SCHEME_NAME}", $schemename, $whatsappContent); - } - if (isset($expirydate)) { - $expiryon = $expirydate ? date('d-m-Y', strtotime($expirydate)) : ''; - $whatsappContent = str_replace("{EXPIRY_DATE}", $expiryon, $whatsappContent); - } - if (isset($customerId)) { - $whatsappContent = str_replace("{RENEWAL_LINK}", base_url() . 'subscription_renewal/' . $customerId, $whatsappContent); - } - # Step 8: Insertion on History Child for whatsapp - $history_child_data = [ 'fkid' => $history_parent_id, - 'customer_id' => $customerId, - 'receiving_entity' => $userMobileNumber, - 'receiving_status' => 0, - 'message' => strip_tags(ltrim($whatsappContent))]; - $history_child_id = $NotificationModel->save_notification_history_child($history_child_data); - - - # Step 8: Send Whatsapp using NotificationHelper - $params = (object) Null; - $url = SEND_WAAI_URL; - $params->number = (int)'91' . $userMobileNumber; - $params->type = "text"; - $params->message = strip_tags(ltrim($whatsappContent)); - $params->instance_id = $_ENV['WAAI_INSTANCE']; - $params->access_token = $_ENV['WAAI_TOKEN']; - $this->logger->error("EXPIRAY NOTIFY TEMPLATE WHATSAPP Request = " . json_encode($params)); - $this->logger->error("EXPIRAY NOTIFY TEMPLATE WHATSAPP Request type b4 = " . gettype($params)); - $whatsapp_result = $notification->sendWhatsAppMessage($url, "POST", $params); - $receiving_status = $whatsapp_result['receiving_status']; - $history_msg = strtolower(gettype($whatsapp_result)) == "string" ? $whatsapp_result : json_encode($whatsapp_result['reponse']); - $history_child_updatedata = ['receiving_status'=>$receiving_status,'result'=>$history_msg]; - $history_child_where = ['fkid' => $history_parent_id,'id' => (int)$history_child_id]; - $history_child_statement = $NotificationModel->update_notification_history_child($history_child_updatedata,$history_child_where); - $this->logger->error($history_child_statement); - - $history_parent_statement = $NotificationModel->update_notification_history_parent_status(['status' => 1],$history_parent_id,$campaign_id); - $this->logger->error($history_parent_statement); - $this->logger->error("EXPIRAY NOTIFY TEMPLATE WHATSAPP Reponse = " . $history_msg); - - if(strtolower(gettype($whatsapp_result)) == "string"){ - echo ($inx+1).") ".$whatsapp_result."
"; - } - else{ - $result = json_encode($whatsapp_result['reponse']); - $decodedResult = json_decode($result, true); - if ($decodedResult && isset($decodedResult['message']['key']['remoteJid'])) { - $remoteJid = $decodedResult['message']['key']['remoteJid']; - $this->logger->error("EXPIRAY NOTIFY TEMPLATE WHATSAPP Remote Jid = " . $remoteJid); - echo ($inx+1).") Whatsapp sent successfully
"; - } else { - // echo "Failed to extract remoteJid"; - $this->logger->error("EXPIRAY NOTIFY TEMPLATE WHATSAPP Failed to extract remoteJid "); - echo ($inx+1).") Failed to send Whatsapp
"; - } - } - } else { - // $receiving_status = 0; - $history_msg = 'There is no Whatsapp template found by the name of EXPIRAY NOTIFY TEMPLATE WHATSAPP '; - $this->logger->error($history_msg); - echo "There is no Whatsapp template
"; - continue; - } - - # EXPIRY NOTIFY TEMPLATE WHATSAPP Closed - } - else{ - $this->logger->error("status is draft"); - } - + # EXPIRY NOTIFY TEMPLATE EMAIL Closed # Loop Closed echo "Process Completed
"; - } + } } diff --git a/app/Controllers/Subscription.php b/app/Controllers/Subscription.php index 5430400b..fa4de006 100755 --- a/app/Controllers/Subscription.php +++ b/app/Controllers/Subscription.php @@ -20,7 +20,7 @@ class Subscription extends BaseController if (!empty($session_role) && $session_role !== "sadmin") { $this->logger->info("Invoice: Listing In Admin BID = " . $session_bid); - $where = ['I.business_id' => (int)$session_bid, 'I.isactive' => 1,'I.invoice_type'=>2,'S.isactive'=>1]; + $where = ['I.business_id' => (int)$session_bid, 'I.isactive' => 1,'I.invoice_type'=>2]; } else { $this->logger->info("Invoice: Listing In the Super-Admin "); $where = ['I.business_id != ' => NULL, 'I.isactive != ' => NULL,'I.invoice_type'=>2]; diff --git a/app/Models/HomeModel.php b/app/Models/HomeModel.php index a0abddb6..01930699 100755 --- a/app/Models/HomeModel.php +++ b/app/Models/HomeModel.php @@ -197,6 +197,7 @@ class HomeModel extends Model LEFT JOIN notification_history_parents as NHP ON NHP.campaign_id = NC.campaign_id LEFT JOIN notification_history_children as NHC ON NHC.fkid = NHP.id WHERE NHC.customer_id = C.customer_id AND NHC.receiving_entity LIKE "%@%" AND NHC.receiving_status = 1 + AND NHP.start_date_time >= DATE_SUB(CURDATE(), INTERVAL 30 DAY) ) as email_last_notify_on, ( SELECT MAX(NHP.start_date_time) @@ -205,6 +206,7 @@ class HomeModel extends Model LEFT JOIN notification_history_children as NHC ON NHC.fkid = NHP.id WHERE NHC.customer_id = S.customer_id AND NHC.receiving_entity NOT LIKE "%@%" AND NHC.receiving_status = 1 AND NHC.receiving_status REGEXP "^[0-9]+$" + AND NHP.start_date_time >= DATE_SUB(CURDATE(), INTERVAL 30 DAY) ) as whatsapp_last_notify_on') ->where('S.to_subscription >=', $now) ->where('S.to_subscription <=', $last30days) diff --git a/app/Models/InvoiceModel.php b/app/Models/InvoiceModel.php index a19d9b1f..ce09e642 100755 --- a/app/Models/InvoiceModel.php +++ b/app/Models/InvoiceModel.php @@ -356,10 +356,8 @@ public function insertSubscriptionData($data,$invoice_status) $invoice_id = $data['invoice_id']; $customer_id = $data['customer_id']; $scheme_id = $data['scheme_id']; - // $data['isactive'] = $invoice_status !== 'Draft' ? 0 : 1 ; - + $data['isactive'] = $invoice_status === 'Approved' ? 1 : 0 ; $where = ['invoice_id' => $invoice_id,'customer_id' => $customer_id,'scheme_id' => $scheme_id]; - $query = $this->db->table('subscription')->select('sub_id')->where($where)->get()->getRow(); if (!empty($query)) {