会员33元一个月,
1,一次性充值3个月会员送3个月普通代理,
2,一次性充值6个月会员送6个月白金代理。
3,一次性充值1年会员送一年钻石代理。
普通代理:拉一个人注册能获得5元奖励,拉一个人充值普通代理能得到20元奖励,拉一个人充值白金代理能获得30元奖励,拉一个人来充值钻石代理能获得40元奖励,
白金代理:拉一个人来注册能获得10元奖励,拉一个人充值普通代理能得到20元奖励,拉一个人充值白金代理能获得40元奖励,拉一个人来充值钻石代理能获得60元奖励,
钻石代理:拉一个人来注册能获得20元奖励,拉一个人充值普通代理能得到20元奖励,拉一个人充值白金代理能获得40元奖励,拉一个人来充值钻石代理能获得80元奖励,

理想效果,例如:

现在是白金    开始时间10.17 结束时间1.17 持续时间3个月

记录:充 钻石 开始时间1.10 结束时间5.17 持续时间4个月
记录:新建数据 白金 开始时间5.17 结束时间5.24 持续时间7天

修改:白金 开始时间10.17 结束时间1.17 持续时间3个月-》改结束时间为1.10,(持续时间)时间2个月23天

最终效果提前展示如下:

以上是需求,分析后知道这个充值会员分等级。解决问题前我的分析:

会员类型:1:普通会员(1-2):2:普通代理(3-5):3:白金代理(6-11):4:钻石代理(>=12)
单位:月份
原则:先大后小

假如先充值一个月会员(普通会员),后再充值六个月(白金代理),实际的白金代理时间是六个月,普通会员一个月,正常情况,先享受六个月白金代理(保留普通会员的剩余时间),再享受一个月普通会员

假如先充值了三个月(普通代理),后再充值了六个月(白金代理),实际的白金代理时间是六个月,普通代理三个月,正常情况,先享受六个月白金代理(保留普通会员的剩余时间),再享受三个月普通代理

假设四种类型不分顺序,在一个月内不同时间出现,而且四种类型还有可能重复出现,问会员各个类型时间到期时由高类型向低类型切换,应该记录哪些内容?

要求:时间和类型无缝切换,改变会员的类型(理想状态是一秒不差)

其中涉及的数据表:

1,用户表:记录和展示用户的会员时间和类型
2,充值记录表:记录充值的记录
3,持续时间记录表:用于记录用户的会员持续时间,各个时间段对应不同的类型(核心表)
4,支付记录表:记录支付记录

解决这个问题,我的核心思想是:

一个时间段对应一条记录一个类型,始终判断第一条记录是否是当前的会员类型,如果是,什么也不做,如果不是,就改变会员类型为第一条记录的类型。如果没有记录则表明,会员期限已过,消除会员状态和类型等操作。

1:先保存充值记录,并记录在表(3),表3保存的字段有:会员持续时间,开始时间,结束时间,会员类型

持续时间:保存当前状态下会员持续的秒数

开始时间:暂且保存为当前的时间戳

结束时间:开始时间+会员持续时间

2:查询会员结束时间大于现在时间的所有记录,按照会员类型由大到小排序,在这里分为两种情况,第一种是只有两条数据的情况,第二种是大于两条记录的情况

3:当是第一种情况时,判断第一条是否是新插入的数据,如果是立即结束当前的会员记录,把结束时间改为当前时间,在创建一条新,类型和结束的这条记录类型一样,开始时间为第一条数据的结束时间,结束时间为总的结束时间;如果不是新插入的数据,只用改变新插入的数据的开始时间为第一条的结束时间

4:当是第二种情况时,判断三种情况,新插入的数据是否是在第一条、中间位置,最后一条,前两种情况时,后边的数据的开始时间都是上一条数据的结束时间,结束时间都是开始时间+持续时间(此处要用到递归)

转载于:https://www.cnblogs.com/peipeiyu/p/8253670.html

