diff --git a/app/Controllers/ApiIntegration.php b/app/Controllers/ApiIntegration.php index f63a02b8..4a225616 100644 --- a/app/Controllers/ApiIntegration.php +++ b/app/Controllers/ApiIntegration.php @@ -200,13 +200,16 @@ class ApiIntegration extends ResourceController $page_count = NULL; $genre = NULL; $author = NULL; + $category = 1; // Book $attributes = $records['attributes']; $categories = $records['categories']; if (count($categories) > 0) { $categoryNames = []; foreach ($categories as $category) { if (isset($category->name) && $category->name != "") { - $categoryNames[] = $category->name; + if($category->name !== "Membership"){ + $categoryNames[] = $category->name; } + else{ $category = 2; } } } if (!empty($categoryNames)) { @@ -241,6 +244,7 @@ class ApiIntegration extends ResourceController $book_data['description'] = isset($records['description']) ? $records['description'] : NULL; $book_data['short_description'] = isset($records['short_description']) ? $records['short_description'] : NULL; $book_data['page_count'] = $page_count; + $book_data['category'] = $category; // $book_data['price'] = (isset($records['sale_price']) && $records['sale_price'] != '') ? $records['sale_price'] : ((isset($records['regular_price']) && $records['regular_price'] != '') ? $records['regular_price'] : NULL); $book_data['price'] = (isset($records['sale_price']) && $records['sale_price'] != '') ? $records['sale_price'] : ((isset($records['regular_price']) && $records['regular_price'] != '') ? $records['regular_price'] : ((isset($records['price']) && $records['price'] != '') ? $records['price'] : NULL)); $book_data['sku'] = isset($records['sku']) ? $records['sku'] : NULL; @@ -651,15 +655,18 @@ class ApiIntegration extends ResourceController $invoice_data['tax']=number_format($tax, 2); $invoice_data['discount']=number_format($lineitems_discount, 2); $invoice_data['total_amount']= number_format($total, 2); - $invoice_data['payment_status']=""; + $invoice_data['payment_status']=$records['status']; $invoice_data['order_number']=$records['order_key']; - $invoice_data['payment_method']=$records['payment_method']; + $invoice_data['payment_method']=$records['payment_method_title']; $invoice_data['event_id']=NULL; $invoice_data['business_id']=1; $invoice_data['shipping_address']=$shipping_addr; $invoice_data['shipping_address_id']=NULL; $invoice_data['billing_address']=$billing_addr; $invoice_data['billing_address_id'] =NULL; + $invoice_data['shipping_charge'] = isset($records['shipping_total'])?$records['shipping_total']:NULL; + $invoice_data['notes'] = isset($records['customer_note'])?$records['customer_note']:NULL; + if ((int)$countAll == 0) { $insert_result = $api_model->insertData('invoice', $invoice_data); @@ -681,19 +688,22 @@ class ApiIntegration extends ResourceController } $line_item_data = []; - $shipping_line_item_data = []; - $i = 0;$j=0; + $subscription_data = []; + //$shipping_line_item_data = []; + $h=0;$i = 0;//$j=0; $this->logger->info("Api SaveSalesDetails : Invoice items count : " .count($lineitems_array)); if (count($lineitems_array) > 0 && $last_insert_invoice_id != "") { $extensive_correspondence .= " Its have " . count($lineitems_array) . " LineItems ,"; $basic_message .= " Its have " . count($lineitems_array) . " LineItems"; $this->logger->info("Api SaveSalesDetails : ".$extensive_correspondence); + $where = ['invoice_id' => (int)$last_insert_invoice_id, 'isactive' => 1, 'quantity != '=>0]; $existing_invoiceitem = $api_model->getData('invoiceitems', $where); $request_invoiceitem = (array)$lineitems_array; $filteringExistingInvoiceItemWpApiId = []; $filteringRequestedInvoiceItemWpApiId = []; + $filteringRequestedSKUWpId = []; $commonElements = []; if (!empty($existing_invoiceitem)) { @@ -733,6 +743,7 @@ class ApiIntegration extends ResourceController foreach ($lineitems_array as $ii) { $invoiceItemsId = null; + $skuId = null; // Iterate through the array and find the 'book_img_id' based on 'wp_api_img_id' if (!empty($lastestActiveInvoiceitemsData)) { @@ -747,107 +758,132 @@ class ApiIntegration extends ResourceController $where = ['wp_api_product_id' => (int)$ii->product_id]; $get_book_data_based_on_wp_product_id = $api_model->getData('books', $where); - $line_item_data[$i]['product'] = (!empty($get_book_data_based_on_wp_product_id) ? $get_book_data_based_on_wp_product_id[0]->book_id : NULL); - $line_item_data[$i]['quantity'] =(float)$ii->quantity; - $line_item_data[$i]['unit_price'] =(float)$ii->price; - $line_item_data[$i]['tax'] =(float)$ii->total_tax; - $line_item_data[$i]['subtotal'] =(float)$ii->total; - $line_item_data[$i]['invoice_child_id'] = $invoiceItemsId; - $line_item_data[$i]['wp_api_line_items_id'] = $ii->id; - $line_item_data[$i]['invoice_id'] = $last_insert_invoice_id; - $this->logger->info("Api SaveSalesDetails : Invoiceitem Data inx = $i "); - $i++; + $skuId = $ii->sku; + $this->logger->info("Api SaveSalesDetails : Lineitem SKU ID = " .$skuId); + + $where = ['online_sku' => $skuId, 'isactive' => 1]; + $existing_schemes = $api_model->getData('schemes', $where); + + if(!empty($skuId) && !empty($existing_schemes)){ + $duration = $existing_schemes[0]->duration; + $fromDateTimestamp = strtotime($records['date_created']); + $toDateTimestamp = strtotime("+$duration months", $fromDateTimestamp); + $fromDate = date("Y-m-d", strtotime($records['date_created'])); + $toDate = date("Y-m-d", $toDateTimestamp); + $subscription_data[$h]['scheme_id'] = $existing_schemes[0]->scheme_id; + $subscription_data[$h]['customer_id'] = $records['customer_id']; + $subscription_data[$h]['invoice_id'] = $invoice_id; + $subscription_data[$h]['from_subscription'] = $fromDate; + $subscription_data[$h]['to_subscription'] = $toDate; + $subscription_data[$h]['mode'] = "From WordPress Data"; + $h++; + $this->logger->info("Api SaveSalesDetails : Subscription Data inx = $h Request data = ".json_encode($subscription_data)); + }else{ + $line_item_data[$i]['product'] = (!empty($get_book_data_based_on_wp_product_id) ? $get_book_data_based_on_wp_product_id[0]->book_id : NULL); + $line_item_data[$i]['quantity'] =(float)$ii->quantity; + $line_item_data[$i]['unit_price'] =(float)$ii->price; + $line_item_data[$i]['tax'] =(float)$ii->total_tax; + $line_item_data[$i]['subtotal'] =(float)$ii->total; + $line_item_data[$i]['invoice_child_id'] = $invoiceItemsId; + $line_item_data[$i]['wp_api_line_items_id'] = $ii->id; + $line_item_data[$i]['invoice_id'] = $last_insert_invoice_id; + $i++; + $this->logger->info("Api SaveSalesDetails : Invoiceitem Data inx = $i Request data = ".json_encode($line_item_data)); + } + } // line item loop closed $extensive_correspondence .= (!empty($line_item_data) ? $api_model->insertAndUpdateChildDetails($line_item_data, 'invoiceitems', 'invoice_child_id') : ""); + $extensive_correspondence .= (!empty($subscription_data) ? $api_model->insertAndUpdateChildDetails($subscription_data, 'subscription', 'sub_id') : ""); + $this->logger->info("Api SaveSalesDetails : ".$extensive_correspondence); } else{ $this->logger->error("Api SaveSalesDetails : Err = Invoice items Data Not Found"); } - $shipping_lineitems_array = $records['shipping_lines']; - $this->logger->info("Api SaveSalesDetails : Shipping Invoice items count : " .count($shipping_lineitems_array)); - if (count($shipping_lineitems_array) > 0 && $last_insert_invoice_id != "") { - $extensive_correspondence .= " Its have " . count($shipping_lineitems_array) . " shipping details ,"; - $basic_message .= " and Its have " . count($shipping_lineitems_array) . " shipping details"; - $this->logger->info("Api SaveSalesDetails : ".$extensive_correspondence); - $shipping_where = ['invoice_id' => (int)$last_insert_invoice_id, 'isactive' => 1,'quantity'=>0]; - $existing_shipping_invoiceitem = $api_model->getData('invoiceitems', $shipping_where); - $request_shipping_invoiceitem = (array)$shipping_lineitems_array; + // $shipping_lineitems_array = $records['shipping_lines']; + // $this->logger->info("Api SaveSalesDetails : Shipping Invoice items count : " .count($shipping_lineitems_array)); + // if (count($shipping_lineitems_array) > 0 && $last_insert_invoice_id != "") { + // $extensive_correspondence .= " Its have " . count($shipping_lineitems_array) . " shipping details ,"; + // $basic_message .= " and Its have " . count($shipping_lineitems_array) . " shipping details"; + // $this->logger->info("Api SaveSalesDetails : ".$extensive_correspondence); + // $shipping_where = ['invoice_id' => (int)$last_insert_invoice_id, 'isactive' => 1,'quantity'=>0]; + // $existing_shipping_invoiceitem = $api_model->getData('invoiceitems', $shipping_where); + // $request_shipping_invoiceitem = (array)$shipping_lineitems_array; - $filteringExistingShippingInvoiceItemWpApiId = []; - $filteringRequestedShippingInvoiceItemWpApiId = []; - $commonShippingElements = []; - if (!empty($existing_shipping_invoiceitem)) { + // $filteringExistingShippingInvoiceItemWpApiId = []; + // $filteringRequestedShippingInvoiceItemWpApiId = []; + // $commonShippingElements = []; + // if (!empty($existing_shipping_invoiceitem)) { - for ($z = 0; $z < count($request_shipping_invoiceitem); $z++) { - $filteringRequestedShippingInvoiceItemWpApiId[$z] = $request_shipping_invoiceitem[$z]->id; - } - for ($y = 0; $y < count($existing_shipping_invoiceitem); $y++) { - $filteringExistingShippingInvoiceItemWpApiId[$y] = $existing_shipping_invoiceitem[$y]->wp_api_line_items_id; - } + // for ($z = 0; $z < count($request_shipping_invoiceitem); $z++) { + // $filteringRequestedShippingInvoiceItemWpApiId[$z] = $request_shipping_invoiceitem[$z]->id; + // } + // for ($y = 0; $y < count($existing_shipping_invoiceitem); $y++) { + // $filteringExistingShippingInvoiceItemWpApiId[$y] = $existing_shipping_invoiceitem[$y]->wp_api_line_items_id; + // } - if (!empty($filteringExistingShippingInvoiceItemWpApiId)) { - $this->logger->info("Api SaveSalesDetails : Incoming InvoiceItem (Shipping) Wp Id " .implode(",",$filteringRequestedShippingInvoiceItemWpApiId)); - $this->logger->info("Api SaveSalesDetails : Existing InvoiceItem (Shipping) Wp Id " .implode(",",$filteringExistingShippingInvoiceItemWpApiId)); - $A = $filteringExistingShippingInvoiceItemWpApiId; - $B = $filteringRequestedShippingInvoiceItemWpApiId; + // if (!empty($filteringExistingShippingInvoiceItemWpApiId)) { + // $this->logger->info("Api SaveSalesDetails : Incoming InvoiceItem (Shipping) Wp Id " .implode(",",$filteringRequestedShippingInvoiceItemWpApiId)); + // $this->logger->info("Api SaveSalesDetails : Existing InvoiceItem (Shipping) Wp Id " .implode(",",$filteringExistingShippingInvoiceItemWpApiId)); + // $A = $filteringExistingShippingInvoiceItemWpApiId; + // $B = $filteringRequestedShippingInvoiceItemWpApiId; - $missingShippingValues = array_diff($A, $B); //Find difference element in Existing Images only - $commonShippingElements = array_intersect($A, $B); - if (!empty($missingShippingValues)) { - $this->logger->info("Api SaveSalesDetails : Missing InvoiceItem (shipping) Wp Id " .implode(",",$missingShippingValues)." Are inactived"); - $inactive_where = ['isactive' => 1, 'invoice_id' => (int)$last_insert_invoice_id]; - $inactive_whereIn[0] = 'wp_api_line_items_id'; - $inactive_whereIn[1] = $missingShippingValues; - $api_model->inactiveMissingDetails('invoiceitems', $inactive_where, $inactive_whereIn); - } - } - } + // $missingShippingValues = array_diff($A, $B); //Find difference element in Existing Images only + // $commonShippingElements = array_intersect($A, $B); + // if (!empty($missingShippingValues)) { + // $this->logger->info("Api SaveSalesDetails : Missing InvoiceItem (shipping) Wp Id " .implode(",",$missingShippingValues)." Are inactived"); + // $inactive_where = ['isactive' => 1, 'invoice_id' => (int)$last_insert_invoice_id]; + // $inactive_whereIn[0] = 'wp_api_line_items_id'; + // $inactive_whereIn[1] = $missingShippingValues; + // $api_model->inactiveMissingDetails('invoiceitems', $inactive_where, $inactive_whereIn); + // } + // } + // } - $where = ['invoice_id' => (int)$last_insert_invoice_id, 'isactive' => 1,'quantity'=>0]; - if (!empty($commonShippingElements)) { - $whereIn[0] = 'wp_api_line_items_id'; - $whereIn[1] = $commonShippingElements; - } else { - $whereIn = null; - } - $lastestActiveShippingInvoiceitemsData = $api_model->getData('invoiceitems', $where, $whereIn); - $this->logger->info("Api SaveSalesDetails : lastest Active Invoice Item (shipping) Data Count " .count($lastestActiveShippingInvoiceitemsData)); + // $where = ['invoice_id' => (int)$last_insert_invoice_id, 'isactive' => 1,'quantity'=>0]; + // if (!empty($commonShippingElements)) { + // $whereIn[0] = 'wp_api_line_items_id'; + // $whereIn[1] = $commonShippingElements; + // } else { + // $whereIn = null; + // } + // $lastestActiveShippingInvoiceitemsData = $api_model->getData('invoiceitems', $where, $whereIn); + // $this->logger->info("Api SaveSalesDetails : lastest Active Invoice Item (shipping) Data Count " .count($lastestActiveShippingInvoiceitemsData)); - foreach ($shipping_lineitems_array as $sii) { - $shippingInvoiceItemsId = null; + // foreach ($shipping_lineitems_array as $sii) { + // $shippingInvoiceItemsId = null; - // Iterate through the array and find the 'book_img_id' based on 'wp_api_img_id' - if (!empty($lastestActiveShippingInvoiceitemsData)) { - foreach ($lastestActiveShippingInvoiceitemsData as $item) { - if ($item->wp_api_line_items_id == $sii->id) { - $shippingInvoiceItemsId = $item->invoice_child_id; - break; // Found the match, no need to continue looping - } - } - } + // // Iterate through the array and find the 'book_img_id' based on 'wp_api_img_id' + // if (!empty($lastestActiveShippingInvoiceitemsData)) { + // foreach ($lastestActiveShippingInvoiceitemsData as $item) { + // if ($item->wp_api_line_items_id == $sii->id) { + // $shippingInvoiceItemsId = $item->invoice_child_id; + // break; // Found the match, no need to continue looping + // } + // } + // } - $where = ['title' => (int)$sii->method_title]; - $get_book_data_based_on_title = $api_model->getData('books', $where); + // $where = ['title' => (int)$sii->method_title]; + // $get_book_data_based_on_title = $api_model->getData('books', $where); - $shipping_line_item_data[$j]['product'] = (!empty($get_book_data_based_on_title) ? $get_book_data_based_on_title[0]->book_id : NULL); - $shipping_line_item_data[$j]['quantity'] = 0; - $shipping_line_item_data[$j]['unit_price'] =0; - $shipping_line_item_data[$j]['tax'] =(float)$sii->total_tax; - $shipping_line_item_data[$j]['subtotal'] =(float)$sii->total; - $shipping_line_item_data[$j]['invoice_child_id'] = $shippingInvoiceItemsId; - $shipping_line_item_data[$j]['wp_api_line_items_id'] = $sii->id; - $shipping_line_item_data[$j]['invoice_id'] = $last_insert_invoice_id; - $this->logger->info("Api SaveSalesDetails : Invoiceitem Data For Shipping inx = $j "); - $j++; - } // line item loop closed - $extensive_correspondence .= (!empty($shipping_line_item_data) ? $api_model->insertAndUpdateChildDetails($shipping_line_item_data, 'invoiceitems', 'invoice_child_id') : ""); - $this->logger->info("Api SaveSalesDetails : ".$extensive_correspondence); - } - else{ - $this->logger->error("Api SaveSalesDetails : Err = Invoice items (Shipping) Data Not Found"); - } + // $shipping_line_item_data[$j]['product'] = (!empty($get_book_data_based_on_title) ? $get_book_data_based_on_title[0]->book_id : NULL); + // $shipping_line_item_data[$j]['quantity'] = 0; + // $shipping_line_item_data[$j]['unit_price'] =0; + // $shipping_line_item_data[$j]['tax'] =(float)$sii->total_tax; + // $shipping_line_item_data[$j]['subtotal'] =(float)$sii->total; + // $shipping_line_item_data[$j]['invoice_child_id'] = $shippingInvoiceItemsId; + // $shipping_line_item_data[$j]['wp_api_line_items_id'] = $sii->id; + // $shipping_line_item_data[$j]['invoice_id'] = $last_insert_invoice_id; + // $this->logger->info("Api SaveSalesDetails : Invoiceitem Data For Shipping inx = $j "); + // $j++; + // } // line item loop closed + // $extensive_correspondence .= (!empty($shipping_line_item_data) ? $api_model->insertAndUpdateChildDetails($shipping_line_item_data, 'invoiceitems', 'invoice_child_id') : ""); + // $this->logger->info("Api SaveSalesDetails : ".$extensive_correspondence); + // } + // else{ + // $this->logger->error("Api SaveSalesDetails : Err = Invoice items (Shipping) Data Not Found"); + // } $response = ['status' => 200, 'message' => $basic_message ,'indetails' => $extensive_correspondence]; } else { diff --git a/app/Views/approve_template.php b/app/Views/approve_template.php index 3d991351..7e2e3d47 100644 --- a/app/Views/approve_template.php +++ b/app/Views/approve_template.php @@ -52,7 +52,7 @@
- ARAVIND S
+ = $recipient_name; ?>
22/2, SriKrishna Apartments
1st Street, Subramania Nagar, Kodambakkam
CHENNAI 600024
Tamil Nadu
- +919445062922
- arasubu@gmail.com
+ +919445062922
+ arasubu@gmail.com
- ARAVIND S
+ = $recipient_name; ?>
22/2, SriKrishna Apartments
1st Street, Subramania Nagar, Kodambakkam
CHENNAI 600024
Tamil Nadu
- +919445062922
- arasubu@gmail.com
+ = $recipient_mobile;?>
+ = $recipient_mobile;?>