This commit is contained in:
baodev0
2026-09-23 15:17:18 +07:00
parent cd38c5d6d0
commit 82a71244ca
107 changed files with 3332 additions and 3306 deletions
@@ -11,6 +11,7 @@ use App\Services\Email\EmailTemplateRenderer;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Mail;
use Illuminate\Validation\Rule;
@@ -105,6 +106,7 @@ class EmailTemplateController extends Controller
'invoice_template_id' => 'nullable|integer|exists:template,id',
'subject' => 'nullable|string|max:255',
'message' => 'nullable|string',
'builder_data' => 'nullable|array',
'status' => 'boolean',
'mail_config' => 'nullable|array',
'mail_config.from_email' => 'nullable|email',
@@ -126,6 +128,7 @@ class EmailTemplateController extends Controller
'invoice_template_id' => $data['invoice_template_id'] ?? null,
'subject' => $data['subject'] ?? null,
'message' => $data['message'] ?? null,
'builder_data' => $data['builder_data'] ?? null,
'status' => $data['status'] ?? 1,
'metadata' => isset($data['mail_config']) ? ['mail' => $data['mail_config']] : null,
]));
@@ -148,6 +151,7 @@ class EmailTemplateController extends Controller
'invoice_template_id' => 'sometimes|nullable|integer|exists:template,id',
'subject' => 'sometimes|nullable|string|max:255',
'message' => 'sometimes|nullable|string',
'builder_data' => 'sometimes|nullable|array',
'status' => 'sometimes|boolean',
'mail_config' => 'sometimes|nullable|array',
'mail_config.from_email' => 'nullable|email',
@@ -295,6 +299,12 @@ class EmailTemplateController extends Controller
} catch (InvalidTemplateVariableException $e) {
return response()->json(['error' => true, 'message' => $e->getMessage()], 422);
} catch (\Throwable $e) {
Log::error('Gửi email test thất bại', [
'template_id' => $id,
'to' => $data['to'],
'exception' => $e,
]);
return response()->json(['error' => true, 'message' => 'Không thể gửi email: ' . $e->getMessage()], 500);
}
@@ -349,6 +359,7 @@ class EmailTemplateController extends Controller
'invoice_template_name' => $t->invoiceTemplate?->name,
'subject' => $t->subject,
'message' => $t->message,
'builder_data' => $t->builder_data,
'status' => $t->status,
'variables' => array_values($t->variables()),
'mail_config' => $t->mailConfig(),