Merge pull request #3699 from devansh-webkul/coupon_code_api
Enhancement Completed API for coupons #3030
This commit is contained in:
commit
25d7ede2f9
|
|
@ -2,15 +2,15 @@
|
||||||
|
|
||||||
namespace Webkul\API\Http\Controllers\Shop;
|
namespace Webkul\API\Http\Controllers\Shop;
|
||||||
|
|
||||||
|
use Cart;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Support\Facades\Event;
|
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
|
use Illuminate\Support\Facades\Event;
|
||||||
use Webkul\Checkout\Repositories\CartRepository;
|
use Webkul\Checkout\Repositories\CartRepository;
|
||||||
use Webkul\Checkout\Repositories\CartItemRepository;
|
use Webkul\Checkout\Repositories\CartItemRepository;
|
||||||
use Webkul\API\Http\Resources\Checkout\Cart as CartResource;
|
|
||||||
use Cart;
|
|
||||||
use Webkul\Customer\Repositories\WishlistRepository;
|
use Webkul\Customer\Repositories\WishlistRepository;
|
||||||
|
use Webkul\API\Http\Resources\Checkout\Cart as CartResource;
|
||||||
|
|
||||||
class CartController extends Controller
|
class CartController extends Controller
|
||||||
{
|
{
|
||||||
|
|
@ -70,7 +70,7 @@ class CartController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get customer cart
|
* Get customer cart.
|
||||||
*
|
*
|
||||||
* @return \Illuminate\Http\JsonResponse
|
* @return \Illuminate\Http\JsonResponse
|
||||||
*/
|
*/
|
||||||
|
|
@ -242,4 +242,55 @@ class CartController extends Controller
|
||||||
'data' => $cart ? new CartResource($cart) : null,
|
'data' => $cart ? new CartResource($cart) : null,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Apply coupon code.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\JsonResponse
|
||||||
|
*/
|
||||||
|
public function applyCoupon()
|
||||||
|
{
|
||||||
|
$couponCode = request()->get('code');
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (strlen($couponCode)) {
|
||||||
|
Cart::setCouponCode($couponCode)->collectTotals();
|
||||||
|
|
||||||
|
if (Cart::getCart()->coupon_code == $couponCode) {
|
||||||
|
return response()->json([
|
||||||
|
'success' => true,
|
||||||
|
'message' => trans('shop::app.checkout.total.success-coupon'),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return response()->json([
|
||||||
|
'success' => false,
|
||||||
|
'message' => trans('shop::app.checkout.total.invalid-coupon'),
|
||||||
|
]);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
report($e);
|
||||||
|
|
||||||
|
return response()->json([
|
||||||
|
'success' => false,
|
||||||
|
'message' => trans('shop::app.checkout.total.coupon-apply-issue'),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove coupon code.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\JsonResponse
|
||||||
|
*/
|
||||||
|
public function removeCoupon()
|
||||||
|
{
|
||||||
|
Cart::removeCouponCode()->collectTotals();
|
||||||
|
|
||||||
|
return response()->json([
|
||||||
|
'success' => true,
|
||||||
|
'message' => trans('shop::app.checkout.total.remove-coupon'),
|
||||||
|
]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -246,7 +246,6 @@ Route::group(['prefix' => 'api'], function ($router) {
|
||||||
|
|
||||||
Route::get('wishlist/add/{id}', 'WishlistController@create');
|
Route::get('wishlist/add/{id}', 'WishlistController@create');
|
||||||
|
|
||||||
|
|
||||||
//Checkout routes
|
//Checkout routes
|
||||||
Route::group(['prefix' => 'checkout'], function ($router) {
|
Route::group(['prefix' => 'checkout'], function ($router) {
|
||||||
Route::post('cart/add/{id}', 'CartController@store');
|
Route::post('cart/add/{id}', 'CartController@store');
|
||||||
|
|
@ -259,6 +258,10 @@ Route::group(['prefix' => 'api'], function ($router) {
|
||||||
|
|
||||||
Route::get('cart/remove-item/{id}', 'CartController@destroyItem');
|
Route::get('cart/remove-item/{id}', 'CartController@destroyItem');
|
||||||
|
|
||||||
|
Route::post('cart/coupon', 'CartController@applyCoupon');
|
||||||
|
|
||||||
|
Route::delete('cart/coupon', 'CartController@removeCoupon');
|
||||||
|
|
||||||
Route::get('cart/move-to-wishlist/{id}', 'CartController@moveToWishlist');
|
Route::get('cart/move-to-wishlist/{id}', 'CartController@moveToWishlist');
|
||||||
|
|
||||||
Route::post('save-address', 'CheckoutController@saveAddress');
|
Route::post('save-address', 'CheckoutController@saveAddress');
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue