memberGroup = $memberGroup; $this->memberGroupInfo = $memberGroupInfo; } //列表 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->memberGroup->where($where)->paginate($perPage); } //详情 public function view($request){ return $this->memberGroup->where(['id'=>$request['id']])->first(); } //创建 public function create($request){ $memberGroup = $this->memberGroup->where(['name'=>$request['name']])->first(); if($memberGroup){ return Response::create([ 'message' => '该分组已存在', 'status_code' => 500 ]); } $data = [ 'name' => $request['name'], 'is_suggest' =>$request['is_suggest'], ]; if(!empty($request['member_list'])){ $member_ids = explode(',', $request['member_list']); } $count =$member_ids; DB::beginTransaction(); try{ if($request['is_suggest'] == 1){ $_memberGroup = $this->memberGroup->where(['is_suggest'=>1])->first(); if($_memberGroup){ $this->memberGroup->where(['id'=>$_memberGroup->id])->update(['is_suggest'=>0]); } } $res = $this->memberGroup->create($data); if($res){ if($member_ids){ $member_data = []; foreach($member_ids as $value){ $member_data[] = [ 'member_group_id' => $res->id, 'uid' => $value, ]; } $this->memberGroupInfo->insert($member_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){ $memberGroup = $this->memberGroup->where(['id'=>$request['id']])->first(); if(!$memberGroup){ return Response::create([ 'message' => '该分组不存在', 'status_code' => 500 ]); } $memberGroup->name = $request['name']; $memberGroup->name = $request['name']; if(!empty($request['member_list'])){ $member_ids = explode(',', $request['member_list']); } DB::beginTransaction(); try{ if($request['is_suggest'] == 1){ $_memberGroup = $this->memberGroup->where(['is_suggest'=>1])->where('id','<>',$memberGroup->id)->first(); if($_memberGroup){ $this->memberGroup->where(['id'=>$_memberGroup->id])->update(['is_suggest'=>0]); } } $group = $memberGroup->save(); if($group){ //删除 $this->memberGroupInfo->where(['member_group_id'=>$memberGroup->id])->delete(); $member_data = []; foreach($member_ids as $value){ $member_data[] = [ 'member_group_id' => $memberGroup->id, 'uid' => $value, ]; } $this->memberGroupInfo->insert($member_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 delete($id){ $memberGroup = $this->memberGroup->where(['id'=>$id])->first(); if($memberGroup->is_suggest == 1){ return Response::create([ 'message' => '该用户组推荐中无法删除,请关闭推荐后删除', 'status_code' => 500 ]); } DB::beginTransaction(); try{ $res = $this->memberGroup->where('id',$id)->delete(); if($res){ $this->memberGroupInfo->where('member_group_id',$id)->delete(); } if(!$res){ return Response::create([ 'message' => '删除失败', 'status_code' => 500 ]); } 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 deleteMemberInfo($id){ $res = $this->memberGroupInfo->where('id',$id)->delete(); if(!$res){ return Response::create([ 'message' => '删除失败', 'status_code' => 500 ]); } return Response::create(); } public function setIsSuggest($request){ $memberGroup = $this->memberGroup->where('id',$request['id'])->first(); if(!$memberGroup){ return Response::create([ 'message' => '该分组不存在', 'status_code' => 500 ]); } DB::beginTransaction(); try{ if($request['is_suggest'] == 1){ $_memberGroup = $this->memberGroup->where(['is_suggest'=>1])->first(); if($_memberGroup){ $this->memberGroup->where(['id'=>$_memberGroup->id])->update(['is_suggest'=>0]); } } $memberGroup->is_suggest = $request['is_suggest']; $memberGroup->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 ]); } } }