Wie implementiert man eine Funktion ähnlich der Geschenkerinnerung?

WBOY
Freigeben: 2016-08-04 09:21:40
Original
1182 Leute haben es durchsucht

So erstellen Sie eine ähnliche Funktion:
Legen Sie beispielsweise ein Datum auf den 20. eines jeden Monats fest und erinnern Sie den Benutzer daran, Geschenke einige Tage vor diesem Datum zu machen.
Das Datum kann auf den Tag des Monats, den Tag des Monats usw. eingestellt werden. Kann die Erinnerungszeit eine Erinnerung für den aktuellen Tag, eine Erinnerung für die Vorwoche usw. sein?

Wie entwerfe ich die Backend-Datenbank mit dieser Art von Funktion? Wie viele Tabellen werden benötigt? Da nun die Nachrichten-Push-Funktion verfügbar ist, wie kann man erkennen, wann sie gepusht wird? Eine geplante Aufgabe im Hintergrund schreiben, die kontinuierlich ausgeführt wird?

Antwortinhalt:

So erstellen Sie eine ähnliche Funktion:
Legen Sie beispielsweise ein Datum am 20. eines jeden Monats fest und erinnern Sie den Benutzer daran, Geschenke einige Tage vor diesem Datum zu machen.
Das Datum kann auf den Tag des Monats, den Tag des Monats usw. eingestellt werden. Kann die Erinnerungszeit eine Erinnerung für den aktuellen Tag, eine Erinnerung für die Vorwoche usw. sein?

Wie entwerfe ich die Backend-Datenbank mit dieser Art von Funktion? Wie viele Tabellen werden benötigt? Da nun die Nachrichten-Push-Funktion verfügbar ist, wie kann man erkennen, wann sie gepusht wird? Eine geplante Aufgabe im Hintergrund schreiben, die kontinuierlich ausgeführt wird?

Zwei geplante Aufgaben, drei Tabellen
1. Geschenktabelle, die Felder zum Senden enthält und ob gesendet werden soll.
Nachrichtentabelle, ob gesendet werden soll, was gesendet wird und an wen
3. Nachrichtenpersonentabelle, die Nachricht jeder Person wird extrahiert
Aufgabe eins: Scannen Sie die Aufgabentabelle. Wenn sie nicht gesendet wurde und die Zeit abgelaufen ist, fügen Sie ein Datenelement in die Nachrichtentabelle ein
Aufgabe zwei: Scannen Sie die Nachrichtentabelle, es gibt eine Nachricht. Senden Sie einfach Nachrichten entsprechend dem System. Es handelt sich um eine öffentliche Liste, die nicht unbedingt zum Senden von Geschenken verwendet wird

Es ist notwendig, die Anwendungsumgebung während des Webzugriffs und wann Benutzer darauf zugreifen

zu beurteilen

Um Ihre spezifischen Geschäftsanforderungen zu erkennen, sind mehrere Tabellen erforderlich. Eine Informationstabelle mit unkomplizierten Geschäftsanforderungen reicht aus. Wenn Sie das Timing einrichten, müssen Sie unbedingt ein Skript einrichten. Oder Sie können einen Dritten beauftragen, Jiguang Push

voranzutreiben

Datenwörterbuch
1 Die Benutzerinformationstabelle verwendet das Feld is_accept, um zu speichern, ob der Benutzer Nachrichtenaufforderungen aktiviert hat

2 Nachrichten-Push-Konfigurationstabelle erstellen
ID-Primärschlüssel
task_obj erweitertes Feld
Titeltitel
Inhalt Inhalt
on_time Endzeit
Status, ob die Plattform Nachrichtenaufforderungen aktiviert
Tage im Voraus Wie viele Tage im Voraus erinnert werden sollen (dieses Feld kann auch vom Benutzer festgelegt werden, es gibt eine Benutzerinformationstabelle, die es dem Benutzer ermöglicht, zu entscheiden, wann er erinnert werden soll)
Tipps, wie oft gedrückt werden soll
interval_time push Intervall (wie oft drückt derselbe Benutzer)
3 Nachrichten-Push-Protokolltabelle
ID-Primärschlüssel-ID
UID-Benutzer-ID
TID-Nachrichtenkonfigurations-ID
on_time Push-Push-Zeit

4 PHP-Geschäftslogik
//Alle Benutzer abrufen, deren Benutzertabelle is_accept ist, 1 Schleife

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

5 Implementierung
Wenn es sich um ein Linux-System handelt, wird empfohlen, den Systembefehl „curl“ zu verwenden.
Für ein Windows-System wird empfohlen, den Prozess-Daemon selbst zu schreiben oder urlcron zu verwenden

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!