新手请教一个数据库设计方法

请教一下大家,目前正在做一个saas产品。收费方式是,用户根据团队人数付费购买使用人数。

比如crm系统。用户想使用,就根据用户单价,花钱购买使用人数。

但是,价格是有区间的,

购买5人以下1个人多少钱,购买5 ~ 10人,每人多少钱,购买10 ~ 100人,每人多少钱。。。

继续但是,但是,这个区间,不是指的是它现在要购买多少人,而是计算一下(之前已购买的人数+这次要购买的人数),然后给出具体价格。

两个问题:

第一个问题,这个产品和价格应该怎么在数据库里体现?
第二个问题,用户今天购买了10个人,明天购买了20个人,那么怎么计算到期时间?因为需要每年续费的。

乌鸦嘴新手社区 wyz.xyz 为技术新手提供服务
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

我是这样想的 互相交流嘛 :joy:

  • 产品表

    id price
    价格
  • 产品人数

    product_id user_id price count_discount team_id expiration_time
    产品序号 用户序号 价格 当前用户获得的折扣 团队序号 过期时间
  • 折扣

    product_id discount start_count end_count
    产品序号 折扣 开始人数 结束人数
  1. 后台设置产品单独绑定折扣 多少人的单独取定折扣 然后用户当前买的5个 那么后面续费的都按照现有也就是产品人数里的计算 然后取折扣表的人数折扣来计算当前续费人数的折扣
  2. 如果是按照团队来进行计时的话 需要在他产品人数表给他生成一个唯一的随机字符 所有团队的以这个随机码作为标识 推荐使用redis存入这个随机码 然后设置过期时间
  3. 如果是单人的话 只需要存入用户序号 然后以用户序号作为过期时间
2年前 评论
讨论数量: 4

牛哥。请把新手两字去掉!!!!

2年前 评论

我是这样想的 互相交流嘛 :joy:

  • 产品表

    id price
    价格
  • 产品人数

    product_id user_id price count_discount team_id expiration_time
    产品序号 用户序号 价格 当前用户获得的折扣 团队序号 过期时间
  • 折扣

    product_id discount start_count end_count
    产品序号 折扣 开始人数 结束人数
  1. 后台设置产品单独绑定折扣 多少人的单独取定折扣 然后用户当前买的5个 那么后面续费的都按照现有也就是产品人数里的计算 然后取折扣表的人数折扣来计算当前续费人数的折扣
  2. 如果是按照团队来进行计时的话 需要在他产品人数表给他生成一个唯一的随机字符 所有团队的以这个随机码作为标识 推荐使用redis存入这个随机码 然后设置过期时间
  3. 如果是单人的话 只需要存入用户序号 然后以用户序号作为过期时间
2年前 评论

如果是我要弄的话,可能会这样,两套方法。

购买第一次后,维护那 10个的到期时间,购买第二次,维护那 20 个的到期时间。 续费第一次的,按 30个的区间价格,然后可以只续费到第二次购买的时间。

也可以这样,第二次购买可以按第一次购买时的到期时间进行购买,不用一年。

2年前 评论

针对过期时间,个人思路:今天购买10个人,明天购买20个人。那么,过期时间就是一年后的明天。因为,不管买了多少个人多少次,都还是当前产品,产品是一直没有变的

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!