154 lines
8.3 KiB
PHP
154 lines
8.3 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders\EmailTemplates;
|
|
|
|
use App\Support\EmailTemplateShell as T;
|
|
|
|
final class AdminTemplates
|
|
{
|
|
/**
|
|
* @return array<int, array{scenario: string, name: string, subject: string, body: string}>
|
|
*/
|
|
public static function all(): array
|
|
{
|
|
return [
|
|
[
|
|
'scenario' => 'admin_payment_received',
|
|
'name' => '[Admin] Khách hàng thanh toán',
|
|
'subject' => '[ADMIN] Khách hàng thanh toán {{payment_type}} #{{reference}}',
|
|
'body' => T::title('Khách hàng vừa thanh toán')
|
|
. T::paragraph('Hệ thống <strong>{{company_name}}</strong> vừa ghi nhận một khoản thanh toán mới.')
|
|
. T::infoTable([
|
|
'Loại thanh toán' => '{{payment_type}}',
|
|
'Mã tham chiếu' => '#{{reference}}',
|
|
'Số hóa đơn' => '{{invoice_number}}',
|
|
'Khách hàng' => '{{customer_name}}',
|
|
'Email' => '{{customer_email}}',
|
|
'Số tiền vừa trả' => '{{amount_formatted}}',
|
|
'Còn thiếu' => '{{outstanding_formatted}}',
|
|
'Trạng thái' => '{{payment_status}}',
|
|
'Thời gian' => '{{created_at}}',
|
|
]),
|
|
],
|
|
[
|
|
'scenario' => 'admin_order_notification',
|
|
'name' => '[Admin] Đơn hàng mới',
|
|
'subject' => '[ADMIN] Đơn hàng mới #{{order_num}} — {{customer_email}}',
|
|
'body' => T::title('Đơn hàng mới')
|
|
. T::paragraph('Có đơn hàng mới vừa được đặt trên hệ thống <strong>{{company_name}}</strong>.')
|
|
. T::heading('Thông tin khách hàng')
|
|
. T::infoTable([
|
|
'Mã đơn hàng' => '#{{order_num}}',
|
|
'Thời gian' => '{{created_at}}',
|
|
'Khách hàng' => '{{customer_name}}',
|
|
'Email' => '{{customer_email}}',
|
|
], '{{client_ip_row}}')
|
|
. T::heading('Thông tin sản phẩm')
|
|
. T::infoTable([
|
|
'Sản phẩm' => '{{product_name}}',
|
|
'Loại' => '{{product_type}}',
|
|
'Chu kỳ thanh toán' => '{{billing_cycle}}',
|
|
'Tổng tiền' => '{{total_formatted}}',
|
|
])
|
|
. '{{vm_block}}',
|
|
],
|
|
[
|
|
'scenario' => 'admin_domain_order_new',
|
|
'name' => '[Admin] Đơn đăng ký tên miền mới',
|
|
'subject' => '[ADMIN] Đơn đăng ký tên miền mới - {{domain_name}}',
|
|
'body' => T::title('Đơn đăng ký tên miền mới')
|
|
. T::paragraph('Có đơn đăng ký tên miền mới trên hệ thống <strong>{{company_name}}</strong>, cần kiểm tra và đăng ký thủ công.')
|
|
. T::infoTable([
|
|
'Tên miền' => '{{domain_name}}',
|
|
'Mã đơn hàng' => '{{order_num}}',
|
|
'Tổng tiền' => '{{order_total}}',
|
|
'Khách hàng' => '{{customer_name}}',
|
|
'Email' => '{{customer_email}}',
|
|
'Thời gian' => '{{created_at}}',
|
|
])
|
|
. T::button('{{admin_url}}', 'XEM ĐƠN HÀNG'),
|
|
],
|
|
[
|
|
'scenario' => 'admin_hosting_account_created',
|
|
'name' => '[Admin] Hosting account mới',
|
|
'subject' => '[ADMIN] Hosting account mới — {{domain_name}}',
|
|
'body' => T::title('Hosting account mới')
|
|
. T::paragraph('Hệ thống <strong>{{company_name}}</strong> vừa khởi tạo hosting cho khách hàng.')
|
|
. T::heading('Thông tin dịch vụ')
|
|
. T::infoTable([
|
|
'Tên miền' => '{{domain_name}}',
|
|
'Gói hosting' => '{{hosting_plan}}',
|
|
'Khách hàng' => '{{customer_name}}',
|
|
'Email' => '{{customer_email}}',
|
|
'Thời gian' => '{{created_at}}',
|
|
])
|
|
. T::heading('Máy chủ Plesk')
|
|
. T::infoTable([
|
|
'Máy chủ' => '{{server_name}}',
|
|
'IP' => '{{server_ip}}',
|
|
'Client ID' => '{{plesk_client_id}}',
|
|
'Subscription ID' => '{{plesk_subscription_id}}',
|
|
])
|
|
. T::heading('Thông tin truy cập')
|
|
. T::infoTable(
|
|
['FTP Username' => '{{ftp_username}}'],
|
|
'{{ftp_password_row}}'
|
|
. T::row('Plesk Panel', '{{plesk_panel_url}}')
|
|
. T::row('Plesk Login', '{{plesk_login}}')
|
|
. '{{plesk_password_row}}',
|
|
),
|
|
],
|
|
[
|
|
'scenario' => 'admin_trial_registration_request',
|
|
'name' => '[Admin] Yêu cầu dùng thử VPS',
|
|
'subject' => '[ADMIN] Yêu cầu dùng thử Cloud VPS - {{customer_name}}',
|
|
'body' => T::title('Yêu cầu dùng thử Cloud VPS')
|
|
. T::paragraph('Có khách hàng vừa gửi yêu cầu dùng thử Cloud VPS trên hệ thống <strong>{{company_name}}</strong>.')
|
|
. T::heading('Thông tin khách hàng')
|
|
. T::infoTable([
|
|
'Khách hàng' => '{{customer_name}}',
|
|
'Email' => '{{customer_email}}',
|
|
'Số điện thoại' => '{{customer_phone}}',
|
|
'Thời gian' => '{{created_at}}',
|
|
])
|
|
. T::heading('Cấu hình yêu cầu')
|
|
. T::infoTable([
|
|
'CPU' => '{{cpu}}',
|
|
'RAM' => '{{ram}}',
|
|
'SSD' => '{{ssd}}',
|
|
'Hệ điều hành' => '{{os}}',
|
|
], '{{other_row}}'),
|
|
],
|
|
[
|
|
'scenario' => 'admin_manual_deposit_pending',
|
|
'name' => '[Admin] Yêu cầu nạp tiền chờ duyệt',
|
|
'subject' => '[ADMIN] Yêu cầu nạp tiền chờ duyệt - {{transaction_code}}',
|
|
'body' => T::title('Yêu cầu nạp tiền chờ duyệt')
|
|
. T::paragraph('Có yêu cầu nạp tiền thủ công mới trên hệ thống <strong>{{company_name}}</strong>, vui lòng kiểm tra chứng từ và duyệt trong trang quản trị.')
|
|
. T::infoTable([
|
|
'Mã giao dịch' => '{{transaction_code}}',
|
|
'Số tiền' => '<span style="color: #f16723;">{{amount_formatted}}</span>',
|
|
'Thời gian' => '{{created_at}}',
|
|
'Khách hàng' => '{{customer_name}}',
|
|
'Email' => '{{customer_email}}',
|
|
], '{{customer_phone_row}}{{client_ip_row}}{{proof_row}}'),
|
|
],
|
|
[
|
|
'scenario' => 'admin_ticket_notification',
|
|
'name' => '[Admin] Ticket hỗ trợ mới',
|
|
'subject' => '[ADMIN] Ticket mới #{{ticket_num}} — {{customer_email}}',
|
|
'body' => T::title('Ticket hỗ trợ mới')
|
|
. T::infoTable([
|
|
'Mã ticket' => '#{{ticket_num}}',
|
|
'Tiêu đề' => '{{subject_text}}',
|
|
'Phòng ban' => '{{room}}',
|
|
'Khách hàng' => '{{customer_name}}',
|
|
'Email' => '{{customer_email}}',
|
|
])
|
|
. T::note('{{description}}', 'Nội dung:')
|
|
. T::button('{{ticket_url}}', 'XEM TICKET'),
|
|
],
|
|
];
|
|
}
|
|
}
|