fav_num and add, del fav test

This commit is contained in:
LI JIAHAO
2017-05-14 19:39:13 +08:00
parent b8f8f35f97
commit ca2da0d0eb
5 changed files with 24 additions and 34 deletions
+9 -23
View File
@@ -315,40 +315,26 @@ class GoodController extends Controller
return view::make('good.goodList')->with($data);
}
/*
* @funtion about Favlist
* @input $request (use query) $good_id
=======
* @funtion addFavlist
* @input $request (use query)
>>>>>>> Stashed changes
*
* @return Redirect or View
* @description Process the query and add good to certain user's
* favorite list or delete good from certain user's
* favorite list
*/
public function addFavlist(Request $request, $good_id)
{
if(!$request->session()->has('user_id'))
return Redirect::back();
$fav = new FavList;
$fav->user_id = $request->session()->get('user_id');
$fav->good_id = $good_id;
$fav->save();
return Redirect::to('/good/'.$good_id);
$good = GoodInfo::find($good_id);
$good->fav_num++;
$good->save();
return json_encode(['msg' => 'success']);
}
public function delFavlist(Request $request, $good_id)
{
if(!$request->session()->has('user_id'))
return Redirect::back();
$user_id = $request->session()->get('user_id');
$items = FavList::where('user_id', $user_id)->where('good_id', $good_id)->get();
foreach($items as $item) $del_id = FavList::find($item->id);
$del_id->delete();
return Redirect::to('/good/'.$good_id);
FavList::where('user_id', $user_id)->where('good_id', $good_id)->delete();
$good = GoodInfo::find($good_id);
$good->fav_num--;
$good->save();
return json_encode(['msg' => 'success']);
}
public function getSimpleTitlePic(Request $request, $good_id)
+3 -10
View File
@@ -70,6 +70,9 @@ Route::group(['middleware' => ['web']],function () {
Route::get('/good/{good_id}/titlepic', "GoodController@getSimpleTitlePic");
Route::get('/good/{good_id}/titlepic/{width}/{height}', "GoodController@getTitlePic");
Route::post('/good/{good_id}/add_favlist', "GoodController@addFavlist")->middleware('auth');
Route::delete('/good/{good_id}/del_favlist', "GoodController@delFavList")->middleware('auth');
//------Above are tested function
Route::get('/user/{user_id}/edit', [
@@ -130,16 +133,6 @@ Route::group(['middleware' => ['web']],function () {
"middleware" => "auth"
]);
Route::get('/good/{good_id}/add_favlist', [
"uses" => "GoodController@addFavlist",
"middleware" => "auth"
]);
Route::delete('/good/{good_id}/del_favlist', [
"uses" => "GoodController@delFavList",
"middleware" => "auth"
]);
Route::get('/good/{good_id}/check', [
"uses" => "AdminController@checkGood",
"middleware" => "admin"
@@ -23,6 +23,7 @@ class CreateGoodInfoTable extends Migration
$table->integer('count');
$table->boolean('baned');
$table->boolean('stared');
$table->integer('fav_num')->default(0);
$table->timestamps();
});
}
+1 -1
View File
@@ -89,7 +89,7 @@
return ($(this).attr("name") + '=' + $(this).val());
}).get().join("&");
$.ajax({
type: "GET",
type: "POST",
url: "/good/{{ $good->id }}/add_favlist",
data: str_data,
success: function (msg) {
+10
View File
@@ -89,6 +89,15 @@ class GoodTest extends BrowserKitTestCase
->dontSee('修改');
}
public function testFavList()
{
$this->withSession(['user_id' => 1])
->post('/good/1/add_favlist')
->see('success')
->delete('/good/1/del_favlist')
->see('success');
}
public function testEditGood()
{
//test edit good
@@ -170,4 +179,5 @@ class GoodTest extends BrowserKitTestCase
->visit('/good/1/edit')
->see('商品ID错误');
}
}