Deploy: 2026-05-24 01:22:55
This commit is contained in:
@@ -639,10 +639,8 @@ class WhatsAppController extends BaseController
|
||||
$mimeType = trim(explode(';', $mimeType)[0]);
|
||||
}
|
||||
|
||||
// Instruct Gemini to identify payment slips and output a specific command format if found
|
||||
$imageSystemPrompt = $systemPrompt . "\n\nإرشادات إضافية للصور والوصولات:\nإذا كانت الصورة المرفقة عبارة عن وصل دفع أو إيصال تحويل مالي (مثل زين كاش أو إيداع بنكي)، يرجى استخراج البيانات التالية بدقة بالغة وكتابتها في بداية ردك بصيغة JSON محاطة بـ [PAYMENT_RECEIPT: { ... }] كالتالي:\n[PAYMENT_RECEIPT: {\"transaction_id\": \"رقم المعاملة أو الحوالة هنا\", \"amount\": \"المبلغ المستخرج كأرقام فقط\", \"method\": \"طريقة الدفع مثل Zain Cash أو Bank\"}]\nثم أكمل ردك الطبيعي بالترحيب بالسائق/العميل وإخباره بأنه جاري التحقق من عملية الدفع الآن.";
|
||||
|
||||
$replyText = \App\Services\GeminiService::generateResponseFromImage($apiKey, $imageSystemPrompt, $msgData['image'], $mimeType);
|
||||
// Prevent blind image processing outside of interactive flows to save OCR/Vision costs.
|
||||
$replyText = "عذراً كابتن، يرجى إرسال الصور والمستندات فقط عندما يطلب منك النظام ذلك (مثلاً أثناء التسجيل عن طريق طباعة 'تسجيل' أو فحص الإيصالات بطباعة 'دفع').";
|
||||
} else {
|
||||
$replyText = \App\Services\GeminiService::generateResponse($apiKey, $systemPrompt, $incomingText);
|
||||
}
|
||||
@@ -657,7 +655,7 @@ class WhatsAppController extends BaseController
|
||||
$replyText = trim(str_replace($matches[0], '', $replyText));
|
||||
|
||||
// Call the payment verification API (passing company_id)
|
||||
$verificationResult = $this->verifyPaymentSlip($session['company_id'], $msgData['phone'], $jsonStr);
|
||||
$verificationResult = self::verifyPaymentSlipStatic($session['company_id'], $msgData['phone'], $jsonStr);
|
||||
if ($verificationResult) {
|
||||
$replyText .= "\n\n" . $verificationResult;
|
||||
}
|
||||
@@ -745,7 +743,7 @@ class WhatsAppController extends BaseController
|
||||
/**
|
||||
* Call external API to verify payment slip
|
||||
*/
|
||||
private function verifyPaymentSlip(int $companyId, string $phone, string $jsonStr): ?string
|
||||
public static function verifyPaymentSlipStatic(int $companyId, string $phone, string $jsonStr): ?string
|
||||
{
|
||||
try {
|
||||
$data = json_decode($jsonStr, true);
|
||||
|
||||
Reference in New Issue
Block a user