feat: [esign] 완료 알림톡 템플릿 2종 선택 및 버튼 URL 도메인 치환
- 발송 UI에 서명 요청 + 완료 알림톡 템플릿 각각 선택 가능 - 선택한 완료 템플릿명을 DB에 저장하여 서명 완료 시 사용 - 버튼 URL 도메인을 현재 환경의 app.url로 자동 치환 (개발/운영 환경 대응)
This commit is contained in:
@@ -827,11 +827,13 @@ public function send(Request $request, int $id): JsonResponse
|
||||
$sendMethod = $request->input('send_method', 'email');
|
||||
$smsFallback = $request->boolean('sms_fallback', true);
|
||||
$templateName = $request->input('template_name');
|
||||
$completionTemplateName = $request->input('completion_template_name');
|
||||
|
||||
$contract->update([
|
||||
'status' => 'pending',
|
||||
'send_method' => $sendMethod,
|
||||
'sms_fallback' => $smsFallback,
|
||||
'completion_template_name' => $completionTemplateName,
|
||||
'updated_by' => auth()->id(),
|
||||
]);
|
||||
|
||||
@@ -1090,6 +1092,20 @@ private function sendAlimtalk(
|
||||
}
|
||||
unset($btn);
|
||||
|
||||
// 버튼 URL 도메인을 현재 환경의 도메인으로 치환
|
||||
$appHost = parse_url(config('app.url'), PHP_URL_HOST);
|
||||
foreach ($buttons as &$btn) {
|
||||
foreach (['Url1', 'Url2'] as $urlKey) {
|
||||
if (! empty($btn[$urlKey])) {
|
||||
$parsed = parse_url($btn[$urlKey]);
|
||||
if (isset($parsed['host']) && $parsed['host'] !== $appHost) {
|
||||
$btn[$urlKey] = str_replace($parsed['host'], $appHost, $btn[$urlKey]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
unset($btn);
|
||||
|
||||
$receiverNum = preg_replace('/[^0-9]/', '', $signer->phone);
|
||||
|
||||
\Log::info('E-Sign 알림톡 발송 시도', [
|
||||
|
||||
Reference in New Issue
Block a user