|
Создание уникальных кодов/купонов
| ☑ |
0
EverGreenMouse
09.08.16
✎
21:49
|
Здрасте, товарищи.
Столкнулся с задачей, которая не дает покоя уставшему мозгу :)
Сабж: необходимо периодически программно генерировать уникальные 6-значные (в дальнейшем n-значные) промокоды. На данном этапе только числовые, в дальнешем символьные и комбинированные.
УникальныйИдентификатор() - не лезет ибо36 символов и бла-бла-бла, ГенераторСлучайныхЧисел - не дает 100% уникальности даже в рамках 6-значных кодов.
Генерация с Помощью ГСЧ и дальнейшая обработка в цикле тоже вызывает сомнения так как заворачиваемся в рекурсию.
Есть у кого опыт или соображения по поводу реализации?
|
|
1
EverGreenMouse
09.08.16
✎
21:51
|
пока что я прихожу к выводу что ГСЧ и дальнейшая обработка в рекурсии будет наиболее точно гарантировать уникальность
|
|
2
Звездец
09.08.16
✎
21:54
|
сгенерировать сразу овердофига и забыть на какое-то время об этом?
|
|
3
EverGreenMouse
09.08.16
✎
21:55
|
(2) и в дальнейшем их распределять по группам. Заказчик с ума сойдет от объемов :)
|
|
4
bolder
09.08.16
✎
21:56
|
(1) рекурсия<>цикл;))
|
|
5
shuhard
09.08.16
✎
21:57
|
(3) нет в промокодах ни чего уникального, у них есть срок действия + любой словарик
|
|
6
Звездец
09.08.16
✎
21:59
|
(3) по каким группам? обрабатывай статус: новый, напечатан/выдан, погашен и тп
|
|
7
bolder
09.08.16
✎
21:59
|
(0) Элементарно, в цикле.Работает очень быстро.
|
|
8
EverGreenMouse
09.08.16
✎
21:59
|
(4) Да, плохо мысль сформулировал. Рекурсия подразумевалась
|
|
9
Garykom
гуру
09.08.16
✎
22:01
|
Почитай про ШК, контрольная цифра и базы данных. Еще про 16-ричную и прочие системы с любым основанием, затем про Base64 кодировку.
Можно еще чего для развития интеллекта и поймешь что задачка яйца выеденного не стоит и решается в куче вариантов разными способами.
Остается только уточнить ТЗ: "Дайте примеры этих промо-кодов как они должны выглядеть?" и "код EE22ЫЫ, пойдет или надо тока EE22SS?"
|
|