Update BotService.php
This commit is contained in:
@@ -762,7 +762,8 @@ class BotService {
|
|||||||
|
|
||||||
public function releaseHold($phoneNumber) {
|
public function releaseHold($phoneNumber) {
|
||||||
try {
|
try {
|
||||||
$this->db->update('users', ['on_hold' => 0, 'bot_paused_until' => null, 'advisor_requested' => 0], 'phone_number = :phone', ['phone' => $phoneNumber]);
|
// Clear hold/advisor flags and also ensure in_service is cleared for consistency
|
||||||
|
$this->db->update('users', ['on_hold' => 0, 'bot_paused_until' => null, 'advisor_requested' => 0, 'in_service' => 0, 'in_service_by' => null, 'in_service_at' => null], 'phone_number = :phone', ['phone' => $phoneNumber]);
|
||||||
$this->whatsappService->sendTextMessage($phoneNumber, "🔔 Su conversación ha sido retomada por el equipo. Puede usar *MENU* para continuar.");
|
$this->whatsappService->sendTextMessage($phoneNumber, "🔔 Su conversación ha sido retomada por el equipo. Puede usar *MENU* para continuar.");
|
||||||
if (function_exists('writeLog')) writeLog('INFO', "Advisor released hold for $phoneNumber");
|
if (function_exists('writeLog')) writeLog('INFO', "Advisor released hold for $phoneNumber");
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
@@ -851,6 +852,13 @@ class BotService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (function_exists('writeLog')) writeLog('INFO', "Operator {$operatorId} finished attending for {$phoneNumber}, survey={$template}");
|
if (function_exists('writeLog')) writeLog('INFO', "Operator {$operatorId} finished attending for {$phoneNumber}, survey={$template}");
|
||||||
|
|
||||||
|
// Ensure consistent behavior: release hold / clear flags when finishing attend
|
||||||
|
try {
|
||||||
|
$this->releaseHold($phoneNumber);
|
||||||
|
} catch (Exception $e) {
|
||||||
|
error_log('finishAttendConversation: releaseHold failed: ' . $e->getMessage());
|
||||||
|
}
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
error_log('finishAttendConversation failed: ' . $e->getMessage());
|
error_log('finishAttendConversation failed: ' . $e->getMessage());
|
||||||
throw $e;
|
throw $e;
|
||||||
|
|||||||
Reference in New Issue
Block a user