類似禮物說送禮提醒的功能該怎麼做?

來源:互聯網
上載者:User
要做一個類似的功能:
如設定一個日期每月20號,在這日期的前幾天來提醒使用者該送禮了。
日期可以設定為幾月幾日、也可為每月幾號等。提醒時間可以是當天提醒、前一周提醒等?

這種功能後台資料庫該如何設計,需要幾張表? 訊息推送功能有了,如何檢測什麼時候推送? 後台寫個定時任務來不斷運行?

回複內容:

要做一個類似的功能:
如設定一個日期每月20號,在這日期的前幾天來提醒使用者該送禮了。
日期可以設定為幾月幾日、也可為每月幾號等。提醒時間可以是當天提醒、前一周提醒等?

這種功能後台資料庫該如何設計,需要幾張表? 訊息推送功能有了,如何檢測什麼時候推送? 後台寫個定時任務來不斷運行?

兩個定時任務,三個表
1.禮物表,裡面有什麼時候發送欄位,是否發送欄位
2.訊息表,是否發送,發送的是什麼,發送給誰
3.訊息人表,每個人的訊息這提取
任務一,掃描任務表,如果沒發送且到時間了,插入一條資料到訊息表
任務二,掃描訊息表,有訊息了就根據系統發送訊息,,,,,他是個公用表,不一定就用來發禮物

需要判斷應用環境,在web訪問中,再使用者訪問時去做判斷.

需要幾張表看你們具體業務需求,業務需求不複雜的一張資訊表足矣。你要是設定定時的肯定需要設定指令碼的。或者你用第三方推送極光推送都可以的

資料字典
1 使用者資訊表用欄位is_accept 來存放使用者是否開啟訊息提示

2 建立訊息推送配置表
id 主鍵
task_obj擴充欄位
title 標題
content 內容
on_time 結束時間
status 平台是否開啟訊息提示
days 提前幾天提醒(這個欄位也可以給使用者設定,存在使用者資訊表,讓使用者來決定什麼時候提示他)
tips 推送幾次
interval_time 推送間隔(同一個使用者多久推送一次)
3 訊息推送日誌表
id 主鍵id
uid 使用者id
tid 訊息配置id
on_time 發送推送時間

4 php商務邏輯
//擷取要使用者表is_accept為1的所有使用者迴圈

 foreach{      //擷取推送配置資訊表      //判斷使用者是否已推送,      //判斷 目前時間-使用者上次推送時間>=配置間隔時間      //判斷是否已達到最大推送次數      //寫入推送記錄表      }

5 實現
如果是linux系統 建議使用系統命令curl
windows系統 建議自己寫進程守護,或者使用urlcron

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.