所以我卡住了。我正在处理一个有过期时间的积分系统,类似于信用卡里程,但不完全一样。顺便说一句,很抱歉提前写了这么多内容,但我需要添加足够的细节来帮助你获得整个画面。
我需要的是一个系统,用户可以通过完成活动累积积分。但他们也可以在活动上使用这些积分。如果这些积分没有使用,它们应该在30天后过期。我似乎被如何准确计算批处理所困扰,每晚都会运行。任何语言的想法都将不胜感激,因为我似乎被一个无法解决的小细节卡住了。以下是数据示例:
7/1:+5-用户注册 7/2:+5-用户与系统交互 7/2:-3-用户购买活动 7/3:+5-用户与系统交互
所以此时用户已经获得了15个积分,并且已经花费了3个积分。剩下12个积分。(至少我掌握了基本的数学:P)
我应该补充说明,目前我们正在考虑有两个字段:上次处理和下次处理。因此,这些值在此时假设它是一个新注册为:
上次处理日期:7/1 下一个处理日期:8/1
现在到了8/1。批处理开始并查看所有超过30天的积分。此时是5个积分。
这就是它开始变得模糊的地方。
然后系统应该查看最近30天已经使用的所有积分,以查看是否正在使用任何积分。因为它们只有在未被使用时才会过期。所以有3个积分。然后我扣除了用户2个积分,因为那是赚取超过30天的积分和已经花费的积分之间的差异。所以我完成了批处理,并相应地设置了下一天的日期。现在假设他们没有再花费,我重新开始计算赚取超过30天的积分,即5个积分和再次花费的积分,即3个积分。但显然,我不想再次考虑昨天考虑的3个积分。不包括这些3个积分以进行考虑的好方法是什么?
这就是我卡住的地方。
我们正在考虑编写一个关于过期积分的借记记录,以便我们可以跟踪它们,但很难看出我如何在这个计算中使用它。
如果你读到这里,谢谢。如果你甚至做出了一些努力回答,我至少会因为你的努力给你点赞。
编辑: 好的@Greg提到了我忘记解决的问题。在考虑积分时放置标志的想法是一个有效的观点,但由于以下情况而无法工作:
假设在某一天,用户花费了10个积分。但是,该批次考虑的过期积分只累计到5个。那么,他应该仍然有5个积分没有过期,因为他花费的积分不止一个过期时间。所以,标志不起作用,因为我们会跳过这5个额外的积分。希望这样说得清楚吗?
我需要的是一个系统,用户可以通过完成活动累积积分。但他们也可以在活动上使用这些积分。如果这些积分没有使用,它们应该在30天后过期。我似乎被如何准确计算批处理所困扰,每晚都会运行。任何语言的想法都将不胜感激,因为我似乎被一个无法解决的小细节卡住了。以下是数据示例:
7/1:+5-用户注册 7/2:+5-用户与系统交互 7/2:-3-用户购买活动 7/3:+5-用户与系统交互
所以此时用户已经获得了15个积分,并且已经花费了3个积分。剩下12个积分。(至少我掌握了基本的数学:P)
我应该补充说明,目前我们正在考虑有两个字段:上次处理和下次处理。因此,这些值在此时假设它是一个新注册为:
上次处理日期:7/1 下一个处理日期:8/1
现在到了8/1。批处理开始并查看所有超过30天的积分。此时是5个积分。
这就是它开始变得模糊的地方。
然后系统应该查看最近30天已经使用的所有积分,以查看是否正在使用任何积分。因为它们只有在未被使用时才会过期。所以有3个积分。然后我扣除了用户2个积分,因为那是赚取超过30天的积分和已经花费的积分之间的差异。所以我完成了批处理,并相应地设置了下一天的日期。现在假设他们没有再花费,我重新开始计算赚取超过30天的积分,即5个积分和再次花费的积分,即3个积分。但显然,我不想再次考虑昨天考虑的3个积分。不包括这些3个积分以进行考虑的好方法是什么?
这就是我卡住的地方。
我们正在考虑编写一个关于过期积分的借记记录,以便我们可以跟踪它们,但很难看出我如何在这个计算中使用它。
如果你读到这里,谢谢。如果你甚至做出了一些努力回答,我至少会因为你的努力给你点赞。
编辑: 好的@Greg提到了我忘记解决的问题。在考虑积分时放置标志的想法是一个有效的观点,但由于以下情况而无法工作:
假设在某一天,用户花费了10个积分。但是,该批次考虑的过期积分只累计到5个。那么,他应该仍然有5个积分没有过期,因为他花费的积分不止一个过期时间。所以,标志不起作用,因为我们会跳过这5个额外的积分。希望这样说得清楚吗?