parsisolution / gateway

Iranian Payment Gateways
MIT License
19 stars 7 forks source link

تعداد Query ها #11

Closed aliqasemzadeh closed 5 years ago

aliqasemzadeh commented 5 years ago

سلام الان برای درخواست یک تراکنش سه کوئری ثبت می شود

درحالی که در سیستم قبلی دو کوئری داشتیم

این مضوع باید اصلاح شود

hamed-ehtesham commented 5 years ago

با سلام من بررسی کردم متوجه نشدم میشه یک مثال از سیستم قبلی و این سیستم رو به طور مقایسه بفرمایید تا اصلاح بشه؟

aliqasemzadeh commented 5 years ago

خودتون تست کنید یک تراکنش را ایجاد کنید ولی ریدایت نکنید تعداد کوئری را ببینید الان توی این سیستم ۳ تا ست و توی سیستم قبلی دو تا بود

hamed-ehtesham commented 5 years ago

من از سیستم قبل استفاده نکردم اما این 3 تایی که برای این سیستم هست رو میدونم چی هست و شما که گفتید رفتم باز نگاه کردم تا جایی که یادم میاد از کد سیستم های قبلی هم همین کار رو انجام میدن حالا شما اگه یک مثال بزنید که سیستم قبلی دقیقا چه query هایی میزنه و این سیستم چه query هایی مساله مشخص میشه من از سیستم های قبلی استفاده ی عملی نکردم فقط code شون رو خوندم

aliqasemzadeh commented 5 years ago

در سیستم قبلی یک SELECT و Insert هست ولی در سیستم شما یک آپدیت بیشتر هست

که دقیقا فکر کنم برای آترایز کردن تراکنش هست

تا جایی که ممکنه باید تعداد کوئری کم بشه اگر این فرایند باید با 3 تا انجام باشه من ترجیح می دهم از سیستم قبلی استفاده کنم.

hamed-ehtesham commented 5 years ago

من چون کد larabook رو یادم رفته بود همین الان رفتم نگاه کردم اولا که اشکالتون صحیح نیست اول باید ببینیم اون update بیشتر که شما میگید اضافی چی هست؟ اون کد برگشتی از بانک رو reference id که معمولا بانک ها بهش refId میگن رو درون پایگاه ذخیره میکنه فقط این هست که در اون سیستم این عمل بر عهده ی فردی گذاشته شده که درگاه رو مینویسه که زمانی که کد رو گرفت در پایگاه ذخیره کنه و همه ی درگاه ها "باید" این کار رو انجام بدن مگر این که کسی که درگاه رو مینویسه با سیستم آشنا نباشه و یادش بره یکی از فلسفه های بد بودن اون سیستم همین توضیح بالاست در سیستم قبل اسم تابعی که این کار رو انجام میداد

$this->transactionSetRefId();

که میتونید ببینید داخل درگاه ها معمولا در تابع sendPayRequest باید صدا زده شده باشه اگه صدا زده نشده مشکل از پیاده سازی درگاه هست چون باید این باشه چون باید کدی که از درگاه میگیریم رو ذخیره کنیم

بنابرین این اشکال از مبنا اشتباه هست یعنی سیستم قبل هم با همین سه تایی کار میکنه که این سیستم کار میکنه

aliqasemzadeh commented 5 years ago

@hamed-ehtesham

اگر تراکنش های تکراری را جلو گیری کند عالیه

hamed-ehtesham commented 5 years ago

یعنی چی؟