www.gusucode.com > KPPW众包威客PHP开源建站系统 v3.0源码程序 > KPPW/app/Modules/User/Http/Controllers/MessageReceiveController.php
<?php namespace App\Modules\User\Http\Controllers; use App\Http\Controllers\UserCenterController; use App\Modules\User\Model\MessageReceiveModel; use Illuminate\Http\Request; use Auth; class MessageReceiveController extends UserCenterController { public function __construct() { parent::__construct(); $this->initTheme('userfinance'); } public function messageList(Request $request,$type) { $this->theme->setTitle('我的消息'); $arr = $request->all(); $user = Auth::User(); $userId = $user['id']; $typeInt = intval($type); $arrayData = [1,2,3,4]; if(in_array($typeInt,$arrayData)){ $type = $typeInt; }else{ $type = $arrayData[0]; } if($request->get('is_read') && $request->get('is_read') == 1) { switch ($type) { case 1: $message = MessageReceiveModel::where('js_id', $userId)->where('message_type', 1)->where('status', 0) ->orderBy('receive_time', 'DESC')->paginate(10)->toArray(); $messageCount = MessageReceiveModel::where('js_id', $userId)->where('message_type', 1)->where('status', 0)->count(); break; case 2: $message = MessageReceiveModel::where('js_id', $userId)->where('message_type', 2)->where('status', 0) ->orderBy('receive_time', 'DESC')->paginate(10)->toArray(); $messageCount = MessageReceiveModel::where('js_id', $userId)->where('message_type', 2)->where('status', 0)->count(); break; case 3: $message = MessageReceiveModel::where('message_receive.fs_id', $userId)->where('message_receive.message_type', 3)->where('message_receive.status', 0) ->leftJoin('users','users.id','=','message_receive.js_id') ->select('message_receive.*','users.name as username') ->orderBy('receive_time', 'DESC')->paginate(10)->toArray(); $messageCount = MessageReceiveModel::where('fs_id', $userId)->where('message_type', 3)->where('status', 0)->count(); break; case 4: $message = MessageReceiveModel::where('message_receive.js_id', $userId)->where('message_receive.message_type', 3)->where('message_receive.status', 0) ->leftJoin('users','users.id','=','message_receive.fs_id') ->select('message_receive.*','users.name as username') ->orderBy('receive_time', 'DESC')->paginate(10)->toArray(); $messageCount = MessageReceiveModel::where('js_id', $userId)->where('message_type', 3)->where('status', 0)->count(); break; } }elseif($request->get('is_read') && $request->get('is_read') == 2){ switch ($type) { case 1: $message = MessageReceiveModel::where('js_id', $userId)->where('message_type', 1)->where('status', 1) ->orderBy('receive_time', 'DESC')->paginate(10)->toArray(); $messageCount = MessageReceiveModel::where('js_id', $userId)->where('message_type', 1)->where('status', 0)->count(); break; case 2: $message = MessageReceiveModel::where('js_id', $userId)->where('message_type', 2)->where('status', 1) ->orderBy('receive_time', 'DESC')->paginate(10)->toArray(); $messageCount = MessageReceiveModel::where('js_id', $userId)->where('message_type', 2)->where('status', 0)->count(); break; case 3: $message = MessageReceiveModel::where('message_receive.fs_id', $userId)->where('message_receive.message_type', 3)->where('message_receive.status', 1) ->leftJoin('users','users.id','=','message_receive.js_id') ->select('message_receive.*','users.name as username') ->orderBy('receive_time', 'DESC')->paginate(10)->toArray(); $messageCount = MessageReceiveModel::where('fs_id', $userId)->where('message_type', 3)->where('status', 0)->count(); break; case 4: $message = MessageReceiveModel::where('message_receive.js_id', $userId)->where('message_receive.message_type', 3)->where('message_receive.status', 1) ->leftJoin('users','users.id','=','message_receive.fs_id') ->select('message_receive.*','users.name as username') ->orderBy('receive_time', 'DESC')->paginate(10)->toArray(); $messageCount = MessageReceiveModel::where('js_id', $userId)->where('message_type', 3)->where('status', 0)->count(); break; } } else { switch($type) { case 1: $message = MessageReceiveModel::where('js_id',$userId)->where('message_type',1) ->orderBy('receive_time','DESC')->paginate(10)->toArray(); $messageCount = MessageReceiveModel::where('js_id',$userId)->where('message_type',1)->where('status',0)->count(); break; case 2: $message = MessageReceiveModel::where('js_id',$userId)->where('message_type',2) ->orderBy('receive_time','DESC')->paginate(10)->toArray(); $messageCount = MessageReceiveModel::where('js_id',$userId)->where('message_type',2)->where('status',0)->count(); break; case 3: $message = MessageReceiveModel::where('message_receive.fs_id',$userId)->where('message_receive.message_type',3) ->leftJoin('users','users.id','=','message_receive.js_id') ->select('message_receive.*','users.name as username') ->orderBy('receive_time','DESC')->paginate(10)->toArray(); $messageCount = MessageReceiveModel::where('fs_id',$userId)->where('message_type',3)->where('status',0)->count(); break; case 4: $message = MessageReceiveModel::where('message_receive.js_id',$userId)->where('message_receive.message_type',3) ->leftJoin('users','users.id','=','message_receive.fs_id') ->select('message_receive.*','users.name as username') ->orderBy('receive_time','DESC')->paginate(10)->toArray(); $messageCount = MessageReceiveModel::where('js_id',$userId)->where('message_type',3)->where('status',0)->count(); break; } } $view = array( 'merge'=> $arr, 'message' => $message, 'type' => $type, 'uid' => $userId, 'new_count' => $messageCount ); return $this->theme->scope('user.messagelist', $view)->render(); } public function changeStatus($id,$type) { $id = intval($id); $data = array( 'status' => 1, 'read_time' => date('Y-m-d H:i:s',time()) ); $res = MessageReceiveModel::where('id',$id)->update($data); if($res) { return redirect('/user/messageList/'.$type); } else { return redirect('/user/messageList/'.$type); } } public function postChangeStatus(Request $request) { $id = $request->get('id'); if(!empty($id)){ $data = array( 'status' => 1, 'read_time' => date('Y-m-d H:i:s',time()) ); $res = MessageReceiveModel::where('id',$id)->update($data); if(!empty($res)){ $data = array( 'code' => 1, 'msg' => '修改成功' ); }else{ $data = array( 'code' => 0, 'msg' => '修改失败' ); } }else{ $data = array( 'code' => 0, 'msg' => '缺少参数' ); } return response()->json($data); } public function allChange(Request $request) { $arr = $request->all(); $status = $arr['status']; $ids = $arr['ids']; switch($status) { case 1: $data = array( 'status' => 1, 'read_time' => date('Y-m-d H:i:s',time()) ); $res = MessageReceiveModel::whereIn('id',$ids)->update($data); if($res) { return \GuzzleHttp\json_encode(array( 'code' => 1, 'msg' => '操作成功' )); } else { return \GuzzleHttp\json_encode(array( 'code' => 0, 'msg' => '操作失败' )); } break; case 2: $res = MessageReceiveModel::destroy($ids); if($res) { return \GuzzleHttp\json_encode(array( 'code' => 1, 'msg' => '操作成功' )); } else { return \GuzzleHttp\json_encode(array( 'code' => 0, 'msg' => '操作失败' )); } break; } } public function contactMe(Request $request) { $data = $request->all(); $user = Auth::User(); $userId = $user['id']; $arr = array( 'message_title' => $data['title'], 'message_content' => $data['content'], 'message_type' => 3, 'fs_id' => $userId, 'js_id' => $data['js_id'], 'receive_time' => date('Y-m-d H:i:s',time()) ); $res = MessageReceiveModel::create($arr); if($res) { return \GuzzleHttp\json_encode(array( 'code' => 1, 'msg' => '操作成功' )); } else { return \GuzzleHttp\json_encode(array( 'code' => 0, 'msg' => '操作失败' )); } } }