积分过期策略

策略:优先消耗上一年获取的积分,用户上一年获取的积分余额在本年度12月31号过期。例如:用户在2015年总共获取1000积分,在2016年12月31号这1000积分中还剩余100积分,那么这100积分就应该过期。

设计用户积分表:

available_points: 用户当前可用积分

current_year: 当前年份

points_current_year:今年获取的积分总数

points_last_year:去年获取的积分总数

获取积分:points_current_year=points_current_year+获取的积分,available_points=available_points+获取的积分

消耗积分:available_points=available_points-消耗的积分

积分过期:

  1. 如果available_points<=points_current_year,available_points不变,将points_current_year赋给points_last_year,将points_current_year置为0;
  2. 如果available_points>points_current_year,将points_current_year赋给available_points,将points_current_year赋给points_last_year,将points_current_year置为0;
原文地址:https://www.cnblogs.com/longzhaoyu/p/5235660.html