请教个会员卡,数据库设计的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hacker84

请教个会员卡,数据库设计的问题

  •  
  •   hacker84 2019 年 6 月 11 日 3446 次点击
    这是一个创建于 2510 天前的主题,其中的信息可能已经有所发展或是发生改变。

    场景

    某洗浴中心会员卡充值,扣款

    功能

    • 会员卡有有效期
    • 可以查看总余额 ,如果有过期的,余额要及时扣除
    • 可以查看消费记录
    • 管理员可以对任意一张卡扣款,也可以不选择卡,直接扣钱

    会员卡种类

    |会员卡类型 | 金额 | 赠送金额 | 有效期 | --- | --- | --- | --- | 临时卡 | 500 0 | 1 个月 银卡| 3000 |300| 6 个月 金卡 |10000| 1500 |12 个月

    会员卡购买记录

    |姓名| 类型| 到期时间| --- | --- | --- | --- | 李四|临时卡 |2019-07-10 张三| 金卡 |2020-08-08 vv |银卡 |2019-12-02

    余额

    姓名 | 剩余额度 --- | --- 准准 | 12000 贱贱 | 5000 小明 | 3500

    消费记录

    姓名 | 金额 | 原因 --- | --- |--- 小明 | -3000 | 大保健 小明 | -3500 | 大保健 小明 | +12000 | 购买金卡

    • 现在账户余额不好处理,卡可能随时过期。还有扣款记录这些应该如何处理
    13 条回复    2019-06-11 19:30:10 +08:00
    hacker84
        1
    hacker84  
    OP
       2019 年 6 月 11 日
    貌似不支持 table
    dovme
        2
    dovme  
       2019 年 6 月 11 日
    markdown 了解一下
    sujin190
        3
    sujin190  
       2019 年 6 月 11 日
    一般来说应该扣余额之前检查卡是否有效就可以了额
    余额的问题应该是算不算收入,算就设个定时每天扣款到消费记录就好了,不算,那就不应该扣余额
    jingyulong
        4
    jingyulong  
       2019 年 6 月 11 日 via iPhone
    卡过期冻结余额,重新激活才能使用余额。
    hacker84
        5
    hacker84  
    OP
       2019 年 6 月 11 日
    @dovme 用的就是 markdown 格式的 table, 不支持。
    hacker84
        6
    hacker84  
    OP
       2019 年 6 月 11 日
    @sujin190 你意思是每天要定期更新,所有用户的可用余额吗。
    管理员查看 用户列表的时候,每个用户有个余额。这个余额是要读取这个用户的充值记录跟扣款记录,计算出来吗。
    delectate
        7
    delectate  
       2019 年 6 月 11 日
    不要计算,否则会很麻烦,数据越多,效率越低。两个表,一个记录明细,一个记录余额,只要代码没 bug,二者不会有任何偏差。
    hacker84
        8
    hacker84  
    OP
       2019 年 6 月 11 日
    @delectate 会员卡过期的时候,余额要减去这部分。 要弄个定时任务,每天看会员卡是否过期吗
    lifespy
        9
    lifespy  
       2019 年 6 月 11 日
    @hacker84 #8 没必要定时任务,上面都说了,扣款的时候去查看是否有效就行
    Mac
        10
    Mac  
       2019 年 6 月 11 日 via Android
    这种量级的表随便怎么设计都无所谓,如果是我,我会只设计两个实体表,一个是会员信息包括开卡时间和当前余额,另一个是消费信息,把所有现金业务都统一一下,每次变更都汇总余额写到会员信息那里
    hacker84
        11
    hacker84  
    OP
       2019 年 6 月 11 日
    @Mac 会员卡失效的时候,余额会减少。这个地方,是怎么触发呢,定时任务,用户或者管理员,访问的时候?
    Mac
        12
    Mac  
       2019 年 6 月 11 日 via Android
    @hacker84 写在业务里啊,先检查时效,过期不执行下面的业务逻辑。
    ebingtel
        13
    ebingtel  
       2019 年 6 月 11 日
    @hacker84 借鉴 redis 的 key 过期策略就行:1 )线程定时轮询 2 ) 用的时候,再查一下……如果不涉及到实时统计的需求,1 )可以不用
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2694 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 52ms UTC 12:46 PVG 20:46 LAX 05:46 JFK 08:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86