hujiao-gui/app/Http/Controllers/Chat/MessageController.php

89 lines
2.5 KiB
PHP

<?php
namespace App\Http\Controllers\Chat;
use App\Http\Controllers\Controller;
use App\Models\Message;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\View;
class MessageController extends Controller
{
public function index(Request $request)
{
if ($request->ajax()){
$type = $request->input('type');
$res = Message::query();
if ($type==2){ //通知
$res = $res->where('send_user_id','=',0)
->where('accept_user_id','=',$request->user()->id)
->where('read','=',0);
}elseif ($type==3){ //私信
$res = $res->where('send_user_id','>',0)->where('accept_user_id','=',$request->user()->id);
}
$res = $res->orderBy('read','asc')->orderByDesc('id')->paginate($request->input('limit',30));
return $this->success('ok',$res->items(),$res->total());
}
return View::make('chat.message.index');
}
public function create()
{
return View::make('chat.message.create');
}
public function store(Request $request)
{
$data = $request->all(['title','content','accept_user_ids']);
$res = push_message(['title'=>$data['title'],'content'=>$data['content']],$data['accept_user_ids'],$request->user()->id);
if ($res){
return $this->success();
}
return $this->success();
}
public function read(Request $request)
{
$ids = $request->input('ids');
if (empty($ids)){
return $this->error('请选择操作项');
}
try {
Message::query()->whereIn('id',$ids)->update(['read'=>1]);
return $this->success();
}catch (\Exception $exception){
Log::error('标记为已读操作异常:'.$exception->getMessage());
return $this->error();
}
}
public function show(Request $request,$id)
{
$model = Message::query()->where('id',$id)->first();
return View::make('chat.message.show',compact('model'));
}
public function destroy(Request $request)
{
$ids = $request->get('ids');
if (empty($ids)){
return $this->error('请选择删除项');
}
try{
Message::destroy($ids);
return $this->success();
}catch (\Exception $exception){
Log::error('删除消息异常:'.$exception->getMessage());
return $this->error();
}
}
}