积分过期系统中快速更新积分余额的方法技术方案

技术编号:20487578 阅读:47 留言:0更新日期:2019-03-02 20:10
本发明专利技术公开了一种积分过期系统中快速更新积分余额的方法,包括:建立由用户表和流水表组成的积分系统,所述用户表包括id字段和cash字段;在用户表中增加last_off_date字段和off_cash字段;在每一笔消费积分时更新off_cash字段;在执行积分过期时,计算出下一次执行积分过期将被扣除的积分。本发明专利技术通过额外维护一个下次过期时候扣除的积分余额,在获取用户积分时,比较当前时间是否达到了过期时间,若达到过期时间,可用积分余额为减去扣除积分值后的积分余额;未达到时间返回积分余额,实现快速、无延时的执行积分过期扣除操作。

Method of Quickly Updating Integral Balance in Integral Overdue System

The invention discloses a method for quickly updating the integral balance in the integral expiration system, which includes: establishing an integral system composed of a user table and a flow meter, the user table includes ID field and case field; adding last_off_date field and off_cast field in the user table; updating off_cast field in each consumption integral; calculating the next holding when the integral expires; The integral that will be deducted if the line integral expires. The invention maintains an additional integral balance deducted at the next expiration, compares whether the current time has reached the expiration time when obtaining the user's integral, if the expiration time is reached, the integral balance can be used as the integral balance after deducting the integral value; the integral balance can not be returned to the time, so as to realize the quick and non-delayed execution of the integral overdue deduction operation.

【技术实现步骤摘要】
积分过期系统中快速更新积分余额的方法
本专利技术涉及积分数据处理
,具体的说,是一种积分过期系统中快速更新积分余额的方法。
技术介绍
目前,积分作为一种有效扩展用户群,提高用户忠诚度的促销手段。积分过期策略可以筛选目标活跃用户,降低用户维护成本,因此对于积分系统十分有必要设置积分过期时间,以便及时对用户积分执行过期操作。目前积分过期的实现方法一般分为两种,一种是针对每一笔积分获取,达到过期时间后该笔积分还未消费,就扣除掉。另一种是,针对某一个时间段内获取的积分,达到设定的过期时间后还未花费就扣除掉,第一种的实现逻辑较为复杂,计算量较大。因此,目前很多实现方案采用的第二种方案。第二种目前实现是到达过期时间后逐个对用户积分进行过期,执行过程可能持续几个小时甚至更久,在积分过期执行过程中,积分清零就会出现延迟的现象。
技术实现思路
本专利技术的目的在于提供一种积分过期系统中快速更新积分余额的方法,用于解决现有技术中由于执行积分过期时间较长,积分清零出现延迟的问题。本专利技术通过下述技术方案解决上述问题:一种积分过期系统中快速更新积分余额的方法,包括:步骤S100:建立由用户表和流水表组成的积分系统,所述用户表包括id字段和cash字段,所述id字段用于唯一标识用户,所述cash字段用于标识当前积分余额;步骤S200:在用户表中增加last_off_date字段和off_cash字段,所述last_off_date字段用于标识上次执行节分过期时间,所述off_cash字段用于标识下次执行积分过期将扣除的积分;步骤S300:在每一笔消费积分时更新off_cash字段;步骤S400:在执行积分过期时,计算出下一次执行积分过期将被扣除的积分。进一步地,所述步骤S300具体包括:步骤S310:获取用户积分余额:查询用户表,检测last_off_date加上一个积分周期是否小于当前日期,如果是,将cash字段减去off_cash字段的值返回作为当前积分余额,否则返回cash字段值作为用户余额;步骤S320:用户消费积分:比较当前积分余额是否大于消费数额,如果是,则进入下一步,否则,返回失败;步骤S330:判断last_off_date字段加上一个积分周期是否小于当前日期,如果是,则扣除cash,生成流水表记录;否则,扣除cash并扣除off_cash,生成流水表记录。进一步地,所述步骤S330中,扣除off_cash时,如果off_cash小于消费积分数额,则将off_cash清零。进一步地,所述步骤S400具体包括:步骤S410:从用户表中查找需要执行积分过期操作的用户;步骤S420:对所述用户执行cash减去off_cash,并修改last_off_date为当前时间值;步骤S430:扫描流水表,获取当前用户在本次需要过期周期内获取的积分但是还未花费的积分数量,填充到off_cash字段,即得到下一次过期积分的值;步骤S440:循环执行步骤S410-步骤S430,直到所有的用户均已执行积分过期。本专利技术与现有技术相比,具有以下优点及有益效果:本专利技术通过额外维护一个下次过期时候扣除的积分余额,在获取用户积分时,比较当前时间是否达到了过期时间,若达到过期时间,可用积分余额为减去扣除积分值后的积分余额;未达到时间返回积分余额,将积分周期末执行一次积分过期更改为每次消费积分时实时的扣除用户过期积分,并计算出下一次执行积分过期的积分,实现快速、无延时的执行积分过期扣除操作。附图说明图1为本专利技术中获取用户可用积分的流程图;图2为本专利技术中用户消费积分的流程图;图3为本专利技术中执行积分过期的流程图。具体实施方式下面结合实施例对本专利技术作进一步地详细说明,但本专利技术的实施方式不限于此。实施例1:结合附图1所示,一种积分过期系统中快速更新积分余额的方法,包括:1、建数据库表在现有技术中积分系统的用户表增加字段,现有技术中积分系统的用户表如下表1,现有技术中的流水表如表2:表1现有技术中积分系统的用户表表2现有技术中积分系统的流水表在表1中增加last_off_date字段和off_cash字段,得到下表3,表3积分系统的用户表2、获取用户积分余额通过用户的id,查询用户表(user表),获取到用户数据,如果last_off_date加上一个周期小于当前日期,返回cash-off_cash作为积分余额,否则返回cash字段值作为积分余额。具体流程如图1所示,首先从用户表中获取用户id,从用户表中查询数据并幅值给u,查询数据u是否存在,如果存在,获取当前周期y,判断u的last_off_date加上一个周期是否等于y,如果等于,则将cash字段减去off_cash字段的值并返回给u的cash字段,否则,返回cash字段的值;如果u不存在,返回用户不存在。3、用户消费积分比较获得的积分余额是否大于消费数额,不大于返回失败;如果大于判断是否last_off_date加上一个周期小于当前日期,小于当前日期扣除用户cash,生成流水,否则,扣除cash,并扣除off_cash,扣除off_cash时如果off_cash小于消费积分数额,只用把off_cash设为零,生成流水记录。具体如图2所示,获取用户id,并获取支出积分数量out_cash,通过用户id查询数据u,获得用户可用积分uc,判断用户可用积分uc是否大于支出积分数量out_cash,如果有大于,则判断当前年份是否等于u的last_off_year,如果等于,则将u的off_cash减去out_cash,如果结果小于0,则将其设置为0;否则将用户的cash字段减去out_cash并更新数据库,生成流水记录;如果用户可用积分uc小于支出积分数量out_cash,则提示积分余额不足。4、执行积分过期获取当前周期,查询用户表,找出last_off_cash小于当前周期的数据,这一部分用户需要执行积分过期操作,对查询出来的每一个用户执行将cash值减去off_cash修改last_off_date为当前周期值,扫描流水表,获取当前用户在本次需要过期周期内获取到的积分但是还未花费的积分数量,填充到off_cash字段。具体如图3所示,查询用户表中last_off_date字段的值加一个周期后小于当前时间的用户放入list;对list表中的用户逐一进行下面操作:取出一个用户u,并从list移除,将u的cash减去off_cash,设置last_off_year为当前周期,生成积分过期流水;扫描积分流水,获取下次需要过期周期内获得的积分但是还未消费的总额,填充到off_cash字段。通过在获取用户积分余额时,检查当前时间是否达到了过期的时间,如果未达到,就直接返回cash作为可用余额,如果达到了过期时间,就返回cash减去off_cash作为可用余额,也就是扣除掉应该过期积分后的余额。从而达到了实时扣除用户过期积分数量的目的。最后再逐个生成流水和执行积分过期的相关操作。将执行积分过期时积分余额的扣除提前执行。根据这个思路,我们需要在每一笔消费积分时更新off_cash字段,在执行积分过期时,计算出下一次过期积分的值,因此需要在积分消费时,通过上述积分余额获取方法,获取积分余额,判断余额是否足够消费,因为本文档来自技高网...

