首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要有关信用到期算法的帮助

需要有关信用到期算法的帮助
EN

Stack Overflow用户
提问于 2010-07-08 06:21:12
回答 7查看 675关注 0票数 7

所以我被卡住了。我正在研究一个有期限的信用系统。类似于信用卡里程,但并不完全如此。顺便说一句,我对前面的书感到抱歉,但我需要添加足够的细节来帮助了解整个情况。

我需要的是一个系统,其中用户积累做活动的信用。但他们也可以把这些积分花在活动上。如果未使用,积分应在30天后过期。我似乎被困在如何在每天晚上运行的批处理中准确计算这一点。任何语言的任何想法都会非常感谢,因为我似乎只卡在一个我无法绕过的小细节上。以下是数据的示例:

7/1:+5 -用户注册

7/2:+5 -用户与系统交互

7/2:-3 -用户购买活动

7/3:+5 -用户与系统交互

因此,在这一点上,用户已经收到了15个学分,并花费了3个。留给他的总共是12个学分。(至少我记下了基本的数学:P)

我要补充的是,目前我们正在考虑有两个字段: last processed,next processed。因此,假设这是一个新注册,此时这些值是:

上次处理日期: 7/1

下一次加工日期: 8/1

所以现在是8/1了。该批处理开始并查看超过30天的所有积分。在这点上是5。

这就是它开始变得模糊的地方。

然后,系统应该查看在过去30天内花费的所有学分,看看他们是否正在使用任何学分。因为它们只有在未被使用的情况下才会过期。所以有3个,所以我扣除用户2个积分,因为这是超过30天的积分和花费的积分的差额。因此,我完成了批次,并相应地设置了第二天的日期。现在假设他们没有花费更多的钱,我开始计算超过30的学分,这是5,花费的学分是3,但我显然不想考虑我昨天考虑的3个学分。什么是不再考虑这3个学分的好方法?

这就是我被卡住的地方。

我们正在考虑为到期的信用写一个借记记录,这样我们就可以跟踪它们,但很难看到如何在这个计算中使用它。

如果你读到这里,谢谢。如果你在回答中做了一点努力,我至少会为你的努力投上一票。

编辑:

好的,@Greg提到了一些我忘了说的事情。考虑过在学分上加一面旗子的想法。一个有效的点,但不是一个可以工作的点,原因如下:

假设在特定的一天,一个用户花费了10个积分。但是该批次考虑的到期积分仅累计到5个。那么,他应该还有5个积分没有过期,因为他花费了超过一个到期时间。所以旗帜不会起作用,因为我们会跳过那5个额外的学分。希望这是有意义的?

EN

Stack Overflow用户

发布于 2011-06-12 14:33:13

关于朱利安回复(我还不能评论),我正在处理同样的问题,朱利安方法不会起作用,因为这将导致帐户能够变成负数。

如果用户在一个月内没有使用该服务,那么在8/4上,帐户余额将是-3,并且一个值为5的活动将使余额变为2,而不是它应该达到的5。

票数 0
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3199362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档