3 Stimmen

Benötige Hilfe beim Schreiben von SQL zur Anwendung von Werbeaktionen auf den Einkaufskorb an der Kasse

Lachen Sie nicht, aber ich bin ein Lotus Notes-Entwickler (nicht-relationale Datenbank!), der versucht, mit SQL zu arbeiten, und obwohl ich die grundlegenden Konzepte beherrsche, hänge ich bei etwas fest, das ich als "fortgeschritten" bezeichnen würde.

Stellen Sie sich vor, ein Benutzer erreicht eine Online-Kasse, nachdem er eine Reihe von Produkten in seinen Warenkorb gelegt hat. Ich muss Werbeaktionen auf den Warenkorb anwenden.

Bei diesen Aktionen werden die Artikel im Warenkorb betrachtet und für jede Kombination, die mit einem vordefinierten "Bündel" übereinstimmt, "Punkte" vergeben. Die Werbeaktionen müssen auch in der Lage sein, Nutzer in bestimmten Ländern (Informationen, die bei der Registrierung gewonnen werden) und andere persönliche Details anzusprechen.

Die Werbeaktionen werden vom Verwaltungsteam der Website eingegeben und gepflegt und müssen so flexibel wie möglich sein. So können sie Leute für Dinge belohnen wie "Kaufe X Produkte des Typs Y und erhalte 50% Extrapunkte" oder "3 oder mehr XE-123 und erhalte 500 Punkte dazu" usw.

Im Moment bin ich auf der Suche nach einer allgemeinen Richtung. Wie sollte ich die Kriterien speichern, die die Artikel in einem Warenkorb mit einer der laufenden Werbeaktionen abgleichen? Würde eine große gespeicherte Prozedur ausreichen oder sollte der C#-Code, der den Warenkorb erstellt, eine Schleife durch alle Angebote bilden und sehen, welche passen?

Im Moment habe ich noch nicht einmal ein Tabellenschema. Nur das Wissen, wie es funktionieren sollte und wenig Ahnung, wo ich anfangen soll.

Jake

1voto

K Richard Punkte 1924

Mein Vorschlag lautet no SQL für diese Art von Geschäftslogik zu verwenden.

Die Datenbank ist ein guter Ort, um Informationen über Produkte zu speichern, z. B. ob sie Typ Y oder Typ X sind.

Was Sie über C# sagen, scheint eine bessere Richtung zu sein. Es gibt viele durchsuchbare Informationen über die 3-Tier-Architektur, die helfen können, die Vorteile dieser Strategie gut zu erklären.

0voto

Tobiasopdenbrouw Punkte 13235

Die Formulierung "so flexibel wie möglich" ist ein rotes Tuch (IMHO). Ich würde versuchen, das zu präzisieren:

  • "Festpunkt- und/oder prozentualer (vom Gesamtkorb / Bündelpunkten) Bonus (drei Spalten in einer Hilfstabelle)
  • Wenn der Warenkorb eine Kombination enthält, die mit einem vordefinierten "Bündel" übereinstimmt, wobei das "Bündel" in einer Hilfstabelle mit mehreren Zeilen enthalten ist, mit einer Bündel-ID und einer Zeile für jeden Artikel im Bündel, die mindestens die Artikel-ID und die Menge enthält.

Und keine andere Art von Belohnung möglich. Dies, um das Projekt / die Anforderung überschaubar zu halten.

Dann haben Sie einen SP, der das Vorhandensein von Paketen im Korb prüft und entsprechende Sonderangebote anwendet (wie in der ersten Hilfstabelle gespeichert).

Vergewissern Sie sich auch, dass Sie wissen, ob eine oder mehrere Aktionen möglich sind.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X