会员充值-》解决方案之一相关推荐

  1. 当会员充值接入资金存管,这次你再也不用担心资金清算违规

    一.为什么说涉及会员充值的场景需要关注合规? 目前市面上各种会员卡琳琅满目,看似带来种种方便和实惠的同时,也产生了对资金安全的挑战. 预付卡消费欺诈问题一直属于服务消费投诉的热点,办卡容易.退卡难投诉 ...

  2. 全智通A+常见问题汇总解答—A+会员充值明细删除失败

    问题描述:会员充值明细点击删除失败 错误原因: 会员充值时,该会员卡的卡型设置了积分兑换规则,赠扣积分和充值金额都不为0,会员积分明细表则会插入两条记录, 会员充值明细在删除时,没有考虑到记录的情况下 ...

  3. 帝国cms会员充值交易推广分润系统的界面实现与开发记录

    功能描述 A有一个专属的推广链接,或者A用户在内容页面生成分享链接或生成分享二维码,进行推广,B用户通过这个链接进来浏览,如果B进行了会员充值或购买行为,则会按照系统预设的推广比例进行提成.此内容主要 ...

  4. 积木赛尔号机器人_【金福利】8月2日赛尔号大电影7:疯狂机器城会员充值动电影票!...

    活动时间:8月1日-8月2日活动内容:会员充值100元即送<赛尔号大电影7:疯狂机器城>免费电影票1张.注:数量有限 送完为止相伴十年的<赛尔号>电影系列,今夏如约而至.< ...

  5. java实现会员充值功能

    近期负责的项目中有关于充值会员的功能,特做一个会员充值流程小结,这中间或许也存在着不足.希望可以得到大家的理解和建议.在调用第三方接口支付时修改表的状态(此处不做详细阐述).

  6. 冲钱会员 php,php会员充值问题

    会员充值页面中  记录集代码要具体插在什么位置呢 if (!function_exists("GetSQLValueString")) { function GetSQLValue ...

  7. php充值赠送如何结算,餐饮会员充值赠送怎么计算成本?

    本篇餐饮会员充值赠送怎么计算成本?的税务知识是用友erp小编专门为税务会计整理的税务实操内容,这篇餐饮会员充值赠送怎么计算成本?中包含有合理避税知识,中小企业避税方法,还为您详细描述了在税务筹划中餐饮 ...

  8. 健身会所会员卡管理系统c语言,健身会所会员管理系统解决方案

    原标题:健身会所会员管理系统解决方案 本案例适合于:健身馆会员管理系统 健身房会员管理系统 健身会员管理系统 1.个性化会员信息登记 ,可根性商家自身的要求和特点,记录会员信息.除了基本的姓名.电话. ...

  9. 服装服饰行业SCRM-VIP会员营销解决方案

    「服装服饰行业-VIP会员营销现状」 "传统实体店受电商不断冲击.单店客流越来越小,消费者越来越挑剔,获客成本越来越高.同时,受疫情影响,实体店损失惨重,在后疫情时代,如何通过数字化,重构会 ...

  10. 会员卡充值软件系统多少钱一套?桶装水会员充值方案微信小程序开源源码开发制作

    龙兵科技,自主研发,源码交付,专注软件研发10年,各行业源码齐全,欢迎合作 今天有一个做桶装饮用水的客户来咨询我, 如何开展全员营销? 如何去做好顾客的转介绍和裂变? 如何去引爆客流量? 给他提供了一 ...

最新文章

  1. iOSunicode转中文
  2. java 图片上传
  3. 1.1 欢迎-深度学习第一课《神经网络与深度学习》-Stanford吴恩达教授
  4. 超标量体系结构_CPU体系结构以及指令流水原理
  5. 九度 1462:两船载物问题(01背包)
  6. 软件测试要经过哪几个阶段?
  7. nodejs上传图片并展示
  8. 项目分布式部署那些事(1):ONS消息队列、基于Redis的Session共享,开源共享
  9. linux下清空c++ cin无效流的方式
  10. Airflow 中文文档:用Celery扩大规模
  11. 读保护_GD32VF103之片上flash读、写、擦除
  12. DataX Hdfs HA(高可用)配置支持
  13. python生成验证码的程序_Python基础篇生成4位随机验证码
  14. 为什么JS中0.1+0.2 != 0.3
  15. debian 修改apache2 https 端口为11443
  16. 程序员需要学些什么?程序员好考吗?
  17. iOS 调用系统铃声及震动
  18. 优漫动游平面设计思维思维训练法
  19. 苹果首款无线充电宝曝光,我们要怎么去选择
  20. 基于控制主题的对话生成 相关论文总结

热门文章

  1. ------更快的搜索储存结构-----平衡二叉树-----------------
  2. Cocos2d-x学习笔记(十一)动作
  3. 自定义 DameK UltraBlue 的 Command Line
  4. Vue-cli使用prerender-spa-plugin插件预渲染和配置cdn
  5. Windows代替touch命令
  6. Lumen开发:lumen源码解读之初始化(5)——注册(register)与启动(boot)
  7. jquery datepicker 显示12个月份
  8. 第4章 神经网络和误差反向传播法
  9. yum安装Apache2.4
  10. Java语法基础常见疑惑解答