【技术保护点】
1.一种积分过期系统中快速更新积分余额的方法,其特征在于,包括:步骤S100:建立由用户表和流水表组成的积分系统,所述用户表包括id字段和cash字段,所述id字段用于唯一标识用户,所述cash字段用于标识当前积分余额;步骤S200:在用户表中增加last_off_date字段和off_cash字段,所述last_off_date字段用于标识上次执行节分过期时间,所述off_cash字段用于标识下次执行积分过期将扣除的积分;步骤S300:在每一笔消费积分时更新off_cash字段;步骤S400:在执行积分过期时,计算出下一次执行积分过期将被扣除的积分。

【技术特征摘要】
1.一种积分过期系统中快速更新积分余额的方法,其特征在于,包括:步骤S100:建立由用户表和流水表组成的积分系统,所述用户表包括id字段和cash字段,所述id字段用于唯一标识用户,所述cash字段用于标识当前积分余额;步骤S200:在用户表中增加last_off_date字段和off_cash字段,所述last_off_date字段用于标识上次执行节分过期时间,所述off_cash字段用于标识下次执行积分过期将扣除的积分;步骤S300:在每一笔消费积分时更新off_cash字段;步骤S400:在执行积分过期时,计算出下一次执行积分过期将被扣除的积分。2.根据权利要求1所述的积分过期系统中快速更新积分余额的方法,其特征在于,所述步骤S300具体包括:步骤S310:获取用户积分余额:查询用户表,检测last_off_date加上一个积分周期是否小于当前日期,如果是,将cash字段减去off_cash字段的值返回作为当前积分余额,否则返回cash字段值作为用户余额;步骤S320:用户消费积分:比较当前积...

【专利技术属性】
技术研发人员:陈熙杨雪梅漆尧唐军
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1