API Changes for subscription.
This commit is contained in:
parent
3dc33d7acb
commit
1d371b6053
@ -556,7 +556,7 @@ class ApiIntegration extends ResourceController
|
||||
$this->logger->info("Api SaveCustomerDetails : lastest Active billing Data Count " .count($lastestActiveBillingAdressData));
|
||||
foreach ($billing as $bill) {
|
||||
$billingAddressId = null;
|
||||
if ($bill->first_name != '') {
|
||||
if ($bill->first_name !== '') {
|
||||
if (!empty($lastestActiveBillingAdressData)) {
|
||||
foreach ($lastestActiveBillingAdressData as $item) {
|
||||
if ($item->address_1 == $bill->address_1) {
|
||||
@ -700,7 +700,7 @@ class ApiIntegration extends ResourceController
|
||||
}
|
||||
$countAll = $api_model->countAll('invoice', $where);
|
||||
$this->logger->info(($countAll) ? "Api SaveSalesDetails : in wordpress product ref ID = ".$wordpress_order_id." is available on Invoice table and its PrimaryKey = ".$invoice_id : "Api SaveSalesDetails : in wordpress order ref ID = ".$wordpress_order_id." Not available on Invoice table");
|
||||
$billing_addr = "";$shipping_addr = "";
|
||||
$billing_addr = NULL;$shipping_addr = NULL;
|
||||
$lineitems_array = [];
|
||||
$billing_array = []; $shipping_array = [];
|
||||
$lineitems_subtotal = 0; $lineitems_tax = 0;
|
||||
@ -713,12 +713,16 @@ class ApiIntegration extends ResourceController
|
||||
|
||||
if (count($billing_array) > 0) {
|
||||
foreach ($billing_array as $bill) {
|
||||
$billing_addr = $bill->address_1 .",". $bill->address_2 . "," . $bill->city . "," . $bill->state . "," . $bill->country . "." . $bill->postcode;
|
||||
if($bill->first_name != ""){
|
||||
$billing_addr = "<span>".$bill->address_1 .",". $bill->address_2 ."<br> </span><span>".$bill->city." ".$bill->postcode."<br></span><span>".$bill->state." ".$bill->country.".<br></span>";
|
||||
}
|
||||
}
|
||||
}
|
||||
if (count($shipping_array) > 0) {
|
||||
foreach ($shipping_array as $ship) {
|
||||
$shipping_addr = $ship->address_1 .",". $ship->address_2 . "," . $ship->city . "," . $ship->state . "," . $ship->country . "." . $ship->postcode;
|
||||
if($ship->first_name != ""){
|
||||
$shipping_addr = "<span>".$ship->address_1 .",". $ship->address_2 ."<br> </span><span>".$ship->city." ".$ship->postcode."<br></span><span>".$ship->state." ".$ship->country.".<br></span>";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -848,28 +852,68 @@ 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);
|
||||
|
||||
$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;
|
||||
$skuId = (string)$ii->sku;
|
||||
|
||||
// $get_book_category = $api_model->getData('book_categories', ['book_id' => (int)$ii->product_id,'isactive'=>1]);
|
||||
$get_book_category = $api_model->getBookCategories($ii->product_id);
|
||||
// $result_book_category = array_filter($get_book_category, function ($element) {
|
||||
// return $element['category_name'] === 'Membership' && $element['sku'] === $skuId;
|
||||
// });
|
||||
$result_book_category = array_filter($get_book_category, function ($element) use ($skuId) {
|
||||
return $element['category_name'] === 'Membership' && $element['sku'] === $skuId;
|
||||
});
|
||||
$fromDate = NULL;
|
||||
$toDate = NULL;
|
||||
for ($x = 0; $x < count($result_book_category); $x++) {
|
||||
$duration = $result_book_category[$x]['duration'] * 12;
|
||||
$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{
|
||||
$scheme_id = $result_book_category[$x]['category_id'];
|
||||
$dataToCheck = ['scheme_id'=>$scheme_id,'customer_id' => $records['customer_id'],'invoice_id' => $invoice_id ];
|
||||
$existing_subscription = $api_model->getData('subscription', $dataToCheck);
|
||||
if (count($existing_subscription) > 0) {
|
||||
$this->logger->info("Api SaveSalesDetails : Subscription ".count($existing_subscription)." data already exists = ".json_encode($dataToCheck));
|
||||
} else {
|
||||
$subscription_data[$x]['scheme_id'] = $result_book_category[$x]['category_id'];
|
||||
$subscription_data[$x]['customer_id'] = $records['customer_id'];
|
||||
$subscription_data[$x]['invoice_id'] = $invoice_id;
|
||||
$subscription_data[$x]['from_subscription'] = $fromDate;
|
||||
$subscription_data[$x]['to_subscription'] = $toDate;
|
||||
$subscription_data[$x]['mode'] = $result_book_category[$x]['category_name'];
|
||||
$subscription_data[$x]['business_id']=1;
|
||||
$this->logger->info("Api SaveSalesDetails : Subscription Data inx = $x Request data = ".json_encode($subscription_data));
|
||||
}
|
||||
}
|
||||
// echo $fromDate;
|
||||
// echo $toDate;
|
||||
// print_r($subscription_data);die;
|
||||
// print_r($get_book_category);
|
||||
// print_r($result_book_category);
|
||||
// print_r($subscription_data);
|
||||
// die;
|
||||
// $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{ sku
|
||||
$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;
|
||||
@ -878,10 +922,11 @@ class ApiIntegration extends ResourceController
|
||||
$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;
|
||||
$line_item_data[$i]['from_subscription'] = $fromDate;
|
||||
$line_item_data[$i]['to_subscription'] = $toDate;
|
||||
$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') : "");
|
||||
|
||||
@ -88,4 +88,14 @@ class ApiIntegrationModel extends Model
|
||||
$this->db->table($table_name)->where($where)->whereIn($whereIn[0],$whereIn[1])->update($dataToUpdate);
|
||||
}
|
||||
|
||||
public function getBookCategories($product_id){
|
||||
return $this->db->table('book_categories as BC')
|
||||
->join('category as C', 'C.id = BC.category_id', 'left')
|
||||
->join('books as B', 'B.book_id = BC.book_id', 'left')
|
||||
->select('BC.id,BC.book_id,BC.category_id,C.wp_api_category_id,C.name as category_name,B.title as book_name,B.sku,B.duration')
|
||||
->where(['BC.isactive'=>1,'B.wp_api_product_id'=>$product_id])
|
||||
->get()
|
||||
->getResultArray();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user