<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>积分 on Java 技术探秘</title>
    <link>https://www.szlinkroutes.com/tags/%E7%A7%AF%E5%88%86/</link>
    <description>Recent content in 积分 on Java 技术探秘</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    <lastBuildDate>Thu, 21 Oct 2021 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.szlinkroutes.com/tags/%E7%A7%AF%E5%88%86/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>会员体系中，积分过期的设计方案</title>
      <link>https://www.szlinkroutes.com/categories/%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/%E4%BC%9A%E5%91%98%E4%BD%93%E7%B3%BB%E4%B8%AD%E7%A7%AF%E5%88%86%E8%BF%87%E6%9C%9F%E7%9A%84%E8%AE%BE%E8%AE%A1%E6%96%B9%E6%A1%88/</link>
      <pubDate>Thu, 21 Oct 2021 00:00:00 +0000</pubDate>
      <guid>https://www.szlinkroutes.com/categories/%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/%E4%BC%9A%E5%91%98%E4%BD%93%E7%B3%BB%E4%B8%AD%E7%A7%AF%E5%88%86%E8%BF%87%E6%9C%9F%E7%9A%84%E8%AE%BE%E8%AE%A1%E6%96%B9%E6%A1%88/</guid>
      <description>背景：积分项目，每次添加的积分都有一个有效期，有效期为一年，如2017-01-02添加了一条积分记录，到2018-01-02这条记录应该是过期的。当前项目设计有两张表：积分明细表（存放积分添加、使用明细）、积分总额表（用户当前的积分额度）。由于每条积分的过期时间各不相同，如何正确地将过期的积分作废？消费时，如何优先使用即将过期的积分？&#xA;1.问题的提出 刚开始系统有两张表：积分明细表、积分总额表，积分总额直接由积分明细表统计。&#xA;以下是积分明细表，需要将内容展示给用户，让用户知道自己积分的添加、消耗情况：&#xA;记录id 会员id 积分值 添加时间 过期时间 备注 1 1 10 2017-01-02 2018-01-02 新增积分 2 1 20 2017-01-04 2018-01-04 新增积分 3 1 -30 2017-01-08 2018-01-08 使用积分 假设id为1的会在2017-01-08后，再无积分添加与消耗的情况。&#xA;现在有一张积分总额表，记录的了会员的积分额度，由于积分是过期的，那么按不同时间来统计，就会出现以下情况：&#xA;在2018-01-01统计时，id为1的会员积分额度是0，这没问题。&#xA;会员id 积分总值 更新时间 1 0 2018-01-01 那在2018-01-02统计时呢，记录id为1的记录已经过期了，只统计记录id为2与3的记录，会出现以下情况：&#xA;会员id 积分总值 更新时间 1 -10 2018-01-02 在2018-01-04统计时，记录id为1与3的记录已经过期了，只统计记录id为3的记录，差额就更大了：&#xA;会员id 积分总值 更新时间 1 -30 2018-01-04 只有在2018-01-08统计时，记录id为1、2、3的记录已经过期了，积分值才会正常：&#xA;会员id 积分总值 更新时间 1 0 2018-01-08 从上面的情况来看，单纯从积分明细表来统计，会出现积分值为负数的情况。&#xA;2.解决方案 项目当前的方案中，积分明细表记录了用户使用添加与使用情况，需要展现给用户，所以无法在这上面下手，为此新添加了一张表来记录当前可用积分明细。该表的关键字段如下：&#xA;字段 含义 积分值 该记录的积分值 添加时间 该记录的添加时间 过期时间 该记录的过期时间 如，在2017-01-02该会员的可用积分记录为</description>
    </item>
  </channel>
</rss>
