更新代码
This commit is contained in:
146
app/Admin/Controllers/LessonController.php
Normal file
146
app/Admin/Controllers/LessonController.php
Normal file
@@ -0,0 +1,146 @@
|
||||
<?php
|
||||
|
||||
namespace App\Admin\Controllers;
|
||||
|
||||
use App\Models\Category;
|
||||
use App\Models\Seller;
|
||||
use App\Models\SellerLesson;
|
||||
use App\Models\SellerLessonLog;
|
||||
use Illuminate\Http\Request;
|
||||
use Validator;
|
||||
|
||||
class LessonController extends Controller
|
||||
{
|
||||
|
||||
public function index(Request $request)
|
||||
{
|
||||
if (\Admin::id() != 1 && \Admin::user()->seller->type != 'organ') {
|
||||
return $this->error('您没有权限');
|
||||
}
|
||||
$title = $request->title;
|
||||
$orderField = $request->orderField;
|
||||
$orderDirection = $request->orderDirection;
|
||||
$numPerPage = $request->numPerPage ?: 30;
|
||||
|
||||
$lists = SellerLesson::with('organ')
|
||||
->withCount('logs')
|
||||
->when($title, function ($query) use ($title) {
|
||||
$query->where('title', 'like', "%" . $title . "%");
|
||||
})
|
||||
->when($orderField, function ($query) use ($orderField, $orderDirection) {
|
||||
$query->orderBy($orderField, $orderDirection);
|
||||
})
|
||||
->paginate($numPerPage);
|
||||
|
||||
return view('Admin::lesson.index', compact('lists'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$organs = Seller::where('status', 1)->where('type', 'organ')->get();
|
||||
$categoies = Category::treeSelect(1);
|
||||
|
||||
return view('Admin::lesson.create', compact('organs', 'categoies'));
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'title' => 'required|min:2|max:50',
|
||||
'chapter' => 'required',
|
||||
'price' => 'required',
|
||||
'crowd' => 'required',
|
||||
'crowd_age' => 'required',
|
||||
'maximum' => 'required',
|
||||
'seller_id' => 'required',
|
||||
'description' => 'required',
|
||||
'storage_id' => 'required',
|
||||
'content' => 'required',
|
||||
], [
|
||||
'name.required' => '课程名称必须填写',
|
||||
'name.min' => '课程名称最少为:min字符',
|
||||
'name.max' => '课程名称最多为:max字符',
|
||||
'chapter.required' => '章节数必须填写',
|
||||
'price.required' => '价格必须填写',
|
||||
'crowd.required' => '适合人群必须填写',
|
||||
'crowd_age.required' => '适合年龄必须填写',
|
||||
'maximum.required' => '报名人数必须填写',
|
||||
'seller_id.required' => '机构必须选择',
|
||||
'description.required' => '简介必须填写',
|
||||
'storage_id.required' => '图片必须上传',
|
||||
'content.required' => '详情必须填写',
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
return $this->error($validator->errors()->first());
|
||||
}
|
||||
if (SellerLesson::create($request->all())) {
|
||||
return $this->success('', 'close');
|
||||
} else {
|
||||
return $this->error();
|
||||
}
|
||||
}
|
||||
|
||||
public function edit(SellerLesson $lesson)
|
||||
{
|
||||
$organs = Seller::where('status', 1)->where('type', 'organ')->get();
|
||||
$categoies = Category::treeSelect(1);
|
||||
return view('Admin::lesson.edit', compact('lesson', 'organs', 'categoies'));
|
||||
}
|
||||
|
||||
public function update(Request $request, SellerLesson $lesson)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'title' => 'required|min:2|max:50',
|
||||
'chapter' => 'required',
|
||||
'price' => 'required',
|
||||
'crowd' => 'required',
|
||||
'crowd_age' => 'required',
|
||||
'maximum' => 'required',
|
||||
'seller_id' => 'required',
|
||||
'description' => 'required',
|
||||
'storage_id' => 'required',
|
||||
'content' => 'required',
|
||||
], [
|
||||
'name.required' => '课程名称必须填写',
|
||||
'name.min' => '课程名称最少为:min字符',
|
||||
'name.max' => '课程名称最多为:max字符',
|
||||
'chapter.required' => '章节数必须填写',
|
||||
'price.required' => '价格必须填写',
|
||||
'crowd.required' => '适合人群必须填写',
|
||||
'crowd_age.required' => '适合年龄必须填写',
|
||||
'maximum.required' => '报名人数必须填写',
|
||||
'seller_id.required' => '机构必须选择',
|
||||
'description.required' => '简介必须填写',
|
||||
'storage_id.required' => '图片必须上传',
|
||||
'content.required' => '详情必须填写',
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
return $this->error($validator->errors()->first());
|
||||
}
|
||||
|
||||
if ($lesson->update($request->all())) {
|
||||
return $this->success('', 'close');
|
||||
} else {
|
||||
return $this->error();
|
||||
}
|
||||
}
|
||||
|
||||
public function delete(SellerLesson $lesson)
|
||||
{
|
||||
if ($lesson->delete()) {
|
||||
return $this->success();
|
||||
} else {
|
||||
return $this->error();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function logs($lesson)
|
||||
{
|
||||
$logs = SellerLessonLog::where('lesson_id', $lesson)->paginate();
|
||||
return view('Admin::lesson.logs', compact('logs'));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user