Please enable JavaScript.
Coggle requires JavaScript to display documents.
software architecture | 6/5 (Repository (product (اینجا product_name باید…
software architecture | 6/5
Presentation
payment site
اینجا هیچ کاری به product و user نداریم و فقط order و payment رو می بینیم
هر order یه دونه لینک پرداخت داره
وارد لینک بشه میریم توی صفحه پرداخت مربوط به اون order
پرداخت که شد payment ثبت میشه
وضعیت order میشه پرداخت شده
برمی گردیم به صفحه با پیغام موفقیت
ایمیل می زنیم به owner محصول که پرداخت شده
اگر ناموفق بود هم payment ثبت میشه
ربات payment
باید یک گزینه داشته باشه به سام پیگیری سفارش
اگر سفارش موفق بود ، می تونه درخواست پشتیبانی بده
به owner ایمیل می زنیم که درخواست پشتیبانی اومده
تمام سفارش هایی که پرداخت شده ولی دریافت نشده و یا پرداخت نشده و کنسل هم نشده رو می زنیم اینجا
اگر سفارش ناموفق بود ، دوباره بهش لینک پرداخت میدیم
همچنین می تونه سفارش رو حذف کنه
سفارش حذف نمیشه فقط isCanceled اش 1 میشه
سناریو هایی که ممکنه پیش بیاد
بدون لینک وارد میشه
دو تا دکمه داریم درباره ما و پیگیری سفارش
اگر پیگیری سفارش رو بزنه ، لیست سفارش های فعالش رو نشون میده شکل دکمه
روی هر سفارش که کلیک کنه جزییات سفارش رو نشون میده و دو تا دکمه می بینه ، لغو سفارش و ثبت تیکت برای پیگیری سفارش
اگه بزنه لغو سفارش
اگه سفارش رو پرداخت کرده باشه ، شماره پشتیبانی طرف رو میدیم میگیم باهاش صحبت کن
اگه سفارش ارسال شده باشه بازم شماره پشتیبانی میدیم
اگه دو حالت پایینی نباشه سفارش لغو میشه
1 more item...
ثبت تیکت رو اگه بزنه ازش می خوایم توضیحات اضافی وارد کنه (اگه نداره 0 رو وارد کنه)
ایمیل می زنیم یا تلگرام میدیم به صاحب سفارش
با لینک خرید product وارد میشه
اول شماره تلفن رو می پرسیم می بینیم توی دیتابیس هست یا نه User اش
اگر باشه user ، مستقیم سفارش رو بهش نشون میدیم . شامل اطلاعات خودش و اطلاعات محصول
اگر نباشه ازش اطلاعات رو میگیریم
Repository
دسترسی یه دیتابیس اینجاست
product
اینجا product_name باید unique باشه
به جاش display_product_name داریم
یه فیلد is_enable داره اگه اون باشه قابل فروشه وگرنه نیستش
order
روی user و product باید unique باشه
البته به جز is_canceled ها
user
روی username باید unique باشه
روی chat_id (اگر null نباشه) باید unique باشه
Use_Case
تابع ها همشون thread درست می کنن .