求算法!加急!!! 花的时候控制一下,从最早的扣起 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当前积分减去近3个月获得的积分,如果大于0,将超出部分扣除即可 兑换积分默认从时间最早的开始,然后每天计算两个时间之间差,如果时间相差快到三个月,就提醒用户,即将到期,如果离三个月相差时间很多,就不需要提醒,时间差计算,找个现成的算法,在积分中可以添加一个字段,字段为可用和不可用,这样从数据库取值比较好 我是这么想,但是这意味着用户操作的时候需要频分读写数据库。想看看还有没有简单的办法。 貌似逻辑很简单。问题是用户量比较大,而且过期的时间可能是3个月也可能是1年,每天都要遍历一次所有的数据,时间太长。请问还有没有简单的办法。 不好意思,我没明白什么意思。能不能再解释清楚一些。 不太明白, 尽然已经花掉了, 那为什么还要设置过期那~??? 已经花掉的就不用过期了。 建议换一个思路来实现,以自然月来做计算周期。6月1号的,最多可以到10月1过期,但6月31号的,也是10月1号过程 。你可以用4个字段来计积分,分别对应于1,2,3,4//5, 6,7,8//9,10,11,12月,这样子,你做起来就简单了。每个月月初的时候,找到相应的月份,把积份清零。总积分等于四个月积份的总和。 已经花掉的就不用过期了。积分单独相加, 每次获得的金币和日期每次做一个记录, 只做显示用, 当前日期 - 记录日期 > 设定天数的时候总积分减去记录日期所记录的金币.总积分 = 每次获得积分 - 消费积分没什么矛盾的嘛. 貌似逻辑很简单。问题是用户量比较大,而且过期的时间可能是3个月也可能是1年,每天都要遍历一次所有的数据,时间太长。请问还有没有简单的办法。2#的方法基础上优化,利用前一天的汇总结果,进行计算的汇总首次执行时,获取近3个月获取积分的总和,进行当天的处理,同时将汇总结果进行存储之后每次执行,取出前一天的数据,加上今天获取积分,减去3个月前最后一天的积分,即为近3个月积分,进行当天处理并存储 你所描述的积分是有实际价值的,所以遵从安全第一原则,用到积分的地方请务必实时计算。计算方面可以直接给数据库,视图过程触发器,快速切安全。 貌似逻辑很简单。问题是用户量比较大,而且过期的时间可能是3个月也可能是1年,每天都要遍历一次所有的数据,时间太长。请问还有没有简单的办法。2#的方法基础上优化,利用前一天的汇总结果,进行计算的汇总首次执行时,获取近3个月获取积分的总和,进行当天的处理,同时将汇总结果进行存储之后每次执行,取出前一天的数据,加上今天获取积分,减去3个月前最后一天的积分,即为近3个月积分,进行当天处理并存储先直接计算了,等以后遇到性能问题再来优化。谢谢了。 不好意思,我没明白什么意思。能不能再解释清楚一些。在积分表中添加一个字段,可用和不可用,每次提取分数的时候只提取可用的,然后计算可用积分中最早的时间到现在的时间差 struts 框架错误提示500 高分求解 sql问题 实现动态添加批量上传 但最多只能添加5个 java+jboss+oracle 向数据库插入数据问题. java 生成csv文件,弹出下载对话框。。。 hibernate怎么实现批量删除? 请各位老兄帮忙!提供个例子。 做课程设计,给点建议 关于有框架的jsp页面中的post请求问题,烦各位大侠帮一把 关于java函数 一个Servlets问题? 关于easyui datagrid。。。 怎么远程数据和 静态html结合啊。。。 Java面试题,编程与分析
想看看还有没有简单的办法。
请问还有没有简单的办法。
能不能再解释清楚一些。
已经花掉的就不用过期了。
已经花掉的就不用过期了。
积分单独相加, 每次获得的金币和日期每次做一个记录, 只做显示用, 当前日期 - 记录日期 > 设定天数的时候总积分减去记录日期所记录的金币.总积分 = 每次获得积分 - 消费积分没什么矛盾的嘛.
请问还有没有简单的办法。
2#的方法基础上优化,利用前一天的汇总结果,进行计算的汇总
首次执行时,获取近3个月获取积分的总和,进行当天的处理,同时将汇总结果进行存储
之后每次执行,取出前一天的数据,加上今天获取积分,减去3个月前最后一天的积分,即为近3个月积分,进行当天处理并存储
计算方面可以直接给数据库,视图过程触发器,快速切安全。
请问还有没有简单的办法。
2#的方法基础上优化,利用前一天的汇总结果,进行计算的汇总
首次执行时,获取近3个月获取积分的总和,进行当天的处理,同时将汇总结果进行存储
之后每次执行,取出前一天的数据,加上今天获取积分,减去3个月前最后一天的积分,即为近3个月积分,进行当天处理并存储
先直接计算了,等以后遇到性能问题再来优化。
谢谢了。
能不能再解释清楚一些。
在积分表中添加一个字段,可用和不可用,每次提取分数的时候只提取可用的,然后计算可用积分中最早的时间到现在的时间差