12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2019-06-12
- * Time: 16:30
- */
- namespace App\Repositories;
- use App\Models\Activities;
- use Dingo\Api\Http\Response;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Database\QueryException;
- use Illuminate\Support\Facades\Log;
- class ActivitiesRepository {
- public function __construct(Activities $activities) {
- $this->activities = $activities;
- }
- //列表
- public function index($request){
- $perPage = isset($request['per_page']) ? $request['per_page'] : 20;
- $where = [];
- if(isset($request['name'])){
- $where[] = ['name', 'like', "%{$request['name']}%"];
- }
- return $this->activities->where($where)->paginate($perPage);
- }
- //详情
- public function view($request){
- return $this->activities->where(['id'=>$request['id']])->first();
- }
- //创建
- public function create($request){
- $activities = $this->activities->where(['name'=>$request['name']])->first();
- if($activities){
- return Response::create([
- 'message' => '该活动已存在',
- 'status_code' => 500
- ]);
- }
- $data = [
- 'name' => $request['name'],
- 'content' => $request['content'],
- ];
- DB::beginTransaction();
- try{
- $this->activities->create($data);
- DB::commit();
- return Response::create();
- }catch (QueryException $exception){
- DB::rollBack();
- Log::debug('新增活动:'.$exception->getMessage());
- return Response::create([
- 'message' => '新增活动失败,请重试',
- 'error' => $exception->getMessage(),
- 'status_code' => 500
- ]);
- }
- }
- public function edit($request){
- $activities = $this->activities->where(['id'=>$request['id']])->first();
- if(!$activities){
- return Response::create([
- 'message' => '该活动不存在',
- 'status_code' => 500
- ]);
- }
- $activities->content = $request['content'];
- $activities->name = $request['name'];
- DB::beginTransaction();
- try{
- $activities->save();
- DB::commit();
- return Response::create();
- }catch (QueryException $exception){
- DB::rollBack();
- Log::debug('编辑活动:'.$exception->getMessage());
- return Response::create([
- 'message' => '编辑活动失败,请重试',
- 'error' => $exception->getMessage(),
- 'status_code' => 500
- ]);
- }
- }
- }
|