业务比较简单,用户可以做任务获得积分,然后用积分兑换礼物。
现在需要对积分做过期的控制,比如超过3个月仍然不使用的积分就过期。
用一个后台服务每天计算一次过期积分。
举例:
假设今天是10月1日,
用户在6月30日获得10个积分
用户在7月1日获得10个积分
如果用户没有使用过积分,那6月30日获得的10个积分就要过期。
如果用户花了15个积分,那6月30日的10个积分就不能过期,因为已经花掉了。
求各位给一个思路!
------解决思路----------------------
花的时候控制一下,从最早的扣起
------解决思路----------------------
当前积分减去近3个月获得的积分,如果大于0,将超出部分扣除即可
------解决思路----------------------
兑换积分默认从时间最早的开始,然后每天计算两个时间之间差,如果时间相差快到三个月,就提醒用户,即将到期,如果离三个月相差时间很多,就不需要提醒,时间差计算,找个现成的算法,在积分中可以添加一个字段,字段为可用和不可用,这样从数据库取值比较好
------解决思路----------------------
建议换一个思路来实现,以自然月来做计算周期。6月1号的,最多可以到10月1过期,但6月31号的,也是10月1号过程 。
你可以用4个字段来计积分,分别对应于1,2,3,4//5, 6,7,8//9,10,11,12月,这样子,你做起来就简单了。每个月月初的时候,找到相应的月份,把积份清零。
总积分等于四个月积份的总和。
------解决思路----------------------
积分单独相加, 每次获得的金币和日期每次做一个记录, 只做显示用, 当前日期 - 记录日期 > 设定天数的时候总积分减去记录日期所记录的金币.总积分 = 每次获得积分 - 消费积分没什么矛盾的嘛.