getLoginUser()->id; $name = $request->get('name'); $play_name = $request->get('play_name'); $company = $request->get('company'); $type = $request->get('type'); $page_size = $request->input('limit', 15); $where = []; if($name){ $where[] = ['name','like','%'.$name.'%']; } if($play_name){ $where[] = ['play_name','like','%'.$play_name.'%']; } if($company){ $where[] = ['company','like','%'.$company.'%']; } if($type){ $where[] = ['type','=',$type]; } if(UserService::userHasRole($uid,'administrator')){ $result = $this->miniprogram->where($where)->orderBy('id','desc')->paginate($page_size); }else{ $result = $this->userHasMiniprograms->join('miniprogram','miniprogram.id','=','user_has_miniprograms.miniprogram_id') ->where('user_has_miniprograms.is_enabled',1) ->where('uid',$uid) ->where($where) ->select('miniprogram.*') ->paginate($page_size); } foreach($result as $item){ $item->type_name = MiniprogramType::from($item->type)->name(); $item->status_name = $item->status == 1 ?'启用':'禁用'; } return $result; } /** * 添加小程序 * * @param MiniprogramRequest $request * @return void */ public function store(MiniprogramRequest $request) { $validate_result = $request->validated(); $validate_result['remark'] = $request->post('remark','') ?? ''; return $this->miniprogram->create($validate_result)->toArray(); } /** * 小程序详情 * * @param [type] $id * @return void */ public function show($id) { return $this->miniprogram->find($id)->toArray(); } /** * 更新小程序 * * @param [type] $id * @param MiniprogramUpdateRequest $request * @return void */ public function update($id, MiniprogramUpdateRequest $request) { $validate_result = $request->validated(); if($request->post('remark','')){ $validate_result['remark'] = $request->post('remark',''); } $this->miniprogram->where('id',$id)->update($validate_result); return []; } /** * 小程序类型列表 * * @return array [ ['name'=>'微信小程序','id'=>1],[],[] ] */ public function typeList(){ $type_list = MiniprogramType::cases(); $data = array_map( fn($item)=>['name'=>$item->name(),'value'=>$item->value()],$type_list ); return $data; } /** * 获取所有公司 * * @return void */ public function companyList(){ return $this->miniprogram->select(DB::raw('distinct company'))->get()->pluck('company'); } }