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
*/
+4 -3
View File
@@ -8,8 +8,9 @@ export class CacheService implements OnModuleInit {
this.logger.log('Pinging Redis to check connection...');
try {
// 3. Try to set and get a test key
await this.cacheManager.set('ping', 'pong', 10); // 10-second TTL
const result = await this.cacheManager.get('ping');
// Use the wrapper to keep TTL units consistent (seconds -> ms)
await this.set('ping', 'pong', 10); // 10-second TTL
const result = await this.get('ping');
if (result === 'pong') {
this.logger.log('✅ Redis connection successful (set/get test passed).');
@@ -24,7 +25,7 @@ export class CacheService implements OnModuleInit {
}
}
constructor(@Inject(CACHE_MANAGER) private cacheManager: Cache) {}
constructor(@Inject(CACHE_MANAGER) private cacheManager: Cache) { }
async get<T>(key: string) {
return await this.cacheManager.get<T>(key);