123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?php
- namespace Modules\Yinliu\Http\Controllers;
- use Catch\Base\CatchController;
- use Illuminate\Foundation\Validation\ValidatesRequests;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\DB;
- use Modules\Yinliu\Models\YinliuGzhConfigModel;
- /**
- * 引流管理
- */
- class YinliuManageController extends CatchController
- {
- use ValidatesRequests;
- /**
- * 列表
- * @param Request $request
- */
- public function list(Request $request) {
- $gzhId = $request->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';
- }
- }
|