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)) {