Jede Bestellung in meinem Online-Shop hat eine benutzerbezogene Bestellnummer. Ich frage mich, wie ich sie am besten erzeugen kann. Kriterien sind:Der beste Weg, um Bestellnummern für einen Online-Shop zu generieren?
- Short
- einfach über das Telefon zu sagen (zB "m" und "n" nicht eindeutig sind)
- Einzigartige
- Checksum
- (Overkill Nützlich?) edit: hat nicht verraten, wie viele Gesamtaufträge gab es (ein Kunde könnte es irritierend Ihre 3. Ordnung zu machen)
Rig ht jetzt bin ich mit dem folgenden Verfahren (keine Prüfsumme):
def generate_number
possible_values = 'abfhijlqrstuxy'.upcase.split('') | '123456789'.split('')
record = true
while record
random = Array.new(5){possible_values[rand(possible_values.size)]}.join
record = Order.find(:first, :conditions => ["number = ?", random])
end
self.number = random
end
Das wäre für eine Weile in Ordnung, aber nachdem du eine Menge (eine wahre, wahre Menge) an Befehlen hast, werden die Chancen, eine eindeutige ID zu generieren, immer geringer ... Ich denke, ich werde dir eine Antwort schicken out ... – nilamo
der Kunde könnte nur denken, die Bestellnummern sind einzigartig für ihn/sie, so würde ich nicht darüber besorgt sein. Das ist eine dumme Sache, sich um IMO zu kümmern. – Tim