ホームページ  >  記事  >  バックエンド開発  >  ギフトリマインダーのような機能を実装するにはどうすればよいですか?

ギフトリマインダーのような機能を実装するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-08-04 09:21:401144ブラウズ

同様の機能を作成するには:
たとえば、毎月 20 日に日付を設定し、この日付の数日前にギフトを贈るようにユーザーに通知します。
日付は、月の日、月の日などに設定できます。リマインダー時間は、当日のリマインダー、前週のリマインダーなどにすることができますか?

この種の機能を備えたバックエンドデータベースを設計するにはどうすればよいですか? テーブルはいくつ必要ですか? メッセージのプッシュ機能が利用できるようになりましたが、プッシュされるタイミングをどのように検出するのでしょうか? スケジュールされたタスクをバックグラウンドで作成して継続的に実行しますか?

返信内容:

同様の機能を作成するには:
たとえば、毎月 20 日に日付を設定し、この日付の数日前にギフトを贈るようにユーザーに通知します。
日付は、月の日、月の日などに設定できます。リマインダー時間は、当日のリマインダー、前週のリマインダーなどにすることができますか?

この種の機能を備えたバックエンドデータベースを設計するにはどうすればよいですか? テーブルはいくつ必要ですか? メッセージのプッシュ機能が利用できるようになりましたが、プッシュされるタイミングをどのように検出するのでしょうか? スケジュールされたタスクをバックグラウンドで作成して継続的に実行しますか?

2 つのスケジュールされたタスク、3 つのテーブル
1. いつ送信するか、送信するかどうかのフィールドを含むギフト テーブル 2. 送信するかどうか、何を送信するか、および誰に送信するかを示すメッセージ テーブル、それぞれの抽出個人メッセージ
タスク 1、タスク テーブルをスキャンし、送信されておらず時間切れの場合は、メッセージ テーブルにデータを挿入します
タスク 2、メッセージ テーブルをスキャンし、メッセージがある場合は、それに応じて送信しますシステム的には、、、、、彼はプレゼントを渡すために公共の時計が必ずしも使用されるわけではありません

アプリケーション環境、Webアクセス中、ユーザーがアクセスするタイミングを判断する必要があります。

特定のビジネス ニーズを確認するには、複数のテーブルが必要です。単純なビジネス ニーズを備えた 1 つの情報テーブルで十分です。タイミングを設定する場合は、必ずスクリプトを設定する必要があります。または、サードパーティを使用して Jiguang Push をプッシュすることもできます

データディクショナリ

1 ユーザー情報テーブルは、フィールド is_accept を使用して、ユーザーがメッセージプロンプトを有効にしているかどうかを保存します

2 メッセージプッシュ構成テーブルを作成します
id 主キー

task_obj 拡張フィールド

title タイトル
content コンテンツ
on_time 終了時刻
status プラットフォームでメッセージプロンプトが有効かどうか
days リマインダー数日前に設定することもできますユーザー、ユーザー情報が存在するテーブル、いつプロンプトを表示するかをユーザーに決定させます)
プッシュ回数のヒント
interval_time プッシュ間隔 (同じユーザーがプッシュする頻度)
3 メッセージプッシュログテーブル
id 主キー ID
uidユーザー ID
tid メッセージ設定 ID
on_time 送信プッシュ時間

4 php ビジネス ロジック
//ユーザー テーブル is_accept が 1 ループであるすべてのユーザーを取得します

リーリー

5 実装
Linuxシステムの場合は、システムコマンドcurlを使用することをお勧めします

Windowsシステムの場合は、プロセスデーモンを自分で記述するか、urlcronを使用することをお勧めします

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。