/** * 保存回复数据. * * @param Request $request * * @return \Illuminate\Http\JsonResponse */ public function store(Request $request) { $input = $request->all(); $reply = $this->replyRepository->getSubscribeReply(); if ($reply) { $this->replyRepository->update($input, $reply->id); } else { $input['type'] = Reply::TYPE_SUBSCRIBE; $this->replyRepository->create($input); } return success('保存成功'); }
/** * 保存回复数据. * * @param Request $request */ public function store(Request $request) { $input = $request->all(); $reply = $this->replyRepository->getDefaultReply(); if ($reply) { $this->replyRepository->update($input, $reply->id); } else { $input['type'] = Reply::TYPE_DEFAULT; $this->replyRepository->create($input); } return success('保存成功'); }
/** * 重建回复缓存. * * @param int $accountId 公众号ID */ public function rebuildReplyCache($accountId) { $replies = $this->replyRepository->all($accountId); if (empty($replies)) { Cache::forget('replies_' . $accountId); } $caches = []; foreach ($replies as $reply) { foreach ($reply['trigger_keywords'] as $keyword) { $caches[$keyword]['type'] = $reply['trigger_type']; $caches[$keyword]['content'] = $reply['content']; } } Cache::forever('replies_' . $accountId, $caches); }
/** * 处理未匹配时的回复. * * @return Response */ private function handleNoMatch($account) { $event = $this->replyRepository->getNoMatchReply($account->id); $eventId = $event['content'][0]; return $eventId ? $this->messageService->eventToMessage($eventId) : $this->messageService->emptyMessage(); }
public function postUpdate(Request $request) { $this->replyRepository->store($request, \Session::get('account_id')); return success('保存成功'); }
/** * 未匹配时的默认回复. * * @param AccountModel $account 公众号 * @param array $message 消息 * * @return Response */ private function handleDefault(AccountModel $account, $message) { $reply = $this->replyRepository->skipCriteria()->getDefaultReply($account->id); return $this->messageService->makeText($reply['content']); }
/** * 更改自动回复内容. * * @param UpdateRequest $request request * @param int $id id * * @return array */ public function postUpdate(UpdateRequest $request, $id) { $reply = $this->replyRepository->update($id, $request, $this->account()->id); return $this->replyService->resolveReply($reply); }