You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.7 KiB
93 lines
2.7 KiB
<?php
|
|
|
|
namespace App\Http\Controllers\Api;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\ShopCollect;
|
|
use Illuminate\Support\Facades\Validator;
|
|
use App\Http\Resources\ShopCollect as ShopCollectResource;
|
|
|
|
class ShopCollectController extends ApiController
|
|
{
|
|
// 添加或取消收藏
|
|
public function addordelete(Request $request)
|
|
{
|
|
// 参数校验
|
|
$validator = Validator::make($request->all(),
|
|
[
|
|
'typeId' => 'required',
|
|
'valueId' => 'required|numeric',
|
|
],
|
|
[
|
|
'typeId.required' => '参数缺失',
|
|
'valueId.required' => '参数缺失',
|
|
'valueId.numeric' => '非法参数',
|
|
]
|
|
);
|
|
if ($validator->fails()) {
|
|
return $this->failed($validator->errors(), 403);
|
|
}
|
|
|
|
if(empty(\Auth::user()->id)){
|
|
$user_id = 0;
|
|
}else{
|
|
$user_id = \Auth::user()->id;
|
|
}
|
|
$where['user_id'] = $user_id;
|
|
$where['value_id'] = $request->valueId;
|
|
$where['type_id'] = $request->typeId;
|
|
$info = ShopCollect::getCollectDetail($where);
|
|
$type = 'add';
|
|
if(empty($info->value_id)){
|
|
// 添加
|
|
$newCollect = new ShopCollect();
|
|
$newCollect->user_id = $user_id;
|
|
$newCollect->value_id = $request->valueId;
|
|
$newCollect->type_id = $request->typeId;
|
|
$newCollect->add_time = time();
|
|
$newCollect->is_attention = ShopCollect::STATE_ATTENTION;
|
|
$newCollect->save();
|
|
return $this->success(['type'=>$type]);
|
|
}
|
|
if($info->is_attention == ShopCollect::STATE_ATTENTION){
|
|
$info->is_attention = ShopCollect::STATE_NOT_ATTENTION;
|
|
$info->save();
|
|
$type = 'del';
|
|
}else{
|
|
$info->is_attention = ShopCollect::STATE_ATTENTION;
|
|
$info->save();
|
|
}
|
|
return $this->success(['type'=>$type]);
|
|
|
|
}
|
|
|
|
/**
|
|
* 获取收藏列表
|
|
*/
|
|
public function getList(Request $request){
|
|
// 参数校验
|
|
$validator = Validator::make($request->all(),
|
|
[
|
|
'typeId' => 'required',
|
|
],
|
|
[
|
|
'typeId.required' => '参数缺失',
|
|
]
|
|
);
|
|
|
|
if ($validator->fails()) {
|
|
return $this->failed($validator->errors(), 403);
|
|
}
|
|
if(empty(\Auth::user()->id)){
|
|
$user_id = 0;
|
|
}else{
|
|
$user_id = \Auth::user()->id;
|
|
}
|
|
|
|
$list = ShopCollect::getList(['user_id'=>$user_id,'type_id'=>$request->typeId]);
|
|
return $this->success(ShopCollectResource::collection($list));
|
|
}
|
|
|
|
|
|
|
|
} |