middleware('auth')->except(['verification']); view()->share('nav', 1); } public function index(Request $request) { $sellers = Seller::with(['storage'])->orderBy('sort', 'desc')->get(); return view('sellers.index', compact('sellers')); } public function show(Seller $seller) { $favorite = \Auth::user()->sellerFavorite()->where('item_id', $seller->id)->first(); $lists = SellerTeacher::where('seller_id', $seller->id)->get(); $user = Auth::user(); return view('sellers.show', compact('seller', 'favorite', 'lists', 'user')); } //商户管理 public function seller(Request $request) { $type = $request->type ?? 'activity'; $status = $request->status ?? ''; $seller = Auth::user()->seller; if (!$seller || $seller->type != 'seller') { return redirect()->route('user.index'); } if ($type == 'activity') { $lists = Activity::with('seller')->where('seller_id', $seller->id)->get(); } else { $lists = ActivityLog::with(['activity.seller'])->whereHas('activity', function ($query) use ($seller) { $query->where('seller_id', $seller->id); })->whereHas('order', function ($query) { $query->whereNotNull('paid_at'); })->when($status, function ($query) use ($status) { switch ($status) { case 1: $query->whereNotNull('used_at'); break; case 2: $query->whereNull('used_at'); break; } })->orderBy('created_at', 'desc')->get(); } return view('sellers.seller', compact('type', 'lists', 'status')); } //机构管理 public function organ(Request $request) { $type = $request->type ?? 'lesson'; $user = Auth::user(); $organ = $user->organ; //有机构 并且身份是机构负责人 if (!$organ || $user->identity->identity_id !== 3) { return redirect()->route('user.index'); } if ($type == 'lesson') { $lists = SellerLesson::where('seller_id', $organ->id)->get(); } else { $lists = SellerLessonLog::whereHas('lesson', function ($query) use ($organ) { $query->where('seller_id', $organ->id); })->whereHas('order', function ($query) { $query->whereNotNull('paid_at'); })->orderBy('created_at', 'desc')->get(); } return view('sellers.organ', compact('type', 'lists')); } //机构内课程 public function lessons(Request $request, Seller $seller) { $lists = $seller->lesson; return view('sellers.lessons', compact('seller', 'lists')); } //核销 public function verification(Request $request) { $orderid = $request->orderid; $order = Order::with(['details', 'user.info'])->where('id', $orderid)->first(); if ($request->isMethod('POST')) { if (Auth::guest()) { return $this->error('您没有登录', route('login')); } $user = Auth::user(); if (!$user->seller) { return $this->error('您没有审核权限'); } if (!$order->canActivityAudit()) { return $this->error('订单状态不对'); } if ($order->item_type != 'ACTIVITY') { return $this->error('订单类型不对'); } if (!$order->activitylog) { return $this->error('没有查到这个服务的购买记录'); } if (!$order->activitylog->activity) { return $this->error('没有这个服务'); } elseif ($order->activitylog->activity->status === 0) { return $this->error('服务还未开始'); } elseif ($order->activitylog->activity->status == '-1') { return $this->error('服务已经结束'); } if ($order->activitylog->activity->seller->id != $user->seller->id) { return $this->error('您没有这个服务的审核权限'); } if ($order->activitylog()->update(['scan_people_id' => $user->id, 'used_at' => Carbon::today()->toDateTimeString()])) { $order->used(); return $this->success('审核成功', url()->full()); } else { return $this->error('审核失败'); } } else { return view('sellers.verification', compact('order')); } } }