首頁 >後端開發 >php教程 >類似禮物說送禮提醒的功能該怎麼做?

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

WBOY
WBOY原創
2016-08-04 09:21:401193瀏覽

要做一個類似的功能:
如設定一個日期每月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的所有使用者循環

<code> foreach{
      //获取推送配置信息表
      //判断用户是否已推送,
      //判断 当前时间-用户上次推送时间>=配置间隔时间
      //判断是否已达到最大推送次数
      //写入推送记录表
      }</code>

5 實作
如果是linux系統 建議使用系統指令curl
windows系統 建議自己寫程式守護,或是使用urlcron

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn