mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-06-26 20:52:44 +08:00
45 lines
1.0 KiB
PHP
45 lines
1.0 KiB
PHP
<?php
|
|
/**
|
|
* @copyright Copyright (c) 2021 深圳市酷瓜软件有限公司
|
|
* @license https://opensource.org/licenses/GPL-2.0
|
|
* @link https://www.koogua.com
|
|
*/
|
|
|
|
namespace App\Listeners;
|
|
|
|
use App\Models\ImMessage as ImMessageModel;
|
|
use App\Services\Logic\Point\History\ImDiscuss as ImPointHistory;
|
|
use Phalcon\Events\Event as PhEvent;
|
|
|
|
class ImMessage extends Listener
|
|
{
|
|
|
|
public function afterCreate(PhEvent $event, $source, ImMessageModel $message)
|
|
{
|
|
$this->handleDiscussPoint($message);
|
|
}
|
|
|
|
protected function handleDiscussPoint(ImMessageModel $message)
|
|
{
|
|
$todayDate = date('Ymd');
|
|
|
|
$keyName = sprintf('im_discuss:%s:%s', $message->sender_id, $todayDate);
|
|
|
|
$cache = $this->getCache();
|
|
|
|
$content = $cache->get($keyName);
|
|
|
|
if ($content) return;
|
|
|
|
$service = new ImPointHistory();
|
|
|
|
$service->handle($message);
|
|
|
|
$tomorrow = strtotime($todayDate) + 86400;
|
|
|
|
$lifetime = $tomorrow - time();
|
|
|
|
$cache->save($keyName, 1, $lifetime);
|
|
}
|
|
|
|
} |