diff --git a/app/GoodInfo.php b/app/GoodInfo.php index 17ffce4..803bef6 100644 --- a/app/GoodInfo.php +++ b/app/GoodInfo.php @@ -6,5 +6,9 @@ use Illuminate\Database\Eloquent\Model; class GoodInfo extends Model { - protected $table='good_info'; + protected $table='good_info'; + public function user() + { + return $this->belongsTo('App\User'); + } } diff --git a/app/Http/Controllers/GoodController.php b/app/Http/Controllers/GoodController.php index 0d97f2d..2fc61d4 100644 --- a/app/Http/Controllers/GoodController.php +++ b/app/Http/Controllers/GoodController.php @@ -68,6 +68,9 @@ class GoodController extends Controller //对数量筛选只设下限 if(isset($input['start_count'])) $data['goods'] = $data['goods']->where('count', '>=', $input['start_count']); + else + $data['goods'] = $data['goods']->where('count', '>', 0); + // 最后在排序筛选baned==0以及paginate分页 // p为价格,c为数量,d为倒序,值相同时按id倒序排列 if(isset($input['sort'])){ @@ -126,7 +129,9 @@ class GoodController extends Controller $data = []; $data['cats'] = GoodCat::orderby('cat_index', 'asc')->get(); $data['good'] = GoodInfo::where('id', $good_id)->first(); - if($data['good'] == NULL) return View::make('common.errorPage')->withErrors('商品ID错误!'); + if($data['good']==NULL) return View::make('common.errorPage')->withErrors('商品ID错误!'); + if(($data['good']->baned) && ($data['good']->user_id != $request->session()->get('user_id') && !$request->session()->get('is_admin'))) + return View::make('common.errorPage')->withErrors('商品ID错误!'); $data['user'] = User::where('id', $data['good']->user_id)->first(); if($request->session()->has('user_id')) { @@ -345,4 +350,23 @@ class GoodController extends Controller return $image->response('jpg'); } + public function banGood(Request $request, $good_id) + { + $good = GoodInfo::find($good_id); + $good->baned = 1; + $good->update(); + + $admin_id = $request->session()->get('user_id'); + MessageController::sendMessageHandle($user_id, $admin_id, "【系统消息】您好!您的商品(编号:".$good_id.")由于不符合有关规定已被管理员(ID:".$admin_id.")下架。请在此消息下询问具体细节。"); + + $trans = Transaction::where('good_id', $good_id)->get(); + foreach($trans as $tran) + { + $tran->status = 0; + MessageController::sendMessageHandle($tran->buyer_id, 0, "【系统消息】您好!由于该商品不符合有关规定被下架,您的订单(编号:".$tran->id.")已被取消。非常抱歉。"); + } + + return Redirect::to('/good/'.$good_id); + } + } diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 2d14bae..0baf83d 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -312,12 +312,14 @@ class UserController extends Controller $user->banedtime = $input['count']; $user->banedstart = time(); $user->update(); + $event = new AdminEvent; $event->admin_id = $request->session()->get('user_id'); $event->target_user = $user_id; $event->event = "ban"; $event->message = $input['reason']; $event->save(); + return Redirect::to('/user/'.$user_id); } diff --git a/app/Http/routes.php b/app/Http/routes.php index 5fd383f..e350e47 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -70,10 +70,11 @@ Route::group(['middleware' => ['web']],function () { Route::get('/message/getNewMessageContact', "MessageController@getNewMessageContact"); Route::get('/message/getHistoryMessage', "MessageController@getHistoryMessage"); Route::get('/message/getNewMessage', "MessageController@getNewMessage"); - Route::get('/message/startConversation/{receiver}', "MessageController@startConversation"); - Route::get('/user/{user_id}/banpage', "UserController@banPage"); - Route::post('/setBan/{user_id}', "UserController@setBan"); - }); + Route::get('/message/startConversation/{receiver}', "MessageController@startConversation"); + }); + + Route::get('/user/{user_id}/banpage', "UserController@banPage")->middleware('admin'); + Route::post('/setBan/{user_id}', "UserController@setBan")->middleware('admin'); Route::get('/user/sell', "UserController@mygoods")->middleware('auth'); Route::get('/user/sell/trans', "UserController@sellerTrans")->middleware('auth'); @@ -104,6 +105,7 @@ Route::group(['middleware' => ['web']],function () { Route::get('/good/{good_id}', "GoodController@getInfo"); Route::get('/good/{good_id}/edit', "GoodController@showEditGood")->middleware('auth'); Route::post('/good/{good_id}/edit', "GoodController@editGood")->middleware('auth'); + Route::post('/good/{good_id}/ban', "GoodController@banGood")->middleware('admin'); Route::delete('/good/{good_id}/delete', "GoodController@deleteGood")->middleware('auth'); diff --git a/resources/views/good/goodList.blade.php b/resources/views/good/goodList.blade.php index f233e0b..312f782 100644 --- a/resources/views/good/goodList.blade.php +++ b/resources/views/good/goodList.blade.php @@ -71,7 +71,7 @@ - + @endforeach