input('gzh_id'); $gzhIsEnabled = $request->input('gzh_is_enabled'); $result = DB::table('yinliu_gzh_config as a') ->leftJoin('wechat_authorization_infos as b', 'a.gzh_id','=', 'b.id') ->when($gzhId, function ($query, $gzhId){ return $query->where('a.gzh_id', $gzhId); })->when($gzhIsEnabled, function ($query, $gzhIsEnabled) { return $query->where('b.is_enabled', $gzhIsEnabled); }) ->where([ 'a.uid' => $this->getLoginUserId(), 'a.is_enabled' => 1, ])->select('a.*', 'b.nick_name as gzh_nick_name', 'b.is_enabled as gzh_is_enabled') ->orderBy('a.id','desc') ->paginate($request->input('limit', 20)); foreach ($result as $item) { $item->focus_type_str = 1 == $item->focus_type ? '公众号引流' : ''; $item->link_type_str = 1 == $item->link_type ? '关注链接' : '关注二维码'; } return $result; } /** * 添加 * @param Request $request */ public function save(Request $request) { $this->validate($request, [ 'focus_type' => 'required|in:1', 'gzh_id' => 'required', // 播放页弹窗设置:1-强制关注,2-引导关注,3-不关注 'pop_type' => 'required|in:1,2,3', // pop_type == 2 时,弹窗设置:1-仅设置剧集弹窗,2-设置剧集及后每集弹窗 'pop_type_sub' => 'required_if:pop_type,2|in:1,2', 'link_type' => 'required|in:1,2', 'link_url' => 'required', ]); $data = $request->only('focus_type', 'gzh_id', 'pop_type', 'link_type', 'link_url'); if(2 != $data['pop_type']) { $data['pop_type_sub'] = 0; } $uid = $this->getLoginUserId(); if($request->input('id')) { YinliuGzhConfigModel::where([ 'id' => $request->input('id'), 'uid' => $uid ])->update($data); } else { $data['uid'] = $uid; YinliuGzhConfigModel::create($data); } return 'ok'; } /** * 删除 * @param Request $request */ public function delete(Request $request) { $this->validate($request, [ 'id' => 'required' ]); YinliuGzhConfigModel::where([ 'id' => $request->input('id'), 'uid' => $this->getLoginUserId() ])->update([ 'is_enabled' => 0 ]); return 'ok'; } }