// +---------------------------------------------------------------------- namespace app\services\message; use app\services\BaseServices; use crmeb\services\CacheService; /** * 站内信services类 * Class MessageSystemServices */ class NoticeService extends BaseServices { protected $noticeInfo; protected $event; /** * 设置 * @param string $event * @return $this * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function setEvent(string $event) { if ($this->event != $event) { $this->noticeInfo = CacheService::get('NOTICE_' . $event); if (!$this->noticeInfo) { /** @var SystemNotificationServices $services */ $services = app()->make(SystemNotificationServices::class); $noticeInfo = $services->getOneNotce(['mark' => $event]); $this->noticeInfo = $noticeInfo ? $noticeInfo->toArray() : []; CacheService::set('NOTICE_' . $event, $this->noticeInfo); } $this->event = $event; } return $this; } }