|
@@ -10,6 +10,7 @@ use App\Http\Params\UserReportParam;
|
|
use App\Models\Banner;
|
|
use App\Models\Banner;
|
|
use App\Services\DynamicService;
|
|
use App\Services\DynamicService;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Request;
|
|
|
|
+use Illuminate\Support\Facades\Cache;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\Validator;
|
|
use Illuminate\Support\Facades\Validator;
|
|
|
|
|
|
@@ -133,14 +134,18 @@ class DynamicController extends Controller
|
|
* 动态点赞
|
|
* 动态点赞
|
|
*/
|
|
*/
|
|
public function zan(Request $request){
|
|
public function zan(Request $request){
|
|
- DB::beginTransaction();
|
|
|
|
try {
|
|
try {
|
|
$user = auth('api')->user();
|
|
$user = auth('api')->user();
|
|
- $dynamic_zan_param = new DynamicZanParam();
|
|
|
|
- $dynamic_zan_param->user_id = $user->id;
|
|
|
|
- $dynamic_zan_param->dynamic_id = $request->id;
|
|
|
|
- $zan = $this->dynamicService->zan($dynamic_zan_param);
|
|
|
|
- DB::commit();
|
|
|
|
|
|
+ $lock = Cache::lock('dynamic-zan'.$user->id, 1);
|
|
|
|
+ if ($lock->get()) {
|
|
|
|
+ DB::beginTransaction();
|
|
|
|
+ $dynamic_zan_param = new DynamicZanParam();
|
|
|
|
+ $dynamic_zan_param->user_id = $user->id;
|
|
|
|
+ $dynamic_zan_param->dynamic_id = $request->id;
|
|
|
|
+ $zan = $this->dynamicService->zan($dynamic_zan_param);
|
|
|
|
+ DB::commit();
|
|
|
|
+ $lock->release();
|
|
|
|
+ }
|
|
}catch (\Exception $exception){
|
|
}catch (\Exception $exception){
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
return $this->response->errorForbidden($exception->getMessage());
|
|
return $this->response->errorForbidden($exception->getMessage());
|