資料庫,連續的簽到系統怎麼設計?

來源:互聯網
上載者:User
背景:對連續簽到的系統進行遞級給積分,並且連續簽到有一定的積分獎勵,並且使用者連續簽到30天給比較多的積分。

要求:並不是按照自然月來簽到。

  1. 怎麼判斷是不是連續簽到呢?

  2. 然後就是資料庫怎麼設計好呢,因為並不是按照自然月來簽到,連續簽到的話都是跨月的了。

回複內容:

背景:對連續簽到的系統進行遞級給積分,並且連續簽到有一定的積分獎勵,並且使用者連續簽到30天給比較多的積分。

要求:並不是按照自然月來簽到。

  1. 怎麼判斷是不是連續簽到呢?

  2. 然後就是資料庫怎麼設計好呢,因為並不是按照自然月來簽到,連續簽到的話都是跨月的了。

記錄一個人當次連續第1天的日期和最後1天的日期,簽到的時候判斷是否連續。如果連續,可以計算出來連續天數。如果不連續,重設連續第1天和最後1天的日期為當前簽到日期。

如果需要記錄簽到,專門用一張表來記錄。可以按月,即每一月一條資料來記錄,也可以按年記錄。如果按天記錄的話資料量太大,沒啥必要。

這個資料庫設計不想的太複雜,簽到系統其實邏輯判斷比較重要。我前幾天剛好做了一個,只需要把時間格式化,去掉時分秒,如20150907,之後的話只需要判斷前邊的幾天時間記錄是否相鄰即可。

一個欄位記錄連續簽到次數,一個欄位記錄最後一次簽到的時間!
每次簽到
判斷:檢查上次簽到時間和現在的簽到時間中間是否為1天
是:

簽到次數+1;

不是:

簽到次數=0

更新最後的簽到時間為現在時間;

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.