This commit is contained in:
2025-12-17 11:59:10 +03:30
parent 28011286f9
commit 26220dbb8b
2 changed files with 12 additions and 8 deletions
+8 -5
View File
@@ -21,6 +21,7 @@ import { CouponService } from 'src/modules/coupons/providers/coupon.service';
import { OrderCouponDetail } from 'src/modules/orders/interface/order-status';
import { CouponType } from 'src/modules/coupons/interface/coupon';
import { UserWallet } from 'src/modules/users/entities/user-wallet.entity';
import { PaymentMethodEnum } from 'src/modules/payments/interface/payment';
@Injectable()
export class CartService {
@@ -221,8 +222,10 @@ export class CartService {
): Promise<Cart> {
const cart = await this.findOneOrFail(userId, restaurantId);
await this.getEnabledPaymentMethodOrFail(restaurantId, setPaymentMethodDto.paymentMethodId);
await this.assertWalletHasEnoughBalance(userId, restaurantId,cart.total);
const paymentMethod = await this.getEnabledPaymentMethodOrFail(restaurantId, setPaymentMethodDto.paymentMethodId);
if (paymentMethod.method === PaymentMethodEnum.Wallet) {
await this.assertWalletHasEnoughBalance(userId, restaurantId, cart.total);
}
cart.paymentMethodId = setPaymentMethodDto.paymentMethodId;
return this.recalculateAndSaveCart(cart);
}
@@ -236,16 +239,16 @@ export class CartService {
user: { id: userId },
restaurant: { id: restaurantId },
});
console.log('wallet', wallet);
if (!wallet) {
throw new BadRequestException('User wallet not found');
}
if (wallet.wallet < amount) {
throw new BadRequestException('User wallet is not enough');
}
}
/**
* Set delivery method for cart
*/