/**
  * 保存回复数据.
  *
  * @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('保存成功');
 }
Esempio n. 3
0
 /**
  * 重建回复缓存.
  *
  * @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);
 }
Esempio n. 4
0
 /**
  * 处理未匹配时的回复.
  *
  * @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('保存成功');
 }
Esempio n. 6
0
 /**
  * 未匹配时的默认回复.
  *
  * @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']);
 }
Esempio n. 7
0
 /**
  * 更改自动回复内容.
  *
  * @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);
 }