Closed aliqasemzadeh closed 2 years ago
سلام وقت شما هم بخیر این همون چیزی بود که تعداد query ها رو زیاد کرده بود که من تعدادش رو کاهش دادم و قرار شد شما تست کنید که حالا تست کردید و معلوم شد که تعداد query ها رو نمیشه اینقدر کم کرد مگه این که به عنوان مثال از قالب این پایگاه داده ی رابطه ای خارج بشیم و مثلا از redis کمک بگیریم
سلام الان شماره تراکنش دقیقا از کجا می آید؟
(AI) auto-increment
خب باری هر درگاه باید متفاوت عمل بشه حداقل زمانی که به سمت خودش ارسال می شود
منظورتون رو متوجه نشدم
برای بانک ملت orderId باید یکتا باشه و غیر تکراری حالا فقط کافیه این عدد time() باشه هیچ وقت تکراری نمیشه
بله همین باعث میشه یه query به تعداد query ها اضافه بشه و همینطور ممکن هست بانک های دیگه هم همچین مشکلی داشته باشند
توی نسخه قبلی چطوری این قسمت یک گوئری بود؟ ما در زمان verify نیازه به orderId داریم؟
نسخه ی قبل:
private function generateTimeID()
{
$generateUid = function () {
return substr(str_pad(str_replace('.', '', microtime(true)), 12, 0), 0, 12);
};
$uid = $generateUid();
while ($this->getTable()->where('id', $uid)->first()) {
$uid = $generateUid();
}
return $uid;
}
اگر از این استفاده کنیم چی میشه؟
😐😐 تعداد query ها زیاد میشه!!
@hamed-ehtesham سلام
خب بهتره برگردیم به حالت قبلی تا بتوانیم مشکلمون را رفع کنیم من این روزها دوباره فرصت کردم و دارم روی سیستم خودم کار می کنم که البته از سیستم شما هم استفاده می شود قطعا تست می کنم.
سلام بله به خاطر همین نسخه ی 2 رو روی alpha گزاشتیم که مشکلات در بیاد (بر میگردونیم به حالت قبل)
سلام وقت بخیر
پس مدت ها فرصت شد که از پکیج شما استفاده کنم و شروع کردم به تست پکیج
یک ایرادی که در پکیج وجود دارد این هست که من وقتی از پکیج شما دارم استفاده می کنم برای بانک ملت مرتبا خطای تراکنش تکراری دریافت می کند چون روی سیستم های دیگر از درگاه استفاده شده بوده است الان این مشکل هست به نظرم شماره تراکنش time() . rand(0,10) باشه مشکل را رفع می کند