abbas momeni
3 سال پیش توسط abbas momeni مطرح شد
3 پاسخ

ساخت کیف پول

سلام دوستان گل یه سوالی دارم ممنون میشم کامل راهنمایی کنید

توی ایجاد فروشگاه میخوام یک کیف پول قرار بدم که کاربری اگر حسابشو شارژ کرد این مقدار موجودیش افزایش پیدا کنه

بعد وقتی یک کالایی رو سفارش داد بتونه انتخاب کنه که از این کیف پول پرداخت بشه یا از صفحه بانک

چالش ها:
وقتی کاربر مقداری رو به کیف پولش میریزه یا برداشت میکنه جهت خرید این بحث آپدیت کردن و بروزرسانی رو از چه روشی پیاده سازی بشه بهتره
آیا استفاده از observer راه درستی هست یا راه های بهتری هم میشه در نظر گرفت
من این تیبل ها رو برای این کار در نظر گرفتم
deposits : جدل واریز
withraws: جدل برداشت
user: جدل یوزر که حاوی یک ستون هست به نام balance که مقدار موجودی کاربر رو درون خودش نگه میداره و هر بار کاربری به حسابش پول واریز یا برداشت میکنه توسط یک observer اطلاع رسانی میشه و این مقدار بروز رسانی میشه


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 3 سال پیش مطرح شد
0

درود بر شما
اینجا شما به جدول واریز و برداشت هم نیاز خاصی ندارید البته اگر میخواید یه جا داشته باشید میتونید در قالب یه جدول پرداخت ها رو داشته باشید با یک فیلد مشخص کنید واریز هست یا پرداخت
و در جدول User هم کاری که گفتید رو انجام بدید
هر کاربر که پولی واریز میکنه یه سطر در جدول پرداخت ها اضافه میشه و به مقدار balance تو جدول user هم اضافه میشه همین


عرفان همتی
تخصص : Backend Developer
@erfanhemmati 3 سال پیش آپدیت شد
1

@abbasmomeny1994
سلام وقت بخیر. روشی که برای پیاده سازی کیف پول انتخاب کردین شاید زیاد جالب به نظر نرسه. به جاش می‌تونید یه جدول بسازی به اسم wallet که 4 تا فیلد داره. id, userid, type, description, amount, timestamp
و هر بار عملیات کاهش یا افزایش ازطریق این جدول کنترل کنید. type صفر یا منفی میتونه نشون دهنده این باشه که این مقدار از کیف پول کاربر کسر شده و type یک یا مثبت هم میتونه نشون دهنده این باشه که این مقدار به کیف پول کاربر اضافه شده. اینشکلی میشه به تاریخچه کیف پول یوزر هم دسترسی پیاده کرد. موقع هم که بخواین balance یوزر رو چک کنید، صرفا یه کوئری sum به جدول wallet و فیلد amoun با type های مشخص، میتونه موجودی کیف پول کاربر رو نشون بده. همین :)


abbas momeni
@abbasmomeny1994 3 سال پیش مطرح شد
0

@hesammousavi @erfanhemmati
ممنون از پاسخ دهیتون


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

ورود یا ثبت‌نام