request->getPost(); $user = $this->getLoginUser(); $chapter = $this->checkChapter($post['chapter_id']); $validator = new UserDailyLimitValidator(); $validator->checkDanmuLimit($user); $validator = new DanmuValidator(); $danmu = new DanmuModel(); $data = []; $data['text'] = $validator->checkText($post['text']); $data['time'] = $validator->checkTime($post['time']); $data['course_id'] = $chapter->course_id; $data['chapter_id'] = $chapter->id; $data['user_id'] = $user->id; $data['color'] = 'white'; $data['published'] = 1; $danmu->create($data); $this->incrUserDailyDanmuCount($user); return $danmu; } protected function incrUserDailyDanmuCount(UserModel $user) { $this->eventsManager->fire('userDailyCounter:incrDanmuCount', $this, $user); } }