const NotificationService = { async sendOrderNotification(order) { const customer = State.customer; const notifications = customer.preferences.notifications; const promises = []; // Line Notification if (notifications.line) { promises.push(this.sendLineNotification(order)); } // Discord Notification if (notifications.discord) { promises.push(this.sendDiscordNotification(order)); } // Telegram Notification if (notifications.telegram) { promises.push(this.sendTelegramNotification(order)); } // Email Notification if (notifications.email) { promises.push(this.sendEmailNotification(order)); } // Web Push Notification if (notifications.webPush) { promises.push(this.sendWebPushNotification(order)); } try { await Promise.all(promises); return true; } catch (error) { console.error('Notification error:', error); return false; } }, async sendLineNotification(order) { const message = this.formatOrderMessage(order); try { const response = await fetch('YOUR_LINE_NOTIFY_ENDPOINT', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ message: message }) }); return response.ok; } catch (error) { console.error('Line notification error:', error); return false; } }, async sendDiscordNotification(order) { const embed = { title: `🛍️ คำสั่งซื้อใหม่ #${order.id}`, color: 0x00ff00, fields: [ { name: '👤 ลูกค้า', value: order.customer.name }, { name: '📱 เบอร์โทร', value: order.customer.phone }, { name: '📦 รายการสินค้า', value: order.items.map(item => `- ${item.name} x${item.quantity}` ).join('\n') }, { name: '💰 ยอดรวม', value: Utils.formatPrice(order.total) } ], timestamp: new Date() }; try { const response = await fetch('YOUR_DISCORD_WEBHOOK', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ embeds: [embed] }) }); return response.ok; } catch (error) { console.error('Discord notification error:', error); return false; } }, formatOrderMessage(order) { return ` 🆕 คำสั่งซื้อใหม่ #${order.id} 👤 ลูกค้า: ${order.customer.name} 📱 เบอร์โทร: ${order.customer.phone} 📍 ที่อยู่: ${order.customer.address} 🛍️ รายการสินค้า: ${order.items.map(item => `- ${item.name} x${item.quantity} (${Utils.formatPrice(item.price * item.quantity)})`).join('\n')} 💰 ยอดรวม: ${Utils.formatPrice(order.total)} 💳 ชำระโดย: ${order.paymentMethod} `.trim(); } };