كيفية تصميم المنطق لتخزين القواعد التي تخصص الشارات ونقاط السمعة لمستخدمي الموقع
-
26-09-2019 - |
سؤال
في تطبيق الويب الحالي الخاص بي ، يجب أن أقوم بإنشاء "محرك نقاط السمعة وشارات" مشابه إلى حد ما. يحتوي هذا النظام على العديد من القواعد وكل قاعدة ترتبط ببعض أنشطة المستخدم المحددة مسبقًا (مثل عرض سؤال ، سؤال التصويت ، إلخ).
ما أحاول معرفة الحل لـ:
- تخزين جميع القواعد في جداول قاعدة البيانات (تتضمن كل قاعدة تقريبًا شروطًا متعددة). يمكننا أن نفعل هذا؟
- لمطابقة كل إجراء مستخدم مع القواعد المحفوظة في جداول DB وتعيين نقاط السمعة والشارات المرتبطة بها.
- تحقق مما إذا كان المستخدم قد حصل بالفعل على المكافأة إلى قيمة العتبة (على سبيل المثال لا الأصوات ، وجهات النظر) ، المحددة في القاعدة.
- تنفيذ إجراءات معينة مثل الترويج للمستخدم ، وإخطار المستخدم ، وحظر المستخدم المحدد في قواعد قليلة.
- قدم واجهة مستخدم إلى مسؤول التطبيق لإدارة قواعد (إضافة / تحرير / حذف) في التطبيق.
أي تلميحات ستقدر؟
المحلول
لا يبدو أن قاعدة البيانات هي الأداة المناسبة لهذا المطلب. يبدو أنك ستحتاج إلى تنفيذ مثل هذا المنطق في طبقة التطبيق. بالطبع ، يمكن أن تأتي بعض قيم المعلمات من ملفات التكوين.
طريقة واحدة إذا كان هذا هو ما تريد فعله حقًا ، هو أن يكون لديك متغيرات (مثل طرق العرض ، الأصوات) المحددة في الأعمدة. يمكن أن تكون الإخراج الشارة المعينة أو نقطة السمعة عمودًا ولكن وظيفة الأعمدة الأخرى. لذلك سيبدو الجدول:
شارة __badgename_الآراء__أصوات
1_____فضة_____10____2
2_____ذهب____100____10