ظرفیت بلیت رویداد

سلام بچه‌ها
از ویروس چه خبر؟ سلام می رسونه؟

آپدیت اول: جهت اطلاع اط تغییرات مربوطه به انتهای همین صفحه و آپدیت اول مراجعه نمایید!


توضیح اجمالی
مسئله ای که وجود داشت و نیاز به حلش بود، تغییر مقدار ظرفیت بلیت ها بود.
در اصل فیلدی داشتیم به اسم available_count که توسط برگزار کننده در پنل رویداد به یک عددی تعیین می شه.
این عدد خوشگل ما بخاطر رزرو و خرید بلیت، کم و زیاد می شه که باعث گمراهی برگزار کننده و حتی پیچیده تر شدن سیستم می کنه که برای تحلیل دیتا هم اذیت کننده می تونه باشه.

از این فیلد available_count در صفحه خرید بلیت، جهت نشان دادن تعداد بلیت باقی مانده و یا اطلاع از اتمام موجودی بلیت نیز، استفاده می شود.

تغییراتی در سیستم صورت گرفته که این مسئله رو حل کنه. تغییرات کلی بدین شکل است که فیلد جدیدی به اسم availability_count به ریسورس بلیت اضافه شده است.
وظیفه این فیلد، نشان دادن تعداد بلیت موجود با در برگرفتن تعداد بلیت های فروش رفته و تعداد بلیت های رزر شده می باشد.

در نتیجه برای صفحه خرید بلیت، نیاز است از فیلد جدید availability_count استفاده شود که موارد فروش و رزرو توش لحاظ شده است.

از این سو، فیلد قبلی available_count که داشتیم و مقدارش با هر خرید و رزرو تغییر می کرد، دیگر تغییر نخواهد کرد و همیشه ثابت خواهد ماند.
نکته: متاسفانه اسم فیلد جدید خیلی شبیه به فیلد قبلی می باشد (فیلد جدید: availability_count - فیلد اولیه: available_count) و می تونه باعث سردرگمی مهندسان مملکت بشه. از این رو فیلدی دقیقا مشابه رفتار فیلد اولیه available_count تعریف شده است به اسم capacity.


قابلیت دیپلوی
از آنجایی که علاقه داشتم سیستم رو دیپلوی کنم که بچه ها بتونن سر فرصت کاراشون رو انجام بدن، رفتار هر سه فیلد available_count و capacity و availability_count یکسان خواهد بود و مقدار هر سه مورد تغییر خواهد کرد.

این مسئله همانطور که اشاره شد به این دلیل است که بشه دیپلوی کرد و کلاینت ها بتونن سر فرصت تغییرات رو اعمال کنن. سپس بک می تونه رفتار های مورد نظر هر کدام رو به حالت ای که باید باشه برگردونه تا به هدف اصلی برسیم.


تغییرات اعمالی توسط کلاینت ها
تغییراتی که نیازه کلاینت ها اعمال کنند:
  • بجای استفاده از فیلد available_count از این پس از فیلد capacity استفاده کنند.
  • در بخش خرید بلیت، برای نمایش تعداد بلیت موجود از فیلد availability_count استفاده کنند.
  • در بخش پنل رویداد جهت نمایش ظرفیت اصلی بلیت از از فیلد capacity استفاده نمایند.
  • هنگام آپدیت ظرفیت بلیت از مقدار capacity استفاده نمایند.



تغییرات آینده
در حال حاضر برای مدتی تا کلاینت ها تغییرات را اعمال کنند، هر دو فیلد available_count و capacity که رفتار یکسانی دارند، هر دو در کنار هم به خوبی و خوشی زندگی خواهند کرد و فیلد قدیمی available_count حذف نخواهد شد.
بعد از اعمال تغییرات توسط کلاینت ها (فرانت و موبایل) می شه از این فیلد هم خداحافظی کرد.

پس از اینکه کلاینت ها آپدیت دادند، برای اینکه به هدف تسک برسیم، نیاز است که مقدار فیلد capacity برای همیشه ثابت بماند و صرفا با خواست خود برگزار کننده تغییر کند. و با فروش و رزرو تغییری توش اعمال نشود.


آپدیت اول
طبق صحبتی که با بچه ها داشتیم (حجی جون) پیشنهادی مبنی بر اینکه از همان available_count بجای  فیلد جدید availability_count استفاده کنیم داشت. دلیل این امر هم بجاطر آپدیت اپ های موبایل و پیچیدگی ها و زمانبر بودنش بود.

از این رو فیلد availability_count به کل حذف گردید.
از فیلد available_count جهت نشان دادن تعداد بلیت باقی مانده استفاده خواهد شد.
فیلد capacity همچنان سر جای خود باقیست و با استفاده از این فیلد می شه به تعداد طرفیت اولیه بلیت پی برد.

از فیلد available_count هنگام خرید استفاده می شه.
از فیلد capacity هنگام نمایش ظرفیت اصلی به برگزار کننده و یا آپدیت و ثبت ظرفیت جدید بلیت استفاده می شه.

نظرات

پست‌های معروف از این وبلاگ

لیست کاربران نشان شده - سرویس کانکت

استفاده از Refresh Token جهت دریافت توکن‌های معتبر جدید (کانکت)

پروفایل عمومی کاربران کانکت