|
|
@@ -9,6 +9,7 @@ use App\Services\ActivityRewardService;
|
|
|
use App\Services\ActivityUserService;
|
|
|
use App\Services\UserService;
|
|
|
use Illuminate\Http\JsonResponse;
|
|
|
+use Illuminate\Support\Facades\DB;
|
|
|
use Illuminate\Validation\ValidationException;
|
|
|
use Exception;
|
|
|
|
|
|
@@ -18,6 +19,7 @@ class ActivityReward extends BaseController
|
|
|
|
|
|
public function participate(): JsonResponse
|
|
|
{
|
|
|
+ DB::beginTransaction();
|
|
|
try {
|
|
|
request()->validate([
|
|
|
'member_id' => ['required', 'integer', 'exists:users,member_id'],
|
|
|
@@ -57,9 +59,12 @@ class ActivityReward extends BaseController
|
|
|
'member_id' => $memberId,
|
|
|
'status' => 0
|
|
|
]);
|
|
|
+ DB::commit();
|
|
|
} catch (ValidationException $e) {
|
|
|
+ DB::rollBack();
|
|
|
return $this->error($e->validator->errors()->first());
|
|
|
} catch (Exception $e) {
|
|
|
+ DB::rollBack();
|
|
|
return $this->error($e->getMessage(), [], $e->getCode());
|
|
|
}
|
|
|
return $this->success();
|