V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kailiu
V2EX  ›  程序员

C2C网站生成优惠码可以用什么算法实现?

  •  
  •   kailiu · 2013-11-16 20:28:01 +08:00 · 5288 次点击
    这是一个创建于 4024 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,C2C网站上用的那种。大致使用流程如下:

    1)买家看到商品后付款,然后系统判断买家是否满足某条件,如果满足就赠送该商品的优惠码。
    2)买家将优惠码提供给卖家得到额外折扣。
    3)卖家在系统内成功验证优惠码,得到系统返现。

    所以这里主要是如何实现生成和验证优惠码的问题。暂时不考虑人工手动录入优惠码。

    目前想到的办法是根据订单号用某种加密算法生成优惠码。关于这个实现的注意点,或者用什么算法比较合适,各位能给些意见吗?多谢。
    8 条回复    1970-01-01 08:00:00 +08:00
    vibbow
        1
    vibbow  
       2013-11-16 21:22:17 +08:00   ❤️ 1
    我能说优惠码直接当随机数生成么...
    然后用一个K-V数据库储存优惠码信息...
    dongbeta
        2
    dongbeta  
       2013-11-16 21:28:34 +08:00   ❤️ 1
    楼上正解。
    kailiu
        3
    kailiu  
    OP
       2013-11-17 12:29:19 +08:00
    @vibbow
    @dongbeta

    感谢回复。

    现在具体情况是这样:用的框架是Django,昨天看你们提到K-V数据库就去了解了下Redis,后来发现Django目前还不支持NoSQL数据库,现有的第三方插件貌似只支持把Redis用作会话存储或者缓存后端,想用来作数据库貌似有困难……

    还有什么好的建议吗?
    dongbeta
        4
    dongbeta  
       2013-11-17 13:26:35 +08:00
    @kailiu 优惠码是一组 K-V 数据,和数据库没关系。愿意用什么就用什么。
    kailiu
        5
    kailiu  
    OP
       2013-11-17 13:36:17 +08:00
    @dongbeta 呃,不太理解。难道不需要用NoSQL数据库么,K-V用在RDBMS里是什么情况?
    vibbow
        6
    vibbow  
       2013-11-17 13:40:03 +08:00   ❤️ 1
    @kailiu 你用RMDBS,不建立relationship,也就和NoSQL没太大区别,顶多效率差点。
    如果你优惠码使用频率不高(每秒几百次那种),那用RMDBS也无所谓啊,还方便备份。
    dongbeta
        7
    dongbeta  
       2013-11-17 13:40:38 +08:00   ❤️ 1
    @kailiu 数据和数据库是两码事。
    kailiu
        8
    kailiu  
    OP
       2013-11-17 13:53:58 +08:00
    @vibbow @dongbeta 多谢。理解了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1117 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:36 · PVG 02:36 · LAX 10:36 · JFK 13:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.