diff --git a/app/Http/Controllers/APIs/Customer_API/StripeWebhookController.php b/app/Http/Controllers/APIs/Customer_API/StripeWebhookController.php index b69d0db..7609adf 100644 --- a/app/Http/Controllers/APIs/Customer_API/StripeWebhookController.php +++ b/app/Http/Controllers/APIs/Customer_API/StripeWebhookController.php @@ -85,9 +85,11 @@ class StripeWebhookController extends Controller $isReferralSubscription = $metadata->is_referral_subscription; + $isCustomReferralCodeApplied = $metadata->isCustomReferralCodeApplied; + $referralUserId = $metadata->referral_user_id; - if ($isReferralSubscription == 1) { + if ($isReferralSubscription == 1 && $isCustomReferralCodeApplied == 0) { //who has refer the Subscription to Current user Log::info("Referral User Subscription Updating Function Starts"); @@ -180,7 +182,8 @@ class StripeWebhookController extends Controller ]); $id = Subscriptions::updateOrCreate( - ['iam_principal_xid' => $userId, 'subscription_product_xid' => $subscriptionProductId], + ['iam_principal_xid' => $userId, + 'subscription_product_xid' => $subscriptionProductId], [ 'subscription_id' => $subscriptionData->subscription, 'amount' => $amountSubtotalDollars, @@ -197,7 +200,7 @@ class StripeWebhookController extends Controller ] ); - if ($isReferralSubscription == 1) { + if ($isReferralSubscription == 1 && $isCustomReferralCodeApplied == 1) { Log::info("new User Subscription Updating Function Starts"); @@ -243,6 +246,7 @@ class StripeWebhookController extends Controller 'iam_principal_xid' => $referralUserId, //Referral User Xid 'referred_user_xid' => $userId, // new user Id 'referred_date_time' => Carbon::now(), + 'isCustomReferralCodeApplied' =>$isCustomReferralCodeApplied ]); Log::info("Created entry in Referral User table"); @@ -256,9 +260,6 @@ class StripeWebhookController extends Controller onesignalhelper::sendNotificationApi($getUserData->one_signal_player_id, $title, $message, $content_type, $image = null, $id = null); - - - Log::info('Subscription Taken Successfully by '); DB::commit(); } catch (\Exception $e) { diff --git a/app/Http/Controllers/APIs/Customer_API/SubscriptionController.php b/app/Http/Controllers/APIs/Customer_API/SubscriptionController.php index 261b5b8..ff54f69 100644 --- a/app/Http/Controllers/APIs/Customer_API/SubscriptionController.php +++ b/app/Http/Controllers/APIs/Customer_API/SubscriptionController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers\APIs\Customer_API; use App\Http\Controllers\Controller; +use App\Models\CustomReferralCode; use App\Models\Faq; use App\Models\IamPrincipal; use App\Models\SubscriptionProducts; @@ -28,12 +29,12 @@ class SubscriptionController extends Controller { try { $token = readHeaderToken(); - + $getCustomToken = CustomReferralCode::where('is_active',1)->first(); // $token = true; // dd($token, Session::get('vendorToken')); if ($token) { - // $user_id = 54; + // $user_id = 104; $user_id = $token['sub']; $dateTime = now(); @@ -56,7 +57,7 @@ class SubscriptionController extends Controller $productList = SubscriptionProducts::where('is_active', 1)->first(); $faqs = Faq::where('faq_category_id',3)->where('is_active','1')->get(); //getting only subscription faqS - return view('Admin.pages.subscriptions.list-of-products', compact('productList', 'userData','faqs')); + return view('Admin.pages.subscriptions.list-of-products', compact('productList', 'userData','faqs','getCustomToken')); } else { return jsonResponseWithErrorMessageApi(__('auth.user_deleted'), 409); } @@ -242,9 +243,18 @@ class SubscriptionController extends Controller public function subscriptionToPlan(Request $request) { - // dd($request->all()); + dd($request->all()); try { + $isCustomReferralCodeApplied = 0; + $customReferralCode = CustomReferralCode::where('is_active',1)->first(); + + if($customReferralCode && $customReferralCode->referral_code && + $customReferralCode->referral_code == $request->referral_code_to_check){ + $isCustomReferralCodeApplied = 1; + }else{ + $isCustomReferralCodeApplied = 0; + } $isReferralSubscription = 0; $referralUserId = $request->referral_user_id; if ($referralUserId && $referralUserId != null) { @@ -288,6 +298,7 @@ class SubscriptionController extends Controller 'is_referral_subscription' => $isReferralSubscription, 'referral_user_id' => $referralUserId, + 'isCustomReferralCodeApplied'=> $isCustomReferralCodeApplied ], 'success_url' => route('thankyou'), @@ -409,10 +420,13 @@ class SubscriptionController extends Controller $referralCode = $request->input('referral_code'); $currentUserId = $request->input('current_iam_principal_xid'); $code = IamPrincipal::where('referral_code', $referralCode)->where('id', '!=', $currentUserId)->where('principal_type_xid', 3)->first(); - - if ($code) { - return response()->json(['success' => true, 'message' => 'Successfully applied referral code!', 'referralUserId' => $code->id]); - } else { + $customCode = CustomReferralCode::where('is_active',1)->where('referral_code',$referralCode)->first(); + if ($code ) { + return response()->json(['success' => true, 'message' => 'Successfully applied referral code!', 'referralUserId' => $code->id ,'referral_code'=>$referralCode]); + } else if( $customCode) { + return response()->json(['success' => true, 'message' => 'Successfully applied referral code!', 'referralUserId' => $customCode->id ,'referral_code'=>$referralCode]); + + }else{ return response()->json(['success' => false, 'message' => 'Invalid referral code.']); } diff --git a/app/Http/Controllers/Admin/DashboardController.php b/app/Http/Controllers/Admin/DashboardController.php index 2d1edf3..0bf4bf0 100644 --- a/app/Http/Controllers/Admin/DashboardController.php +++ b/app/Http/Controllers/Admin/DashboardController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; +use App\Models\CustomReferralCode; use Illuminate\Http\Request; use App\Models\IamPrincipal; use Illuminate\Support\Facades\DB; @@ -32,6 +33,7 @@ class DashboardController extends Controller ->orderBy(DB::raw("DATE(created_at)")) ->pluck('count', 'date') ->toArray(); + $customReferralCode = CustomReferralCode::where('is_active',1)->first(); $start_date = now()->subDays(7)->startOfDay(); $end_date = now()->endOfDay(); @@ -148,6 +150,7 @@ class DashboardController extends Controller return view('Admin.dashboard', compact( + 'customReferralCode', 'customerCount', 'restaurantCount', 'dataMonthlyWithType3', @@ -163,11 +166,45 @@ class DashboardController extends Controller 'formattedDefaultData', 'quarterlyData', 'yearlyData' - )); + ) + ); } + /* + Created By : Hritik + Created at : 02 Aug 2024 + Use : To Store or Update Custom Referral Code + */ + + + + public function createOrUpdateReferralCode(Request $request) + { + try { + + DB::beginTransaction(); + if($request->id){ + CustomReferralCode::updateOrCreate(['id', $request->id], [ + 'referral_code' => $request->referral_code, + ]); + }else{ + CustomReferralCode::updateOrCreate([ + 'referral_code' => $request->referral_code, + ]); + } + DB::commit(); + return response()->json(['status_code' => 200]); + + + } catch (\Exception $e) { + DB::rollBack(); + \Log::error('Storing Referral Code function failed: ' . $e->getMessage()); + return response()->json(['error' => 'Something went wrong while storing Data.', 'status_code' => 500], 500); + } + } + /* Created By : Sayali Parab Created at : 08 July 2024 diff --git a/app/Models/CustomReferralCode.php b/app/Models/CustomReferralCode.php new file mode 100644 index 0000000..ec3f958 --- /dev/null +++ b/app/Models/CustomReferralCode.php @@ -0,0 +1,14 @@ +Dashboard + +
+ +
+
+
+ @if(!$customReferralCode ) +
+ {{ csrf_field() }} +
Create Custom Referral Code:- + +
+ + +
+ +
+ +
+ @endif + @if($customReferralCode && $customReferralCode->referral_code) +
+ {{ csrf_field() }} +
My Custom Referral Code:- + +
+ + + +
+ + + +
+ +
+ @endif +
+
+
+ +
@@ -143,21 +189,24 @@ {{ $transaction['subscription']['first_name'] ?? 'Deleted' }} {{ $transaction['subscription']['last_name'] ?? 'User' }} - {{ $transaction['subscription']['id'] ?? 'Deleted User' }} - $ {{ $transaction['amount'] ?? 'Deleted User'}} - {{ $transaction['status'] ?? 'Deleted User'}} + + {{ $transaction['subscription']['id'] ?? 'Deleted User' }} + $ {{ $transaction['amount'] ?? 'Deleted User' }} + + {{ $transaction['status'] ?? 'Deleted User' }} + View + data-subscription-status="{{ $transaction['status'] ?? 'Deleted User' }}" + data-start-date="{{ $transaction['current_period_start'] ?? 'Deleted User' }}" + data-end-date="{{ $transaction['current_period_end'] ?? 'Deleted User' }}" + data-next-date="{{ $transaction['next_payment_date'] ?? 'Deleted User' }}">View @endforeach @@ -223,6 +272,75 @@ @endsection @section('section_script') +