עזרה בתכנון מערכת
-
שלום וברכה.
אני מפתח כרגע מערכת הודעות והזמנות של ספק רהיטים.
במערכת ישנם סוגי משתמשים,- חנות (המזמינה מוצר עבור לקוח הקצה).
- משרד - מקבל הזמנות וכדו'.
- מוביל - מאשר אספקה + תמונה וכו'.
הספק מתעסק עם כמה חברות רהיטים, כך שכל הזמנה צריכה להיות (ע"פ דרישתו) עבור חברה אחת בלבד.
לשם כך, בפתיחת הזמנה מתבקש המשתמש לבחור בחברה בה הוא מעוניין לבצע הזמנה.
בהזמנה יש גם מקטע של הודעות, שהם כמו צאט המיושם ע"י החנות והמשרד לגבי ההזמנה.ברור שכל משתמש מקבל פנים אחרות,
לחנות יהיו רק הזמנות שהמשתמש המחובר ביצע ואילו למשרד יהיה הכל.בבחירת פריטים להזמנה, יוצגו רק פריטים המשוייכים לחברה אליה ההזמנה מיוחסת.
מחיר הפריטים נקבע בהתאם למחירון הלקוח. (ישנם שלושה רמות מחיר). כמובן שהמחיר שמגיע מצד השרת הוא רק המחיר של הלקוח, ולא בצד הלקוח תהיה התיוג למחיר. (כדי שלא יהיה מי שיחפש מאחורי הקלעים איזה מחיר יש יותר זול... ).גם משתמש מסוג משרד יכול לבצע הזמנה כשהוא מתבקש לבחור גם בשם החנות.
וכאן מתחיל סיבוך, האם להוריד את כל המוצרים בבת אחת מהשרת ללקוח עם המחירים, ואז מה יהיה עם משתמש מסוג משדר שכל הזמנה שהוא נכנס עליה המחירון שונה (כי הם משוייכים למשתמשים אחרים). או שהמוצרים ירדו בכניסה להזמנה בהתאם לחברה ולמחיר המשתמש שאליו מיוחסת ההזמנה, קראיות רבות מידי עבור המשתמש הרגיל - חנות... או אולי פשוט לשכפל את הדף וכל סוג משתמש יכנס לדף אחר...מה נכון?
רעיונות נוספים, אשמח לשמוע (גם בכללי, לאו דווקא לשאלה זו).
תודה מראש לעונים. -
@dovid
יש את החנות שהיא מבצעת הזמנות עבור לקוח קצה
המשרד הוא כמו שירות לקוחות, מקבל הזמנות ומטפל בהם,
אבל יש מקרים בהם המשרד צריך לבצע הזמנה עבור חנות מסויימת (בא נאמר טלפוני), מיותר שהפקידה תיכנס לחשבון של החנות ההיא. במקום זה אני מעוניין שהיא תוכל מהחשבון שלה לבצע הזמנה עבור החנות.המשרד הוא משתמש, אם חשבון המשתמש יתייג את המחיר באופן גלובלי, זה לא נכון עבור המשרד, כי הפקידה במשרד רואה לא רק הזמנות שלה (ואולי בכלל אין כאלה) אלא של כל החנויות, ולכן כל הזמנה המחירון שלה שונה בהתאם לחנות שהזמינה אותה.
-
@ש-ב-ח אמר בעזרה בתכנון מערכת:
מחיר הפריטים נקבע בהתאם למחירון הלקוח. (ישנם שלושה רמות מחיר). כמובן שהמחיר שמגיע מצד השרת הוא רק המחיר של הלקוח, ולא בצד הלקוח תהיה התיוג למחיר. (כדי שלא יהיה מי שיחפש מאחורי הקלעים איזה מחיר יש יותר זול... ).
איך המערכת מחליטה לאיזה מחירון הלקוח שייך?ולמה?
ובכלל לא הצלחתי להבין את כל הדרישות
אולי תרחיב יותר מכיוון חווית הלקוח איך האתר אמור להראות אצלו? -
@ש-ב-ח כעת הבנתי את הסיטואציה אבל לא את השאלה.
נניח יש מטפל בכתובת הזו/api/product/1456
זה מחזיר מחיר של מוצר 1456, בהתאם למשתמש שמחבור כעת: אם זה חנות, המחיר המתאים לה, אם זה משרד, אז חייב להיות פרמטר נוסף ככה
/api/product/1456?for-user=9865
מה הבעיה?
-
@nigun אמר בעזרה בתכנון מערכת:
אולי תרחיב יותר מכיוון חווית הלקוח איך האתר אמור להראות אצלו?
@dovid
מדובר בדף אנגולרJS (דף יחיד)
רוב המידע מגיע מיד עם עליית הדף או כשרכיב כל שהוא הנצרך לדף מבקש אותו, אבל הוא מגיע רק פעם אחת.כאשר יש מידע - כמו הפריטים והמחירים, במשתמש מסוג משרד - שבעצם שונה מהזמנה להזמנה, אז בעצם יש צורך למשוך על כל הזמנה מידע אחר.
האם להתחיל לעשות התניות בתוך קוד JS בדיוק מה הוא ישלח לשרת, איך יטפל בתגובה, ומה הוא יציג, בהתאם לרמת המשתמש? נראה לי מסובך ומעוקל... ובעצם כל אטריפולציה - במקרה כזה - תצטרך לקבל פונקציה ולא משתנה מהקונטרולר, כשעל כל פונקציה תהיה התנייה בהתאם לרמת המשתמש המחובר, ובהתאם למשתשמש/חנות שמיוחסים להזמנה.
משהוא כזה: אם המשתמש המחובר הוא חנות = תציג לו את המחיר המופיע בפריט, אחרת-אם המשתמש הוא משרד = תבדוק את מחירון המשתמש/חנות המיוחסת להזמנה ותציג את המחיר מהמחירון של הלקוח שמופיע בפריט... איזה ארוך ומתיש... -
@ש-ב-ח אני מבין שרצית לעשות דף אחד (לא רק ברמת הHTML, אלא גם ברמת האנגולר VIEW יחיד)
שיתאים לכל המקרים, זה אפשרי ולא כ"כ קשה.
המשפט הבא:רוב המידע מגיע מיד עם עליית הדף או כשרכיב כל שהוא הנצרך לדף מבקש אותו, אבל הוא מגיע רק פעם אחת.
זה פשוט לא הדרך.
אם חנות יכולה מהזמנה להזמנה להזמין בשם חנות אחרת אז מוותרים על הדרך הלא מתאימה הזו,
ועושים שבכל הזמנה, יישאבו במוצרים ומחיריהם בהתאם להזמנה זו (בהתאם לחנות שמשוייכת למשתמש נוכחי ובמקרה של משרד בהתאם לחנות הנבחרת).