سلام
میشه Id تیکت و Id کارشناس را در سشن قرار داد موقعی که کارشناس تیکت را باز میکنه و از اون استفاده کرد. یا توی جدول هایی که طراحی کردی فیلدی در نظر گرفت. کارهای متفاوتی میشه انجام داد.
تو جدول اگه فیلدی اضافه کنم اگه یه نفر مرورگر رو ببنده مشکل بر میخوره
حالا راحت ترین راه حل رو بگین
رکورد جدول رو به مدت 5 دقیقه لاک کنید و بعدش از حالت لاک خارج کنید.
یه فیلد به جدول اظافه کنید اگه 1 بود یعنی لاک شده و اگه 0 بود یعنی بازه. به هر کارشناس 5 دقیقه (یا بیشتر) فرصت بدید تا جواب بده و بعد از اون (یا بعد از ثبت جواب) رکورد جدول رو به حالت قبل برگردونید.
خب بازم شما فک کن کارشناسی که داره پاسخ میده به هر دلیلی صفحش رفرش بشه بعدش باید ۵ دقیقه صبر کنه تا بتونه خودش دوباره جواب بده یا هر زمانی که ما در نظر گرفتیم
به نظرم راه حلی حتما برای این موضوع هست البته استفاده از سوکت ها هم هست ولی خب برا همچین موضوع کوچیکی فک کنم نیاز نباشه
@hesammousavi ممنون میشم اگه کمک کنین
تیکت رو با تایم و user کاربر لاک کن ، در اینصورت مشکلی نخواهی داشت
هر وقت یه کاربر یه تیکتی رو باز کرد تا 5 دقیقه فقط توسط خودش قابل پاسخ خواهد بود
وقتی هم رفرش کرد، اون 5 دقیقه اش تمدید میشه
@jabersabzali
بیاین با جاوا اسکریبت یه روت رو وقتی پشتیبان تو تکست اکسترای پاسخگویی keyup کرد چک کنید .
حالا تو اون روت بیاین یوزر پشتیبان و تیکت رو بگیرین و تو یه جدول تو دیتابیس ذخیره کنید.
حالا هر پشتیبان دیگه ای بیاد اون تیکتو باز کنه بالاش میتونید تنظیم کنید اگر تو جدول مورد نظر لاگی بود که کمتر از 1 یا 5 دقیقه یا هرچقدر گذشته بود آلارم میزنه که پشتیبان x داره پاسخ میده . بعد این پشتیبانم اگه بیاد به اون الارم نادیده بگیره و پاسخ بفرسته اون پشتیبانی قبلی بعد بیاد ارسال پاسخ رو بزنه میتونید بیاید چک کنید اگر از تاریخی که این پشتیبان اولین keyup رو انجام داد به بعدش پاسخی ارسال شده باشه به این پشتیبان الرت بده یک پاسخ توسط پشتیبان x ارسال شده اگه میخاهید پاسخ شما هم ارسال بشه بله رو بزن ...
این میتونه یه روشش باشه .
روش های زیادی داره .
در نهایت هم میتونید بعد گذشت مثلا 1 ساعت از اخرین پاسخ لاگهای اون تیکتو با یه کرون پاک کنید دیتابیس حجیم نشه . فقط یه لاک که چه کسی پاسخ داده رو تو جدول لاگ اصلی بزارید .
برای ریکوئست هایی که جاوا اسکریپت هی میفرسته نگران نباشید تعداد پشتیبانا زیاد نیست . فشار نمیاد .
درود
میتونید از یه رابطه چند به چند در لاراول استفاده کنید. هنگامی که کارشناس داره پاسخ میده id کارشناس رو در جدولی attach و پس از پایان کارش detach کنید
موفق باشید
اصلا مهم نیست.. مرورگر رو ببنده ..
وقتی شما از attach استفاده کنی، در Pivot Table یه رکورد ذخیره میشه و تا هنگامی هم که این رکورد detach نشده.. در واقع کارشناس در حال پاسخ هست
خب علی اقا دقیقا مشکل من همینه نباید اینجوری باشه شما فک کن atach بشه ولی دیگه deatach نشه اونوقت هیچکس قابل پاسخ نخواهد بود !
باید جوری باشه که وقتی طرف در حال پاسخ باشه کسی نتونه اما اگه از اون صفحه رفت به حالت اول برگرده مثل سوکت که توچت انلاین استفاده میشه باید کار کنه ولی خب نمیخوام از سوکت استفاده کنم
@ali.bayat
در جاوااسکریپت رویدادهایی هستند که قبل از بسته شدن صفحه اتفاق میافتند.
رویدادهای onbeforeunload و onunload در شئ window جاوااسکریپت قابل استفاده هستند:
window.onbeforeunload = function(){
// Do something
}
و
window.addEventListener("beforeunload", function(e){
// Do something
}, false);
نسخه jquery هم به این شکل:
$(window).unload(function(){
// Do Something
});
و jquery نسخه ۳ به بالا:
$(window).on("unload", function(e) {
// Do Something
});
حال میشه چک کرد... اگر کارشناس به این کاربر attach شده و داره مرورگر رو میبنده ==> ما این کارشناس رو detach میکنیم...
تنها کاری که لازمه اینه که متغیر ها رو از PHP به محیط جاوااسکریپت انتقال بدید و شرطها رو چک کنید
موفق باشید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