完成举报相关功能

This commit is contained in:
LI JIAHAO
2017-06-12 17:00:37 +08:00
parent 98331544d0
commit 1c0ca4ca95
8 changed files with 64 additions and 75 deletions
+21 -3
View File
@@ -55,7 +55,7 @@ class AdminController extends Controller
{
$input = $request->all();
$user = User::find($user_id);
$user->priviledge = $input['priviledge'];
$user->privilege = $input['privilege'];
$user->update();
return Redirect::to('/admin');
}
@@ -142,12 +142,30 @@ class AdminController extends Controller
return Redirect::to('/admin');
}
public function assignReport(Request $request, $repo_id)
{
$user_id = $request->session()->get('user_id');
$repo = Ticket::find($repo_id);
$repo->assignee = $user_id;
$repo->state = 0;
$repo->save();
$result = MessageController::sendMessageHandle($user_id, $repo->sender_id, "【系统消息】您好!您的举报(编号:" . $repo_id . ")已由管理员(ID: " . $user_id . ")受理。请协助管理员核实举报具体细节。");
$result = json_decode($result);
if($result->result)
return Redirect::to('/message');
else
return View::make('common.errorPage')->withErrors($result->msg);
}
public function solveReport(Request $request, $repo_id)
{
$input = $request->all();
$repo = Ticket::find($repo_id);
$repo->state = $input['setstate'];
$repo->update();
if($repo->assignee == $request->session()->get('user_id')) {
$repo->state = $input['setstate'];
$repo->update();
}
return Redirect::to('/admin');
}
+13 -8
View File
@@ -75,29 +75,28 @@ class MessageController extends Controller
return json_encode(['result' => true, 'msg' => 'success']);
}
public function sendMessage(SendMessageRequest $request)
static public function sendMessageHandle($sender, $receiver, $content)
{
$input = $request->all();
if (!User::where('id', $input['receiver'])->count())
if (!User::where('id', $receiver)->count())
return json_encode(['result' => false, 'msg' => 'no such receiver']);
//Create Message
$message = new Message;
$user_id = $request->session()->get('user_id');
$message->content = $input['content'];
$user_id = $sender;
$message->content = $content;
$message->sender_id = $user_id;
$message->receiver_id = $input['receiver'];
$message->receiver_id = $receiver;
$message->save();
//Create or Update MessageContact
//A->B
$contact = MessageContact::firstOrNew([
'user_id' => $user_id,
'contact_id' => $input['receiver']
'contact_id' => $receiver
]);
$contact->last_contact_time = time();
$contact->save();
//B->A
$contact = MessageContact::firstOrNew([
'user_id' => $input['receiver'],
'user_id' => $receiver,
'contact_id' => $user_id
]);
$contact->last_contact_time = time();
@@ -106,6 +105,12 @@ class MessageController extends Controller
return json_encode(['result' => true, 'msg' => $message]);
}
public function sendMessage(SendMessageRequest $request)
{
$input = $request->all();
return $this->sendMessageHandle($request->session()->get('user_id'), $input['receiver'], $input['content']);
}
public function sendMessagepage(Request $request)
{
return View::make('message.sendMessage');
+3 -3
View File
@@ -282,9 +282,9 @@ class UserController extends Controller
/*
* 评价type=1 举报type=2
* 发布未领取state=0
* 已领取未处理state=1
* 已处理state=2
* 发布未领取 assignee = false
* 已领取未处理 assignee = true, state=0
* 批准(显示在用户页)state=2 驳回 state=1
*/
public function sendRepo(Request $request, $seller_id)
{
+1 -5
View File
@@ -90,6 +90,7 @@ Route::group(['middleware' => ['web']],function () {
Route::get('/report/{seller_id}', "UserController@reportSeller")->middleware('auth');
Route::post('/sendRepo/{seller_id}', "UserController@sendRepo");
Route::post('/repo/{repo_id}/assign', "AdminController@assignReport")->middleware('admin');
Route::post('/repo/{repo_id}/solve', "AdminController@solveReport")->middleware('admin');
Route::get('/good', "GoodController@getList");
@@ -185,9 +186,4 @@ Route::group(['middleware' => ['web']],function () {
"middleware" => "admin"
]);
// Route::match(['post','get'],'/announcement',[
// "uses" => "AdminController@getAnnouncement",
// "middleware" => "auth"
// ]);
});
@@ -16,12 +16,12 @@ class CreateTicketsTable extends Migration
Schema::create('tickets', function (Blueprint $table) {
$table->increments('id');
$table->integer('sender_id');
$table->integer('trans_id');
$table->integer('trans_id')->nullable();
$table->integer('receiver_id');
$table->tinyInteger('type');
$table->string('message');
$table->integer('assignee');
$table->integer('state');
$table->string('message')->nullable();
$table->integer('assignee')->nullable();
$table->integer('state')->nullable();
$table->timestamps();
});
}
@@ -1,15 +0,0 @@
@extends('layout.master')
@section('title', "通知")
@section('content')
<div class="page-content">
@foreach($announcements as $announcement)
{{$announcement->title}}<br>
{{$announcement->content}}<br>
{{$announcement->created_at}}<br>
@endforeach
</div>
@endsection
+22 -20
View File
@@ -101,31 +101,33 @@
<td>{{ $repo->id }}</td>
<td>{{ $repo->sender_id }}</td>
<td>{{ $repo->receiver_id }}</td>
@if($repo->state == 0)
<td>无</td>
<td>未领取</td>
@if(!$repo->assignee)
<td>
<form action="/repo/{{ $repo->id }}/solve" method="POST">
<form action="/repo/{{ $repo->id }}/assign" method="POST">
{!! csrf_field() !!}
<input type="submit" class="button" value="领取">
<input type="hidden" name="setstate" value="1">
</form>
</td>
@endif
@if($repo->state == 1)
<td>{{ $repo->assignee }}</td>
<td>已领取未处理</td>
<td>
<form action="/repo/{{ $repo->id }}/solve" method="POST">
{!! csrf_field() !!}
<input type="submit" class="button" value="完成">
<input type="hidden" name="setstate" value="2">
</form>
</td>
@endif
@if($repo->state == 2)
<td>{{ $repo->assignee }}</td>
<td>已处理</td>
<td>未领取</td>
@else
<td>{{ $repo->assignee }}</td>
@if(!$repo->state)
@if(session('user_id') == $repo->assignee)
<td>
<form action="/repo/{{ $repo->id }}/solve" method="POST">
{!! csrf_field() !!}
<input type="hidden" name="setstate" value="1">
<input type="submit" class="button" value="完成">
</form>
</td>
@else
<td>已领取未处理</td>
@endif
@elseif($repo->state == 1)
<td>已驳回</td>
@elseif($repo->state == 2)
<td>已批准</td>
@endif
@endif
</tr>
</tbody>
@@ -1,17 +0,0 @@
@extends('layout.master')
@section('title', "发布通知")
@section('content')
<div class="page-content">
<form action="/sendannouncement" method="POST">
Title:<input type="text" name="title"><br/>
Content:<textarea name="content" row="15" cols="45"></textarea><br/>
{!! csrf_field() !!}
<input type="submit" value="Send"><br/>
</form>
</div>
@endsection