cart cpn code

This commit is contained in:
merdan 2023-02-13 14:07:49 +05:00
parent 00aad2aa91
commit 20a7fc6ea6
1 changed files with 31 additions and 15 deletions

View File

@ -6,6 +6,7 @@ use Illuminate\Http\Request;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Log;
use Sarga\API\Http\Resources\Checkout\CartResource;
use Webkul\CartRule\Repositories\CartRuleCouponRepository;
use Webkul\Checkout\Facades\Cart;
use Webkul\Checkout\Repositories\CartItemRepository;
use Webkul\Customer\Repositories\WishlistRepository;
@ -187,32 +188,47 @@ class Carts extends CartController
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function applyCoupon(Request $request)
public function applyKupon(CartRuleCouponRepository $cartRuleCouponRepository)
{
$couponCode = $request->code;
$couponCode = request()->get('code');
try {
if (strlen($couponCode)) {
Cart::setCouponCode($couponCode)->collectTotals();
$coupon = $cartRuleCouponRepository->findOneByField('code', $couponCode);
if (Cart::getCart()->coupon_code == $couponCode) {
return response([
'message' => __('rest-api::app.checkout.cart.coupon.success'),
'cart' => new CartResource(Cart::getCart())
]);
if ($coupon->cart_rule->status) {
if (Cart::getCart()->coupon_code == $couponCode) {
return response()->json([
'success' => false,
'message' => trans('shop::app.checkout.total.coupon-already-applied'),
]);
}
Cart::setCouponCode($couponCode)->collectTotals();
$cart = Cart::getCart();
if ($cart->coupon_code == $couponCode) {
return response()->json([
'success' => true,
'data' => new \TPS\API\Http\Resources\Checkout\CartResource($cart),
'message' => trans('shop::app.checkout.total.success-coupon'),
]);
}
}
}
return response([
'message' => __('rest-api::app.checkout.cart.coupon.invalid'),
], 400);
return response()->json([
'success' => false,
'message' => trans('shop::app.checkout.total.invalid-coupon'),
]);
} catch (\Exception $e) {
report($e);
return response([
'message' => __('rest-api::app.checkout.cart.coupon.apply-issue'),
], 400);
return response()->json([
'success' => false,
'message' => trans('shop::app.checkout.total.coupon-apply-issue'),
]);
}
}